Skip to content

[graphql-alt] Add MultisigSignature to SignatureScheme union [2/n]#25658

Merged
tpham-mysten merged 1 commit intotpham-graphql-signature-scheme-simplefrom
tpham-graphql-signature-scheme-multisig
Mar 4, 2026
Merged

[graphql-alt] Add MultisigSignature to SignatureScheme union [2/n]#25658
tpham-mysten merged 1 commit intotpham-graphql-signature-scheme-simplefrom
tpham-graphql-signature-scheme-multisig

Conversation

@tpham-mysten
Copy link
Copy Markdown
Contributor

@tpham-mysten tpham-mysten commented Mar 1, 2026

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

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:

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sui-docs Ready Ready Preview, Comment Mar 4, 2026 3:19am
2 Skipped Deployments
Project Deployment Actions Updated (UTC)
multisig-toolkit Ignored Ignored Preview Mar 4, 2026 3:19am
sui-kiosk Ignored Ignored Preview Mar 4, 2026 3:19am

Request Review

@tpham-mysten tpham-mysten temporarily deployed to sui-typescript-aws-kms-test-env March 1, 2026 03:59 — with GitHub Actions Inactive
@tpham-mysten tpham-mysten force-pushed the tpham-graphql-signature-scheme-multisig branch from 572f26c to b5cf773 Compare March 1, 2026 04:09
@tpham-mysten tpham-mysten temporarily deployed to sui-typescript-aws-kms-test-env March 1, 2026 04:09 — with GitHub Actions Inactive
@tpham-mysten tpham-mysten force-pushed the tpham-graphql-signature-scheme-simple branch from 848e370 to cf1ff0a Compare March 1, 2026 08:44
@tpham-mysten tpham-mysten force-pushed the tpham-graphql-signature-scheme-multisig branch from b5cf773 to 70f2382 Compare March 1, 2026 08:46
@tpham-mysten tpham-mysten temporarily deployed to sui-typescript-aws-kms-test-env March 1, 2026 08:46 — with GitHub Actions Inactive
@tpham-mysten tpham-mysten changed the title [graphql-alt] Add MultisigSignature to SignatureScheme union [graphql-alt] Add MultisigSignature to SignatureScheme union [2/n] Mar 1, 2026
@tpham-mysten tpham-mysten force-pushed the tpham-graphql-signature-scheme-multisig branch from 70f2382 to b0e2001 Compare March 1, 2026 16:57
@tpham-mysten tpham-mysten temporarily deployed to sui-typescript-aws-kms-test-env March 1, 2026 16:57 — with GitHub Actions Inactive
@tpham-mysten tpham-mysten force-pushed the tpham-graphql-signature-scheme-simple branch from cf1ff0a to 01111a5 Compare March 1, 2026 17:03
@tpham-mysten tpham-mysten force-pushed the tpham-graphql-signature-scheme-multisig branch from b0e2001 to a13b2ea Compare March 1, 2026 17:07
@tpham-mysten tpham-mysten temporarily deployed to sui-typescript-aws-kms-test-env March 1, 2026 17:07 — with GitHub Actions Inactive
Copy link
Copy Markdown
Contributor

@amnn amnn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one comment about re-using UserSignature recursively inside MultisigSignature, but the core change looks good.

@tpham-mysten tpham-mysten force-pushed the tpham-graphql-signature-scheme-multisig branch from a13b2ea to 43913f5 Compare March 4, 2026 03:10
@tpham-mysten tpham-mysten temporarily deployed to sui-typescript-aws-kms-test-env March 4, 2026 03:10 — with GitHub Actions Inactive
@tpham-mysten tpham-mysten requested a review from amnn March 4, 2026 03:14
@tpham-mysten tpham-mysten force-pushed the tpham-graphql-signature-scheme-multisig branch from 43913f5 to 4eff546 Compare March 4, 2026 03:17
@tpham-mysten tpham-mysten temporarily deployed to sui-typescript-aws-kms-test-env March 4, 2026 03:18 — with GitHub Actions Inactive
@tpham-mysten tpham-mysten merged commit 5bd223a into tpham-graphql-signature-scheme-simple Mar 4, 2026
43 of 45 checks passed
@tpham-mysten tpham-mysten deleted the tpham-graphql-signature-scheme-multisig branch 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 added a commit that referenced this pull request Mar 4, 2026
…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
- #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:
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:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants