* 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
* multihash key gen func
* go mod updates
* Added test to ensure the application shuts down gracefully or within a timeframe.
* Disregard race condition since its with the test not the application itself
* Capture the head block in the DB entirely. (#27)
* -- 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
* Feature/22 test handling incoming events - Intermediary Commit (#28)
* Checkpoint before the weekend
* Update location for SetupPostgresDB
* Feature/22 test handling incoming events (#30)
* Checkpoint before the weekend
* Update location for SetupPostgresDB
* Include first functioning tests for processing head
* Fix gitignore
* Test CaptureHead | Add Metrics | Handle Test Race Conditions
This Commit allows us to:
* Test the `CaptureHead` function.
* Test parsing a single Head message.
* Test a Reorg condition.
* Add Metrics. This is primarily used for testing but can have future use cases.
* Rearrange the test due to race conditions introduced by reusing a variable. `BeforeEach` can't be used to update `BC`.
* Update and finalize testing at this stage
* Update code and CI/CD
* Fix lint errors
* Update CICD and fail when file not found.
* Update test to have failed as expected.
* Remove Test file
* Add KnownGaps Errors (#33)
* Handle Skipped Slots (#34)
* 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
* go mod updates
* Integrate MHKey into existing code base.
* Update go.mod and go.sum
* Utilize the MHkey
* Stop tests from running forever on failure.
* Use sszRoot instead of sszObj for MhKey
* Update entrypoint script
* Update config parameter
Co-authored-by: Abdul Rabbani <abdulrabbani00@gmail.com>
Co-authored-by: Abdul Rabbani <58230246+abdulrabbani00@users.noreply.github.com>
* Checkpoint before the weekend
* Update location for SetupPostgresDB
* Include first functioning tests for processing head
* Fix gitignore
* Test CaptureHead | Add Metrics | Handle Test Race Conditions
This Commit allows us to:
* Test the `CaptureHead` function.
* Test parsing a single Head message.
* Test a Reorg condition.
* Add Metrics. This is primarily used for testing but can have future use cases.
* Rearrange the test due to race conditions introduced by reusing a variable. `BeforeEach` can't be used to update `BC`.
* Update and finalize testing at this stage
* Update code and CI/CD
* Fix lint errors
* Update CICD and fail when file not found.
* Update test to have failed as expected.
* -- 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