* feat: Handle onchain event ordering edge cases
* changeset
* validate scheme for signer
* Sort events by blocknumber and logindex to reflect actual order of onchain operations
* revert enum ordering changes
* fix: resolves conflicts for links_fid_target_fid_type_unique
* delete the rows to fix for follow/unfollow back & forth.
* keep the soft deletes but ensure we don't get multiple rows for a follow relation
* feat: onchain signers
* Refactor l2 provider to accept more contracts and events easily
* flesh out support for storing onchain events
* Switch source of truth on migration
* Emit events and fix active signer
* Adds support for storage/logging if would be pruned
* pr feedback, fixed unclosed iterator
* update test to increment timestamp so fast runs of test don't hit prune early
* Add test to verify cache invalidation
This PR adds support for storage events and includes the following changes:
Adds support for storage events in the protobufs
Updates the server to handle rent registry events
Updates the logger to include rent registry and storage admin registry events
Adds CLI option for L2 RPC URL
Adds methods to submit rent registry and storage admin registry events in the mock hub
Updates the sync engine to use L2 events provider
* Add new proto definitions
* Add ping and ack functions
* Add gossip event handler
* Add cli argument for network latency mode
* Add ping message scheduler
* Fix imports
* Add tests for message handler
* Add metrics store
* Fix cli arg name
* Add multinode setup and fix metric logging
* Add docker-compose file for multinode test setup
* Drop hard coded id paths
* preserve backward compatibility of process file path
* Enable gossip network diagnostics
* Add tests 1
* Clean up gossipNode tests
* Fix lint
* Lower frequency for latency pings
* Add tests for metrics
* Improve coverage computation algo
* Clean up
* Fixes from PR feedback
* Fixes from PR feedback
* Fixes from PR feedback
* Rename field for consistency
* Add jitter to ping cron
Add jitter to ping cron
* Log legible peerIds
* Fix import paths
* Update log field name
* Consolidate metrics recorder and ping job
* Fix docker compose
* Add time-to-merge metric
* Confine metrics logic to single class
* Clean up
* Fix div by zero
* Use peerId string as metrics key
* Drop unused getter
* Refactor metrics to be keyed by peerId
* Fix tests
* Clean up and fix tests
* Store metrics in DB
* Replace interfaces with types
* Fix testS
* WIP: Adding metrics serde
* Replace map with object to allow for metrics serde
* Add test for serde
* Fix security warnings
* Fix coverage logging
* Add test
* Move message handling to hub
* Fix timestamp overflow
* Lower ping freq and fix coverage logging
* Add peer network to logs
* Fix merge time metric
* Revert "Fix merge time metric"
This reverts commit 76beb5f11a.
* Expire metrics after logging
* Rename command line arguments
* Fixes + test updateS
* Fixes + test updateS
* Add test for expiry
* Add test for ping function
* Drop unused function
* Record merge times for all merges
* Don't accumulate message count metrics
* Add check for successful message merge
* Re-add generated code
* Fix types
* Re-add generated code
* Fix imports
* fix imports
* Initial commit of L2 provider/storage contract integration
* l2 storage admin
* storage store
* update mockhub
* viem
* adjust import
* adjust import
* weave in config
* flesh out l2 test
* storage registry test
* strawman the storage tests
* null check
* switch type
* further updates, updated abi
* temporarily disabling test until anvil issue is sorted out
* more tests
* weird slowdown in node18 test on ci
* ok
* confirm iterator ordering
* rework timestamp into event message
* more coverage