The code for historical processing has been significantly refactored to use a context to signify a shutdown.
There have also been many tests added for historical and knownGaps processing.
* Use a transaction for writing, knowngaps, and reorgs
* Checkpoint - Check the DB before writing
* Ensure an error exists when writing a transaction to knowngaps
* Update unneccesary parameter
* Capture the unique identifier everywhere its needed.
* Handle graceful shutdown for historical processing
* Update flags and minor shutdown updates
* Update checkout statement for historic
* update cicd pipeline
* Add secret
* Use deploy-key instead of personal PAT
* update variables
* Update boot to set processing type.
* Handle entries from the historic_process table.
* Update on-pr.yml
* Fix head processing Error
* Update names and debug
* Seperate checking for new entries and locking them
* Application can process historic and known gaps
Untested
* Handle genesis
* Update remove entry for knownGaps, viper
* Disregard unused code from linter
* Allow the application to process events in parallel
there is a main thread that tracks incoming messages, but then it spawns goroutines to actually process each slot so that they can happen concurrently.
* Control knownGaps in existing test
* Use Interfaces for different fork version
Use interfaces for `SignedBeaconBlock` and `BeaconState`, this allows the application to determine the correct forked struct.
In the test we also use a switch condition to properly serve the correct mimics.
* Utilize new ipld-ethcl-db repository
* Add final tests
* Update timeout and secret
* Update token
* Update docker compose
* Update expected inserts
* Ensure that the node is synced at boot time
* Update test + add logic for checking skipped slots
* Update boot check
* Add skip_sync to config.
* Update a test so it fails
* -- Intermediary Commit --
Just want to commit my code over the weekend, in case I spill coffee on my workstation.
* Create DB models ready for write.
* Handle SSE events
* Update ref for stack-orchestrator
* Use env in one place only.
* Boot Application on PR
* Update syntax
* Update syntax
* Correct command
* Use bash instead of sh
* Use until instead of while
* Make linter happy and check sse subscription err
* Handle Reorgs - Untested