[graphql-alt] Add ZkLogin and Passkey to SignatureScheme union [3/n]#25659
Merged
tpham-mysten merged 2 commits intomainfrom Mar 4, 2026
Merged
[graphql-alt] Add ZkLogin and Passkey to SignatureScheme union [3/n]#25659tpham-mysten merged 2 commits intomainfrom
tpham-mysten merged 2 commits intomainfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This was referenced Mar 1, 2026
0ee4e2a to
6fa7680
Compare
6fa7680 to
542abe4
Compare
b0e2001 to
a13b2ea
Compare
542abe4 to
c1a0f73
Compare
amnn
approved these changes
Mar 2, 2026
crates/sui-indexer-alt-graphql/src/api/types/user_signature/passkey.rs
Outdated
Show resolved
Hide resolved
43913f5 to
4eff546
Compare
tpham-mysten
added a commit
that referenced
this pull request
Mar 4, 2026
…25658) ## Description - Add `MultisigSignature` variant to the `SignatureScheme` GraphQL union - Introduce `MultisigMemberSignature` (flat struct with `MultisigMemberSignatureScheme` enum), `MultisigCommittee`, `MultisigMember`, and `MultisigMemberPublicKey` (union) types - `MultisigMemberPublicKey` uses a union with `ZkLoginPublicIdentifier` (exposing `iss` + `addressSeed`) since it's structurally different from other key types - `MultiSigLegacy` is converted to `MultiSig` via `TryFrom` to reuse a single code path - ZkLogin public identifier conversion follows the same approach as gRPC (`rpc_proto_conversions.rs:1620`) — going through `sui_sdk_types` ## Test plan How did you test the new or updated feature? - Unit test --- ## Stack - #25657 - #25658 <- - #25659 ## Release notes Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required. For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates. - [ ] Protocol: - [ ] Nodes (Validators and Full nodes): - [ ] gRPC: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] Indexing Framework:
Base automatically changed from
tpham-graphql-signature-scheme-multisig
to
tpham-graphql-signature-scheme-simple
March 4, 2026 03:18
tpham-mysten
added a commit
that referenced
this pull request
Mar 4, 2026
…1/n] (#25657) ## Description - Convert `user_signature.rs` into a `user_signature/` module directory to support upcoming submodules for complex signature types - Add a `SignatureScheme` GraphQL union type with `Ed25519Signature`, `Secp256k1Signature`, and `Secp256r1Signature` variants, each exposing parsed `signature` and `publicKey` fields ## Test plan How did you test the new or updated feature? - Unit test --- ## Stack - #25657 <- - #25658 - #25659 ## Release notes Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required. For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates. - [ ] Protocol: - [ ] Nodes (Validators and Full nodes): - [ ] gRPC: - [ ] JSON-RPC: - [x] GraphQL: Introduce a new union `SignatureScheme` for `UserSignature` - [ ] CLI: - [ ] Rust SDK: - [ ] Indexing Framework:
tpham-mysten
commented
Mar 4, 2026
Contributor
Author
tpham-mysten
left a comment
There was a problem hiding this comment.
Thanks for the review! I will add ZkLoginInputs, public_identifier, and jwk_id in the next PR
crates/sui-indexer-alt-graphql/src/api/types/user_signature/passkey.rs
Outdated
Show resolved
Hide resolved
c1a0f73 to
f28e5d7
Compare
f28e5d7 to
8357e40
Compare
8 tasks
jessiemongeon1
pushed a commit
to jessiemongeon1/sui
that referenced
this pull request
Mar 5, 2026
…1/n] (MystenLabs#25657) ## Description - Convert `user_signature.rs` into a `user_signature/` module directory to support upcoming submodules for complex signature types - Add a `SignatureScheme` GraphQL union type with `Ed25519Signature`, `Secp256k1Signature`, and `Secp256r1Signature` variants, each exposing parsed `signature` and `publicKey` fields ## Test plan How did you test the new or updated feature? - Unit test --- ## Stack - MystenLabs#25657 <- - MystenLabs#25658 - MystenLabs#25659 ## Release notes Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required. For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates. - [ ] Protocol: - [ ] Nodes (Validators and Full nodes): - [ ] gRPC: - [ ] JSON-RPC: - [x] GraphQL: Introduce a new union `SignatureScheme` for `UserSignature` - [ ] CLI: - [ ] Rust SDK: - [ ] Indexing Framework:
jessiemongeon1
pushed a commit
to jessiemongeon1/sui
that referenced
this pull request
Mar 5, 2026
…ystenLabs#25659) ## Description - Add `ZkLoginSignature` variant exposing `maxEpoch` and the inner `userSignature` - Add `PasskeySignature` variant exposing `authenticatorData`, `clientDataJson`, and the inner `userSignature` ## Test plan How did you test the new or updated feature? - Unit test --- ## Stack - MystenLabs#25657 - MystenLabs#25658 - MystenLabs#25659 <- ## Release notes Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required. For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates. - [ ] Protocol: - [ ] Nodes (Validators and Full nodes): - [ ] gRPC: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] Indexing Framework:
tpham-mysten
added a commit
that referenced
this pull request
Mar 6, 2026
#25696) ## Description - Add `inputs`, `publicIdentifier`, and `jwkId` fields to `ZkLoginSignature` to match the gRPC interface ## Test plan How did you test the new or updated feature? `cargo check -p sui-indexer-alt-graphql` --- ## Stack - #25657 - #25658 - #25659 - #25696 <- ## Release notes Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required. For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates. - [ ] Protocol: - [ ] Nodes (Validators and Full nodes): - [ ] gRPC: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] Indexing Framework:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
ZkLoginSignaturevariant exposingmaxEpochand the inneruserSignaturePasskeySignaturevariant exposingauthenticatorData,clientDataJson, and the inneruserSignatureTest plan
How did you test the new or updated feature?
Stack
Release notes
Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required.
For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates.