Skip to content

registry/display: GraphQL integration#25242

Merged
amnn merged 1 commit intomainfrom
amnn/gql-disp-v2
Mar 10, 2026
Merged

registry/display: GraphQL integration#25242
amnn merged 1 commit intomainfrom
amnn/gql-disp-v2

Conversation

@amnn
Copy link
Copy Markdown
Contributor

@amnn amnn commented Feb 3, 2026

Description

GraphQL will look for and preference sui::display_registry::Display<T> over sui::display::Display<T> (+ its events) when computing the Display output for a given Move Value.

Test plan

New E2E tests:

$ cargo nextest run            \
  -p sui-indexer-alt-e2e-tests \
  --test transactional_tests   \
  -- display_v2

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: Adds support for Display Registry to GraphQL: MoveValue.display will look for a Display<T> stored in the Display Registry and will use that as the source of truth for its type's format. This takes precedence over any Display v1 formats that exist for this type.
  • CLI:
  • Rust SDK:
  • Indexing Framework:

@amnn amnn self-assigned this Feb 3, 2026
@amnn amnn requested a review from a team as a code owner February 3, 2026 15:03
@vercel
Copy link
Copy Markdown

vercel bot commented Feb 3, 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 10, 2026 5:31pm
2 Skipped Deployments
Project Deployment Actions Updated (UTC)
multisig-toolkit Ignored Ignored Preview Mar 10, 2026 5:31pm
sui-kiosk Ignored Ignored Preview Mar 10, 2026 5:31pm

Request Review

@amnn amnn temporarily deployed to sui-typescript-aws-kms-test-env February 3, 2026 15:03 — with GitHub Actions Inactive
@amnn amnn force-pushed the amnn/disp-enable branch from 4a48f9a to dc00abf Compare February 5, 2026 12:45
@amnn amnn force-pushed the amnn/gql-disp-v2 branch from 21fdcad to 858829c Compare February 5, 2026 12:45
@amnn amnn temporarily deployed to sui-typescript-aws-kms-test-env February 5, 2026 12:46 — with GitHub Actions Inactive
@amnn amnn temporarily deployed to sui-typescript-aws-kms-test-env February 5, 2026 12:46 — with GitHub Actions Inactive
@amnn amnn force-pushed the amnn/disp-enable branch from dc00abf to f0dfa98 Compare February 5, 2026 13:11
@amnn amnn force-pushed the amnn/gql-disp-v2 branch from 858829c to b3b6574 Compare February 5, 2026 13:12
@amnn amnn temporarily deployed to sui-typescript-aws-kms-test-env February 5, 2026 13:12 — with GitHub Actions Inactive
@amnn amnn temporarily deployed to sui-typescript-aws-kms-test-env February 5, 2026 13:12 — with GitHub Actions Inactive
Base automatically changed from amnn/disp-enable to ml/display-registry February 5, 2026 13:12
@amnn amnn requested a review from mystenmark as a code owner February 5, 2026 13:12
@amnn amnn force-pushed the amnn/gql-disp-v2 branch from b3b6574 to a3cbbe5 Compare February 5, 2026 13:13
@amnn amnn temporarily deployed to sui-typescript-aws-kms-test-env February 5, 2026 13:13 — with GitHub Actions Inactive
@amnn amnn force-pushed the amnn/gql-disp-v2 branch from a3cbbe5 to 6f652c5 Compare February 9, 2026 14:30
@amnn amnn temporarily deployed to sui-typescript-aws-kms-test-env February 9, 2026 14:30 — with GitHub Actions Inactive
@mystenmark mystenmark removed their request for review February 20, 2026 20:13
Base automatically changed from ml/display-registry to main March 9, 2026 17:25
@manolisliolios manolisliolios requested a review from a team as a code owner March 9, 2026 17:25
@amnn amnn force-pushed the amnn/gql-disp-v2 branch from 6f652c5 to 9fcef6d Compare March 10, 2026 16:49
@amnn amnn temporarily deployed to sui-typescript-aws-kms-test-env March 10, 2026 16:49 — with GitHub Actions Inactive
## Description
GraphQL will look for and preference `sui::display_registry::Display<T>`
over `sui::display::Display<T>` (+ its events) when computing the
Display output for a given Move Value.

## Test plan

New E2E tests:

```
$ cargo nextest run            \
  -p sui-indexer-alt-e2e-tests \
  --test transactional_tests   \
  -- display_v2
```
@amnn amnn force-pushed the amnn/gql-disp-v2 branch from 9fcef6d to acb0f6b Compare March 10, 2026 17:29
@amnn amnn temporarily deployed to sui-typescript-aws-kms-test-env March 10, 2026 17:29 — with GitHub Actions Inactive
@amnn amnn merged commit 1213c9a into main Mar 10, 2026
59 checks passed
@amnn amnn deleted the amnn/gql-disp-v2 branch March 10, 2026 20:45
amnn added a commit that referenced this pull request Mar 10, 2026
## Description

Relax the type of `DisplayFieldsResponse` to allow values to be
arbitrary JSON, instead of just strings, so it can support Display v2
fields.

## Test plan

CI

## Stack

- #23710 
- #25242

---

## 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:
amnn added a commit that referenced this pull request Mar 10, 2026
## Description
Replicate the GraphQL alt integration for JSONRPC-alt.

## Test plan

New E2E tests:

```
cargo nextest run              \
  -p sui-indexer-alt-e2e-tests \
  --test transactional_tests   \
  -- jsonrpc/objects/display/display_v2
```

## Stack

- #23710 
- #25242
- #25358 

---

## 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:
amnn added a commit that referenced this pull request Mar 11, 2026
## Description

Add support to legacy JSONRPC for Display v2.

## Test plan

New E2E tests:

```
$ cargo nextest run -p sui-json-rpc-tests --test rpc_server_tests
```

## Stack

- #23710 
- #25242
- #25358 
- #25359 

---

## 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:
- [x] JSON-RPC: Adds support for Display Registry to JSONRPC: When
`showDisplay` is set, the RPC will look for a `Display<T>` stored in the
Display Registry and will use that as the source of truth for its type's
format. This takes precedence over any Display v1 formats that exist for
this type.
- [ ] 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