Proto commits in farcasterxyz/hub-monorepo

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:e26f69b
Author:Sanjay
Committer:GitHub

feat: More Snapchain updates (#2576) ## Why is this change needed? - Add new fields from snapchain to hubble protos and libraries so shuttle can access them - Update shuttle to use getInfo for max fid - Populate data and databytes for convenience (snapchain updated to prioritize dataBytes https://github.com/farcasterxyz/snapchain/pull/454) ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. <!-- start pr-codex --> --- ## PR-Codex overview This PR introduces new fields related to `snapchain` events, enhances compatibility by populating additional data, and modifies existing event structures to include `block_number`, `shard_index`, and `timestamp`. It also updates documentation for clarity. ### Detailed summary - Added `block_number`, `shard_index`, and `timestamp` fields to various stores and event structures. - Introduced `MergeFailureBody` to handle merge failures with `message`, `code`, and `reason`. - Updated comments and documentation to reflect changes in event types. - Enhanced `HubEventArgs` to omit additional fields for better compatibility. - Modified `makeMessageWithSignature` to use `dataBytes` for serialization differences. - Updated event type handling in generated files to include `MERGE_FAILURE`. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

The documentation is generated from this commit.

Commit:1d13c09
Author:Aditi Srinivasan

chore: bring HubEvent proto to parity with snapchain

Commit:ef80eb3
Author:Yauheni Kryshneu
Committer:GitHub

fix: update Twitter URL to x.com format (#2484) Replaced the outdated Twitter URL (twitter) with the updated x.com format (x) to align with the platform's rebranding. <!-- start pr-codex --> --- ## PR-Codex overview This PR updates references from "twitter" to "x" across multiple files to reflect the rebranding of Twitter to X. ### Detailed summary - Updated `CHANGELOG.md` to change "twitter" to "x". - In `message.ts` files (both `hub-nodejs` and `core`), modified the comment for `TWITTER` from "Username of user on twitter" to "Username of user on x". - In `message.proto`, changed the comment for `USER_DATA_TYPE_TWITTER` from "Username of user on twitter" to "Username of user on x". > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:d9a485d
Author:Aditi Srinivasan
Committer:Aditi Srinivasan

migration

Commit:913c0f6
Author:Cassandra Heart
Committer:GitHub

feat: support social verifications for twitter and github (#2370) ## Why is this change needed? Describe why this issue should be fixed and link to any relevant design docs, issues or other relevant items. ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. <!-- start pr-codex --> --- ## PR-Codex overview This PR introduces support for validating `twitter` and `github` usernames in the system. It adds new constants, validation functions, and test cases to ensure username formats comply with specified rules. ### Detailed summary - Added constants `USER_DATA_TYPE_TWITTER` and `USER_DATA_TYPE_GITHUB` in `message.proto`. - Implemented validation functions `validateTwitterUsername` and `validateGithubUsername` in `validations.ts`. - Added regex patterns for Twitter and GitHub usernames. - Created test cases for Twitter username validation in `validations.test.ts`. - Updated functions to handle new user data types in `userDataTypeFromJSON` and `userDataTypeToJSON` across several files. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:aa9cde7
Author:Aditi Srinivasan
Committer:GitHub

feat: add support for user location in the protocol (#2365) This is required to decentralize user location. ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. <!-- start pr-codex --> --- ## PR-Codex overview This PR introduces a new feature to add user location data to the protocol, including validation for latitude and longitude, and updates across several files to support this functionality. ### Detailed summary - Added `USER_DATA_TYPE_LOCATION` to `protobufs/schemas/message.proto`. - Updated `userDataTypeFromJSON` and `userDataTypeToJSON` functions to handle location type. - Implemented location handling in `packages/hub-web`, `packages/hub-nodejs`, and `packages/core`. - Created validation functions for latitude and longitude. - Added tests for user location data handling in `apps/hubble/src/rpc/test/userDataService.test.ts` and `packages/core/src/validations.test.ts`. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:e5a8611
Author:Cassandra Heart
Committer:GitHub

feat: support bulk message RPC (#2313) ## Why is this change needed? Reconciliation of messages historically from off-hub sources is achieved via `submitMessage`, which incurs a performance penalty when many of these calls are made in rapid succession. This change introduces a new `submitBulkMessages` RPC which allows many of the to-be reconciled messages to be submitted at once and handle via the more efficient rust `mergeMany` underlying call. ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [x] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. <!-- start pr-codex --> --- ## PR-Codex overview This PR adds a new gRPC method `SubmitBulkMessages` for submitting multiple messages at once and updates related proto files and service implementations. ### Detailed summary - Added `SubmitBulkMessages` gRPC method - Defined new message types: `SubmitBulkMessagesRequest`, `MessageError`, `BulkMessageResponse`, `SubmitBulkMessagesResponse` - Updated service implementations and proto files - Implemented server-side logic for `SubmitBulkMessages` - Added encoding and decoding functions for new message types > The following files were skipped due to too many changes: `packages/hub-web/src/generated/request_response.ts`, `packages/hub-nodejs/src/generated/request_response.ts`, `packages/core/src/protobufs/generated/request_response.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:321658b
Author:Cassandra Heart
Committer:GitHub

Streaming support for sync and reconciliation (#2273) ## Why is this change needed? Add support for streaming interfaces for sync and reconciliation. Shuttle change to immediately follow. ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. <!-- start pr-codex --> --- ## PR-Codex overview This PR updates dependencies, adds streaming support for sync/reconciliation, and introduces a new `useStreaming` option in the Hubble application. ### Detailed summary - Added `ClientDuplexStream` in `hub-nodejs` - Updated versions in `core` and `hub-nodejs` - Added streaming methods in `rpc.proto` - Introduced `useStreaming` option in `hubble` application > The following files were skipped due to too many changes: `packages/hub-web/src/generated/rpc.ts`, `packages/hub-nodejs/src/generated/rpc.ts`, `apps/hubble/src/network/sync/syncEnginePerf.test.ts`, `apps/hubble/src/network/utils/networkConfig.test.ts`, `apps/hubble/src/network/sync/syncEngine.ts`, `apps/hubble/src/rpc/server.ts`, `packages/hub-web/src/generated/request_response.ts`, `packages/hub-nodejs/src/generated/request_response.ts`, `packages/core/src/protobufs/generated/request_response.ts`, `apps/hubble/src/network/sync/multiPeerSyncEngine.test.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:cc0d0a3
Author:Aditi Srinivasan
Committer:GitHub

feat: add start and stop time to bulk rpcs with large volumes of data (#2255) We want to be able to restrict the reconciliation job's queries to a time range of e.g. past 1-2 weeks to reduce the amount of read load on hubs. The most expensive part of the read operation is serializing the protobufs to send back to the callee and that's what we want to save on. Notes for reviewers: - There are ways to optimize the time query by (1) using the indexes (2) starting at the common prefix of the start and stop time rather than iterating all the results for the fid. I think it's not worth pursuing these optimizations until we have evidence that we need them. The simple solution implemented here will eliminate the protobuf serialization and significantly less risky than the more optimized solutions. - `getUserDataByFid` and `getAllUserDataMessagesByFid` have the exact same implementation. I added time ranges to the one we classified as a bulk rpc but not the other one. We should consider eliminating one of these rpcs. - I didn't add a time range for the link compaction bulk query because (1) we don't query for link compaction messages in reconciliation (2) it seems like we don't store a lot of link compaction state-- each new link compaction message for an fid replaces the older one. - I'm not sure we need the time filter for user data, but I added it anyway. Happy to remove if it seems like a bad complexity tradeoff. - The rpc protocol change is backwards compatible. I copied the format for `TimestampFidRequest` from `FidRequest` and added new optional parameters. ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. <!-- start pr-codex --> --- ## PR-Codex overview This PR adds start/stop time filters for bulk queries and validation methods for time inputs. ### Detailed summary - Added start/stop time filters for bulk queries in various modules - Implemented validation methods for farcaster time inputs > The following files were skipped due to too many changes: `apps/hubble/src/addon/src/store/store.rs`, `apps/hubble/src/rpc/server.ts`, `packages/hub-web/src/generated/request_response.ts`, `packages/hub-nodejs/src/generated/request_response.ts`, `packages/core/src/protobufs/generated/request_response.ts`, `packages/hub-web/src/generated/rpc.ts`, `apps/hubble/src/storage/engine/index.ts`, `packages/hub-nodejs/src/generated/rpc.ts`, `apps/hubble/src/rpc/test/bulkService.test.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:dd634c7
Author:Sanjay
Committer:GitHub

feat: Implement storage extension FIP (#2256) ## Why is this change needed? Implements https://github.com/farcasterxyz/protocol/discussions/191 ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. <!-- start pr-codex --> --- ## PR-Codex overview The focus of this PR is to implement the Storage Extension FIP. ### Detailed summary - Added `StorageUnitDetails` message in `request_response.proto` - Updated storage-related functions in various Rust files - Modified default limits in different store types - Introduced new date calculations in `factories.ts` > The following files were skipped due to too many changes: `apps/hubble/src/storage/stores/storeEventHandler.test.ts`, `packages/core/src/limits.ts`, `apps/hubble/src/storage/stores/storageCache.test.ts`, `apps/hubble/src/storage/stores/storeEventHandler.ts`, `apps/hubble/src/rpc/test/server.test.ts`, `packages/core/src/limits.test.ts`, `apps/hubble/src/storage/engine/index.ts`, `packages/hub-web/src/generated/request_response.ts`, `packages/hub-nodejs/src/generated/request_response.ts`, `packages/core/src/protobufs/generated/request_response.ts`, `apps/hubble/src/storage/stores/storageCache.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:c723f65
Author:Sanjay
Committer:GitHub

feat: add endpoints to control sync (#2110)

Commit:dab9511
Author:Cassandra Heart
Committer:GitHub

feat: expose LinkCompactState messages via rpc (#2068) ## Motivation Currently, our retrieval of Link messages only show adds/removes, compact state messages serving as silent tombstones. This is fine for getting a quick set of adds/removes as they currently apply, but may produce confusing state when looking at two hubs, where one has the message, and the other doesn't, and trying to reconcile why some messages are missing from the one with the LinkCompactState message and not the other. ## Change Summary This change adds a new rpc GetLinkCompactStateMessageByFid, which returns the relevant compact state message, if present. ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [x] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR standardizes the naming convention for `CastType` across multiple files and adds support for `LinkCompactStateMessage` handling in various store modules and RPC methods. ### Detailed summary - Standardized `CastType` naming convention to `cast` in multiple files - Added support for `LinkCompactStateMessage` in store modules and RPC methods > The following files were skipped due to too many changes: `apps/hubble/www/docs/docs/api.md`, `packages/hub-nodejs/src/generated/rpc.ts`, `packages/hub-web/src/generated/rpc.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:c424e11
Author:Sanjay
Committer:GitHub

feat: Implement longer casts FIP (#2045) ## Motivation Implement https://github.com/farcasterxyz/protocol/discussions/182 ## Change Summary Describe the changes being made in 1-2 concise sentences. ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR adds support for long casts by introducing a new `CastType` enum and updating validations and tests. ### Detailed summary - Added `CastType` enum with `LONG_CAST` - Updated validations for long casts - Updated tests to support long casts > The following files were skipped due to too many changes: `packages/core/src/protobufs/generated/message.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:c261fba
Author:Zach Terrell
Committer:GitHub

[feat]: add approxSize to getInfo() endpoint (#1987) ## Motivation Exposing the size of the rocks db ## Change Summary Updated `DbStats` to store `approxSize` of DB ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [ ] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR introduces a new `approxSize` field to track database size in various components and protobuf schemas. ### Detailed summary - Added `approxSize` field to `DbStats` type - Updated message structures to include `approxSize` - Modified functions to handle `approxSize` calculations > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:81c96d9
Author:Wasif Iqbal

add logic for event verification, update viem to support parsing logs based on ABI

Commit:7b37489
Author:adityapk00
Committer:GitHub

feat: Add Link CompactStateMessage type for Link Compaction (#1941) ## Motivation Add a new CompactStateMessage to support link compactions. Only the Link store is currently enabled for compaction ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [X] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [X] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [ ] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. - [X] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) <!-- start pr-codex --> --- ## PR-Codex overview This PR introduces a new `LinkCompactStateMessage` type for link compaction handling in various store implementations. ### Detailed summary - Added `LinkCompactStateMessage` type for compaction in different store implementations - Updated message types and structures related to link compaction - Implemented methods for handling `LinkCompactStateMessage` in different store types > The following files were skipped due to too many changes: `packages/core/src/validations.ts`, `apps/hubble/src/storage/engine/index.test.ts`, `packages/core/src/factories.ts`, `apps/hubble/src/storage/engine/index.ts`, `apps/hubble/src/addon/src/store/link_store.rs`, `packages/hub-web/src/generated/message.ts`, `packages/hub-nodejs/src/generated/message.ts`, `packages/core/src/protobufs/generated/message.ts`, `apps/hubble/src/addon/src/store/store.rs`, `apps/hubble/src/storage/stores/linkStoreCompactState.test.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> --------- Co-authored-by: Wasif Iqbal <Wazzymandias@users.noreply.github.com> Co-authored-by: Shane da Silva <shane@dasilva.io>

Commit:4c9fb61
Author:Sanjay
Committer:GitHub

feat: allow sharding event stream by fid (#1917) ## Motivation Allow sharding the event stream by fid ## Change Summary Describe the changes being made in 1-2 concise sentences. ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR introduces sharding of event streams by `fid`, adds `total_shards` and `shard_index` fields, and updates event handling logic. ### Detailed summary - Introduces sharding event stream by `fid` - Adds `total_shards` and `shard_index` fields for event stream sharding - Updates event handling logic based on sharding parameters > The following files were skipped due to too many changes: `apps/hubble/src/rpc/test/eventService.test.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:5ca5a4a
Author:adityapk00
Committer:GitHub

Create and gossip bundles (#1888) ## Motivation Gossip MessageBundles instead of individual messages ## Change Summary - The feature is in, but it is not turned on yet. It can be % rolled out via network config ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [X] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [X] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [X] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. - [X] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) <!-- start pr-codex --> --- ## PR-Codex overview This PR introduces gossip MessageBundles, adds `mergeMany` method, refactors message handling, and updates network configuration handling. ### Detailed summary - Added gossip `MessageBundle` in `gossip.proto` - Implemented `mergeMany` method in Rust functions - Refactored message handling in various files - Updated network configuration handling > The following files were skipped due to too many changes: `apps/hubble/src/network/p2p/bundleCreator.ts`, `apps/hubble/src/storage/stores/rustStoreBase.ts`, `apps/hubble/src/addon/src/store/store.rs`, `apps/hubble/src/network/p2p/gossipNode.ts`, `apps/hubble/src/storage/stores/castStore.test.ts`, `apps/hubble/src/storage/engine/index.test.ts`, `apps/hubble/src/test/e2e/hubbleNetwork.test.ts`, `apps/hubble/src/network/p2p/bundleCreator.test.ts`, `packages/hub-web/src/generated/gossip.ts`, `packages/hub-nodejs/src/generated/gossip.ts`, `packages/core/src/protobufs/generated/gossip.ts`, `apps/hubble/src/storage/stores/castStoreBundle.test.ts`, `apps/hubble/src/test/e2e/gossipNetworkBundle.test.ts`, `apps/hubble/src/storage/engine/index.ts`, `apps/hubble/src/network/p2p/gossipNodeWorker.ts`, `apps/hubble/src/network/utils/networkConfig.test.ts`, `apps/hubble/src/hubble.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:22615b3
Author:horsefacts
Committer:GitHub

feat: add address to frame message (#1807) ## Motivation It's useful for frames to know: 1) the current connected address, to generate transaction calldata 2) the actual address that executed a tx, in the post transaction callback We should pass this as part of the frame message. ## Change Summary - Add `address` field to `FrameActionBody` - Limit length to 64 bytes. ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) <!-- start pr-codex --> --- ## PR-Codex overview This PR updates message schemas and validations to include a chain-specific address for transaction actions. ### Detailed summary - Added `address` field to message schemas - Updated validations to check address length - Updated message serialization and deserialization functions to handle the `address` field > The following files were skipped due to too many changes: `packages/hub-web/src/generated/rpc.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:419d828
Author:Zach Terrell
Committer:GitHub

feat: Add currentPeers RPC Endpoint (#1630) ## Motivation This endpoint was added to get an approximate list of all peers on the network ## Change Summary - Added new Proto definitions for endpoint - New accessor method for current peers - New RPC endpoint for current peers `/v1/peerList` ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [ ] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [x] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context Response looks like the following: ``` { "contacts": [ { "gossipAddress": { "address": "84.247.175.196", "family": 4, "port": 2282, "dnsName": "" }, "rpcAddress": { "address": "84.247.175.196", "family": 4, "port": 2283, "dnsName": "" }, "excludedHashes": [], "count": 10694067, "hubVersion": "2023.12.27", "network": "FARCASTER_NETWORK_MAINNET", "appVersion": "1.9.2", "timestamp": 1705796040744 }, ... ``` <!-- start pr-codex --> --- ## PR-Codex overview This PR adds a new `currentPeers` API endpoint and related changes to support fetching current peer contacts in the Hub network. ### Detailed summary - Added `currentPeers` RPC endpoint - Implemented API endpoint for getting a list of current sync peers - Updated documentation for the new API endpoint - Added protobuf message for `ContactInfoResponse` - Updated HTTP server to handle `currentPeers` API call - Updated TypeScript files to include `ContactInfoResponse` and related functions > The following files were skipped due to too many changes: `packages/core/src/protobufs/generated/request_response.ts`, `packages/hub-nodejs/src/generated/rpc.ts`, `packages/hub-web/src/generated/rpc.ts`, `packages/hub-web/src/generated/gossip.ts`, `packages/hub-nodejs/src/generated/gossip.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:579d29a
Author:horsefacts
Committer:GitHub

feat: add transaction_id to frame message (#1754) ## Motivation Frame [transactions](https://www.notion.so/warpcast/Frames-Transactions-Public-Draft-v2-9d9f9f4f527249519a41bd8d16165f73) require an additional `transaction_id` field in the frame message body. ## Change Summary - Add `transaction_id` field to `FrameActionBody`. - Limit to 256 bytes. ## Merge Checklist _Choose all relevant options below by adding an `x` now or at any time before submitting for review_ - [x] PR title adheres to the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standard - [x] PR has a [changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets) - [x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore) - [ ] PR includes [documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs) if necessary. - [x] All [commits have been signed](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#22-signing-commits) ## Additional Context If this is a relatively large or complex change, provide more details here that will help reviewers <!-- start pr-codex --> --- ## PR-Codex overview This PR adds a transaction ID field to frame messages for chain-specific actions. ### Detailed summary - Added `transaction_id` field to frame messages - Updated message schemas in different packages - Updated validation tests for various message bodies > The following files were skipped due to too many changes: `packages/core/src/validations.test.ts` > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->

Commit:5703d33
Author:horsefacts
Committer:GitHub

feat: frame message state field (#1717) * feat: frame message state field * chore: add changeset

Commit:bf37ec7
Author:adityapk00
Committer:GitHub

fix: Run validateOrRevoke only if signer is changed (#1695) * fix: Run validateOrRevoke only if signer is changed * cleanup * timebug * review

Commit:ae91b73
Author:Sanjay
Committer:GitHub

feat: support solana verified addresses (#1668) * feat: rename verification message to support additional protocols in the future * chore: add changeset * refactor: change signature for verification message * remove solana related changes * refactor: update ethereum verification tests to support new protocol field on message * feat: add initial logic for parsing solana vs ethereum message * Add protocol to verifications, update tests * Add sol factories * Add some verification tests * Update claim factory for solana * Fix tests for sol * Update comment * Verify signature for solana * Replace tweetnacl due to dynamic import issue * Got signature verification working for Solana ed25519 * Add changeset * minor cleanup * update solana verification to use full message adhering to off-chain message specification * Use a simpler claim message format * feature flag solana verifications * cleanup --------- Co-authored-by: Wasif Iqbal <Wazzymandias@users.noreply.github.com>

Commit:97a4216
Author:adityapk00
Committer:GitHub

fix: Stop old messages from being broadcast on gossip (#1688) * fix: Stop old messages from being broadcast on gossip * add separate timestamp * await

Commit:6fec63c
Author:Sanjay
Committer:GitHub

fix: Keep the old message type name for backwards compatibility (#1678)

Commit:763d315
Author:Sanjay
Committer:GitHub

feat: Rename verifications message to support multiple protocols (#1667) * Revert "fix: Revert verification rename (#1642)" This reverts commit f8c5f280341cdc3f2e11a51562a92ddb0e532cf2. * Rename to claimSignature * Add http api backwards compatibility * changeset

Commit:a1e15e4
Author:horsefacts

chore: add is_primary to verification protobuf

Commit:f8c5f28
Author:Sanjay
Committer:GitHub

fix: Revert verification rename (#1642) * Revert "refactor: rename verification message (#1637)" This reverts commit fd9f9ff86b8ed09a66fc9389049c8a84dcef1554. * Add changeset

Commit:362f580
Author:Sanjay
Committer:GitHub

feat: add text input frame field (#1639)

Commit:fd9f9ff
Author:Wasif Iqbal
Committer:GitHub

refactor: rename verification message (#1637) * feat: rename verification message to support additional protocols in the future * chore: add changeset * refactor: change signature for verification message

Commit:c28102f
Author:Wasif Iqbal

fix: update protocol index for verification message

Commit:97fc0a3
Author:Wasif Iqbal

refactor: update ethereum verification tests to support new protocol field on message

Commit:1b57489
Author:Wasif Iqbal
Committer:Wasif Iqbal

remove solana related changes

Commit:1afc542
Author:Wasif Iqbal
Committer:Wasif Iqbal

refactor: change signature for verification message

Commit:74c19f0
Author:Wasif Iqbal

feat: rename verification message to support additional protocols in the future

Commit:229ea16
Author:Sanjay
Committer:GitHub

feat: create FrameAction message and add validation endpoint (#1632) * feat: create FrameAction message and add validation endpoint * Rename to buttonIndex and add test

Commit:704e077
Author:Sanjay
Committer:GitHub

feat: Add more information in the limits response (#1569) * feat: Add more information in the limits response * changeset * Fix flaky test

Commit:3313c23
Author:Cassandra Heart
Committer:GitHub

feat: Add ContactInfoContent signing + config toggle for strict validation + StrictNoSign (#1545) * first pass, working native signing + tests * WAR-1064 – add configuration support and validation of contact info signing * remove signing info from message signature validation * add changeset * misref * pr feedback * Support clean restarts on specific changes to network config * don't terminate gossip node unless we are following default termination * delay invocation if gossip node worker isn't started * reduce delay to 1s, shouldn't need to exceed

Commit:f3d3222
Author:Sanjay
Committer:GitHub

feat: support v2 id and key registry contracts (#1526)

Commit:153da45
Author:Sagar Dhawan
Committer:GitHub

fix: Remove PubSub based PeerDiscovery (#1530) * fix: Remove PubSub based PeerDiscovery * fix: update Grafana dashboard for Hubble * chore: add changeset * chore: lint * chore: tests * fix: AsyncValidate ContactInfo

Commit:7edcf04
Author:Sagar Dhawan

fix: Remove PubSub based PeerDiscovery

Commit:ba86d37
Author:adityapk00
Committer:GitHub

fix: Accept raw databytes if using alternate protobuf encoding (#1508)

Commit:433bee8
Author:Sanjay
Committer:GitHub

[feat]: Enable events sync by default (#1461) * feat: Enable events sync by default * changeset * Fix test

Commit:81e6d8e
Author:horsefacts
Committer:GitHub

feat: FIP-8 verifications for contract wallets (#1449) * feat: FIP-8 verifications for contract wallets * chore: add changeset * fix: better return types * feat: validate signature length * fix: stub test client * fix: return network_failure on verify error

Commit:f5c7034
Author:adityapk00
Committer:GitHub

docs: Linter now checks rpc.proto to ensure HTTP APIs (#1456)

Commit:14f67cf
Author:adityapk00
Committer:GitHub

feat: Add Peer scoring (#1441)

Commit:fb1f5c6
Author:Sanjay
Committer:GitHub

feat: Support onchain events and fnames in sync trie (#1417) * feat: Support onchain events and fnames in sync trie * changeset * fix flaky test

Commit:d77970b
Author:Sanjay
Committer:GitHub

[chore] Delete pre-migration code (#1369) * Remove deprecated RPC methods * Delete unused code * Delete unused code * Fix store tests * Fix more tests * changeset * Remove more signer code * Remove unused signature scheme

Commit:08b652e
Author:Sanjay
Committer:GitHub

fix: Fix onchain event dedup bug (#1354) * fix: Correct on-chain event dedup bug * Handle secondary indices * Only fix up events before the migration * Add changeset

Commit:b884fa2
Author:Sanjay Raveendran
Committer:Sanjay Raveendran

fix: Correct on-chain event dedup bug

Commit:bc416db
Author:adityapk00
Committer:GitHub

feat: Add hub operator's FID (#1352)

Commit:76a031e
Author:Sanjay
Committer:GitHub

feat: move storage limit constants to core (#1343) * feat: move storage limit constants to core * changeset

Commit:bf1c44d
Author:Sanjay
Committer:GitHub

feat: Add new signer event fields and new onchainevent RPC calls (#1276) * feat: RPC compatibility for migration * Add rpc tests * Store key and metadata types on onchain signer events * changeset * Use generic iterator

Commit:1fcfd49
Author:Sanjay
Committer:GitHub

fix: last block bugs with events providers (#1243) * fix: last block bugs with events providers * Remove usages of name registry worker * Better defaults for OP constants * Fix tests * Add changeset

Commit:c6d79cd
Author:Sanjay
Committer:GitHub

feat: Handle onchain event edge cases (#1240) * 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

Commit:e55e571
Author:adityapk00
Committer:GitHub

chore: add "getting blockchain events" to hub status (#1239)

Commit:86149d3
Author:Sanjay
Committer:GitHub

feat: Storage RPC (#1211) * Storage RPC * added changeset * updated docs * Add tests and minor cleanup * Rename signer on chain event factory for clarity --------- Co-authored-by: Cassie Heart <cassie@merklemanufactory.com>

Commit:67e9466
Author:Sanjay
Committer:GitHub

feat: Refactor storage events to use OnChainEvent (#1210) * feat: Refactor storage events to use OnChainEvent * Add tests for getOnChainEvents * Add changeset * Guarantee ordering to fix tests

Commit:dcd7a14
Author:Sanjay
Committer:GitHub

feat: Implement migrating to L2 (#1203) * 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

Commit:02ecc47
Author:Cassie Heart

Storage RPC

Commit:2391c3a
Author:Cassandra Heart
Committer:GitHub

feat: storage registry support (#1052) 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

Commit:4fa7a56
Author:Sanjay
Committer:GitHub

Rename UserDataType.FNAME to USERNAME (#1108)

Commit:cd0ddd6
Author:Sanjay
Committer:GitHub

feat: Support ENS names in the hub (#1101) * feat: Add ENS username proof support * Add UserNameProof store * ENS name ownership validations * Add remaining ens validations * Generate events correctly * Allow setting ens names on UserData and handle revoking it * Add changeset and cli flag

Commit:2bfcaf4
Author:Akshaan Kakar
Committer:GitHub

feat: create a system to track network propagation delay (#970) * 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 76beb5f11a061949d6d6e4ade18c8bff37767207. * 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

Commit:1ca8fdc
Author:Cassandra Heart
Committer:GitHub

Revert "feat: storage registry support (#1030)" (#1051) This reverts commit a9da418dbc43f601accd921283888b4f7cdb4eb6.

Commit:0d50022
Author:Cassandra Heart
Committer:GitHub

Revert "feat: storage registry support (#1030)" This reverts commit a9da418dbc43f601accd921283888b4f7cdb4eb6.

Commit:a9da418
Author:Cassandra Heart
Committer:GitHub

feat: storage registry support (#1030) * 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

Commit:5a1baae
Author:Sanjay
Committer:GitHub

feat: Switch from name events to username proofs (#1049) * feat: switch to username proofs * Add rpc endpoint * Add changeset

Commit:f1c6b25
Author:Sanjay
Committer:GitHub

feat: Support fname registry server and store user name proofs (#1014) * 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

Commit:2bc598a
Author:Cassandra Heart
Committer:GitHub

feat: Links (#973) * 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

Commit:37f515f
Author:Sanjay
Committer:GitHub

feat: Add app version to contact info and log it when syncing (#990) * feat: Add app version to contact info and log it when syncing * Add changeset

Commit:1236b4e
Author:Sanjay
Committer:GitHub

feat: Add a status hubble command for friendly reporting of current hub status (#944) * feat: Suport sync status rpc call * Add sync status hubble command * Fix generated file * Changeset * Fix isSyncing check * Rename to status and report db stats as well * Fix error

Commit:5308788
Author:Sagar Dhawan
Committer:GitHub

fix: improve handling of duplicate messages on gossip (#919) * fix: improve handling of duplicate messages on gossip * fix tests * fix changeset * make gossip backwards compatible * fix tests

Commit:421c385
Author:Sanjay
Committer:GitHub

feat: Add sync stats to getInfo call (#916) * refactor: Rename sync events flag for clarity * feat: Add sync statuts to HubInfo RPC call * feat: Add sync stats to getInfo rpc call * re-patch hub-web to use default export as before * changeset

Commit:87b2789
Author:Paul Fletcher-Hill
Committer:GitHub

feat: support arbitrary target types (#847) * support CastId embeds, url parents and reaction targets * docs(changeset): support CastId embeds, cast parent URLs, and reaction target URLs * fix validations test * add version and embeds deprecated validation * docs(changeset): upgrade to protocol version 2023.4.19 * update protobuf generated code * add reaction service tests * add more examples to builder tests * add more cast and reaction tests

Commit:edea195
Author:Sanjay
Committer:GitHub

feat: ensure hub networks match when syncing with peers (#837) * feat: ensure hub networks match when syncing with peers * send the network when gossiping

Commit:c4529a7
Author:PangZhi
Committer:GitHub

feat: merge protobufs and utils into core package (#818) * remove protobufs as a package, merge into utils * update yarn.lock * rename utils package to core * update docker * add changeset * tsup config * change schema path in workflow file * update protobufs readme link

Commit:759e1cf
Author:Sanjay
Committer:GitHub

feat: ignore hubs below minimum version for sync (#808) * feat: ignore hubs below minimum version for sync * fix tests and add changeset

Commit:1f47906
Author:PangZhi
Committer:GitHub

feat: refactor protobufs and utils to remove grpc-js dependency (#798) * remove grpc-js dependency from protobufs, refactor hubble to use hub-nodejs * hub-web to use @farcaster/protobufs and utils * add yarn.lock * refactor hubble app to only use hub-nodejs * update readme * update export order * update export order * fix protobufs namespace build issue * update codecov * fix protobufCommand naming --------- Co-authored-by: Paul Fletcher-Hill <pfletcherhill@gmail.com>

Commit:142f3f5
Author:Paul Fletcher-Hill
Committer:GitHub

add getIdRegistryEventByAddress method (#791)

Commit:23de6e7
Author:Paul Fletcher-Hill
Committer:GitHub

feat: move revoking messages into delayed job (#741) * move revoking messages into delayed job * fix imports, add changeset, add revoke tests

Commit:6a0bf29
Author:adityapk00
Committer:GitHub

fix: Share dns name when gossiping contactinfo (#738) * fix: Share dns name when gossiping contactinfo * changeset

Commit:469825e
Author:Paul Fletcher-Hill
Committer:GitHub

feat: add reverse rpc pageOption (#695) * add reverse rpc pageOption * implement reverse for cast and reaction indices * add changeset

Commit:0a3b77c
Author:Paul Fletcher-Hill
Committer:GitHub

feat: make name and fromId optional (#652) * make name and fromId optional * add changeset

Commit:68230b7
Author:Paul Fletcher-Hill
Committer:GitHub

chore: move submitIdRegistryEvent and submitNameRegistryEvent to admin grpc service (#650) * move submitIdRegistryEvent and submitNameRegistryEvent to admin grpc service * add changeset * fix imports

Commit:e7602bd
Author:Anthony D'Addeo
Committer:GitHub

feat: pagination for list queries and gRPC (#610) * poc * address pr feedback, add pagination to getAllSignerMessagesByFid * fix types * use bytes and uint32 * move makeEndPrefix into utils * getSignersByFid * fix: getCastsByFid should return items in reverse chronological order * returns casts in chronological order * fix: getCastsByFid should return casts in chronological order In the RocksDB iterator we use to construct thashes for the messages query, select only the CastMessages which are CastAdds * rename page options and move page iterator to message file * intermediate commit * fix tests * use suffixes as tokens rather than full keys * remove commented out code * paginate getCastsByParent, getCastsByMention, getReactionsByCast * add changeset and fix linting * update multiPeerSyncEngine test * add more tests * fix import --------- Co-authored-by: bstchow <36556453+bstchow@users.noreply.github.com> Co-authored-by: Paul Fletcher-Hill <pfletcherhill@gmail.com>

Commit:6f1c5a9
Author:Paul Fletcher-Hill
Committer:GitHub

use ts-proto removeEnumPrefix flag (#628)

Commit:ea7b9c9
Author:Zach Terrell
Committer:GitHub

feat: add name field to signers (#627) * add: SignerAdd and SignerRemove to message.proto * add: finish message.proto and validations * progress: refactor signer factory * update tests to support signerAddBody and signerRemoveBody * add changeset --------- Co-authored-by: Paul Fletcher-Hill <pfletcherhill@gmail.com>

Commit:d04d5d4
Author:Paul Fletcher-Hill
Committer:GitHub

feat: support fromId param in subscribe method (#604) * support fromId param in subscribe method * add fromId to js event filters * support filtering by fromId and eventTypes * add changeset

Commit:22a9d46
Author:Paul Fletcher-Hill
Committer:GitHub

chore: remove location (#603) * remove location from UserDataAdd types * add changeset

Commit:4056b5d
Author:Paul Fletcher-Hill
Committer:GitHub

feat: add hub events log and delete amps (for now) (#602) * add hub events and delete amps * include hub_event.proto

Commit:a3f6668
Author:adityapk00
Committer:GitHub

feat: Add admin debug commands (#600)

Commit:1e601e7
Author:Varun Srinivasan
Committer:GitHub

feat: grpc api documentation (#562) * refactor: reorganize api calls by section * docs: initial commit

Commit:6a66bae
Author:Paul Fletcher-Hill
Committer:GitHub

feat: add mentionsPositions to CastAddBody (#568) * add mentionsPositions to CastAddBody * validate mentionsPositions sorted in ascending order

Commit:cf9c64c
Author:Paul Fletcher-Hill
Committer:GitHub

feat: asynchronously fetch NameRegistryEvent expiry (#553) * intermediate name expiry commit * integrate fname expiry update job with hubble * add changeset

Commit:a93c6b7
Author:adityapk00
Committer:GitHub

feat: Persist Merkle Trie to DB (#531) * feat: Persist Merkle Trie to DB * Save hash and items to DB * fix benchmark

Commit:6be9983
Author:Paul Fletcher-Hill
Committer:GitHub

chore: port subscribe gRPC method and event streaming to protobufs (#492) * support event streaming * remove commented out code

Commit:b5daeeb
Author:adityapk00
Committer:GitHub

feat: Use bytes instead of hex string for SyncIds (#483)

Commit:540272b
Author:Paul Fletcher-Hill
Committer:GitHub

use hub state (#478)