Skip to content

Commit af9bda8

Browse files
authored
add changeset for snapchain signers (#2688)
<!-- start pr-codex --> ## PR-Codex overview This PR focuses on updating the protobuf bindings for the snapchain V16 protocol, introducing new features related to signers and scopes, and deprecating some existing RPC calls. ### Detailed summary - Introduces snapchain V16 protos for signers and scopes. - Regenerates protobuf bindings for engine version V16. - Adds `MESSAGE_TYPE_KEY_ADD` and `MESSAGE_TYPE_KEY_REMOVE` to `MessageType`. - Introduces `KeyAddBody`, `KeyRemoveBody`, and their related types. - Implements `isKeyAdd*` and `isKeyRemove*` typeguards in `core`. - Adds `GetSigner` and `GetSignersByFid` RPC methods for on-chain and gasless keys. - Deprecates `GetOnChainSigner` and `GetOnChainSignersByFid`. - Re-exports `Signer` as `SignerInfo` from `core`. - Allows `GetSignersByFid` to accept `SignersByFidRequest` for nonce counters. - Removes `BlocksRequest.shard_id` as it was ignored by the server. - Adds factories and runtime tests for `LendStorage*`, `KeyAdd*`, and `KeyRemove*` types. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex -->
1 parent be4837d commit af9bda8

1 file changed

Lines changed: 34 additions & 0 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
"@farcaster/core": patch
3+
"@farcaster/hub-nodejs": patch
4+
"@farcaster/hub-web": patch
5+
---
6+
7+
feat: pull in snapchain V16 protos (signers and scopes / gasless signers)
8+
9+
Regenerates protobuf bindings against snapchain `e8e89a3`, the client
10+
surface for engine version V16 (`LATEST_PROTOCOL_VERSION` 10 → 11;
11+
`ProtocolFeature::GaslessSigners` gate). V16 activates testnet
12+
2026-04-28 20:00 UTC and mainnet 2026-05-07 17:00 UTC.
13+
14+
- `MESSAGE_TYPE_KEY_ADD` (16) and `MESSAGE_TYPE_KEY_REMOVE` (17) on
15+
`MessageType`, plus `KeyAddBody` / `KeyRemoveBody` and corresponding
16+
`KeyAddData` / `KeyAddMessage` / `KeyRemoveData` / `KeyRemoveMessage`
17+
type narrowings and `isKeyAdd*` / `isKeyRemove*` typeguards in `core`.
18+
- Backfills the previously-missing `isLendStorageData` /
19+
`isLendStorageMessage` typeguards.
20+
- New unified signer surface in RPC: `GetSigner` and `GetSignersByFid`
21+
return both on-chain and off-chain (gasless) keys via `SignerResponse`
22+
and `SignersByFidResponse`. The pre-existing `GetOnChainSigner` and
23+
`GetOnChainSignersByFid` are now marked deprecated; existing callers
24+
are unaffected. The `Signer` proto message is re-exported from `core`
25+
as `SignerInfo` to disambiguate from the existing cryptographic
26+
`Signer` interface.
27+
- `GetSignersByFid` accepts a `SignersByFidRequest` so callers can
28+
request current per-FID nonce counters (`current_user_nonce`,
29+
`requester_fid_nonces`).
30+
- `BlocksRequest.shard_id` is removed (server already ignored it; field
31+
number `1` is `reserved` on the wire).
32+
33+
Adds `LendStorage*`, `KeyAdd*`, and `KeyRemove*` factories plus runtime
34+
tests for the new typeguards.

0 commit comments

Comments
 (0)