Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[GraphQL/Schema][chore] Sync draft schema with current (MystenLabs#15252
) ## Description The draft schema and real schema diverged quite a bit while we added new features and responded to feedback. It was becoming unclear which differences were because we responded to feedback directly in the implementation, and which ones were features we need to implement from the draft. This PR brings it back in line so that the draft schema can once again act as a source of truth: ### Changes to actual schema - Ported over doc comments from the draft schema - Made some fields non-nullable to match schema (`OpenMoveType`, mainly). - Made `ServiceConfig` limit fields all `Int` rather than `BigInt` (these limits won't be over 2^53). ### Changes to draft schema - Changes to execution APIs to reflect recent discussions with @oxade (dry-run API doesn't accept an epoch parameter, accepts gas objects by ObjectRef rather than just by ID, and also accepts a gas budget). - Tweaked some type names to match how they look in the actual schema (e.g. `CheckpointID` -> `CheckpointId`). - Connection fields lose the `Connection` suffix on their field names, and are guaranteed to return a non-null `Connection`. The `Connection` types all gain a `nodes` field (like `edges` but without cursors). - Update type/function filters to be a single string that can accept multiple different formats, rather than three separte fields. - Make fields non-nullable according to actual implementation. - Added `dynamicObjectFields` API (added during implementation phase). - Updated all TransactionKind types in draft to match impl in MystenLabs#15211 - Remove `hasPublicTransfer` to reflect MystenLabs#15220. - Updated interface for `ObjectOwner` / `ObjectKind` so that we can share the initial shared version for a shared object. - Made the `DateTime`s that should be non-null, non-null. - Lists generally contain non-null elements. - TransactionBlocks have only one `sender`, not multiple (for now). Same for events. - Everything that should be a connection rather than an array, is. - Rename `objectReads` to `unchangedSharedObjects` in `TransactionBlockEffects` to reflect a similar naming (and semantic) change in `TransactionEffectsV2`. ## Test Plan ``` sui-graphql-rpc$ cargo nextest run sui-graphql-e2e-tests$ cargo nextest run \ -j 1 --features pg_integration ```
- Loading branch information