- ef52a8ef: Add LIVE_AT user data protobuf support and core validation helpers.
-
af9bda87: feat: pull in snapchain V16 protos (signers and scopes / gasless signers)
Regenerates protobuf bindings against snapchain
e8e89a3, the client surface for engine version V16 (LATEST_PROTOCOL_VERSION10 → 11;ProtocolFeature::GaslessSignersgate). V16 activates testnet 2026-04-28 20:00 UTC and mainnet 2026-05-07 17:00 UTC.MESSAGE_TYPE_KEY_ADD(16) andMESSAGE_TYPE_KEY_REMOVE(17) onMessageType, plusKeyAddBody/KeyRemoveBodyand correspondingKeyAddData/KeyAddMessage/KeyRemoveData/KeyRemoveMessagetype narrowings andisKeyAdd*/isKeyRemove*typeguards incore.- Backfills the previously-missing
isLendStorageData/isLendStorageMessagetypeguards. - New unified signer surface in RPC:
GetSignerandGetSignersByFidreturn both on-chain and off-chain (gasless) keys viaSignerResponseandSignersByFidResponse. The pre-existingGetOnChainSignerandGetOnChainSignersByFidare now marked deprecated; existing callers are unaffected. TheSignerproto message is re-exported fromcoreasSignerInfoto disambiguate from the existing cryptographicSignerinterface. GetSignersByFidaccepts aSignersByFidRequestso callers can request current per-FID nonce counters (current_user_nonce,requester_fid_nonces).BlocksRequest.shard_idis removed (server already ignored it; field number1isreservedon the wire).
Adds
LendStorage*,KeyAdd*, andKeyRemove*factories plus runtime tests for the new typeguards.
- 2abc65d6: Test deploy with new CI auth method
- 7e602dc9: chore: pull in latest snapchain protos
- 206eb72f: feat: support storage lending
- e640c6c4: Update protobufs to pick up new types (support profile tokens)
- feat: Create a new function to calculate storage unit expiry timestamp
- 83f4721a: fix: update dataBytes length check for 10k casts
- c37a6370: chore: pull in updated Snapchain protos
- b4e3487b: fix: correctly determine storage unit type
- feat: update protos to support new storage unit type in snapchain v0.4.0
- 74149586: fix: Add console example and bump protos
- 722acc86: feat: set up monitoring for event stream based on snapchain block numbers
- 56cf1302: chore: switch to generating client libraries off snapchain protos
- 56cf1302: chore: add typeguards for BlockConfirmed event
- 1290c93c: fix: Fix event timestamp calculation for snapchain
- 05733a44: fix: add typeguards for TierPurchase onchain event
- 6307171a: feat: Support snapchain 0.3 protocol features: pro, basenames and primary address
- 7e742a8d: chore: bring protos to parity with Snapchain for client library
- 7ec9ad4b: fix: Update isMergeFailureHubEvent type guard to return correct type
- e26f69bf: feat: Add snapchain fields to hub event
- e26f69bf: fix: Populate data and dataBytes for better compatibility
- a4070feb: fix: support removals for social usernames, already supported upstream
- 7079230a: fix: support removals for social usernames, already supported upstream
- 846336ea: feat: Update packages to support snapchain
- 913c0f67: feat: support twitter and github usernames
- aa9cde75: feat: add user location to the protocol
- a8736e1d: re-introducing faker dependency
- f084daa1: feat: request missing on chain events on related submit message errors
- e5a86114: feat: support bulk message writing rpcs
- 321658b7: support streaming for sync/reconciliation
- fbd3ba5f: fix: Move storage unit type helper functions to hub-nodejs package
- cc0d0a3e: feat: added start/stop time filters for bulk queries
- dd634c79: feat: Implement Storage Extension FIP
- 61959467: upgrade libp2p/gossipsub and dependencies
- 939dde84: chore: upgrade viem to v2
- 76ad1ac2: feat: Expost event id functions
- fb0a083a: feat: extend frame message URL max length
- eacf29c9: fix: http endpoint return not found instead of internal database error
- dab95118: Add rpc to expose LinkCompactStateMessage + explicit handling of type
- c424e111: feat: Add support for long casts
- de52fbce: feat: extend verifications signature max length
- 911f8b23: Adds missing builder for LinkCompactState
- c261fba6: added approxSize to getInfo()
- ab9258af: feat: extend verification signature max length
- 7b374890: feat: Add Link CompactStateMessage type for link compaction
- 4c9fb617: feat: allow sharding event stream by fid
- 5ca5a4a5: feat: Add gossip MessageBundles
- e30297b9: bug: Enforce protobuf oneof constraints
- 22615b3c: Add address to frame message
- f7d13376: Fix unicode error for replicator, add constraint where verification message claim signatures must be hex
- 5a1764d8: perf: Move DB and Reactions store to rust
- 579d29a4: feat: add transaction ID to frame message
- 419d8287: Add currentPeers RPC endpoint
- 1fd0f686: fix: add bs58 dependency
- 5703d339: feat: add state field to frame message
- 136ef6b4: fix: Remove old dependencies
- bf37ec76: feat: Run validateOrRevoke only if signer is updated
- 1a52b869: fix: Handle solana verification removes
- ae91b73a: Add Solana verification support
- 763d3154: feat: rename some verification message fields to support more protocols
- f8c5f280: fix: Revert verification renames which break http backwards compatibility
- fd9f9ff8: Rename verification message
- 362f580b: feat: add text input frame field
- 229ea166: feat: Add support for FrameAction and validateMessage
- 704e0777: feat: Add usage information to getCurrentStorageLimitsByFid rpc call
- b001fee9: Add ViemWalletEip712Signer
- ab245ce5: Add EIP-712 helpers
- 5199f66e: fix: disallow empty casts
- 6890969b: fix: remove references to old contracts
- 5199f66e: fix: Allow syncTrie to handle names that are substrings
- 3313c232: Adds support for contact info content signing + strictNoSign
- f3d32227: feat: Support v2 id and key registry contracts
- 153da45a: Remove PubSub PeerDiscovery in favor of ContactInfo based PeerDiscovery
- ba86d374: feat: Allow signing raw message data bytes to support rust, Golang etc...
- f4e50b95: fix: use interface for Viem PublicClient, add optional publicClients to builders
- 81e6d8ec: FIP-8 contract verifications
- aacff028: Remove eslint-config-custom dependencies
- c33f5270: fix: Run protoc as user instead of root
- 433bee81: feat: Enable events sync by default
- ef795c71: upgrade viem to 1.12.2
- 14f67cf2: feat: Add peer scoring
- 31641c17: fix: Bound generated timestamps for tests
- fb1f5c61: feat: Support onchain events and fnames in sync trie
- aeab5a4c: docs: Refactor HTTP API docs
- 4b99eddb: feat: Support fname and onchain event syncids
- 7e2a66e5: feat: Add a function to parse the timestamp from the eventId
- 20062ceb: chore: cleanup default links store size code
- d77970b1: chore: Delete deprecated rpc calls and events
- 4893e02d: fix: Update links store size to be 2500 in the future
- 08b652e: fix: Add txIndex to onchain events, fix wrong index being used in the primary key
- bc416dbe: feat: Allow Hub operators to set an FID
- 76a031e2: feat: Add storage limit constants to core
- e6180074: feat: enforce storage pruning 1 day after migration
- bf1c44d2: feat: Update signer onchain event to store new fields and add additional RPC calls
- e55e571f: feat: Add "getting blockchain events" to hub status
- 1fcfd495: fix: fetching l2 events was not respecting --l2-first-block
- c6d79cdb: feat: on chain event ordering updated to be more consistent
- 41334ab8: fix: Move rust code to apps/hubble, making core package PureJS
- afd2146f: fix: Remove neon shim to get compilation working
- cfec7767: fix: Disable the rust code path to make it pureJS for now
- 86149d32: Added storage limits RPC
- ec7734cf: feat: Move blake3 hash into rust
- 15fad467: feat: Add Rust to the toolchain and use rust for ed25519 signature verification
- dcd7a149: feat: support migrating to l2
- 67e9466e: feat: refactor storage rent events to on chain events
- e36fcae: Fix username proof timestamp validation + add builders for UsernameProofData and UsernameProofMessage
- 88f31f2: fix: Fix typing for merge username proof events
- 2391c3a5: Adds support for storage events
- cd0ddd6: feat: Add support for ens names
- 4fa7a56: rename UserDataType.FNAME to UserDataType.USERNAME
- 5a1baae: Switch fnames from contract events to fname server proofs
-
159c62d: added ViemLocalEip712Signer to exports
-
bfdbfea: Used viem to verify Ethereum signatures
-
Added
signUserNameProofClaimtoEip712Signer -
Added
makeUserNameProofClaim -
Breaking API changes
- make*Data functions are now async
- removed top-level getSignerKey, signVerificationEthAddressClaim, and signMessageHash, use an Eip712Signer class (i.e. EthersEip712Signer or ViemLocalEip712Signer)
- rename
verifyUserNameProoftoverifyUserNameProofClaim
-
- 159c62d: bumped viem to 1.1.4
- f1c6b25: Fetch, validate and store username proofs from fname registry
- 2bc598a: Added support for Links
- 37f515f: Add app version to contactInfo message
- Re-publish
- 2ca66b17: replace @noble/ed25519 with faster and more secure @noble/curves
- 651df412: Remove unnecessary @faker-js/faker dependency from core
- 1236b4e: Add a GetSyncStatus rpc call that exposes the hubs sync status with different peers
- 2e633db: Reject prunable messages on merge
- d2cb5e4: fix: validate parentUrl and targetUrl comprehensively
- 6a84860: feat: add ViemLocalEip712Signer
- 421c385: Add sync stats to getInfo rpc call
- 87b2789: support CastId embeds, cast parent URLs, and reaction target URLs
- edea195: Ensure hub networks match when syncing with peers
- c4529a7: merge protobufs and utils packages into core
- 1e4e5ba: update tsup build command to check target environments and use tsup shims
- 1f47906: remove grpc-js dependency from protobufs, refactor hubble to use hub-nodejs hub-web to use @farcaster/protobufs and utils
- 9e39bb8: Update docs to close grpc connections after use
- Updated dependencies [142f3f5]
- Updated dependencies [1f47906]
- Updated dependencies [759e1cf]
- @farcaster/protobufs@0.2.0
- e5cb327: Remove getHubRpcClient, use getSSLRpcClient() or getInsecureRpcClient()
- Updated dependencies [e5cb327]
- @farcaster/protobufs@0.1.11
- 12c9c40: chore: use minimally specified ethers signer type
- dc69b66: feat: add EthersV5Eip712Signer
- 5c78405: upgrade ethers to 6.2.1
- Updated dependencies [6a0bf29]
- Updated dependencies [23de6e7]
- @farcaster/protobufs@0.1.10
-
59920f9: upgrade ethers from v5 to v6
-
99518ef: refactor: generic and library specific signer classes
Eip712Signerhas been renamed toEthersEip712Signerand should be built withnew EthersEip712Signer(wallet)instead ofEip712Signer.fromSignerEd25519Signerhas been renamed toNobleEd25519Signerand should be built withnew NobleEd25519Signer(privateKey)instead ofEd25519Signer.fromPrivateKey
- 1b0e3a7: Add RPC Auth via Env variables and a new getAuthMetadata method to make it easier to use RPC auth
- 1e4482e: updated dependencies
- Updated dependencies [469825e]
- Updated dependencies [1e4482e]
- @farcaster/protobufs@0.1.9
-
86c00f53: refactor: change
Eip712Signer.fromSignersignatureSimplify creation of Eip712Signer by removing the need to pass a signer key and instead deriving the it from the ethers signer.
This requires the function to be async.
- 0a3b77c: make SignerAddBody.name and SubscribeRequest.fromId optional
- Updated dependencies [0a3b77c]
- Updated dependencies [e7602bd]
- Updated dependencies [68230b7]
- @farcaster/protobufs@0.1.8
- 2d90f5bf: Validate embed URLs using utf8 byte length
- e75e46b3: Validate using UTF8 byte count instead of character length
- 6f1c5a9: chore: use removeEnumPrefix ts-proto flag and abbreviate protobuf enum names
- ea7b9c9: feat: add name to SignerAdd message
- Updated dependencies [6f1c5a9]
- Updated dependencies [ea7b9c9]
- @farcaster/protobufs@0.1.7
- d04d5d4a: add fromId to SubscribeRequest protobuf and subscribe gRPC method
- 4056b5d4: add HubEvent protobuf and types
- 22a9d460: remove UserData location type
- Updated dependencies [d04d5d4a]
- Updated dependencies [4056b5d4]
- Updated dependencies [22a9d460]
- @farcaster/protobufs@0.1.6
- 96468718: Allow duplicate mentions positions
- add prepublishOnly scripts to packages
- Updated dependencies
- @farcaster/protobufs@0.1.5
- 3096e00: Allow empty cast text
- d21a8f2: chore: upgrade packages [feb 2023]
- 6a66bae: feat: add mentionsPositions to CastAddBody
- 1151fea: feat: update farcaster epoch to Jan 1, 2021
- Updated dependencies [d21a8f2]
- Updated dependencies [6a66bae]
- Updated dependencies [cf9c64c]
- @farcaster/protobufs@0.1.4
- 6be9983: add subscribe grpc method and support event streaming
- Updated dependencies [9558382]
- Updated dependencies [6be9983]
- @farcaster/protobufs@0.1.3
- 78d9050: only add require banner for esm files in protobufs and update bytesIncrement method to assume big endian
- Updated dependencies [78d9050]
- @farcaster/protobufs@0.1.2
- 58738a4: migrate to protobufs
- b43fade: feat: add protobufs IdRegistryEvent and SignerStore
- ae7639c: add NameRegistryEvent schema and utils
- cd84f7c: feat: start @farcaster/protobufs for protobufs schema and static code and @farcaster/protoutils for protobufs version of utils package
- 2e32983: force addresses and hashes to be fixed size in validations
- Updated dependencies [526bd17]
- Updated dependencies [b43fade]
- Updated dependencies [ae7639c]
- Updated dependencies [cd84f7c]
- @farcaster/protobufs@0.1.1