* 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
* Add test command
* Call iterator.end when using .next traversal
* Simulate deletions
* Revert local test changes
* Revert whitespace changes
* Fix hanging iterator in getPageIteratorByPrefix
* Add system to track open RocksDB iterators
* Clean up test
* Add iterator options to logs
* Simplify log
* Close iterator in castStore
* 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
* Fix import mapping to work with built JS files
This allows us to ship a Docker image that runs using `node` directly,
rather than via `tsx`.
* Remove use of top-level `await` expressions
These were only used in tests and weren't critical. Switch away so we
have the optional to convert to CommonJS if we need.
* Switch all imports to use relative paths instead of ~ shortcut
The ~ shortcut doesn't work in some contexts, which makes our lives more
difficult when trying to output ESM.
Since we were already using relative paths in some part of the codebase
and not others, just switch to using relative paths everywhere for
simplicity.
* Switch imports to append .js extension
And update Jest configuration to work with this extension.
* Build single image instead of two separate ones
We originally created the other image so that we could build an image
using only packages published to NPM, but this proved problematic when
wanting to test those changes without publishing.
Since there are more situations where we'd want to ship an image using
unpublished packages (i.e. for testing) remove the "public" image and
update our "testing" image to also be used as the public image. However,
a key difference is that the testing image will now run compiled JS
instead of using a TypeScript interpreter.
* 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
* chore: fix typo when deploying on mainnet
`FC_NETOWKR_ID` on the mainnet should be 1 rather than 2.
* chore: update peer id because of lose identity file
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.