CLI now supports comma separated RPC URLs to fall back on (--eth-rpc-url, --eth-mainnet-rpc-url, --l2-rpc-url)
Added --rank-rpcs CLI option which will rank provided RPC URLs by stability and latency if there are multiple
For now, since we're on testnet we want to ensure user registrations are
recognized relatively quickly so that onboarding doesn't take too long.
Reduce the number of confirmations.
Once we move to user registration happening on an L2, this will be less
of a concern.
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
Currently, if you call `getInfo` the version falls back to `1.0.0`,
which is confusing since users want to know which version of the hub
they are communicating with.
The reason this happens is because the `npm_package_version` environment
variable trick only works if you run via `npm`/`yarn`. Since we don't
want those as PID 1 (it interferes with signal processing) we build and
run directly with the `node` executable.
To get this to work, we create a symlink to `package.json` in the `src`
directory so that we can still reference the version specified in that
file.
This required some adjustments to have TypeScript not error (including
upgrading Jest), but should now work.
* fix: prune limits on store subclasses
Overriding class fields in Javascript is tricky as they are not
available in the parent constructor.
Refactored into getters since these will be available.
* add changeset
* fix test
* feat: Initial fname registry provider class
* flesh out fname registry provider functionality
* Update to match fip
* Use new query params and gradefully handle errors
* feat: add support for verifying username proofs
* Validate server signatures before submitting username proofs
* Add changeset and default fname server url
* initial draft of general store
* pr feedback, mass simplification, next up, the swap-out
* incorporate txn to SIdxs
* cast store converted
* convert links store
* convert reaction to general store
* convert all stores, resolve warnings around null checks with appropriate action per situation
* add changeset
* rolling up changes for links FIP
* typeToSetPostfix
* pr feedback
* consistency to avoid js quirks
* add versioning logic and update tests
* include version check in mergeMessages
* update protobuf comment to reflect nit
* added changeset
* code coverage
We had this implemented incorrectly. We need to error once it meets or
exceeds the limit, since you can only store (2^N - 1) for a binary value
with N bits.
* fix(eth): add stronger retry logic to eth events provider
* test has sporadic failure on CI, appears to be due to unresolved promise, perhaps this will fix
* alter retry provider to throw on retry limit
* more slight adjustments, makes concurrent tests stop freaking out
* add http status code to enforce retry
* slight changes to increase code coverage
* avoid clobbering globals
* await on emit
* finally hunted down RC, it's a timer, deep in subscriber
* ignoring mock utils
* exponential backoff + faster tests
We want to make it easier for developers to get started with hubs.
Add a separate optimized Docker image which we'll distribute for both
AMD and ARM architectures.
For now the publishing process is manual, but once hubs are fully open
(no peering allowlists) we'll be able to auto-publish with each hubble
release on NPM.