From 0d0f022dcbc6493bf0eb1373b0a931601103058c Mon Sep 17 00:00:00 2001 From: Brandon Williams Date: Thu, 20 Feb 2025 16:33:22 -0600 Subject: [PATCH] rpc: update docs --- crates/sui-rpc-api/generate-grpc-docs.sh | 12 +- crates/sui-rpc-api/proto/documentation.json | 3639 +++++++++++------ crates/sui-rpc-api/proto/documentation.md | 2247 +++++++--- .../proto/sui/node/v2/node_service.proto | 70 +- .../proto/sui/node/v2alpha/node_service.proto | 8 +- .../sui-rpc-api/proto/sui/types/types.proto | 142 +- .../src/proto/generated/sui.node.v2.rs | 70 +- .../src/proto/generated/sui.node.v2alpha.rs | 6 +- .../src/proto/generated/sui.types.rs | 144 +- 9 files changed, 4349 insertions(+), 1989 deletions(-) diff --git a/crates/sui-rpc-api/generate-grpc-docs.sh b/crates/sui-rpc-api/generate-grpc-docs.sh index aa66c66d53595..66b7c86ce8ec6 100755 --- a/crates/sui-rpc-api/generate-grpc-docs.sh +++ b/crates/sui-rpc-api/generate-grpc-docs.sh @@ -9,10 +9,18 @@ SCRIPT_PATH=$(realpath "$0") SCRIPT_DIR=$(dirname "$SCRIPT_PATH") PROTO_FILES=( -proto/sui.node.v2.proto -proto/sui.types.proto +proto/google/protobuf/any.proto +proto/google/protobuf/duration.proto proto/google/protobuf/empty.proto +proto/google/protobuf/field_mask.proto proto/google/protobuf/timestamp.proto +proto/google/rpc/error_details.proto +proto/google/rpc/status.proto +proto/sui/node/v2/node_service.proto +proto/sui/node/v2alpha/node_service.proto +proto/sui/node/v2alpha/subscription_service.proto +proto/sui/types/signature_scheme.proto +proto/sui/types/types.proto ) # requires that protoc as well as the protoc-gen-doc plugin is installed and diff --git a/crates/sui-rpc-api/proto/documentation.json b/crates/sui-rpc-api/proto/documentation.json index 750b4cccd2f17..a29d403f52d4a 100644 --- a/crates/sui-rpc-api/proto/documentation.json +++ b/crates/sui-rpc-api/proto/documentation.json @@ -1,8 +1,849 @@ { "files": [ { - "name": "sui.node.v2.proto", - "description": "The sui.node.v2 package contains API definitions for services that are\nexpected to run on Full nodes.", + "name": "google/protobuf/any.proto", + "description": "", + "package": "google.protobuf", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "Any", + "longName": "Any", + "fullName": "google.protobuf.Any", + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "type_url", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "value", + "description": "Must be a valid serialized protocol buffer of the above specified type.", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "google/protobuf/duration.proto", + "description": "", + "package": "google.protobuf", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "Duration", + "longName": "Duration", + "fullName": "google.protobuf.Duration", + "description": "A Duration represents a signed, fixed-length span of time represented\nas a count of seconds and fractions of seconds at nanosecond\nresolution. It is independent of any calendar and concepts like \"day\"\nor \"month\". It is related to Timestamp in that the difference between\ntwo Timestamp values is a Duration and it can be added or subtracted\nfrom a Timestamp. Range is approximately +-10,000 years.\n\n# Examples\n\nExample 1: Compute Duration from two Timestamps in pseudo code.\n\n Timestamp start = ...;\n Timestamp end = ...;\n Duration duration = ...;\n\n duration.seconds = end.seconds - start.seconds;\n duration.nanos = end.nanos - start.nanos;\n\n if (duration.seconds \u003c 0 \u0026\u0026 duration.nanos \u003e 0) {\n duration.seconds += 1;\n duration.nanos -= 1000000000;\n } else if (duration.seconds \u003e 0 \u0026\u0026 duration.nanos \u003c 0) {\n duration.seconds -= 1;\n duration.nanos += 1000000000;\n }\n\nExample 2: Compute Timestamp from Timestamp + Duration in pseudo code.\n\n Timestamp start = ...;\n Duration duration = ...;\n Timestamp end = ...;\n\n end.seconds = start.seconds + duration.seconds;\n end.nanos = start.nanos + duration.nanos;\n\n if (end.nanos \u003c 0) {\n end.seconds -= 1;\n end.nanos += 1000000000;\n } else if (end.nanos \u003e= 1000000000) {\n end.seconds += 1;\n end.nanos -= 1000000000;\n }\n\nExample 3: Compute Duration from datetime.timedelta in Python.\n\n td = datetime.timedelta(days=3, minutes=10)\n duration = Duration()\n duration.FromTimedelta(td)\n\n# JSON Mapping\n\nIn JSON format, the Duration type is encoded as a string rather than an\nobject, where the string ends in the suffix \"s\" (indicating seconds) and\nis preceded by the number of seconds, with nanoseconds expressed as\nfractional seconds. For example, 3 seconds with 0 nanoseconds should be\nencoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\nbe expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\nmicrosecond should be expressed in JSON format as \"3.000001s\".", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "seconds", + "description": "Signed seconds of the span of time. Must be from -315,576,000,000\nto +315,576,000,000 inclusive. Note: these bounds are computed from:\n60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nanos", + "description": "Signed fractions of a second at nanosecond resolution of the span\nof time. Durations less than one second are represented with a 0\n`seconds` field and a positive or negative `nanos` field. For durations\nof one second or more, a non-zero value for the `nanos` field must be\nof the same sign as the `seconds` field. Must be from -999,999,999\nto +999,999,999 inclusive.", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "google/protobuf/empty.proto", + "description": "", + "package": "google.protobuf", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "Empty", + "longName": "Empty", + "fullName": "google.protobuf.Empty", + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n```\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\n```", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + } + ], + "services": [] + }, + { + "name": "google/protobuf/field_mask.proto", + "description": "", + "package": "google.protobuf", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "FieldMask", + "longName": "FieldMask", + "fullName": "google.protobuf.FieldMask", + "description": "`FieldMask` represents a set of symbolic field paths, for example:\n\n paths: \"f.a\"\n paths: \"f.b.d\"\n\nHere `f` represents a field in some root message, `a` and `b`\nfields in the message found in `f`, and `d` a field found in the\nmessage in `f.b`.\n\nField masks are used to specify a subset of fields that should be\nreturned by a get operation or modified by an update operation.\nField masks also have a custom JSON encoding (see below).\n\n# Field Masks in Projections\n\nWhen used in the context of a projection, a response message or\nsub-message is filtered by the API to only contain those fields as\nspecified in the mask. For example, if the mask in the previous\nexample is applied to a response message as follows:\n\n f {\n a : 22\n b {\n d : 1\n x : 2\n }\n y : 13\n }\n z: 8\n\nThe result will not contain specific values for fields x,y and z\n(their value will be set to the default, and omitted in proto text\noutput):\n\n\n f {\n a : 22\n b {\n d : 1\n }\n }\n\nA repeated field is not allowed except at the last position of a\npaths string.\n\nIf a FieldMask object is not present in a get operation, the\noperation applies to all fields (as if a FieldMask of all fields\nhad been specified).\n\nNote that a field mask does not necessarily apply to the\ntop-level response message. In case of a REST get operation, the\nfield mask applies directly to the response, but in case of a REST\nlist operation, the mask instead applies to each individual message\nin the returned resource list. In case of a REST custom method,\nother definitions may be used. Where the mask applies will be\nclearly documented together with its declaration in the API. In\nany case, the effect on the returned resource/resources is required\nbehavior for APIs.\n\n# Field Masks in Update Operations\n\nA field mask in update operations specifies which fields of the\ntargeted resource are going to be updated. The API is required\nto only change the values of the fields as specified in the mask\nand leave the others untouched. If a resource is passed in to\ndescribe the updated values, the API ignores the values of all\nfields not covered by the mask.\n\nIf a repeated field is specified for an update operation, new values will\nbe appended to the existing repeated field in the target resource. Note that\na repeated field is only allowed in the last position of a `paths` string.\n\nIf a sub-message is specified in the last position of the field mask for an\nupdate operation, then new value will be merged into the existing sub-message\nin the target resource.\n\nFor example, given the target message:\n\n f {\n b {\n d: 1\n x: 2\n }\n c: [1]\n }\n\nAnd an update message:\n\n f {\n b {\n d: 10\n }\n c: [2]\n }\n\nthen if the field mask is:\n\n paths: [\"f.b\", \"f.c\"]\n\nthen the result will be:\n\n f {\n b {\n d: 10\n x: 2\n }\n c: [1, 2]\n }\n\nAn implementation may provide options to override this default behavior for\nrepeated and message fields.\n\nIn order to reset a field's value to the default, the field must\nbe in the mask and set to the default value in the provided resource.\nHence, in order to reset all fields of a resource, provide a default\ninstance of the resource and set all fields in the mask, or do\nnot provide a mask as described below.\n\nIf a field mask is not present on update, the operation applies to\nall fields (as if a field mask of all fields has been specified).\nNote that in the presence of schema evolution, this may mean that\nfields the client does not know and has therefore not filled into\nthe request will be reset to their default. If this is unwanted\nbehavior, a specific service may require a client to always specify\na field mask, producing an error if not.\n\nAs with get operations, the location of the resource which\ndescribes the updated values in the request message depends on the\noperation kind. In any case, the effect of the field mask is\nrequired to be honored by the API.\n\n## Considerations for HTTP REST\n\nThe HTTP kind of an update operation which uses a field mask must\nbe set to PATCH instead of PUT in order to satisfy HTTP semantics\n(PUT must only be used for full updates).\n\n# JSON Encoding of Field Masks\n\nIn JSON, a field mask is encoded as a single string where paths are\nseparated by a comma. Fields name in each path are converted\nto/from lower-camel naming conventions.\n\nAs an example, consider the following message declarations:\n\n message Profile {\n User user = 1;\n Photo photo = 2;\n }\n message User {\n string display_name = 1;\n string address = 2;\n }\n\nIn proto a field mask for `Profile` may look as such:\n\n mask {\n paths: \"user.display_name\"\n paths: \"photo\"\n }\n\nIn JSON, the same mask is represented as below:\n\n {\n mask: \"user.displayName,photo\"\n }\n\n# Field Masks and Oneof Fields\n\nField masks treat fields in oneofs just as regular fields. Consider the\nfollowing message:\n\n message SampleMessage {\n oneof test_oneof {\n string name = 4;\n SubMessage sub_message = 9;\n }\n }\n\nThe field mask can be:\n\n mask {\n paths: \"name\"\n }\n\nOr:\n\n mask {\n paths: \"sub_message\"\n }\n\nNote that oneof type names (\"test_oneof\" in this case) cannot be used in\npaths.\n\n## Field Mask Verification\n\nThe implementation of any API method which has a FieldMask type field in the\nrequest should verify the included field paths, and return an\n`INVALID_ARGUMENT` error if any path is unmappable.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "paths", + "description": "The set of field mask paths.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "google/protobuf/timestamp.proto", + "description": "", + "package": "google.protobuf", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "Timestamp", + "longName": "Timestamp", + "fullName": "google.protobuf.Timestamp", + "description": "A Timestamp represents a point in time independent of any time zone\nor calendar, represented as seconds and fractions of seconds at\nnanosecond resolution in UTC Epoch time. It is encoded using the\nProleptic Gregorian Calendar which extends the Gregorian calendar\nbackwards to year one. It is encoded assuming all minutes are 60\nseconds long, i.e. leap seconds are \"smeared\" so that no leap second\ntable is needed for interpretation. Range is from\n`0001-01-01T00:00:00Z` to `9999-12-31T23:59:59.999999999Z`.\nRestricting to that range ensures that conversion to\nand from RFC 3339 date strings is possible.\nSee [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).\n\n# Examples\n\nExample 1: Compute Timestamp from POSIX `time()`.\n\n```\nTimestamp timestamp;\ntimestamp.set_seconds(time(NULL));\ntimestamp.set_nanos(0);\n```\n\nExample 2: Compute Timestamp from POSIX `gettimeofday()`.\n\n```\nstruct timeval tv;\ngettimeofday(\u0026tv, NULL);\n\nTimestamp timestamp;\ntimestamp.set_seconds(tv.tv_sec);\ntimestamp.set_nanos(tv.tv_usec * 1000);\n```\n\nExample 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\n```\nFILETIME ft;\nGetSystemTimeAsFileTime(\u0026ft);\nUINT64 ticks = (((UINT64)ft.dwHighDateTime) \u003c\u003c 32) | ft.dwLowDateTime;\n\n// A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n// is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\nTimestamp timestamp;\ntimestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\ntimestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); //\n```\n\nExample 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\n```\nlong millis = System.currentTimeMillis();\n\nTimestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n```\n\nExample 5: Compute Timestamp from current time in Python.\n\n```\ntimestamp = Timestamp()\ntimestamp.GetCurrentTime()\n```\n\n# JSON Mapping\n\nIn JSON format, the `Timestamp` type is encoded as a string in the\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\nformat is `{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z`\nwhere `{year}` is always expressed using four digits while `{month}`, `{day}`,\n`{hour}`, `{min}`, and `{sec}` are zero-padded to two digits each. The fractional\nseconds, which can go up to 9 digits (so up to 1 nanosecond resolution),\nare optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\nis required, though only UTC (as indicated by \"Z\") is presently supported.\n\nFor example, `2017-01-15T01:30:15.01Z` encodes 15.01 seconds past\n01:30 UTC on January 15, 2017.\n\nIn JavaScript, you can convert a `Date` object to this format using the\nstandard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\nmethod. In Python, you can convert a standard `datetime.datetime` object\nto this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime)\nwith the time format spec `%Y-%m-%dT%H:%M:%S.%fZ`. Likewise, in Java, you\ncan use the Joda Time's [`ISODateTimeFormat.dateTime()`](\nhttp://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--)\nto obtain a formatter capable of generating timestamps in this format.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "seconds", + "description": "Represents seconds of UTC time since Unix epoch\n`1970-01-01T00:00:00Z`. Must be from `0001-01-01T00:00:00Z` to\n`9999-12-31T23:59:59Z` inclusive.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nanos", + "description": "Non-negative fractions of a second at nanosecond resolution. Negative\nsecond values with fractions must still have non-negative nano values\nthat count forward in time. Must be from 0 to 999,999,999\ninclusive.", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "google/rpc/error_details.proto", + "description": "", + "package": "google.rpc", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "BadRequest", + "longName": "BadRequest", + "fullName": "google.rpc.BadRequest", + "description": "Describes violations in a client request. This error type focuses on the\nsyntactic aspects of the request.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "field_violations", + "description": "Describes all violations in a client request.", + "label": "repeated", + "type": "FieldViolation", + "longType": "BadRequest.FieldViolation", + "fullType": "google.rpc.BadRequest.FieldViolation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "FieldViolation", + "longName": "BadRequest.FieldViolation", + "fullName": "google.rpc.BadRequest.FieldViolation", + "description": "A message type used to describe a single bad request field.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "field", + "description": "A path that leads to a field in the request body. The value will be a\nsequence of dot-separated identifiers that identify a protocol buffer\nfield.\n\nConsider the following:\n\n```text,json\nmessage CreateContactRequest {\n message EmailAddress {\n enum Type {\n TYPE_UNSPECIFIED = 0;\n HOME = 1;\n WORK = 2;\n }\n\n optional string email = 1;\n repeated EmailType type = 2;\n }\n\n string full_name = 1;\n repeated EmailAddress email_addresses = 2;\n}\n```\n\nIn this example, in proto `field` could take one of the following values:\n\n* `full_name` for a violation in the `full_name` value\n* `email_addresses[1].email` for a violation in the `email` field of the\n first `email_addresses` message\n* `email_addresses[3].type[2]` for a violation in the second `type`\n value in the third `email_addresses` message.\n\nIn JSON, the same values are represented as:\n\n* `fullName` for a violation in the `fullName` value\n* `emailAddresses[1].email` for a violation in the `email` field of the\n first `emailAddresses` message\n* `emailAddresses[3].type[2]` for a violation in the second `type`\n value in the third `emailAddresses` message.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "description", + "description": "A description of why the request element is bad.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reason", + "description": "The reason of the field-level error. This is a constant value that\nidentifies the proximate cause of the field-level error. It should\nuniquely identify the type of the FieldViolation within the scope of the\ngoogle.rpc.ErrorInfo.domain. This should be at most 63\ncharacters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,\nwhich represents UPPER_SNAKE_CASE.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "localized_message", + "description": "Provides a localized error message for field-level errors that is safe to\nreturn to the API consumer.", + "label": "", + "type": "LocalizedMessage", + "longType": "LocalizedMessage", + "fullType": "google.rpc.LocalizedMessage", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DebugInfo", + "longName": "DebugInfo", + "fullName": "google.rpc.DebugInfo", + "description": "Describes additional debugging info.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "stack_entries", + "description": "The stack trace entries indicating where the error occurred.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "detail", + "description": "Additional debugging information provided by the server.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ErrorInfo", + "longName": "ErrorInfo", + "fullName": "google.rpc.ErrorInfo", + "description": "Describes the cause of the error with structured details.\n\nExample of an error when contacting the \"pubsub.googleapis.com\" API when it\nis not enabled:\n\n```text,json\n{ \"reason\": \"API_DISABLED\"\n \"domain\": \"googleapis.com\"\n \"metadata\": {\n \"resource\": \"projects/123\",\n \"service\": \"pubsub.googleapis.com\"\n }\n}\n```\n\nThis response indicates that the pubsub.googleapis.com API is not enabled.\n\nExample of an error that is returned when attempting to create a Spanner\ninstance in a region that is out of stock:\n\n```text,json\n{ \"reason\": \"STOCKOUT\"\n \"domain\": \"spanner.googleapis.com\",\n \"metadata\": {\n \"availableRegions\": \"us-central1,us-east2\"\n }\n}\n```", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "reason", + "description": "The reason of the error. This is a constant value that identifies the\nproximate cause of the error. Error reasons are unique within a particular\ndomain of errors. This should be at most 63 characters and match a\nregular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents\nUPPER_SNAKE_CASE.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "domain", + "description": "The logical grouping to which the \"reason\" belongs. The error domain\nis typically the registered service name of the tool or product that\ngenerates the error. Example: \"pubsub.googleapis.com\". If the error is\ngenerated by some common infrastructure, the error domain must be a\nglobally unique value that identifies the infrastructure. For Google API\ninfrastructure, the error domain is \"googleapis.com\".", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "metadata", + "description": "Additional structured details about this error.\n\nKeys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should\nideally be lowerCamelCase. Also, they must be limited to 64 characters in\nlength. When identifying the current value of an exceeded limit, the units\nshould be contained in the key, not the value. For example, rather than\n`{\"instanceLimit\": \"100/request\"}`, should be returned as,\n`{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of\ninstances that can be created in a single (batch) request.", + "label": "repeated", + "type": "MetadataEntry", + "longType": "ErrorInfo.MetadataEntry", + "fullType": "google.rpc.ErrorInfo.MetadataEntry", + "ismap": true, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MetadataEntry", + "longName": "ErrorInfo.MetadataEntry", + "fullName": "google.rpc.ErrorInfo.MetadataEntry", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "value", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Help", + "longName": "Help", + "fullName": "google.rpc.Help", + "description": "Provides links to documentation or for performing an out of band action.\n\nFor example, if a quota check failed with an error indicating the calling\nproject hasn't enabled the accessed service, this can contain a URL pointing\ndirectly to the right place in the developer console to flip the bit.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "links", + "description": "URL(s) pointing to additional information on handling the current error.", + "label": "repeated", + "type": "Link", + "longType": "Help.Link", + "fullType": "google.rpc.Help.Link", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Link", + "longName": "Help.Link", + "fullName": "google.rpc.Help.Link", + "description": "Describes a URL link.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "description", + "description": "Describes what the link offers.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "url", + "description": "The URL of the link.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LocalizedMessage", + "longName": "LocalizedMessage", + "fullName": "google.rpc.LocalizedMessage", + "description": "Provides a localized error message that is safe to return to the user\nwhich can be attached to an RPC error.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "locale", + "description": "The locale used following the specification defined at\nhttps://www.rfc-editor.org/rfc/bcp/bcp47.txt.\nExamples are: \"en-US\", \"fr-CH\", \"es-MX\"", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "message", + "description": "The localized error message in the above locale.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PreconditionFailure", + "longName": "PreconditionFailure", + "fullName": "google.rpc.PreconditionFailure", + "description": "Describes what preconditions have failed.\n\nFor example, if an RPC failed because it required the Terms of Service to be\nacknowledged, it could list the terms of service violation in the\nPreconditionFailure message.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "violations", + "description": "Describes all precondition violations.", + "label": "repeated", + "type": "Violation", + "longType": "PreconditionFailure.Violation", + "fullType": "google.rpc.PreconditionFailure.Violation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Violation", + "longName": "PreconditionFailure.Violation", + "fullName": "google.rpc.PreconditionFailure.Violation", + "description": "A message type used to describe a single precondition failure.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "type", + "description": "The type of PreconditionFailure. We recommend using a service-specific\nenum type to define the supported precondition violation subjects. For\nexample, \"TOS\" for \"Terms of Service violation\".", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "subject", + "description": "The subject, relative to the type, that failed.\nFor example, \"google.com/cloud\" relative to the \"TOS\" type would indicate\nwhich terms of service is being referenced.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "description", + "description": "A description of how the precondition failed. Developers can use this\ndescription to understand how to fix the failure.\n\nFor example: \"Terms of service not accepted\".", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "QuotaFailure", + "longName": "QuotaFailure", + "fullName": "google.rpc.QuotaFailure", + "description": "Describes how a quota check failed.\n\nFor example if a daily limit was exceeded for the calling project,\na service could respond with a QuotaFailure detail containing the project\nid and the description of the quota limit that was exceeded. If the\ncalling project hasn't enabled the service in the developer console, then\na service could respond with the project id and set `service_disabled`\nto true.\n\nAlso see RetryInfo and Help types for other details about handling a\nquota failure.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "violations", + "description": "Describes all quota violations.", + "label": "repeated", + "type": "Violation", + "longType": "QuotaFailure.Violation", + "fullType": "google.rpc.QuotaFailure.Violation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Violation", + "longName": "QuotaFailure.Violation", + "fullName": "google.rpc.QuotaFailure.Violation", + "description": "A message type used to describe a single quota violation. For example, a\ndaily quota or a custom quota that was exceeded.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "subject", + "description": "The subject on which the quota check failed.\nFor example, `clientip:\u003cip address of client\u003e` or `project:\u003cGoogle\ndeveloper project id\u003e`.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "description", + "description": "A description of how the quota check failed. Clients can use this\ndescription to find more about the quota configuration in the service's\npublic documentation, or find the relevant quota limit to adjust through\ndeveloper console.\n\nFor example: \"Service disabled\" or \"Daily Limit for read operations\nexceeded\".", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RequestInfo", + "longName": "RequestInfo", + "fullName": "google.rpc.RequestInfo", + "description": "Contains metadata about the request that clients can attach when filing a bug\nor providing other forms of feedback.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "request_id", + "description": "An opaque string that should only be interpreted by the service generating\nit. For example, it can be used to identify requests in the service's logs.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "serving_data", + "description": "Any data that was used to serve this request. For example, an encrypted\nstack trace that can be sent back to the service provider for debugging.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ResourceInfo", + "longName": "ResourceInfo", + "fullName": "google.rpc.ResourceInfo", + "description": "Describes the resource that is being accessed.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "resource_type", + "description": "A name for the type of resource being accessed, e.g. \"sql table\",\n\"cloud storage bucket\", \"file\", \"Google calendar\"; or the type URL\nof the resource: e.g. \"type.googleapis.com/google.pubsub.v1.Topic\".", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "resource_name", + "description": "The name of the resource being accessed. For example, a shared calendar\nname: \"example.com_4fghdhgsrgh@group.calendar.google.com\", if the current\nerror is\n[google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED].", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "owner", + "description": "The owner of the resource (optional).\nFor example, `user:\u003cowner email\u003e` or `project:\u003cGoogle developer project\nid\u003e`.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "description", + "description": "Describes what error is encountered when accessing this resource.\nFor example, updating a cloud project may require the `writer` permission\non the developer console project.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RetryInfo", + "longName": "RetryInfo", + "fullName": "google.rpc.RetryInfo", + "description": "Describes when the clients can retry a failed request. Clients could ignore\nthe recommendation here or retry when this information is missing from error\nresponses.\n\nIt's always recommended that clients should use exponential backoff when\nretrying.\n\nClients should wait until `retry_delay` amount of time has passed since\nreceiving the error response before retrying. If retrying requests also\nfail, clients should use an exponential backoff scheme to gradually increase\nthe delay between retries based on `retry_delay`, until either a maximum\nnumber of retries have been reached or a maximum retry delay cap has been\nreached.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "retry_delay", + "description": "Clients should wait at least this long between retrying the same request.", + "label": "", + "type": "Duration", + "longType": "google.protobuf.Duration", + "fullType": "google.protobuf.Duration", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "google/rpc/status.proto", + "description": "", + "package": "google.rpc", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "Status", + "longName": "Status", + "fullName": "google.rpc.Status", + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "code", + "description": "The status code, which should be an enum value of\n[google.rpc.Code][google.rpc.Code].", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "message", + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\n[google.rpc.Status.details][google.rpc.Status.details] field, or localized\nby the client.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "details", + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "label": "repeated", + "type": "Any", + "longType": "google.protobuf.Any", + "fullType": "google.protobuf.Any", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "sui/node/v2/node_service.proto", + "description": "The sui.node.v2 package contains API definitions for services that are\nexpected to run on Fullnodes.", "package": "sui.node.v2", "hasEnums": false, "hasExtensions": false, @@ -12,66 +853,246 @@ "extensions": [], "messages": [ { - "name": "BalanceChange", - "longName": "BalanceChange", - "fullName": "sui.node.v2.BalanceChange", - "description": "The delta, or change, in balance for an address for a particular `Coin` type.", + "name": "BalanceChange", + "longName": "BalanceChange", + "fullName": "sui.node.v2.BalanceChange", + "description": "The delta, or change, in balance for an address for a particular `Coin` type.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "address", + "description": "The account address that is affected by this balance change event.", + "label": "optional", + "type": "Address", + "longType": "sui.types.Address", + "fullType": "sui.types.Address", + "ismap": false, + "isoneof": true, + "oneofdecl": "_address", + "defaultValue": "" + }, + { + "name": "coin_type", + "description": "The `Coin` type of this balance change event.", + "label": "optional", + "type": "TypeTag", + "longType": "sui.types.TypeTag", + "fullType": "sui.types.TypeTag", + "ismap": false, + "isoneof": true, + "oneofdecl": "_coin_type", + "defaultValue": "" + }, + { + "name": "amount", + "description": "The amount or change in balance.", + "label": "optional", + "type": "I128", + "longType": "sui.types.I128", + "fullType": "sui.types.I128", + "ismap": false, + "isoneof": true, + "oneofdecl": "_amount", + "defaultValue": "" + } + ] + }, + { + "name": "EffectsFinality", + "longName": "EffectsFinality", + "fullName": "sui.node.v2.EffectsFinality", + "description": "Indicates the finality of the executed transaction.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "certified", + "description": "A quorum certificate certifying that a transaction is final but might not\nbe included in a checkpoint yet.", + "label": "", + "type": "ValidatorAggregatedSignature", + "longType": "sui.types.ValidatorAggregatedSignature", + "fullType": "sui.types.ValidatorAggregatedSignature", + "ismap": false, + "isoneof": true, + "oneofdecl": "finality", + "defaultValue": "" + }, + { + "name": "checkpointed", + "description": "Sequence number of the checkpoint that includes the transaction.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "finality", + "defaultValue": "" + }, + { + "name": "quorum_executed", + "description": "Indicates that a quorum of validators has executed the transaction but\nthat it might not be included in a checkpoint yet.", + "label": "", + "type": "Empty", + "longType": "google.protobuf.Empty", + "fullType": "google.protobuf.Empty", + "ismap": false, + "isoneof": true, + "oneofdecl": "finality", + "defaultValue": "" + } + ] + }, + { + "name": "ExecuteTransactionRequest", + "longName": "ExecuteTransactionRequest", + "fullName": "sui.node.v2.ExecuteTransactionRequest", + "description": "Request message for `NodeService.ExecuteTransaction`.\n\nNote: You must provide only one of `transaction` or `transaction_bcs`.", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "address", - "description": "The account address that is affected by this balance change event.", + "name": "transaction", + "description": "Optional. The transaction to execute.", "label": "optional", - "type": "Address", - "longType": "sui.types.Address", - "fullType": "sui.types.Address", + "type": "Transaction", + "longType": "sui.types.Transaction", + "fullType": "sui.types.Transaction", "ismap": false, "isoneof": true, - "oneofdecl": "_address", + "oneofdecl": "_transaction", "defaultValue": "" }, { - "name": "coin_type", - "description": "The `Coin` type of this balance change event.", + "name": "transaction_bcs", + "description": "Optional. The transaction to execute, encoded as BCS bytes.", "label": "optional", - "type": "TypeTag", - "longType": "sui.types.TypeTag", - "fullType": "sui.types.TypeTag", + "type": "Bcs", + "longType": "sui.types.Bcs", + "fullType": "sui.types.Bcs", "ismap": false, "isoneof": true, - "oneofdecl": "_coin_type", + "oneofdecl": "_transaction_bcs", "defaultValue": "" }, { - "name": "amount", - "description": "The amount or change in balance.", + "name": "signatures", + "description": "Optional. Set of `UserSiganture`s authorizing the execution of the provided\ntransaction.", + "label": "repeated", + "type": "UserSignature", + "longType": "sui.types.UserSignature", + "fullType": "sui.types.UserSignature", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signatures_bytes", + "description": "Optional. Set of `UserSiganture`s authorizing the execution of the provided\ntransaction, encoded as bytes.", + "label": "repeated", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "read_mask", + "description": "Optional. Mask for specifying which parts of the\n`ExecuteTransactionResponse` should be returned.", "label": "optional", - "type": "I128", - "longType": "sui.types.I128", - "fullType": "sui.types.I128", + "type": "FieldMask", + "longType": "google.protobuf.FieldMask", + "fullType": "google.protobuf.FieldMask", "ismap": false, "isoneof": true, - "oneofdecl": "_amount", + "oneofdecl": "_read_mask", "defaultValue": "" } ] }, { - "name": "BalanceChanges", - "longName": "BalanceChanges", - "fullName": "sui.node.v2.BalanceChanges", - "description": "Set of `BalanceChange`s that occurred as the result of a transaction.\n\nThis set of events are calculated by analyzing all input and output `Coin`\ntype objects.", + "name": "ExecuteTransactionResponse", + "longName": "ExecuteTransactionResponse", + "fullName": "sui.node.v2.ExecuteTransactionResponse", + "description": "Response message for `NodeService.ExecuteTransaction`.", "hasExtensions": false, "hasFields": true, - "hasOneofs": false, + "hasOneofs": true, "extensions": [], "fields": [ + { + "name": "finality", + "description": "Indicates the finality of the executed transaction.", + "label": "optional", + "type": "EffectsFinality", + "longType": "EffectsFinality", + "fullType": "sui.node.v2.EffectsFinality", + "ismap": false, + "isoneof": true, + "oneofdecl": "_finality", + "defaultValue": "" + }, + { + "name": "effects", + "description": "The `TransactionEffects` for this transaction.", + "label": "optional", + "type": "TransactionEffects", + "longType": "sui.types.TransactionEffects", + "fullType": "sui.types.TransactionEffects", + "ismap": false, + "isoneof": true, + "oneofdecl": "_effects", + "defaultValue": "" + }, + { + "name": "effects_bcs", + "description": "The\n[TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html)\nfor this transaction encoded as BCS bytes.", + "label": "optional", + "type": "Bcs", + "longType": "sui.types.Bcs", + "fullType": "sui.types.Bcs", + "ismap": false, + "isoneof": true, + "oneofdecl": "_effects_bcs", + "defaultValue": "" + }, + { + "name": "events", + "description": "The `TransactionEvents` for this transaction.\n\nThis field might be empty, even if it was explicitly requested, if the\ntransaction didn't produce any events.\n`sui.types.TransactionEffects.events_digest` is populated if the\ntransaction produced any events.", + "label": "optional", + "type": "TransactionEvents", + "longType": "sui.types.TransactionEvents", + "fullType": "sui.types.TransactionEvents", + "ismap": false, + "isoneof": true, + "oneofdecl": "_events", + "defaultValue": "" + }, + { + "name": "events_bcs", + "description": "The\n[TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html)\nfor this transaction encoded as BCS bytes.", + "label": "optional", + "type": "Bcs", + "longType": "sui.types.Bcs", + "fullType": "sui.types.Bcs", + "ismap": false, + "isoneof": true, + "oneofdecl": "_events_bcs", + "defaultValue": "" + }, { "name": "balance_changes", - "description": "", + "description": "Set of balance change events as a result of this transaction.\n\nThis set of events are calculated by analyzing all input and output `Coin`\ntype objects.", "label": "repeated", "type": "BalanceChange", "longType": "BalanceChange", @@ -84,70 +1105,130 @@ ] }, { - "name": "EffectsFinality", - "longName": "EffectsFinality", - "fullName": "sui.node.v2.EffectsFinality", - "description": "Indicates the finality of the executed transaction.", + "name": "FullCheckpointObject", + "longName": "FullCheckpointObject", + "fullName": "sui.node.v2.FullCheckpointObject", + "description": "An object used by or produced from a transaction.", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "certified", - "description": "A quorum certificate certifying that a transaction is final but might not\nbe included in a checkpoint yet.", - "label": "", - "type": "ValidatorAggregatedSignature", - "longType": "sui.types.ValidatorAggregatedSignature", - "fullType": "sui.types.ValidatorAggregatedSignature", + "name": "object_id", + "description": "The `ObjectId` of this object.", + "label": "optional", + "type": "ObjectId", + "longType": "sui.types.ObjectId", + "fullType": "sui.types.ObjectId", "ismap": false, "isoneof": true, - "oneofdecl": "finality", + "oneofdecl": "_object_id", "defaultValue": "" }, { - "name": "checkpointed", - "description": "Sequence number of the checkpoint that includes the transaction.", - "label": "", + "name": "version", + "description": "The version of this object.", + "label": "optional", "type": "uint64", "longType": "uint64", "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "finality", + "oneofdecl": "_version", "defaultValue": "" }, { - "name": "quorum_executed", - "description": "Indicates that a quorum of validators has executed the transaction but\nthat it might not be included in a checkpoint yet.", - "label": "", - "type": "Empty", - "longType": "google.protobuf.Empty", - "fullType": "google.protobuf.Empty", + "name": "digest", + "description": "The digest of this object.", + "label": "optional", + "type": "Digest", + "longType": "sui.types.Digest", + "fullType": "sui.types.Digest", "ismap": false, "isoneof": true, - "oneofdecl": "finality", + "oneofdecl": "_digest", + "defaultValue": "" + }, + { + "name": "object", + "description": "The object itself.", + "label": "optional", + "type": "Object", + "longType": "sui.types.Object", + "fullType": "sui.types.Object", + "ismap": false, + "isoneof": true, + "oneofdecl": "_object", + "defaultValue": "" + }, + { + "name": "object_bcs", + "description": "The\n[object](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Object.html)\nencoded as BCS bytes.", + "label": "optional", + "type": "Bcs", + "longType": "sui.types.Bcs", + "fullType": "sui.types.Bcs", + "ismap": false, + "isoneof": true, + "oneofdecl": "_object_bcs", "defaultValue": "" } ] }, { - "name": "ExecuteTransactionOptions", - "longName": "ExecuteTransactionOptions", - "fullName": "sui.node.v2.ExecuteTransactionOptions", - "description": "", + "name": "FullCheckpointTransaction", + "longName": "FullCheckpointTransaction", + "fullName": "sui.node.v2.FullCheckpointTransaction", + "description": "A transaction, with all of its inputs and outputs.", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ + { + "name": "digest", + "description": "The digest of this transaction.", + "label": "optional", + "type": "Digest", + "longType": "sui.types.Digest", + "fullType": "sui.types.Digest", + "ismap": false, + "isoneof": true, + "oneofdecl": "_digest", + "defaultValue": "" + }, + { + "name": "transaction", + "description": "The transaction itself.", + "label": "optional", + "type": "Transaction", + "longType": "sui.types.Transaction", + "fullType": "sui.types.Transaction", + "ismap": false, + "isoneof": true, + "oneofdecl": "_transaction", + "defaultValue": "" + }, + { + "name": "transaction_bcs", + "description": "The\n[Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html)\nencoded as BCS bytes.", + "label": "optional", + "type": "Bcs", + "longType": "sui.types.Bcs", + "fullType": "sui.types.Bcs", + "ismap": false, + "isoneof": true, + "oneofdecl": "_transaction_bcs", + "defaultValue": "" + }, { "name": "effects", - "description": "Include the `sui.types.TransactionEffects` message in the response.\n\nDefaults to `false` if not included.", + "description": "The `TransactionEffects` for this transaction.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "TransactionEffects", + "longType": "sui.types.TransactionEffects", + "fullType": "sui.types.TransactionEffects", "ismap": false, "isoneof": true, "oneofdecl": "_effects", @@ -155,11 +1236,11 @@ }, { "name": "effects_bcs", - "description": "Include the `TransactionEffects` formatted as BCS in the response.\n\nDefaults to `false` if not included.", + "description": "The\n[TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html)\nfor this transaction encoded as BCS bytes.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "Bcs", + "longType": "sui.types.Bcs", + "fullType": "sui.types.Bcs", "ismap": false, "isoneof": true, "oneofdecl": "_effects_bcs", @@ -167,11 +1248,11 @@ }, { "name": "events", - "description": "Include the `sui.types.TransactionEvents` message in the response.\n\nDefaults to `false` if not included.", + "description": "The `TransactionEvents` for this transaction.\n\nThis field might be empty, even if it was explicitly requested, if the\ntransaction didn't produce any events.\n`sui.types.TransactionEffects.events_digest` is populated if the\ntransaction produced any events.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "TransactionEvents", + "longType": "sui.types.TransactionEvents", + "fullType": "sui.types.TransactionEvents", "ismap": false, "isoneof": true, "oneofdecl": "_events", @@ -179,223 +1260,259 @@ }, { "name": "events_bcs", - "description": "Include the `TransactionEvents` formatted as BCS in the response.\n\nDefaults to `false` if not included.", + "description": "The\n[TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html)\nfor this transaction encoded as BCS bytes.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "Bcs", + "longType": "sui.types.Bcs", + "fullType": "sui.types.Bcs", "ismap": false, "isoneof": true, "oneofdecl": "_events_bcs", "defaultValue": "" }, { - "name": "balance_changes", - "description": "Include the `BalanceChanges` in the response.\n\nDefaults to `false` if not included.", - "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "name": "input_objects", + "description": "Set of input objects used during the execution of this transaction.", + "label": "repeated", + "type": "FullCheckpointObject", + "longType": "FullCheckpointObject", + "fullType": "sui.node.v2.FullCheckpointObject", "ismap": false, - "isoneof": true, - "oneofdecl": "_balance_changes", + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "output_objects", + "description": "Set of output objects produced from the execution of this transaction.", + "label": "repeated", + "type": "FullCheckpointObject", + "longType": "FullCheckpointObject", + "fullType": "sui.node.v2.FullCheckpointObject", + "ismap": false, + "isoneof": false, + "oneofdecl": "", "defaultValue": "" } ] }, { - "name": "ExecuteTransactionRequest", - "longName": "ExecuteTransactionRequest", - "fullName": "sui.node.v2.ExecuteTransactionRequest", - "description": "Request message for `NodeService.ExecuteTransaction`.\n\nNote: You must provide only one of `transaction` or `transaction_bcs`.", + "name": "GetCheckpointRequest", + "longName": "GetCheckpointRequest", + "fullName": "sui.node.v2.GetCheckpointRequest", + "description": "Request message for `NodeService.GetCheckpoint`.\n\nAt most, provide one of `sequence_number` or `digest`. An error is\nreturned if you attempt to provide both. If you provide neither, the service\nreturns the latest executed checkpoint.", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "transaction", - "description": "Optional. The transaction to execute.", - "label": "optional", - "type": "Transaction", - "longType": "sui.types.Transaction", - "fullType": "sui.types.Transaction", - "ismap": false, - "isoneof": true, - "oneofdecl": "_transaction", - "defaultValue": "" - }, - { - "name": "transaction_bcs", - "description": "Optional. The transaction to execute, encoded as BCS bytes.", - "label": "optional", - "type": "Bcs", - "longType": "sui.types.Bcs", - "fullType": "sui.types.Bcs", - "ismap": false, - "isoneof": true, - "oneofdecl": "_transaction_bcs", - "defaultValue": "" - }, - { - "name": "signatures", - "description": "Optional. Set of `UserSiganture`s authorizing the execution of the provided\ntransaction.", + "name": "sequence_number", + "description": "Optional. The sequence number of the requested checkpoint.", "label": "optional", - "type": "UserSignatures", - "longType": "UserSignatures", - "fullType": "sui.node.v2.UserSignatures", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_signatures", + "oneofdecl": "_sequence_number", "defaultValue": "" }, { - "name": "signatures_bytes", - "description": "Optional. Set of `UserSiganture`s authorizing the execution of the provided\ntransaction, encoded as bytes.", + "name": "digest", + "description": "Optional. The digest of the requested checkpoint.", "label": "optional", - "type": "UserSignaturesBytes", - "longType": "UserSignaturesBytes", - "fullType": "sui.node.v2.UserSignaturesBytes", + "type": "Digest", + "longType": "sui.types.Digest", + "fullType": "sui.types.Digest", "ismap": false, "isoneof": true, - "oneofdecl": "_signatures_bytes", + "oneofdecl": "_digest", "defaultValue": "" }, { - "name": "options", - "description": "Optional. Options for specifying which parts of the\n`ExecuteTransactionResponse` should be returned.", + "name": "read_mask", + "description": "Optional. Mask for specifying which parts of the `GetCheckpointResponse`\nshould be returned.", "label": "optional", - "type": "ExecuteTransactionOptions", - "longType": "ExecuteTransactionOptions", - "fullType": "sui.node.v2.ExecuteTransactionOptions", + "type": "FieldMask", + "longType": "google.protobuf.FieldMask", + "fullType": "google.protobuf.FieldMask", "ismap": false, "isoneof": true, - "oneofdecl": "_options", + "oneofdecl": "_read_mask", "defaultValue": "" } ] }, { - "name": "ExecuteTransactionResponse", - "longName": "ExecuteTransactionResponse", - "fullName": "sui.node.v2.ExecuteTransactionResponse", - "description": "Response message for `NodeService.ExecuteTransaction`.", + "name": "GetCheckpointResponse", + "longName": "GetCheckpointResponse", + "fullName": "sui.node.v2.GetCheckpointResponse", + "description": "Response message for `NodeService.GetCheckpoint`.", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "finality", - "description": "Indicates the finality of the executed transaction.", + "name": "sequence_number", + "description": "The sequence number of this checkpoint.", "label": "optional", - "type": "EffectsFinality", - "longType": "EffectsFinality", - "fullType": "sui.node.v2.EffectsFinality", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_finality", + "oneofdecl": "_sequence_number", "defaultValue": "" }, { - "name": "effects", - "description": "Optional. The `TransactionEffects` for this transaction.", + "name": "digest", + "description": "The digest of this checkpoint's `CheckpointSummary`.", "label": "optional", - "type": "TransactionEffects", - "longType": "sui.types.TransactionEffects", - "fullType": "sui.types.TransactionEffects", + "type": "Digest", + "longType": "sui.types.Digest", + "fullType": "sui.types.Digest", "ismap": false, "isoneof": true, - "oneofdecl": "_effects", + "oneofdecl": "_digest", "defaultValue": "" }, { - "name": "effects_bcs", - "description": "Optional. The\n[TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html)\nfor this transaction encoded as BCS bytes.", + "name": "summary", + "description": "The `CheckpointSummary` for this checkpoint.", + "label": "optional", + "type": "CheckpointSummary", + "longType": "sui.types.CheckpointSummary", + "fullType": "sui.types.CheckpointSummary", + "ismap": false, + "isoneof": true, + "oneofdecl": "_summary", + "defaultValue": "" + }, + { + "name": "summary_bcs", + "description": "The\n[CheckpointSummary](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointSummary.html)\nfor this checkpoint encoded as BCS bytes.", "label": "optional", "type": "Bcs", "longType": "sui.types.Bcs", "fullType": "sui.types.Bcs", "ismap": false, "isoneof": true, - "oneofdecl": "_effects_bcs", + "oneofdecl": "_summary_bcs", "defaultValue": "" }, { - "name": "events", - "description": "Optional. The `TransactionEvents` for this transaction.\n\nThis field might be empty, even if it was explicitly requested, if the\ntransaction didn't produce any events.\n`sui.types.TransactionEffects.events_digest` is populated if the\ntransaction produced any events.", + "name": "signature", + "description": "An aggregated quorum signature from the validator committee that\ncertifies this checkpoint.", "label": "optional", - "type": "TransactionEvents", - "longType": "sui.types.TransactionEvents", - "fullType": "sui.types.TransactionEvents", + "type": "ValidatorAggregatedSignature", + "longType": "sui.types.ValidatorAggregatedSignature", + "fullType": "sui.types.ValidatorAggregatedSignature", "ismap": false, "isoneof": true, - "oneofdecl": "_events", + "oneofdecl": "_signature", "defaultValue": "" }, { - "name": "events_bcs", - "description": "Optional. The\n[TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html)\nfor this transaction encoded as BCS bytes.", + "name": "contents", + "description": "The `CheckpointContents` for this checkpoint.", + "label": "optional", + "type": "CheckpointContents", + "longType": "sui.types.CheckpointContents", + "fullType": "sui.types.CheckpointContents", + "ismap": false, + "isoneof": true, + "oneofdecl": "_contents", + "defaultValue": "" + }, + { + "name": "contents_bcs", + "description": "The\n[CheckpointContents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointContents.html)\nfor this checkpoint encoded as BCS bytes.", "label": "optional", "type": "Bcs", "longType": "sui.types.Bcs", "fullType": "sui.types.Bcs", "ismap": false, "isoneof": true, - "oneofdecl": "_events_bcs", + "oneofdecl": "_contents_bcs", "defaultValue": "" - }, + } + ] + }, + { + "name": "GetCommitteeRequest", + "longName": "GetCommitteeRequest", + "fullName": "sui.node.v2.GetCommitteeRequest", + "description": "Request message for NodeService.GetCommittee.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ { - "name": "balance_changes", - "description": "Optional. Set of balance change events as a result of this transaction.", + "name": "epoch", + "description": "Optional. Request the sui.types.ValidatorCommittee corresponding to the\nprovided epoch. If no epoch is provided the committee for the current\nepoch will be returned.", "label": "optional", - "type": "BalanceChanges", - "longType": "BalanceChanges", - "fullType": "sui.node.v2.BalanceChanges", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_balance_changes", + "oneofdecl": "_epoch", "defaultValue": "" } ] }, { - "name": "FullCheckpointObject", - "longName": "FullCheckpointObject", - "fullName": "sui.node.v2.FullCheckpointObject", - "description": "An object used by or produced from a transaction.", + "name": "GetCommitteeResponse", + "longName": "GetCommitteeResponse", + "fullName": "sui.node.v2.GetCommitteeResponse", + "description": "Response message for `NodeService.GetCommittee`.", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "object_id", - "description": "The `ObjectId` of this object.", + "name": "committee", + "description": "The committee of either the requested epoch or the current epoch.", "label": "optional", - "type": "ObjectId", - "longType": "sui.types.ObjectId", - "fullType": "sui.types.ObjectId", + "type": "ValidatorCommittee", + "longType": "sui.types.ValidatorCommittee", + "fullType": "sui.types.ValidatorCommittee", "ismap": false, "isoneof": true, - "oneofdecl": "_object_id", + "oneofdecl": "_committee", "defaultValue": "" - }, + } + ] + }, + { + "name": "GetFullCheckpointRequest", + "longName": "GetFullCheckpointRequest", + "fullName": "sui.node.v2.GetFullCheckpointRequest", + "description": "Request message for `NodeService.GetFullCheckpoint`.\n\nAt most, provide one of `sequence_number` or `digest`. An error is\nreturned if you provide both. If you provide neither, the service\nreturns the latest executed checkpoint.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ { - "name": "version", - "description": "The version of this object.", + "name": "sequence_number", + "description": "Optional. The sequence number of the requested checkpoint.", "label": "optional", "type": "uint64", "longType": "uint64", "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_version", + "oneofdecl": "_sequence_number", "defaultValue": "" }, { "name": "digest", - "description": "The digest of this object.", + "description": "Optional. The digest of the requested checkpoint.", "label": "optional", "type": "Digest", "longType": "sui.types.Digest", @@ -405,69 +1522,45 @@ "oneofdecl": "_digest", "defaultValue": "" }, - { - "name": "object", - "description": "Optional. The object itself.", - "label": "optional", - "type": "Object", - "longType": "sui.types.Object", - "fullType": "sui.types.Object", - "ismap": false, - "isoneof": true, - "oneofdecl": "_object", - "defaultValue": "" - }, - { - "name": "object_bcs", - "description": "Optional. The\n[object](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Object.html)\nencoded as BCS bytes.", - "label": "optional", - "type": "Bcs", - "longType": "sui.types.Bcs", - "fullType": "sui.types.Bcs", + { + "name": "read_mask", + "description": "Optional. Mask for specifying which parts of the `GetFullCheckpointResponse`\nshould be returned.", + "label": "optional", + "type": "FieldMask", + "longType": "google.protobuf.FieldMask", + "fullType": "google.protobuf.FieldMask", "ismap": false, "isoneof": true, - "oneofdecl": "_object_bcs", + "oneofdecl": "_read_mask", "defaultValue": "" } ] }, { - "name": "FullCheckpointObjects", - "longName": "FullCheckpointObjects", - "fullName": "sui.node.v2.FullCheckpointObjects", - "description": "Set of objects used by or produced from a transaction.", + "name": "GetFullCheckpointResponse", + "longName": "GetFullCheckpointResponse", + "fullName": "sui.node.v2.GetFullCheckpointResponse", + "description": "Response message for `NodeService.GetFullCheckpoint`.", "hasExtensions": false, "hasFields": true, - "hasOneofs": false, + "hasOneofs": true, "extensions": [], "fields": [ { - "name": "objects", - "description": "", - "label": "repeated", - "type": "FullCheckpointObject", - "longType": "FullCheckpointObject", - "fullType": "sui.node.v2.FullCheckpointObject", + "name": "sequence_number", + "description": "The sequence number of this checkpoint.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", "ismap": false, - "isoneof": false, - "oneofdecl": "", + "isoneof": true, + "oneofdecl": "_sequence_number", "defaultValue": "" - } - ] - }, - { - "name": "FullCheckpointTransaction", - "longName": "FullCheckpointTransaction", - "fullName": "sui.node.v2.FullCheckpointTransaction", - "description": "A transaction, with all of its inputs and outputs.", - "hasExtensions": false, - "hasFields": true, - "hasOneofs": true, - "extensions": [], - "fields": [ + }, { "name": "digest", - "description": "The digest of this transaction.", + "description": "The digest of this checkpoint's `CheckpointSummary`.", "label": "optional", "type": "Digest", "longType": "sui.types.Digest", @@ -478,248 +1571,283 @@ "defaultValue": "" }, { - "name": "transaction", - "description": "Optional. The transaction itself.", + "name": "summary", + "description": "The `CheckpointSummary` for this checkpoint.", "label": "optional", - "type": "Transaction", - "longType": "sui.types.Transaction", - "fullType": "sui.types.Transaction", + "type": "CheckpointSummary", + "longType": "sui.types.CheckpointSummary", + "fullType": "sui.types.CheckpointSummary", "ismap": false, "isoneof": true, - "oneofdecl": "_transaction", + "oneofdecl": "_summary", "defaultValue": "" }, { - "name": "transaction_bcs", - "description": "Optional. The\n[Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html)\nencoded as BCS bytes.", + "name": "summary_bcs", + "description": "The\n[CheckpointSummary](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointSummary.html)\nfor this checkpoint encoded as BCS bytes.", "label": "optional", "type": "Bcs", "longType": "sui.types.Bcs", "fullType": "sui.types.Bcs", "ismap": false, "isoneof": true, - "oneofdecl": "_transaction_bcs", + "oneofdecl": "_summary_bcs", "defaultValue": "" }, { - "name": "effects", - "description": "Optional. The `TransactionEffects` for this transaction.", + "name": "signature", + "description": "An aggregated quorum signature from the validator committee that\ncertifies this checkpoint.", "label": "optional", - "type": "TransactionEffects", - "longType": "sui.types.TransactionEffects", - "fullType": "sui.types.TransactionEffects", + "type": "ValidatorAggregatedSignature", + "longType": "sui.types.ValidatorAggregatedSignature", + "fullType": "sui.types.ValidatorAggregatedSignature", "ismap": false, "isoneof": true, - "oneofdecl": "_effects", + "oneofdecl": "_signature", "defaultValue": "" }, { - "name": "effects_bcs", - "description": "Optional. The\n[TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html)\nfor this transaction encoded as BCS bytes.", + "name": "contents", + "description": "The `CheckpointContents` for this checkpoint.", "label": "optional", - "type": "Bcs", - "longType": "sui.types.Bcs", - "fullType": "sui.types.Bcs", + "type": "CheckpointContents", + "longType": "sui.types.CheckpointContents", + "fullType": "sui.types.CheckpointContents", "ismap": false, "isoneof": true, - "oneofdecl": "_effects_bcs", + "oneofdecl": "_contents", "defaultValue": "" }, { - "name": "events", - "description": "Optional. The `TransactionEvents` for this transaction.\n\nThis field might be empty, even if it was explicitly requested, if the\ntransaction didn't produce any events.\n`sui.types.TransactionEffects.events_digest` is populated if the\ntransaction produced any events.", + "name": "contents_bcs", + "description": "The\n[CheckpointContents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointContents.html)\nfor this checkpoint encoded as BCS bytes.", "label": "optional", - "type": "TransactionEvents", - "longType": "sui.types.TransactionEvents", - "fullType": "sui.types.TransactionEvents", + "type": "Bcs", + "longType": "sui.types.Bcs", + "fullType": "sui.types.Bcs", "ismap": false, "isoneof": true, - "oneofdecl": "_events", + "oneofdecl": "_contents_bcs", "defaultValue": "" }, { - "name": "events_bcs", - "description": "Optional. The\n[TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html)\nfor this transaction encoded as BCS bytes.", + "name": "transactions", + "description": "List of transactions included in this checkpoint.", + "label": "repeated", + "type": "FullCheckpointTransaction", + "longType": "FullCheckpointTransaction", + "fullType": "sui.node.v2.FullCheckpointTransaction", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetNodeInfoRequest", + "longName": "GetNodeInfoRequest", + "fullName": "sui.node.v2.GetNodeInfoRequest", + "description": "Request message for `NodeService.GetNodeInfo`.", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "GetNodeInfoResponse", + "longName": "GetNodeInfoResponse", + "fullName": "sui.node.v2.GetNodeInfoResponse", + "description": "Response message for `NodeService.GetNodeInfo`.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "chain_id", + "description": "The chain identifier of the chain that this node is on.\n\nThe chain identifier is the digest of the genesis checkpoint, the\ncheckpoint with sequence number 0.", "label": "optional", - "type": "Bcs", - "longType": "sui.types.Bcs", - "fullType": "sui.types.Bcs", + "type": "Digest", + "longType": "sui.types.Digest", + "fullType": "sui.types.Digest", "ismap": false, "isoneof": true, - "oneofdecl": "_events_bcs", + "oneofdecl": "_chain_id", "defaultValue": "" }, { - "name": "input_objects", - "description": "Optional. Set of input objects used during the execution of this transaction.", + "name": "chain", + "description": "Human-readable name of the chain that this node is on.\n\nThis is intended to be a human-readable name like `mainnet`, `testnet`, and so on.", "label": "optional", - "type": "FullCheckpointObjects", - "longType": "FullCheckpointObjects", - "fullType": "sui.node.v2.FullCheckpointObjects", + "type": "string", + "longType": "string", + "fullType": "string", "ismap": false, "isoneof": true, - "oneofdecl": "_input_objects", + "oneofdecl": "_chain", "defaultValue": "" }, { - "name": "output_objects", - "description": "Optional. Set of output objects produced from the execution of this transaction.", + "name": "epoch", + "description": "Current epoch of the node based on its highest executed checkpoint.", "label": "optional", - "type": "FullCheckpointObjects", - "longType": "FullCheckpointObjects", - "fullType": "sui.node.v2.FullCheckpointObjects", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_output_objects", + "oneofdecl": "_epoch", "defaultValue": "" - } - ] - }, - { - "name": "GetCheckpointOptions", - "longName": "GetCheckpointOptions", - "fullName": "sui.node.v2.GetCheckpointOptions", - "description": "Options for which parts of the `GetCheckpointResponse` should be returned.", - "hasExtensions": false, - "hasFields": true, - "hasOneofs": true, - "extensions": [], - "fields": [ + }, { - "name": "summary", - "description": "Include the `sui.types.CheckpointSummary` in the response.\n\nDefaults to `false` if not included.", + "name": "checkpoint_height", + "description": "Checkpoint height of the most recently executed checkpoint.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_summary", + "oneofdecl": "_checkpoint_height", "defaultValue": "" }, { - "name": "summary_bcs", - "description": "Include the `CheckpointSummary` formatted as BCS in the response.\n\nDefaults to `false` if not included.", + "name": "timestamp", + "description": "Unix timestamp of the most recently executed checkpoint.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "Timestamp", + "longType": "google.protobuf.Timestamp", + "fullType": "google.protobuf.Timestamp", "ismap": false, "isoneof": true, - "oneofdecl": "_summary_bcs", + "oneofdecl": "_timestamp", "defaultValue": "" }, { - "name": "signature", - "description": "Include the `sui.types.ValidatorAggregatedSignature` in the response.\n\nDefaults to `false` if not included.", + "name": "lowest_available_checkpoint", + "description": "The lowest checkpoint for which checkpoints and transaction data are available.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_signature", + "oneofdecl": "_lowest_available_checkpoint", "defaultValue": "" }, { - "name": "contents", - "description": "Include the `sui.types.CheckpointContents` message in the response.\n\nDefaults to `false` if not included.", + "name": "lowest_available_checkpoint_objects", + "description": "The lowest checkpoint for which object data is available.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_contents", + "oneofdecl": "_lowest_available_checkpoint_objects", "defaultValue": "" }, { - "name": "contents_bcs", - "description": "Include the `CheckpointContents` formatted as BCS in the response.\n\nDefaults to `false` if not included.", + "name": "software_version", + "description": "Software version of the `sui-node` binary.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "string", + "longType": "string", + "fullType": "string", "ismap": false, "isoneof": true, - "oneofdecl": "_contents_bcs", + "oneofdecl": "_software_version", "defaultValue": "" } ] }, { - "name": "GetCheckpointRequest", - "longName": "GetCheckpointRequest", - "fullName": "sui.node.v2.GetCheckpointRequest", - "description": "Request message for `NodeService.GetCheckpoint`.\n\nAt most, provide one of `sequence_number` or `digest`. An error is\nreturned if you attempt to provide both. If you provide neither, the service\nreturns the latest executed checkpoint.", + "name": "GetObjectRequest", + "longName": "GetObjectRequest", + "fullName": "sui.node.v2.GetObjectRequest", + "description": "Request message for `NodeService.GetObject`.", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "sequence_number", - "description": "Optional. The sequence number of the requested checkpoint.", + "name": "object_id", + "description": "Required. The `ObjectId` of the requested object.", "label": "optional", - "type": "uint64", - "longType": "uint64", - "fullType": "uint64", + "type": "ObjectId", + "longType": "sui.types.ObjectId", + "fullType": "sui.types.ObjectId", "ismap": false, "isoneof": true, - "oneofdecl": "_sequence_number", + "oneofdecl": "_object_id", "defaultValue": "" }, { - "name": "digest", - "description": "Optional. The digest of the requested checkpoint.", + "name": "version", + "description": "Optional. Request that a specific version of the requested object is\nreturned. If no version is provided, then then the latest version for\nthe object is returned.", "label": "optional", - "type": "Digest", - "longType": "sui.types.Digest", - "fullType": "sui.types.Digest", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_digest", + "oneofdecl": "_version", "defaultValue": "" }, { - "name": "options", - "description": "Optional. Options for specifying which parts of the `GetCheckpointResponse`\nshould be returned.", + "name": "read_mask", + "description": "Optional. Mask for specifying which parts of the `GetObjectResponse`\nshould be returned.", "label": "optional", - "type": "GetCheckpointOptions", - "longType": "GetCheckpointOptions", - "fullType": "sui.node.v2.GetCheckpointOptions", + "type": "FieldMask", + "longType": "google.protobuf.FieldMask", + "fullType": "google.protobuf.FieldMask", "ismap": false, "isoneof": true, - "oneofdecl": "_options", + "oneofdecl": "_read_mask", "defaultValue": "" } ] }, { - "name": "GetCheckpointResponse", - "longName": "GetCheckpointResponse", - "fullName": "sui.node.v2.GetCheckpointResponse", - "description": "Response message for `NodeService.GetCheckpoint`.", + "name": "GetObjectResponse", + "longName": "GetObjectResponse", + "fullName": "sui.node.v2.GetObjectResponse", + "description": "Response message for `NodeService.GetObject`.", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "sequence_number", - "description": "The sequence number of this checkpoint.", + "name": "object_id", + "description": "The `ObjectId` of this object.", + "label": "optional", + "type": "ObjectId", + "longType": "sui.types.ObjectId", + "fullType": "sui.types.ObjectId", + "ismap": false, + "isoneof": true, + "oneofdecl": "_object_id", + "defaultValue": "" + }, + { + "name": "version", + "description": "The version of this object.", "label": "optional", "type": "uint64", "longType": "uint64", "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_sequence_number", + "oneofdecl": "_version", "defaultValue": "" }, { "name": "digest", - "description": "The digest of this checkpoint's `CheckpointSummary`.", + "description": "The digest of this object.", "label": "optional", "type": "Digest", "longType": "sui.types.Digest", @@ -730,643 +1858,690 @@ "defaultValue": "" }, { - "name": "summary", - "description": "Optional. The `CheckpointSummary` for this checkpoint.", - "label": "optional", - "type": "CheckpointSummary", - "longType": "sui.types.CheckpointSummary", - "fullType": "sui.types.CheckpointSummary", - "ismap": false, - "isoneof": true, - "oneofdecl": "_summary", - "defaultValue": "" - }, - { - "name": "summary_bcs", - "description": "Optional. The\n[CheckpointSummary](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointSummary.html)\nfor this checkpoint encoded as BCS bytes.", - "label": "optional", - "type": "Bcs", - "longType": "sui.types.Bcs", - "fullType": "sui.types.Bcs", - "ismap": false, - "isoneof": true, - "oneofdecl": "_summary_bcs", - "defaultValue": "" - }, - { - "name": "signature", - "description": "Optional. An aggregated quorum signature from the validator committee that\ncertifies this checkpoint.", - "label": "optional", - "type": "ValidatorAggregatedSignature", - "longType": "sui.types.ValidatorAggregatedSignature", - "fullType": "sui.types.ValidatorAggregatedSignature", - "ismap": false, - "isoneof": true, - "oneofdecl": "_signature", - "defaultValue": "" - }, - { - "name": "contents", - "description": "Optional. The `CheckpointContents` for this checkpoint.", + "name": "object", + "description": "The object itself.", "label": "optional", - "type": "CheckpointContents", - "longType": "sui.types.CheckpointContents", - "fullType": "sui.types.CheckpointContents", + "type": "Object", + "longType": "sui.types.Object", + "fullType": "sui.types.Object", "ismap": false, "isoneof": true, - "oneofdecl": "_contents", + "oneofdecl": "_object", "defaultValue": "" }, { - "name": "contents_bcs", - "description": "Optional. The\n[CheckpointContents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointContents.html)\nfor this checkpoint encoded as BCS bytes.", + "name": "object_bcs", + "description": "The\n[Object](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Object.html)\nencoded as BCS bytes.", "label": "optional", "type": "Bcs", "longType": "sui.types.Bcs", "fullType": "sui.types.Bcs", "ismap": false, "isoneof": true, - "oneofdecl": "_contents_bcs", + "oneofdecl": "_object_bcs", "defaultValue": "" } ] }, { - "name": "GetCommitteeRequest", - "longName": "GetCommitteeRequest", - "fullName": "sui.node.v2.GetCommitteeRequest", - "description": "Request message for NodeService.GetCommittee.", + "name": "GetTransactionRequest", + "longName": "GetTransactionRequest", + "fullName": "sui.node.v2.GetTransactionRequest", + "description": "Request message for `NodeService.GetTransaction`.", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "epoch", - "description": "Optional. Request the sui.types.ValidatorCommittee corresponding to the\nprovided epoch. If no epoch is provided the committee for the current\nepoch will be returned.", + "name": "digest", + "description": "Required. The digest of the requested transaction.", "label": "optional", - "type": "uint64", - "longType": "uint64", - "fullType": "uint64", + "type": "Digest", + "longType": "sui.types.Digest", + "fullType": "sui.types.Digest", "ismap": false, "isoneof": true, - "oneofdecl": "_epoch", + "oneofdecl": "_digest", "defaultValue": "" - } - ] - }, - { - "name": "GetCommitteeResponse", - "longName": "GetCommitteeResponse", - "fullName": "sui.node.v2.GetCommitteeResponse", - "description": "Response message for `NodeService.GetCommittee`.", - "hasExtensions": false, - "hasFields": true, - "hasOneofs": true, - "extensions": [], - "fields": [ + }, { - "name": "committee", - "description": "The committee of either the requested epoch or the current epoch.", + "name": "read_mask", + "description": "Optional. Mask for specifying which parts of the `GetTransactionResponse`\nshould be returned.", "label": "optional", - "type": "ValidatorCommittee", - "longType": "sui.types.ValidatorCommittee", - "fullType": "sui.types.ValidatorCommittee", + "type": "FieldMask", + "longType": "google.protobuf.FieldMask", + "fullType": "google.protobuf.FieldMask", "ismap": false, "isoneof": true, - "oneofdecl": "_committee", + "oneofdecl": "_read_mask", "defaultValue": "" } ] }, { - "name": "GetFullCheckpointOptions", - "longName": "GetFullCheckpointOptions", - "fullName": "sui.node.v2.GetFullCheckpointOptions", - "description": "Options for which parts of the `GetFullCheckpointResponse` should be returned.", + "name": "GetTransactionResponse", + "longName": "GetTransactionResponse", + "fullName": "sui.node.v2.GetTransactionResponse", + "description": "Response message for `NodeService.GetTransactio`n.", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "summary", - "description": "Include the `sui.types.CheckpointSummary` in the response.\n\nDefaults to `false` if not included.", + "name": "digest", + "description": "The digest of this [Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html).", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "Digest", + "longType": "sui.types.Digest", + "fullType": "sui.types.Digest", "ismap": false, "isoneof": true, - "oneofdecl": "_summary", + "oneofdecl": "_digest", "defaultValue": "" }, { - "name": "summary_bcs", - "description": "Include the `CheckpointSummary` formatted as BCS in the response.\n\nDefaults to `false` if not included.", + "name": "transaction", + "description": "The transaction itself.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "Transaction", + "longType": "sui.types.Transaction", + "fullType": "sui.types.Transaction", "ismap": false, "isoneof": true, - "oneofdecl": "_summary_bcs", + "oneofdecl": "_transaction", "defaultValue": "" }, { - "name": "signature", - "description": "Include the `sui.types.ValidatorAggregatedSignature` in the response.\n\nDefaults to `false` if not included.", + "name": "transaction_bcs", + "description": "The\n[Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html)\nencoded as BCS bytes.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "Bcs", + "longType": "sui.types.Bcs", + "fullType": "sui.types.Bcs", "ismap": false, "isoneof": true, - "oneofdecl": "_signature", + "oneofdecl": "_transaction_bcs", "defaultValue": "" }, { - "name": "contents", - "description": "Include the `sui.types.CheckpointContents` message in the response.\n\nDefaults to `false` if not included.", - "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "name": "signatures", + "description": "List of user signatures that are used to authorize the\nexecution of this transaction.", + "label": "repeated", + "type": "UserSignature", + "longType": "sui.types.UserSignature", + "fullType": "sui.types.UserSignature", "ismap": false, - "isoneof": true, - "oneofdecl": "_contents", + "isoneof": false, + "oneofdecl": "", "defaultValue": "" }, { - "name": "contents_bcs", - "description": "Include the `CheckpointContents` formatted as BCS in the response.\n\nDefaults to `false` if not included.", - "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "name": "signatures_bytes", + "description": "List of\n[UserSignature](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.UserSignature.html)s\nencoded as bytes.", + "label": "repeated", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", "ismap": false, - "isoneof": true, - "oneofdecl": "_contents_bcs", + "isoneof": false, + "oneofdecl": "", "defaultValue": "" }, { - "name": "transaction", - "description": "Include the `sui.types.Transaction` message in the response.\n\nDefaults to `false` if not included.", + "name": "effects", + "description": "The `TransactionEffects` for this transaction.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "TransactionEffects", + "longType": "sui.types.TransactionEffects", + "fullType": "sui.types.TransactionEffects", "ismap": false, "isoneof": true, - "oneofdecl": "_transaction", + "oneofdecl": "_effects", "defaultValue": "" }, { - "name": "transaction_bcs", - "description": "Include the transaction formatted as BCS in the response.\n\nDefaults to `false` if not included.", + "name": "effects_bcs", + "description": "The\n[TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html)\nfor this transaction encoded as BCS bytes.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "Bcs", + "longType": "sui.types.Bcs", + "fullType": "sui.types.Bcs", "ismap": false, "isoneof": true, - "oneofdecl": "_transaction_bcs", + "oneofdecl": "_effects_bcs", "defaultValue": "" }, { - "name": "effects", - "description": "Include the `sui.types.TransactionEffects` message in the response.\n\nDefaults to `false` if not included.", + "name": "events", + "description": "The `TransactionEvents` for this transaction.\n\nThis field might be empty, even if it was explicitly requested, if the\ntransaction didn't produce any events.\n`sui.types.TransactionEffects.events_digest` is populated if the\ntransaction produced any events.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "TransactionEvents", + "longType": "sui.types.TransactionEvents", + "fullType": "sui.types.TransactionEvents", "ismap": false, "isoneof": true, - "oneofdecl": "_effects", + "oneofdecl": "_events", "defaultValue": "" }, { - "name": "effects_bcs", - "description": "Include the `TransactionEffects` formatted as BCS in the response.\n\nDefaults to `false` if not included.", + "name": "events_bcs", + "description": "The\n[TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html)\nfor this transaction encoded as BCS bytes.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "Bcs", + "longType": "sui.types.Bcs", + "fullType": "sui.types.Bcs", "ismap": false, "isoneof": true, - "oneofdecl": "_effects_bcs", + "oneofdecl": "_events_bcs", "defaultValue": "" }, { - "name": "events", - "description": "Include the `sui.types.TransactionEvents` message in the response.\n\nDefaults to `false` if not included.", + "name": "checkpoint", + "description": "The sequence number for the checkpoint that includes this transaction.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_events", + "oneofdecl": "_checkpoint", "defaultValue": "" }, { - "name": "events_bcs", - "description": "Include the `TransactionEvents` formatted as BCS in the response.\n\nDefaults to `false` if not included.", + "name": "timestamp", + "description": "The Unix timestamp of the checkpoint that includes this transaction.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "Timestamp", + "longType": "google.protobuf.Timestamp", + "fullType": "google.protobuf.Timestamp", "ismap": false, "isoneof": true, - "oneofdecl": "_events_bcs", + "oneofdecl": "_timestamp", "defaultValue": "" + } + ] + } + ], + "services": [ + { + "name": "NodeService", + "longName": "NodeService", + "fullName": "sui.node.v2.NodeService", + "description": "Service for reading data from a Sui Fullnode.", + "methods": [ + { + "name": "GetNodeInfo", + "description": "Query a node for information about its current state.", + "requestType": "GetNodeInfoRequest", + "requestLongType": "GetNodeInfoRequest", + "requestFullType": "sui.node.v2.GetNodeInfoRequest", + "requestStreaming": false, + "responseType": "GetNodeInfoResponse", + "responseLongType": "GetNodeInfoResponse", + "responseFullType": "sui.node.v2.GetNodeInfoResponse", + "responseStreaming": false + }, + { + "name": "GetCommittee", + "description": "Request the validator committee for a particular epoch or for the current\nepoch.", + "requestType": "GetCommitteeRequest", + "requestLongType": "GetCommitteeRequest", + "requestFullType": "sui.node.v2.GetCommitteeRequest", + "requestStreaming": false, + "responseType": "GetCommitteeResponse", + "responseLongType": "GetCommitteeResponse", + "responseFullType": "sui.node.v2.GetCommitteeResponse", + "responseStreaming": false }, { - "name": "input_objects", - "description": "Include the input objects for transactions in the response.\n\nDefaults to `false` if not included.", - "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", - "ismap": false, - "isoneof": true, - "oneofdecl": "_input_objects", - "defaultValue": "" + "name": "GetObject", + "description": "Request information for the specified object.\n\nUse this API to request an object by its `ObjectId`. The version of\nthe object returned is dependent on if you request a specific version.\nIf you do not request a specific version (GetObjectRequest.version is `None`),\nthen the most recent version (if the\nobject is live) is returned. If you do request a version, that version is\nreturned if it historically existed, is available, and has not been pruned.\n\nDue to storage limitations, implementers of this service might prune older\nhistorical data, which can limit the data availability of this API. To\ndetermine the data availability range for historical objects,\nclients can look at `GetNodeInfoResponse.lowest_available_checkpoint_objects`\nto see the lowest checkpoint for which historical object data is available.", + "requestType": "GetObjectRequest", + "requestLongType": "GetObjectRequest", + "requestFullType": "sui.node.v2.GetObjectRequest", + "requestStreaming": false, + "responseType": "GetObjectResponse", + "responseLongType": "GetObjectResponse", + "responseFullType": "sui.node.v2.GetObjectResponse", + "responseStreaming": false }, { - "name": "output_objects", - "description": "Include the output objects for transactions in the response.\n\nDefaults to `false` if not included.", - "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", - "ismap": false, - "isoneof": true, - "oneofdecl": "_output_objects", - "defaultValue": "" + "name": "GetTransaction", + "description": "Request information for the specified transaction.\n\nUse this API to request information about a transaction by its digest.\n\nDue to storage limitations, implementers of this service might prune older\nhistorical data, which can limit the data availability of this API. To\ndetermine the data availability range for historical\ntransactions, clients can look at\n`GetNodeInfoResponse.lowest_available_checkpoint` to see the lowest\ncheckpoint for which historical transaction data is available.", + "requestType": "GetTransactionRequest", + "requestLongType": "GetTransactionRequest", + "requestFullType": "sui.node.v2.GetTransactionRequest", + "requestStreaming": false, + "responseType": "GetTransactionResponse", + "responseLongType": "GetTransactionResponse", + "responseFullType": "sui.node.v2.GetTransactionResponse", + "responseStreaming": false }, { - "name": "object", - "description": "Include the `sui.types.Object` message in the response.\n\nDefaults to `false` if not included.", - "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", - "ismap": false, - "isoneof": true, - "oneofdecl": "_object", - "defaultValue": "" + "name": "GetCheckpoint", + "description": "Request information for the specified checkpoint.\n\nUse this API to request information about a checkpoint either by\nits digest or its sequence number (height).\n\nDue to storage limitations, implementers of this service might prune older\nhistorical data, which can limit the data availability of this API. To\ndetermine the data availability range for historical\ncheckpoints, clients can look at\n`GetNodeInfoResponse.lowest_available_checkpoint` to see the lowest\ncheckpoint for which historical checkpoint data is available.", + "requestType": "GetCheckpointRequest", + "requestLongType": "GetCheckpointRequest", + "requestFullType": "sui.node.v2.GetCheckpointRequest", + "requestStreaming": false, + "responseType": "GetCheckpointResponse", + "responseLongType": "GetCheckpointResponse", + "responseFullType": "sui.node.v2.GetCheckpointResponse", + "responseStreaming": false }, { - "name": "object_bcs", - "description": "Include the object formatted as BCS in the response.\n\nDefaults to `false` if not included.", - "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", - "ismap": false, - "isoneof": true, - "oneofdecl": "_object_bcs", - "defaultValue": "" + "name": "GetFullCheckpoint", + "description": "Request information for the entirety of the specified checkpoint.\n\nUse this API to request information about a checkpoint either by\nits digest or its sequence number (height). In particular, you can use\nthis API to request information about all the transactions included in a\ncheckpoint, as well as their input and output objects.\n\nDue to storage limitations, implementers of this service might prune older\nhistorical data, which can limit the data availability of this API. To\ndetermine the data availability range for historical checkpoints,\nclients can look at `GetNodeInfoResponse.lowest_available_checkpoint`\nto see the lowest checkpoint for which historical\ncheckpoint/transaction data is available and\n`GetNodeInfoResponse.lowest_available_checkpoint_objects` for which\nhistorical object data is available.", + "requestType": "GetFullCheckpointRequest", + "requestLongType": "GetFullCheckpointRequest", + "requestFullType": "sui.node.v2.GetFullCheckpointRequest", + "requestStreaming": false, + "responseType": "GetFullCheckpointResponse", + "responseLongType": "GetFullCheckpointResponse", + "responseFullType": "sui.node.v2.GetFullCheckpointResponse", + "responseStreaming": false + }, + { + "name": "ExecuteTransaction", + "description": "Request that the provided transaction be relayed to the validator set for\nexecution and inclusion in the blockchain.", + "requestType": "ExecuteTransactionRequest", + "requestLongType": "ExecuteTransactionRequest", + "requestFullType": "sui.node.v2.ExecuteTransactionRequest", + "requestStreaming": false, + "responseType": "ExecuteTransactionResponse", + "responseLongType": "ExecuteTransactionResponse", + "responseFullType": "sui.node.v2.ExecuteTransactionResponse", + "responseStreaming": false } ] - }, + } + ] + }, + { + "name": "sui/node/v2alpha/node_service.proto", + "description": "The sui.node.v2alpha package contains experimental services that have yet to\nstabilize\n\nEverything in here is subject to change and there is no gaurentee about\nstability or breaking changes.", + "package": "sui.node.v2alpha", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": true, + "enums": [], + "extensions": [], + "messages": [ { - "name": "GetFullCheckpointRequest", - "longName": "GetFullCheckpointRequest", - "fullName": "sui.node.v2.GetFullCheckpointRequest", - "description": "Request message for `NodeService.GetFullCheckpoint`.\n\nAt most, provide one of `sequence_number` or `digest`. An error is\nreturned if you provide both. If you provide neither, the service\nreturns the latest executed checkpoint.", + "name": "AccountObject", + "longName": "AccountObject", + "fullName": "sui.node.v2alpha.AccountObject", + "description": "", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "sequence_number", - "description": "Optional. The sequence number of the requested checkpoint.", + "name": "owner", + "description": "", "label": "optional", - "type": "uint64", - "longType": "uint64", - "fullType": "uint64", + "type": "Address", + "longType": "sui.types.Address", + "fullType": "sui.types.Address", "ismap": false, "isoneof": true, - "oneofdecl": "_sequence_number", + "oneofdecl": "_owner", "defaultValue": "" }, { - "name": "digest", - "description": "Optional. The digest of the requested checkpoint.", + "name": "object_id", + "description": "", "label": "optional", - "type": "Digest", - "longType": "sui.types.Digest", - "fullType": "sui.types.Digest", + "type": "ObjectId", + "longType": "sui.types.ObjectId", + "fullType": "sui.types.ObjectId", "ismap": false, "isoneof": true, - "oneofdecl": "_digest", + "oneofdecl": "_object_id", + "defaultValue": "" + }, + { + "name": "version", + "description": "", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_version", "defaultValue": "" }, { - "name": "options", - "description": "Optional. Options for specifying which parts of the\n`GetFullCheckpointResponse` should be returned.", + "name": "object_type", + "description": "", "label": "optional", - "type": "GetFullCheckpointOptions", - "longType": "GetFullCheckpointOptions", - "fullType": "sui.node.v2.GetFullCheckpointOptions", + "type": "StructTag", + "longType": "sui.types.StructTag", + "fullType": "sui.types.StructTag", "ismap": false, "isoneof": true, - "oneofdecl": "_options", + "oneofdecl": "_object_type", "defaultValue": "" } ] }, { - "name": "GetFullCheckpointResponse", - "longName": "GetFullCheckpointResponse", - "fullName": "sui.node.v2.GetFullCheckpointResponse", - "description": "Response message for `NodeService.GetFullCheckpoint`.", + "name": "CoinMetadata", + "longName": "CoinMetadata", + "fullName": "sui.node.v2alpha.CoinMetadata", + "description": "Metadata for a coin type", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "sequence_number", - "description": "The sequence number of this checkpoint.", - "label": "optional", - "type": "uint64", - "longType": "uint64", - "fullType": "uint64", - "ismap": false, - "isoneof": true, - "oneofdecl": "_sequence_number", - "defaultValue": "" - }, - { - "name": "digest", - "description": "The digest of this checkpoint's `CheckpointSummary`.", + "name": "id", + "description": "ObjectId of the `0x2::coin::CoinMetadata` object.", "label": "optional", - "type": "Digest", - "longType": "sui.types.Digest", - "fullType": "sui.types.Digest", + "type": "ObjectId", + "longType": "sui.types.ObjectId", + "fullType": "sui.types.ObjectId", "ismap": false, "isoneof": true, - "oneofdecl": "_digest", + "oneofdecl": "_id", "defaultValue": "" }, { - "name": "summary", - "description": "Optional. The `CheckpointSummary` for this checkpoint.", + "name": "decimals", + "description": "Number of decimal places to coin uses.", "label": "optional", - "type": "CheckpointSummary", - "longType": "sui.types.CheckpointSummary", - "fullType": "sui.types.CheckpointSummary", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", "ismap": false, "isoneof": true, - "oneofdecl": "_summary", + "oneofdecl": "_decimals", "defaultValue": "" }, { - "name": "summary_bcs", - "description": "Optional. The\n[CheckpointSummary](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointSummary.html)\nfor this checkpoint encoded as BCS bytes.", + "name": "name", + "description": "Name for the token", "label": "optional", - "type": "Bcs", - "longType": "sui.types.Bcs", - "fullType": "sui.types.Bcs", + "type": "string", + "longType": "string", + "fullType": "string", "ismap": false, "isoneof": true, - "oneofdecl": "_summary_bcs", + "oneofdecl": "_name", "defaultValue": "" }, { - "name": "signature", - "description": "Optional. An aggregated quorum signature from the validator committee that\ncertifies this checkpoint.", + "name": "symbol", + "description": "Symbol for the token", "label": "optional", - "type": "ValidatorAggregatedSignature", - "longType": "sui.types.ValidatorAggregatedSignature", - "fullType": "sui.types.ValidatorAggregatedSignature", + "type": "string", + "longType": "string", + "fullType": "string", "ismap": false, "isoneof": true, - "oneofdecl": "_signature", + "oneofdecl": "_symbol", "defaultValue": "" }, { - "name": "contents", - "description": "Optional. The `CheckpointContents` for this checkpoint.", + "name": "description", + "description": "Description of the token", "label": "optional", - "type": "CheckpointContents", - "longType": "sui.types.CheckpointContents", - "fullType": "sui.types.CheckpointContents", + "type": "string", + "longType": "string", + "fullType": "string", "ismap": false, "isoneof": true, - "oneofdecl": "_contents", + "oneofdecl": "_description", "defaultValue": "" }, { - "name": "contents_bcs", - "description": "Optional. The\n[CheckpointContents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointContents.html)\nfor this checkpoint encoded as BCS bytes.", + "name": "icon_url", + "description": "URL for the token logo", "label": "optional", - "type": "Bcs", - "longType": "sui.types.Bcs", - "fullType": "sui.types.Bcs", + "type": "string", + "longType": "string", + "fullType": "string", "ismap": false, "isoneof": true, - "oneofdecl": "_contents_bcs", - "defaultValue": "" - }, - { - "name": "transactions", - "description": "List of transactions included in this checkpoint.", - "label": "repeated", - "type": "FullCheckpointTransaction", - "longType": "FullCheckpointTransaction", - "fullType": "sui.node.v2.FullCheckpointTransaction", - "ismap": false, - "isoneof": false, - "oneofdecl": "", + "oneofdecl": "_icon_url", "defaultValue": "" } ] }, { - "name": "GetNodeInfoRequest", - "longName": "GetNodeInfoRequest", - "fullName": "sui.node.v2.GetNodeInfoRequest", - "description": "Request message for `NodeService.GetNodeInfo`.", - "hasExtensions": false, - "hasFields": false, - "hasOneofs": false, - "extensions": [], - "fields": [] - }, - { - "name": "GetNodeInfoResponse", - "longName": "GetNodeInfoResponse", - "fullName": "sui.node.v2.GetNodeInfoResponse", - "description": "Response message for `NodeService.GetNodeInfo`.", + "name": "CoinTreasury", + "longName": "CoinTreasury", + "fullName": "sui.node.v2alpha.CoinTreasury", + "description": "Information about a coin type's `0x2::coin::TreasuryCap` and its total available supply", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "chain_id", - "description": "The chain identifier of the chain that this node is on.\n\nThe chain identifier is the digest of the genesis checkpoint, the\ncheckpoint with sequence number 0.", - "label": "optional", - "type": "Digest", - "longType": "sui.types.Digest", - "fullType": "sui.types.Digest", - "ismap": false, - "isoneof": true, - "oneofdecl": "_chain_id", - "defaultValue": "" - }, - { - "name": "chain", - "description": "Human-readable name of the chain that this node is on.\n\nThis is intended to be a human-readable name like `mainnet`, `testnet`, and so on.", + "name": "id", + "description": "ObjectId of the `0x2::coin::TreasuryCap` object.", "label": "optional", - "type": "string", - "longType": "string", - "fullType": "string", + "type": "ObjectId", + "longType": "sui.types.ObjectId", + "fullType": "sui.types.ObjectId", "ismap": false, "isoneof": true, - "oneofdecl": "_chain", + "oneofdecl": "_id", "defaultValue": "" }, { - "name": "epoch", - "description": "Current epoch of the node based on its highest executed checkpoint.", + "name": "total_supply", + "description": "Total available supply for this coin type.", "label": "optional", "type": "uint64", "longType": "uint64", "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_epoch", + "oneofdecl": "_total_supply", "defaultValue": "" - }, + } + ] + }, + { + "name": "DynamicField", + "longName": "DynamicField", + "fullName": "sui.node.v2alpha.DynamicField", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ { - "name": "checkpoint_height", - "description": "Checkpoint height of the most recently executed checkpoint.", + "name": "parent", + "description": "Required. ObjectId of this dynamic field's parent.", "label": "optional", - "type": "uint64", - "longType": "uint64", - "fullType": "uint64", + "type": "ObjectId", + "longType": "sui.types.ObjectId", + "fullType": "sui.types.ObjectId", "ismap": false, "isoneof": true, - "oneofdecl": "_checkpoint_height", + "oneofdecl": "_parent", "defaultValue": "" }, { - "name": "timestamp", - "description": "Unix timestamp of the most recently executed checkpoint.", + "name": "field_id", + "description": "Required. ObjectId of this dynamic field.", "label": "optional", - "type": "Timestamp", - "longType": "google.protobuf.Timestamp", - "fullType": "google.protobuf.Timestamp", + "type": "ObjectId", + "longType": "sui.types.ObjectId", + "fullType": "sui.types.ObjectId", "ismap": false, "isoneof": true, - "oneofdecl": "_timestamp", + "oneofdecl": "_field_id", "defaultValue": "" }, { - "name": "lowest_available_checkpoint", - "description": "The lowest checkpoint for which checkpoints and transaction data are available.", + "name": "name_type", + "description": "Required. The type of the dynamic field \"name\"", "label": "optional", - "type": "uint64", - "longType": "uint64", - "fullType": "uint64", + "type": "TypeTag", + "longType": "sui.types.TypeTag", + "fullType": "sui.types.TypeTag", "ismap": false, "isoneof": true, - "oneofdecl": "_lowest_available_checkpoint", + "oneofdecl": "_name_type", "defaultValue": "" }, { - "name": "lowest_available_checkpoint_objects", - "description": "The lowest checkpoint for which object data is available.", + "name": "name_value", + "description": "Required. The serialized move value of \"name\"", "label": "optional", - "type": "uint64", - "longType": "uint64", - "fullType": "uint64", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", "ismap": false, "isoneof": true, - "oneofdecl": "_lowest_available_checkpoint_objects", + "oneofdecl": "_name_value", "defaultValue": "" }, { - "name": "software_version", - "description": "Software version of the `sui-node` binary.", + "name": "dynamic_object_id", + "description": "The ObjectId of the child object when a child is a dynamic\nobject field.\n\nThe presence or absence of this field can be used to determine if a child\nis a dynamic field or a dynamic child object", "label": "optional", - "type": "string", - "longType": "string", - "fullType": "string", + "type": "ObjectId", + "longType": "sui.types.ObjectId", + "fullType": "sui.types.ObjectId", "ismap": false, "isoneof": true, - "oneofdecl": "_software_version", + "oneofdecl": "_dynamic_object_id", "defaultValue": "" } ] }, { - "name": "GetObjectOptions", - "longName": "GetObjectOptions", - "fullName": "sui.node.v2.GetObjectOptions", - "description": "", + "name": "GetCoinInfoRequest", + "longName": "GetCoinInfoRequest", + "fullName": "sui.node.v2alpha.GetCoinInfoRequest", + "description": "Request message for `NodeService.GetCoinInfo`.", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "object", - "description": "Include the `sui.types.Object` message in the response.\n\nDefaults to `false` if not included.", + "name": "coin_type", + "description": "The coin type to request information about", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "TypeTag", + "longType": "sui.types.TypeTag", + "fullType": "sui.types.TypeTag", "ismap": false, "isoneof": true, - "oneofdecl": "_object", + "oneofdecl": "_coin_type", + "defaultValue": "" + } + ] + }, + { + "name": "GetCoinInfoResponse", + "longName": "GetCoinInfoResponse", + "fullName": "sui.node.v2alpha.GetCoinInfoResponse", + "description": "Response message for `NodeService.GetCoinInfo`.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "coin_type", + "description": "Required. The coin type.", + "label": "optional", + "type": "TypeTag", + "longType": "sui.types.TypeTag", + "fullType": "sui.types.TypeTag", + "ismap": false, + "isoneof": true, + "oneofdecl": "_coin_type", "defaultValue": "" }, { - "name": "object_bcs", - "description": "Include the object formatted as BCS in the response.\n\nDefaults to `false` if not included.", + "name": "metadata", + "description": "This field will be populated with information about this coin\ntype's `0x2::coin::CoinMetadata` if it exists and has not been wrapped.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "CoinMetadata", + "longType": "CoinMetadata", + "fullType": "sui.node.v2alpha.CoinMetadata", "ismap": false, "isoneof": true, - "oneofdecl": "_object_bcs", + "oneofdecl": "_metadata", + "defaultValue": "" + }, + { + "name": "treasury", + "description": "This field will be populated with information about this coin\ntype's `0x2::coin::TreasuryCap` if it exists and has not been wrapped.", + "label": "optional", + "type": "CoinTreasury", + "longType": "CoinTreasury", + "fullType": "sui.node.v2alpha.CoinTreasury", + "ismap": false, + "isoneof": true, + "oneofdecl": "_treasury", "defaultValue": "" } ] }, { - "name": "GetObjectRequest", - "longName": "GetObjectRequest", - "fullName": "sui.node.v2.GetObjectRequest", - "description": "Request message for `NodeService.GetObject`.", + "name": "GetGasInfoRequest", + "longName": "GetGasInfoRequest", + "fullName": "sui.node.v2alpha.GetGasInfoRequest", + "description": "", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "GetGasInfoResponse", + "longName": "GetGasInfoResponse", + "fullName": "sui.node.v2alpha.GetGasInfoResponse", + "description": "", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "object_id", - "description": "Required. The `ObjectId` of the requested object.", + "name": "reference_gas_price", + "description": "Reference gas price denominated in MIST", "label": "optional", - "type": "ObjectId", - "longType": "sui.types.ObjectId", - "fullType": "sui.types.ObjectId", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_object_id", + "oneofdecl": "_reference_gas_price", "defaultValue": "" - }, + } + ] + }, + { + "name": "GetProtocolConfigRequest", + "longName": "GetProtocolConfigRequest", + "fullName": "sui.node.v2alpha.GetProtocolConfigRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ { "name": "version", - "description": "Optional. Request that a specific version of the requested object is\nreturned. If no version is provided, then then the latest version for\nthe object is returned.", + "description": "", "label": "optional", "type": "uint64", "longType": "uint64", @@ -1375,422 +2550,518 @@ "isoneof": true, "oneofdecl": "_version", "defaultValue": "" - }, - { - "name": "options", - "description": "Optional. Options for specifying which parts of the `GetObjectResponse` should be returned.", - "label": "optional", - "type": "GetObjectOptions", - "longType": "GetObjectOptions", - "fullType": "sui.node.v2.GetObjectOptions", - "ismap": false, - "isoneof": true, - "oneofdecl": "_options", - "defaultValue": "" } ] }, { - "name": "GetObjectResponse", - "longName": "GetObjectResponse", - "fullName": "sui.node.v2.GetObjectResponse", - "description": "Response message for `NodeService.GetObject`.", + "name": "GetProtocolConfigResponse", + "longName": "GetProtocolConfigResponse", + "fullName": "sui.node.v2alpha.GetProtocolConfigResponse", + "description": "", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "object_id", - "description": "The `ObjectId` of this object.", + "name": "protocol_version", + "description": "", "label": "optional", - "type": "ObjectId", - "longType": "sui.types.ObjectId", - "fullType": "sui.types.ObjectId", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_object_id", + "oneofdecl": "_protocol_version", "defaultValue": "" }, { - "name": "version", - "description": "The version of this object.", + "name": "feature_flags", + "description": "", + "label": "repeated", + "type": "FeatureFlagsEntry", + "longType": "GetProtocolConfigResponse.FeatureFlagsEntry", + "fullType": "sui.node.v2alpha.GetProtocolConfigResponse.FeatureFlagsEntry", + "ismap": true, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "attributes", + "description": "", + "label": "repeated", + "type": "AttributesEntry", + "longType": "GetProtocolConfigResponse.AttributesEntry", + "fullType": "sui.node.v2alpha.GetProtocolConfigResponse.AttributesEntry", + "ismap": true, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "max_suppported_protocol_version", + "description": "", "label": "optional", "type": "uint64", "longType": "uint64", "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_version", + "oneofdecl": "_max_suppported_protocol_version", "defaultValue": "" }, { - "name": "digest", - "description": "The digest of this object.", + "name": "min_suppported_protocol_version", + "description": "", "label": "optional", - "type": "Digest", - "longType": "sui.types.Digest", - "fullType": "sui.types.Digest", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", "ismap": false, "isoneof": true, - "oneofdecl": "_digest", + "oneofdecl": "_min_suppported_protocol_version", + "defaultValue": "" + } + ] + }, + { + "name": "AttributesEntry", + "longName": "GetProtocolConfigResponse.AttributesEntry", + "fullName": "sui.node.v2alpha.GetProtocolConfigResponse.AttributesEntry", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", "defaultValue": "" }, { - "name": "object", - "description": "Optional. The object itself.", - "label": "optional", - "type": "Object", - "longType": "sui.types.Object", - "fullType": "sui.types.Object", + "name": "value", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", "ismap": false, - "isoneof": true, - "oneofdecl": "_object", + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "FeatureFlagsEntry", + "longName": "GetProtocolConfigResponse.FeatureFlagsEntry", + "fullName": "sui.node.v2alpha.GetProtocolConfigResponse.FeatureFlagsEntry", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", "defaultValue": "" }, { - "name": "object_bcs", - "description": "Optional. The\n[Object](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Object.html)\nencoded as BCS bytes.", - "label": "optional", - "type": "Bcs", - "longType": "sui.types.Bcs", - "fullType": "sui.types.Bcs", + "name": "value", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", "ismap": false, - "isoneof": true, - "oneofdecl": "_object_bcs", + "isoneof": false, + "oneofdecl": "", "defaultValue": "" } ] }, { - "name": "GetTransactionOptions", - "longName": "GetTransactionOptions", - "fullName": "sui.node.v2.GetTransactionOptions", - "description": "Options for which parts of the `GetTransactionResponse` should be returned.", + "name": "ListAccountObjectsRequest", + "longName": "ListAccountObjectsRequest", + "fullName": "sui.node.v2alpha.ListAccountObjectsRequest", + "description": "Request message for `NodeService.ListAccountObjects`", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "transaction", - "description": "Include the `sui.types.Transaction` message in the response.\n\nDefaults to `false` if not included.", + "name": "owner", + "description": "Required. The address of the account that owns the objects.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "Address", + "longType": "sui.types.Address", + "fullType": "sui.types.Address", "ismap": false, "isoneof": true, - "oneofdecl": "_transaction", + "oneofdecl": "_owner", "defaultValue": "" }, { - "name": "transaction_bcs", - "description": "Include the transaction formatted as BCS in the response.\n\nDefaults to `false` if not included.", + "name": "page_size", + "description": "The maximum number of entries return. The service may return fewer than this value.\nIf unspecified, at most `50` entries will be returned.\nThe maximum value is `1000`; values above `1000` will be coerced to `1000`.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", "ismap": false, "isoneof": true, - "oneofdecl": "_transaction_bcs", + "oneofdecl": "_page_size", "defaultValue": "" }, { - "name": "signatures", - "description": "Include the set of `sui.types.UserSignature`s in the response.\n\nDefaults to `false` if not included.", + "name": "page_token", + "description": "A page token, received from a previous `ListAccountObjects` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListAccountObjects` must\nmatch the call that provided the page token.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "string", + "longType": "string", + "fullType": "string", "ismap": false, "isoneof": true, - "oneofdecl": "_signatures", + "oneofdecl": "_page_token", "defaultValue": "" - }, + } + ] + }, + { + "name": "ListAccountObjectsResponse", + "longName": "ListAccountObjectsResponse", + "fullName": "sui.node.v2alpha.ListAccountObjectsResponse", + "description": "Response message for `NodeService.ListAccountObjects`", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ { - "name": "signatures_bytes", - "description": "Include the set of `UserSignature`s encoded as bytes in the response.\n\nDefaults to `false` if not included.", - "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "name": "objects", + "description": "Page of dynamic fields owned by the specified parent.", + "label": "repeated", + "type": "AccountObject", + "longType": "AccountObject", + "fullType": "sui.node.v2alpha.AccountObject", "ismap": false, - "isoneof": true, - "oneofdecl": "_signatures_bytes", + "isoneof": false, + "oneofdecl": "", "defaultValue": "" }, { - "name": "effects", - "description": "Include the `sui.types.TransactionEffects` message in the response.\n\nDefaults to `false` if not included.", + "name": "next_page_token", + "description": "A token, which can be sent as `page_token` to retrieve the next page.\nIf this field is omitted, there are no subsequent pages.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "string", + "longType": "string", + "fullType": "string", "ismap": false, "isoneof": true, - "oneofdecl": "_effects", + "oneofdecl": "_next_page_token", "defaultValue": "" - }, + } + ] + }, + { + "name": "ListDynamicFieldsRequest", + "longName": "ListDynamicFieldsRequest", + "fullName": "sui.node.v2alpha.ListDynamicFieldsRequest", + "description": "Request message for `NodeService.ListDynamicFields`", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ { - "name": "effects_bcs", - "description": "Include the `TransactionEffects` formatted as BCS in the response.\n\nDefaults to `false` if not included.", + "name": "parent", + "description": "Required. The `UID` of the parent, which owns the collections of dynamic fields.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "ObjectId", + "longType": "sui.types.ObjectId", + "fullType": "sui.types.ObjectId", "ismap": false, "isoneof": true, - "oneofdecl": "_effects_bcs", + "oneofdecl": "_parent", "defaultValue": "" }, { - "name": "events", - "description": "Include the `sui.types.TransactionEvents` message in the response.\n\nDefaults to `false` if not included.", + "name": "page_size", + "description": "The maximum number of dynamic fields to return. The service may return fewer than this value.\nIf unspecified, at most `50` entries will be returned.\nThe maximum value is `1000`; values above `1000` will be coerced to `1000`.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", "ismap": false, "isoneof": true, - "oneofdecl": "_events", + "oneofdecl": "_page_size", "defaultValue": "" }, { - "name": "events_bcs", - "description": "Include the `TransactionEvents` formatted as BCS in the response.\n\nDefaults to `false` if not included.", + "name": "page_token", + "description": "A page token, received from a previous `ListDynamicFields` call.\nProvide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to `ListDynamicFields` must\nmatch the call that provided the page token.", "label": "optional", - "type": "bool", - "longType": "bool", - "fullType": "bool", + "type": "string", + "longType": "string", + "fullType": "string", "ismap": false, "isoneof": true, - "oneofdecl": "_events_bcs", + "oneofdecl": "_page_token", "defaultValue": "" } ] }, { - "name": "GetTransactionRequest", - "longName": "GetTransactionRequest", - "fullName": "sui.node.v2.GetTransactionRequest", - "description": "Request message for `NodeService.GetTransaction`.", + "name": "ListDynamicFieldsResponse", + "longName": "ListDynamicFieldsResponse", + "fullName": "sui.node.v2alpha.ListDynamicFieldsResponse", + "description": "Response message for `NodeService.ListDynamicFields`", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "digest", - "description": "Required. The digest of the requested transaction.", - "label": "optional", - "type": "Digest", - "longType": "sui.types.Digest", - "fullType": "sui.types.Digest", + "name": "dynamic_fields", + "description": "Page of dynamic fields owned by the specified parent.", + "label": "repeated", + "type": "DynamicField", + "longType": "DynamicField", + "fullType": "sui.node.v2alpha.DynamicField", "ismap": false, - "isoneof": true, - "oneofdecl": "_digest", + "isoneof": false, + "oneofdecl": "", "defaultValue": "" }, { - "name": "options", - "description": "Optional. Options for specifying which parts of the `GetTransactionResponse`\nshould be returned.", + "name": "next_page_token", + "description": "A token, which can be sent as `page_token` to retrieve the next page.\nIf this field is omitted, there are no subsequent pages.", "label": "optional", - "type": "GetTransactionOptions", - "longType": "GetTransactionOptions", - "fullType": "sui.node.v2.GetTransactionOptions", + "type": "string", + "longType": "string", + "fullType": "string", "ismap": false, "isoneof": true, - "oneofdecl": "_options", + "oneofdecl": "_next_page_token", "defaultValue": "" } ] }, { - "name": "GetTransactionResponse", - "longName": "GetTransactionResponse", - "fullName": "sui.node.v2.GetTransactionResponse", - "description": "Response message for `NodeService.GetTransactio`n.", + "name": "RegulatedCoinMetadata", + "longName": "RegulatedCoinMetadata", + "fullName": "sui.node.v2alpha.RegulatedCoinMetadata", + "description": "Information about a regulated coin, which indicates that it makes use of the transfer deny list.", "hasExtensions": false, "hasFields": true, "hasOneofs": true, "extensions": [], "fields": [ { - "name": "digest", - "description": "The digest of this [Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html).", - "label": "optional", - "type": "Digest", - "longType": "sui.types.Digest", - "fullType": "sui.types.Digest", - "ismap": false, - "isoneof": true, - "oneofdecl": "_digest", - "defaultValue": "" - }, - { - "name": "transaction", - "description": "Optional. The transaction itself.", + "name": "id", + "description": "ObjectId of the `0x2::coin::RegulatedCoinMetadata` object.", "label": "optional", - "type": "Transaction", - "longType": "sui.types.Transaction", - "fullType": "sui.types.Transaction", + "type": "ObjectId", + "longType": "sui.types.ObjectId", + "fullType": "sui.types.ObjectId", "ismap": false, "isoneof": true, - "oneofdecl": "_transaction", + "oneofdecl": "_id", "defaultValue": "" }, { - "name": "transaction_bcs", - "description": "Optional. The\n[Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html)\nencoded as BCS bytes.", + "name": "coin_metadata_object", + "description": "The ID of the coin's `CoinMetadata` object.", "label": "optional", - "type": "Bcs", - "longType": "sui.types.Bcs", - "fullType": "sui.types.Bcs", + "type": "ObjectId", + "longType": "sui.types.ObjectId", + "fullType": "sui.types.ObjectId", "ismap": false, "isoneof": true, - "oneofdecl": "_transaction_bcs", + "oneofdecl": "_coin_metadata_object", "defaultValue": "" }, { - "name": "signatures", - "description": "Optional. List of user signatures that are used to authorize the\nexecution of this transaction.", + "name": "deny_cap_object", + "description": "The ID of the coin's `DenyCap` object.", "label": "optional", - "type": "UserSignatures", - "longType": "UserSignatures", - "fullType": "sui.node.v2.UserSignatures", + "type": "ObjectId", + "longType": "sui.types.ObjectId", + "fullType": "sui.types.ObjectId", "ismap": false, "isoneof": true, - "oneofdecl": "_signatures", + "oneofdecl": "_deny_cap_object", "defaultValue": "" - }, + } + ] + }, + { + "name": "ResolveTransactionRequest", + "longName": "ResolveTransactionRequest", + "fullName": "sui.node.v2alpha.ResolveTransactionRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ { - "name": "signatures_bytes", - "description": "Optional. List of\n[UserSignature](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.UserSignature.html)s\nencoded as bytes.", + "name": "unresolved_transaction", + "description": "TODO FIX TYPE\nJson unresolved transaction type", "label": "optional", - "type": "UserSignaturesBytes", - "longType": "UserSignaturesBytes", - "fullType": "sui.node.v2.UserSignaturesBytes", + "type": "string", + "longType": "string", + "fullType": "string", "ismap": false, "isoneof": true, - "oneofdecl": "_signatures_bytes", + "oneofdecl": "_unresolved_transaction", "defaultValue": "" }, { - "name": "effects", - "description": "Optional. The `TransactionEffects` for this transaction.", + "name": "read_mask", + "description": "", "label": "optional", - "type": "TransactionEffects", - "longType": "sui.types.TransactionEffects", - "fullType": "sui.types.TransactionEffects", + "type": "FieldMask", + "longType": "google.protobuf.FieldMask", + "fullType": "google.protobuf.FieldMask", "ismap": false, "isoneof": true, - "oneofdecl": "_effects", + "oneofdecl": "_read_mask", "defaultValue": "" - }, + } + ] + }, + { + "name": "ResolveTransactionResponse", + "longName": "ResolveTransactionResponse", + "fullName": "sui.node.v2alpha.ResolveTransactionResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ { - "name": "effects_bcs", - "description": "Optional. The\n[TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html)\nfor this transaction encoded as BCS bytes.", + "name": "transaction_bcs", + "description": "", "label": "optional", "type": "Bcs", "longType": "sui.types.Bcs", "fullType": "sui.types.Bcs", "ismap": false, "isoneof": true, - "oneofdecl": "_effects_bcs", + "oneofdecl": "_transaction_bcs", "defaultValue": "" }, { - "name": "events", - "description": "Optional. The `TransactionEvents` for this transaction.\n\nThis field might be empty, even if it was explicitly requested, if the\ntransaction didn't produce any events.\n`sui.types.TransactionEffects.events_digest` is populated if the\ntransaction produced any events.", + "name": "simulation", + "description": "", "label": "optional", - "type": "TransactionEvents", - "longType": "sui.types.TransactionEvents", - "fullType": "sui.types.TransactionEvents", + "type": "SimulateTransactionResponse", + "longType": "SimulateTransactionResponse", + "fullType": "sui.node.v2alpha.SimulateTransactionResponse", "ismap": false, "isoneof": true, - "oneofdecl": "_events", + "oneofdecl": "_simulation", "defaultValue": "" - }, + } + ] + }, + { + "name": "SimulateTransactionRequest", + "longName": "SimulateTransactionRequest", + "fullName": "sui.node.v2alpha.SimulateTransactionRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ { - "name": "events_bcs", - "description": "Optional. The\n[TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html)\nfor this transaction encoded as BCS bytes.", + "name": "transaction_bcs", + "description": "", "label": "optional", "type": "Bcs", "longType": "sui.types.Bcs", "fullType": "sui.types.Bcs", "ismap": false, "isoneof": true, - "oneofdecl": "_events_bcs", - "defaultValue": "" - }, - { - "name": "checkpoint", - "description": "The sequence number for the checkpoint that includes this transaction.", - "label": "optional", - "type": "uint64", - "longType": "uint64", - "fullType": "uint64", - "ismap": false, - "isoneof": true, - "oneofdecl": "_checkpoint", + "oneofdecl": "_transaction_bcs", "defaultValue": "" }, { - "name": "timestamp", - "description": "The Unix timestamp of the checkpoint that includes this transaction.", + "name": "read_mask", + "description": "", "label": "optional", - "type": "Timestamp", - "longType": "google.protobuf.Timestamp", - "fullType": "google.protobuf.Timestamp", + "type": "FieldMask", + "longType": "google.protobuf.FieldMask", + "fullType": "google.protobuf.FieldMask", "ismap": false, "isoneof": true, - "oneofdecl": "_timestamp", + "oneofdecl": "_read_mask", "defaultValue": "" } ] }, { - "name": "UserSignatures", - "longName": "UserSignatures", - "fullName": "sui.node.v2.UserSignatures", - "description": "List of `UserSignature`s used to authorize a transaction.", + "name": "SimulateTransactionResponse", + "longName": "SimulateTransactionResponse", + "fullName": "sui.node.v2alpha.SimulateTransactionResponse", + "description": "", "hasExtensions": false, "hasFields": true, - "hasOneofs": false, + "hasOneofs": true, "extensions": [], "fields": [ { - "name": "signatures", + "name": "effects_bcs", "description": "", - "label": "repeated", - "type": "UserSignature", - "longType": "sui.types.UserSignature", - "fullType": "sui.types.UserSignature", + "label": "optional", + "type": "Bcs", + "longType": "sui.types.Bcs", + "fullType": "sui.types.Bcs", "ismap": false, - "isoneof": false, - "oneofdecl": "", + "isoneof": true, + "oneofdecl": "_effects_bcs", + "defaultValue": "" + }, + { + "name": "events_bcs", + "description": "", + "label": "optional", + "type": "Bcs", + "longType": "sui.types.Bcs", + "fullType": "sui.types.Bcs", + "ismap": false, + "isoneof": true, + "oneofdecl": "_events_bcs", "defaultValue": "" - } - ] - }, - { - "name": "UserSignaturesBytes", - "longName": "UserSignaturesBytes", - "fullName": "sui.node.v2.UserSignaturesBytes", - "description": "List of `UserSignature`s used to authorize a transaction encoded as bytes.", - "hasExtensions": false, - "hasFields": true, - "hasOneofs": false, - "extensions": [], - "fields": [ + }, { - "name": "signatures", + "name": "balance_changes", "description": "", "label": "repeated", - "type": "bytes", - "longType": "bytes", - "fullType": "bytes", + "type": "BalanceChange", + "longType": "sui.node.v2.BalanceChange", + "fullType": "sui.node.v2.BalanceChange", "ismap": false, "isoneof": false, "oneofdecl": "", @@ -1803,91 +3074,91 @@ { "name": "NodeService", "longName": "NodeService", - "fullName": "sui.node.v2.NodeService", + "fullName": "sui.node.v2alpha.NodeService", "description": "Service for reading data from a Sui Full node.", "methods": [ { - "name": "GetNodeInfo", - "description": "Query a node for information about its current state.", - "requestType": "GetNodeInfoRequest", - "requestLongType": "GetNodeInfoRequest", - "requestFullType": "sui.node.v2.GetNodeInfoRequest", + "name": "GetCoinInfo", + "description": "Request information for the specified coin type.", + "requestType": "GetCoinInfoRequest", + "requestLongType": "GetCoinInfoRequest", + "requestFullType": "sui.node.v2alpha.GetCoinInfoRequest", "requestStreaming": false, - "responseType": "GetNodeInfoResponse", - "responseLongType": "GetNodeInfoResponse", - "responseFullType": "sui.node.v2.GetNodeInfoResponse", + "responseType": "GetCoinInfoResponse", + "responseLongType": "GetCoinInfoResponse", + "responseFullType": "sui.node.v2alpha.GetCoinInfoResponse", "responseStreaming": false }, { - "name": "GetCommittee", - "description": "Request the validator committee for a particular epoch or for the current\nepoch.", - "requestType": "GetCommitteeRequest", - "requestLongType": "GetCommitteeRequest", - "requestFullType": "sui.node.v2.GetCommitteeRequest", + "name": "ListDynamicFields", + "description": "List the dynamic fields for provided parent.", + "requestType": "ListDynamicFieldsRequest", + "requestLongType": "ListDynamicFieldsRequest", + "requestFullType": "sui.node.v2alpha.ListDynamicFieldsRequest", "requestStreaming": false, - "responseType": "GetCommitteeResponse", - "responseLongType": "GetCommitteeResponse", - "responseFullType": "sui.node.v2.GetCommitteeResponse", + "responseType": "ListDynamicFieldsResponse", + "responseLongType": "ListDynamicFieldsResponse", + "responseFullType": "sui.node.v2alpha.ListDynamicFieldsResponse", "responseStreaming": false }, { - "name": "GetObject", - "description": "Request information for the specified object.\n\nUse this API to request an object by its `ObjectId`. The version of\nthe object returned is dependent on if you request a specific version.\nIf you do not request a specific version (GetObjectRequest.version is `None`), \nthen the most recent version (if the\nobject is live) is returned. If you do request a version, that version is\nreturned if it historically existed, is available, and has not been pruned.\n\nDue to storage limitations, implementers of this service might prune older\nhistorical data, which can limit the data availability of this API. To\ndetermine the data availability range for historical objects,\nclients can look at `GetNodeInfoResponse.lowest_available_checkpoint_objects`\nto see the lowest checkpoint for which historical object data is available.", - "requestType": "GetObjectRequest", - "requestLongType": "GetObjectRequest", - "requestFullType": "sui.node.v2.GetObjectRequest", + "name": "ListAccountObjects", + "description": "", + "requestType": "ListAccountObjectsRequest", + "requestLongType": "ListAccountObjectsRequest", + "requestFullType": "sui.node.v2alpha.ListAccountObjectsRequest", "requestStreaming": false, - "responseType": "GetObjectResponse", - "responseLongType": "GetObjectResponse", - "responseFullType": "sui.node.v2.GetObjectResponse", + "responseType": "ListAccountObjectsResponse", + "responseLongType": "ListAccountObjectsResponse", + "responseFullType": "sui.node.v2alpha.ListAccountObjectsResponse", "responseStreaming": false }, { - "name": "GetTransaction", - "description": "Request information for the specified transaction.\n\nUse this API to request information about a transaction by its digest.\n\nDue to storage limitations, implementers of this service might prune older\nhistorical data, which can limit the data availability of this API. To\ndetermine the data availability range for historical\ntransactions, clients can look at\n`GetNodeInfoResponse.lowest_available_checkpoint` to see the lowest\ncheckpoint for which historical transaction data is available.", - "requestType": "GetTransactionRequest", - "requestLongType": "GetTransactionRequest", - "requestFullType": "sui.node.v2.GetTransactionRequest", + "name": "GetProtocolConfig", + "description": "", + "requestType": "GetProtocolConfigRequest", + "requestLongType": "GetProtocolConfigRequest", + "requestFullType": "sui.node.v2alpha.GetProtocolConfigRequest", "requestStreaming": false, - "responseType": "GetTransactionResponse", - "responseLongType": "GetTransactionResponse", - "responseFullType": "sui.node.v2.GetTransactionResponse", + "responseType": "GetProtocolConfigResponse", + "responseLongType": "GetProtocolConfigResponse", + "responseFullType": "sui.node.v2alpha.GetProtocolConfigResponse", "responseStreaming": false }, { - "name": "GetCheckpoint", - "description": "Request information for the specified checkpoint.\n\nUse this API to request information about a checkpoint either by\nits digest or its sequence number (height).\n\nDue to storage limitations, implementers of this service might prune older\nhistorical data, which can limit the data availability of this API. To\ndetermine the data availability range for historical\ncheckpoints, clients can look at\n`GetNodeInfoResponse.lowest_available_checkpoint` to see the lowest\ncheckpoint for which historical checkpoint data is available.", - "requestType": "GetCheckpointRequest", - "requestLongType": "GetCheckpointRequest", - "requestFullType": "sui.node.v2.GetCheckpointRequest", + "name": "GetGasInfo", + "description": "", + "requestType": "GetGasInfoRequest", + "requestLongType": "GetGasInfoRequest", + "requestFullType": "sui.node.v2alpha.GetGasInfoRequest", "requestStreaming": false, - "responseType": "GetCheckpointResponse", - "responseLongType": "GetCheckpointResponse", - "responseFullType": "sui.node.v2.GetCheckpointResponse", + "responseType": "GetGasInfoResponse", + "responseLongType": "GetGasInfoResponse", + "responseFullType": "sui.node.v2alpha.GetGasInfoResponse", "responseStreaming": false }, { - "name": "GetFullCheckpoint", - "description": "Request information for the entirety of the specified checkpoint.\n\nUse this API to request information about a checkpoint either by\nits digest or its sequence number (height). In particular, you can use\nthis API to request information about all the transactions included in a\ncheckpoint, as well as their input and output objects.\n\nDue to storage limitations, implementers of this service might prune older\nhistorical data, which can limit the data availability of this API. To\ndetermine the data availability range for historical checkpoints,\nclients can look at `GetNodeInfoResponse.lowest_available_checkpoint`\nto see the lowest checkpoint for which historical\ncheckpoint/transaction data is available and\n`GetNodeInfoResponse.lowest_available_checkpoint_objects` for which\nhistorical object data is available.", - "requestType": "GetFullCheckpointRequest", - "requestLongType": "GetFullCheckpointRequest", - "requestFullType": "sui.node.v2.GetFullCheckpointRequest", + "name": "SimulateTransaction", + "description": "", + "requestType": "SimulateTransactionRequest", + "requestLongType": "SimulateTransactionRequest", + "requestFullType": "sui.node.v2alpha.SimulateTransactionRequest", "requestStreaming": false, - "responseType": "GetFullCheckpointResponse", - "responseLongType": "GetFullCheckpointResponse", - "responseFullType": "sui.node.v2.GetFullCheckpointResponse", + "responseType": "SimulateTransactionResponse", + "responseLongType": "SimulateTransactionResponse", + "responseFullType": "sui.node.v2alpha.SimulateTransactionResponse", "responseStreaming": false }, { - "name": "ExecuteTransaction", - "description": "Request that the provided transaction be relayed to the validator set for\nexecution and inclusion in the blockchain.", - "requestType": "ExecuteTransactionRequest", - "requestLongType": "ExecuteTransactionRequest", - "requestFullType": "sui.node.v2.ExecuteTransactionRequest", + "name": "ResolveTransaction", + "description": "", + "requestType": "ResolveTransactionRequest", + "requestLongType": "ResolveTransactionRequest", + "requestFullType": "sui.node.v2alpha.ResolveTransactionRequest", "requestStreaming": false, - "responseType": "ExecuteTransactionResponse", - "responseLongType": "ExecuteTransactionResponse", - "responseFullType": "sui.node.v2.ExecuteTransactionResponse", + "responseType": "ResolveTransactionResponse", + "responseLongType": "ResolveTransactionResponse", + "responseFullType": "sui.node.v2alpha.ResolveTransactionResponse", "responseStreaming": false } ] @@ -1895,64 +3166,167 @@ ] }, { - "name": "sui.types.proto", - "description": "Protobuf definitions of public Sui core types.\n\nThis file contains a complete set of protobuf definitions for all of the\npublic sui core types. All sui types are intended to have a 1:1 mapping to a\nprotobuf message defined in this file and be able to roundtrip to/from their\nrust and protobuf definitions assuming a sufficiently up-to-date version of\nboth these definitions.\n\nFor more information on the types these proto messages correspond with, see\nthe documentation for their rust versions defined in the\n[`sui-sdk-types`](https://mystenlabs.github.io/sui-rust-sdk/sui_sdk_types/)\nlibrary.\n\n## Use of `optional`\n\nThese message definitions use protobuf version 3 (proto3). In proto3, fields\nthat are primitives (that is, they are not a `message`) and are not present\non the wire are zero-initialized. To gain the ability to detect\n[field presence](https://github.com/protocolbuffers/protobuf/blob/main/docs/field_presence.md),\nthese definitions follow the convention of having all fields marked\n`optional`, and wrapping `repeated` fields in a message as needed.\n\nEven if a field is marked as `optional`, it might not actually be optional from\nthe perspective of the Sui protocol. Such fields are explicitly labled\nas `Required` or `Optional` in their documentation.", + "name": "sui/node/v2alpha/subscription_service.proto", + "description": "The sui.node.v2alpha package contains experimental services that have yet to\nstabilize\n\nEverything in here is subject to change and there is no gaurentee about\nstability or breaking changes.", + "package": "sui.node.v2alpha", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": true, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "SubscribeCheckpointsRequest", + "longName": "SubscribeCheckpointsRequest", + "fullName": "sui.node.v2alpha.SubscribeCheckpointsRequest", + "description": "Request message for SubscriptionService.SubscribeCheckpoints", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "read_mask", + "description": "Optional. Mask for specifiying which parts of the\nSubscribeCheckpointsResponse should be returned.", + "label": "optional", + "type": "FieldMask", + "longType": "google.protobuf.FieldMask", + "fullType": "google.protobuf.FieldMask", + "ismap": false, + "isoneof": true, + "oneofdecl": "_read_mask", + "defaultValue": "" + } + ] + }, + { + "name": "SubscribeCheckpointsResponse", + "longName": "SubscribeCheckpointsResponse", + "fullName": "sui.node.v2alpha.SubscribeCheckpointsResponse", + "description": "Response message for SubscriptionService.SubscribeCheckpoints", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "cursor", + "description": "Required. The checkpoint sequence number and value of the current cursor\ninto the checkpoint stream", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_cursor", + "defaultValue": "" + }, + { + "name": "checkpoint", + "description": "The requested data for this checkpoint", + "label": "optional", + "type": "GetFullCheckpointResponse", + "longType": "sui.node.v2.GetFullCheckpointResponse", + "fullType": "sui.node.v2.GetFullCheckpointResponse", + "ismap": false, + "isoneof": true, + "oneofdecl": "_checkpoint", + "defaultValue": "" + } + ] + } + ], + "services": [ + { + "name": "SubscriptionService", + "longName": "SubscriptionService", + "fullName": "sui.node.v2alpha.SubscriptionService", + "description": "Service for subscribing to data from a Sui Fullnode", + "methods": [ + { + "name": "SubscribeCheckpoints", + "description": "Subscribe to the stream of checkpoints.\n\nThis API provides a subscription to the checkpoint stream for the Sui\nblockchain. When a subscription is initialized the stream will begin with\nthe latest executed checkpoint as seen by the server. Responses are\ngaurenteed to return checkpoints in-order and without gaps. This enables\nclients to know exactly the last checkpoint they have processed and in the\nevent the subscription terminates (either by the client/server or by the\nconnection breaking), clients will be able to reinitailize a subscription\nand then leverage other APIs (e.g.\nsui.node.v2.NodeService.GetFullCheckpoint) in order to request data for\nthe checkpoints they missed.", + "requestType": "SubscribeCheckpointsRequest", + "requestLongType": "SubscribeCheckpointsRequest", + "requestFullType": "sui.node.v2alpha.SubscribeCheckpointsRequest", + "requestStreaming": false, + "responseType": "SubscribeCheckpointsResponse", + "responseLongType": "SubscribeCheckpointsResponse", + "responseFullType": "sui.node.v2alpha.SubscribeCheckpointsResponse", + "responseStreaming": true + } + ] + } + ] + }, + { + "name": "sui/types/signature_scheme.proto", + "description": "", "package": "sui.types", "hasEnums": true, "hasExtensions": false, - "hasMessages": true, + "hasMessages": false, "hasServices": false, "enums": [ { "name": "SignatureScheme", "longName": "SignatureScheme", "fullName": "sui.types.SignatureScheme", - "description": "Flag use to disambiguate the signature schemes supported by Sui.\n\nNote: the enum values defined by this proto message do not match their BCS\nserialized values. See\n[enum.SignatureScheme](https://mystenlabs.github.io/sui-rust-sdk/sui_sdk_types/enum.SignatureScheme.html)\nfor a mapping to their canonical serialized format.", + "description": "Flag use to disambiguate the signature schemes supported by Sui.\n\nNote: the enum values defined by this proto message exactly match their\nexpected BCS serialized values when serialized as a u8. See\n[enum.SignatureScheme](https://mystenlabs.github.io/sui-rust-sdk/sui_sdk_types/enum.SignatureScheme.html)\nfor more information about signature schemes.", "values": [ { - "name": "SIGNATURE_SCHEME_UNKNOWN", + "name": "ED25519", "number": "0", "description": "" }, { - "name": "SIGNATURE_SCHEME_ED25519", + "name": "SECP256K1", "number": "1", "description": "" }, { - "name": "SIGNATURE_SCHEME_SECP256K1", + "name": "SECP256R1", "number": "2", "description": "" }, { - "name": "SIGNATURE_SCHEME_SECP256R1", + "name": "MULTISIG", "number": "3", "description": "" }, { - "name": "SIGNATURE_SCHEME_MULTISIG", + "name": "BLS12381", "number": "4", "description": "" }, { - "name": "SIGNATURE_SCHEME_BLS12381", + "name": "ZKLOGIN", "number": "5", "description": "" }, { - "name": "SIGNATURE_SCHEME_ZKLOGIN", + "name": "PASSKEY", "number": "6", "description": "" - }, - { - "name": "SIGNATURE_SCHEME_PASSKEY", - "number": "7", - "description": "" } ] } ], "extensions": [], + "messages": [], + "services": [] + }, + { + "name": "sui/types/types.proto", + "description": "Protobuf definitions of public Sui core types.\n\nThis file contains a complete set of protobuf definitions for all of the\npublic sui core types. All sui types are intended to have a 1:1 mapping to a\nprotobuf message defined in this file and be able to roundtrip to/from their\nrust and protobuf definitions assuming a sufficiently up-to-date version of\nboth these definitions.\n\nFor more information on the types these proto messages correspond with, see\nthe documentation for their rust versions defined in the\n[`sui-sdk-types`](https://mystenlabs.github.io/sui-rust-sdk/sui_sdk_types/)\nlibrary.\n\n## Use of `optional`\n\nThese message definitions use protobuf version 3 (proto3). In proto3, fields\nthat are primitives (that is, they are not a `message`) and are not present\non the wire are zero-initialized. To gain the ability to detect\n[field presence](https://github.com/protocolbuffers/protobuf/blob/main/docs/field_presence.md),\nthese definitions follow the convention of having all fields marked\n`optional`, and wrapping `repeated` fields in a message as needed.", + "package": "sui.types", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], "messages": [ { "name": "ActiveJwk", @@ -2014,7 +3388,7 @@ "fields": [ { "name": "address", - "description": "Required. 32-byte address.", + "description": "32-byte address.", "label": "optional", "type": "bytes", "longType": "bytes", @@ -2038,7 +3412,7 @@ "fields": [ { "name": "address", - "description": "Required. Denied address.", + "description": "Denied address.", "label": "optional", "type": "Address", "longType": "Address", @@ -2050,7 +3424,7 @@ }, { "name": "coin_type", - "description": "Required. Coin type.", + "description": "Coin type.", "label": "optional", "type": "string", "longType": "string", @@ -2230,7 +3604,7 @@ "fields": [ { "name": "bcs", - "description": "Required. Bytes of a BCS encoded value.", + "description": "Bytes of a BCS encoded value.", "label": "optional", "type": "bytes", "longType": "bytes", @@ -2254,7 +3628,7 @@ "fields": [ { "name": "element", - "description": "Required. 32-byte big-endian field element.", + "description": "32-byte big-endian field element.", "label": "optional", "type": "bytes", "longType": "bytes", @@ -2446,7 +3820,7 @@ "fields": [ { "name": "object_id", - "description": "Required. ID of the object.", + "description": "ID of the object.", "label": "optional", "type": "ObjectId", "longType": "ObjectId", @@ -2818,7 +4192,7 @@ "fields": [ { "name": "e0", - "description": "Required.", + "description": "", "label": "optional", "type": "Bn254FieldElement", "longType": "Bn254FieldElement", @@ -2830,7 +4204,7 @@ }, { "name": "e1", - "description": "Required.", + "description": "", "label": "optional", "type": "Bn254FieldElement", "longType": "Bn254FieldElement", @@ -2842,7 +4216,7 @@ }, { "name": "e2", - "description": "Required.", + "description": "", "label": "optional", "type": "Bn254FieldElement", "longType": "Bn254FieldElement", @@ -2866,7 +4240,7 @@ "fields": [ { "name": "e00", - "description": "Required.", + "description": "", "label": "optional", "type": "Bn254FieldElement", "longType": "Bn254FieldElement", @@ -2878,7 +4252,7 @@ }, { "name": "e01", - "description": "Required.", + "description": "", "label": "optional", "type": "Bn254FieldElement", "longType": "Bn254FieldElement", @@ -2890,7 +4264,7 @@ }, { "name": "e10", - "description": "Required.", + "description": "", "label": "optional", "type": "Bn254FieldElement", "longType": "Bn254FieldElement", @@ -2902,7 +4276,7 @@ }, { "name": "e11", - "description": "Required.", + "description": "", "label": "optional", "type": "Bn254FieldElement", "longType": "Bn254FieldElement", @@ -2914,7 +4288,7 @@ }, { "name": "e20", - "description": "Required.", + "description": "", "label": "optional", "type": "Bn254FieldElement", "longType": "Bn254FieldElement", @@ -2926,7 +4300,7 @@ }, { "name": "e21", - "description": "Required.", + "description": "", "label": "optional", "type": "Bn254FieldElement", "longType": "Bn254FieldElement", @@ -3046,7 +4420,7 @@ "fields": [ { "name": "argument", - "description": "Required. Position of the problematic argument.", + "description": "Position of the problematic argument.", "label": "optional", "type": "uint32", "longType": "uint32", @@ -3346,7 +4720,7 @@ "fields": [ { "name": "digest", - "description": "Required. 32-byte hash.", + "description": "32-byte hash.", "label": "optional", "type": "bytes", "longType": "bytes", @@ -3610,7 +4984,7 @@ "fields": [ { "name": "success", - "description": "Required. Indicates if the transaction was successful or not.", + "description": "Indicates if the transaction was successful or not.", "label": "optional", "type": "bool", "longType": "bool", @@ -3622,7 +4996,7 @@ }, { "name": "status", - "description": "Optional. The error if `success` is false.", + "description": "The error if `success` is false.", "label": "optional", "type": "FailureStatus", "longType": "FailureStatus", @@ -4318,7 +5692,7 @@ "fields": [ { "name": "bytes", - "description": "Required. 16-byte little-endian bytes.", + "description": "16-byte little-endian bytes.", "label": "optional", "type": "bytes", "longType": "bytes", @@ -4594,7 +5968,7 @@ "fields": [ { "name": "object_id", - "description": "Required. `ObjectId` of the object.", + "description": "`ObjectId` of the object.", "label": "optional", "type": "ObjectId", "longType": "ObjectId", @@ -4606,7 +5980,7 @@ }, { "name": "version", - "description": "Required. Version of the object prior to this transaction.", + "description": "Version of the object prior to this transaction.", "label": "optional", "type": "uint64", "longType": "uint64", @@ -4774,7 +6148,7 @@ "fields": [ { "name": "package", - "description": "Required. The package ID.", + "description": "The package ID.", "label": "optional", "type": "ObjectId", "longType": "ObjectId", @@ -4786,7 +6160,7 @@ }, { "name": "module", - "description": "Required. The module name.", + "description": "The module name.", "label": "optional", "type": "Identifier", "longType": "Identifier", @@ -4798,7 +6172,7 @@ }, { "name": "function", - "description": "Required. The function index.", + "description": "The function index.", "label": "optional", "type": "uint32", "longType": "uint32", @@ -4810,7 +6184,7 @@ }, { "name": "instruction", - "description": "Required. Offset of the instruction where the error occurred.", + "description": "Offset of the instruction where the error occurred.", "label": "optional", "type": "uint32", "longType": "uint32", @@ -4822,7 +6196,7 @@ }, { "name": "function_name", - "description": "Optional. The name of the function, if available.", + "description": "The name of the function, if available.", "label": "optional", "type": "Identifier", "longType": "Identifier", @@ -5314,7 +6688,7 @@ }, { "name": "bitmap", - "description": "Required. Bitmap indicating which committee members contributed to the\nsignature.", + "description": "Bitmap indicating which committee members contributed to the\nsignature.", "label": "optional", "type": "uint32", "longType": "uint32", @@ -5326,7 +6700,7 @@ }, { "name": "legacy_bitmap", - "description": "Optional. If present, means this signature's on-chain format uses the old\nlegacy multisig format.", + "description": "If present, means this signature's on-chain format uses the old\nlegacy multisig format.", "label": "optional", "type": "RoaringBitmap", "longType": "RoaringBitmap", @@ -5338,7 +6712,7 @@ }, { "name": "committee", - "description": "Required. The committee to use to validate this signature.", + "description": "The committee to use to validate this signature.", "label": "optional", "type": "MultisigCommittee", "longType": "MultisigCommittee", @@ -5374,7 +6748,7 @@ }, { "name": "threshold", - "description": "Required. The threshold of signatures needed to validate a signature from\nthis committee.", + "description": "The threshold of signatures needed to validate a signature from\nthis committee.", "label": "optional", "type": "uint32", "longType": "uint32", @@ -5398,7 +6772,7 @@ "fields": [ { "name": "public_key", - "description": "Required. The public key of the committee member.", + "description": "The public key of the committee member.", "label": "optional", "type": "MultisigMemberPublicKey", "longType": "MultisigMemberPublicKey", @@ -5410,7 +6784,7 @@ }, { "name": "weight", - "description": "Required. The weight of this member's signature.", + "description": "The weight of this member's signature.", "label": "optional", "type": "uint32", "longType": "uint32", @@ -5710,7 +7084,7 @@ "fields": [ { "name": "version", - "description": "Required. Version of the object.", + "description": "Version of the object.", "label": "optional", "type": "uint64", "longType": "uint64", @@ -5722,7 +7096,7 @@ }, { "name": "digest", - "description": "Required. Digest of the object.", + "description": "Digest of the object.", "label": "optional", "type": "Digest", "longType": "Digest", @@ -5734,7 +7108,7 @@ }, { "name": "owner", - "description": "Required. Owner of the object.", + "description": "Owner of the object.", "label": "optional", "type": "Owner", "longType": "Owner", @@ -5758,7 +7132,7 @@ "fields": [ { "name": "object_id", - "description": "Required. 32-byte object-id.", + "description": "32-byte object-id.", "label": "optional", "type": "bytes", "longType": "bytes", @@ -5830,7 +7204,7 @@ "fields": [ { "name": "reference", - "description": "Required. `ObjectReference`.", + "description": "`ObjectReference`.", "label": "optional", "type": "ObjectReference", "longType": "ObjectReference", @@ -5842,7 +7216,7 @@ }, { "name": "owner", - "description": "Required. `Owner`.", + "description": "`Owner`.", "label": "optional", "type": "Owner", "longType": "Owner", @@ -5866,7 +7240,7 @@ "fields": [ { "name": "digest", - "description": "Required. Digest of the new version of the object.", + "description": "Digest of the new version of the object.", "label": "optional", "type": "Digest", "longType": "Digest", @@ -5878,7 +7252,7 @@ }, { "name": "owner", - "description": "Required. Owner of the new version of the object.", + "description": "Owner of the new version of the object.", "label": "optional", "type": "Owner", "longType": "Owner", @@ -5962,7 +7336,7 @@ "fields": [ { "name": "package_id", - "description": "Required. The package ID.", + "description": "The package ID.", "label": "optional", "type": "ObjectId", "longType": "ObjectId", @@ -5974,7 +7348,7 @@ }, { "name": "ticket_id", - "description": "Required. The ticket ID.", + "description": "The ticket ID.", "label": "optional", "type": "ObjectId", "longType": "ObjectId", @@ -6094,7 +7468,7 @@ }, { "name": "digest", - "description": "Required. Digest of the new package.", + "description": "Digest of the new package.", "label": "optional", "type": "Digest", "longType": "Digest", @@ -6118,7 +7492,7 @@ "fields": [ { "name": "authenticator_data", - "description": "Required. Opaque authenticator data for this passkey signature.\n\nSee [Authenticator Data](https://www.w3.org/TR/webauthn-2/#sctn-authenticator-data) for\nmore information on this field.", + "description": "Opaque authenticator data for this passkey signature.\n\nSee [Authenticator Data](https://www.w3.org/TR/webauthn-2/#sctn-authenticator-data) for\nmore information on this field.", "label": "optional", "type": "bytes", "longType": "bytes", @@ -6130,7 +7504,7 @@ }, { "name": "client_data_json", - "description": "Required. Structured, unparsed, JSON for this passkey signature.\n\nSee [CollectedClientData](https://www.w3.org/TR/webauthn-2/#dictdef-collectedclientdata)\nfor more information on this field.", + "description": "Structured, unparsed, JSON for this passkey signature.\n\nSee [CollectedClientData](https://www.w3.org/TR/webauthn-2/#dictdef-collectedclientdata)\nfor more information on this field.", "label": "optional", "type": "string", "longType": "string", @@ -6142,7 +7516,7 @@ }, { "name": "signature", - "description": "Required. A secp256r1 signature.", + "description": "A secp256r1 signature.", "label": "optional", "type": "SimpleSignature", "longType": "SimpleSignature", @@ -6298,7 +7672,7 @@ "fields": [ { "name": "version", - "description": "Required. Version of the shared object.", + "description": "Version of the shared object.", "label": "optional", "type": "uint64", "longType": "uint64", @@ -6310,7 +7684,7 @@ }, { "name": "digest", - "description": "Required. Digest of the shared object.", + "description": "Digest of the shared object.", "label": "optional", "type": "Digest", "longType": "Digest", @@ -6334,7 +7708,7 @@ "fields": [ { "name": "bitmap", - "description": "Required. Serialized `RoaringBitmap`.", + "description": "Serialized `RoaringBitmap`.", "label": "optional", "type": "bytes", "longType": "bytes", @@ -6406,11 +7780,11 @@ "fields": [ { "name": "scheme", - "description": "Required. Signature scheme of the signature and public key.", + "description": "The signature scheme of the signautre and public key, which should be an\nenum value of [sui.types.SignatureScheme][sui.types.SignatureScheme]", "label": "optional", - "type": "SignatureScheme", - "longType": "SignatureScheme", - "fullType": "sui.types.SignatureScheme", + "type": "int32", + "longType": "int32", + "fullType": "int32", "ismap": false, "isoneof": true, "oneofdecl": "_scheme", @@ -6418,7 +7792,7 @@ }, { "name": "signature", - "description": "Required. Signature bytes.", + "description": "Signature bytes.", "label": "optional", "type": "bytes", "longType": "bytes", @@ -6430,7 +7804,7 @@ }, { "name": "public_key", - "description": "Required. Public key bytes.", + "description": "Public key bytes.", "label": "optional", "type": "bytes", "longType": "bytes", @@ -6454,7 +7828,7 @@ "fields": [ { "name": "size", - "description": "Required. The offending size.", + "description": "The offending size.", "label": "optional", "type": "uint64", "longType": "uint64", @@ -6466,7 +7840,7 @@ }, { "name": "max_size", - "description": "Required. The maximum allowable size.", + "description": "The maximum allowable size.", "label": "optional", "type": "uint64", "longType": "uint64", @@ -7306,7 +8680,7 @@ "fields": [ { "name": "type_argument", - "description": "Required. Index of the problematic type argument.", + "description": "Index of the problematic type argument.", "label": "optional", "type": "uint32", "longType": "uint32", @@ -7546,7 +8920,7 @@ "fields": [ { "name": "bytes", - "description": "Required. 16-byte little-endian bytes.", + "description": "16-byte little-endian bytes.", "label": "optional", "type": "bytes", "longType": "bytes", @@ -7570,7 +8944,7 @@ "fields": [ { "name": "bytes", - "description": "Required. 16-byte little-endian bytes.", + "description": "16-byte little-endian bytes.", "label": "optional", "type": "bytes", "longType": "bytes", @@ -7594,7 +8968,7 @@ "fields": [ { "name": "object_id", - "description": "Required. ObjectId of the shared object.", + "description": "ObjectId of the shared object.", "label": "optional", "type": "ObjectId", "longType": "ObjectId", @@ -7846,7 +9220,7 @@ "fields": [ { "name": "epoch", - "description": "Required. The epoch when this signature was produced.\n\nThis can be used to lookup the `ValidatorCommittee` from this epoch\nto verify this signature.", + "description": "The epoch when this signature was produced.\n\nThis can be used to lookup the `ValidatorCommittee` from this epoch\nto verify this signature.", "label": "optional", "type": "uint64", "longType": "uint64", @@ -7858,7 +9232,7 @@ }, { "name": "signature", - "description": "Required. The 48-byte Bls12381 aggregated signature.", + "description": "The 48-byte Bls12381 aggregated signature.", "label": "optional", "type": "bytes", "longType": "bytes", @@ -7870,7 +9244,7 @@ }, { "name": "bitmap", - "description": "Required. Bitmap indicating which members of the committee contributed to\nthis signature.", + "description": "Bitmap indicating which members of the committee contributed to\nthis signature.", "label": "optional", "type": "RoaringBitmap", "longType": "RoaringBitmap", @@ -7894,7 +9268,7 @@ "fields": [ { "name": "epoch", - "description": "Required. The epoch where this committee governs.", + "description": "The epoch where this committee governs.", "label": "optional", "type": "uint64", "longType": "uint64", @@ -7930,7 +9304,7 @@ "fields": [ { "name": "public_key", - "description": "Required. The 96-byte Bls12381 public key for this validator.", + "description": "The 96-byte Bls12381 public key for this validator.", "label": "optional", "type": "bytes", "longType": "bytes", @@ -7942,7 +9316,7 @@ }, { "name": "stake", - "description": "Required. Stake weight this validator possesses.", + "description": "Stake weight this validator possesses.", "label": "optional", "type": "uint64", "longType": "uint64", @@ -8002,7 +9376,7 @@ "fields": [ { "name": "inputs", - "description": "Required. Zklogin proof and inputs required to perform proof verification.", + "description": "Zklogin proof and inputs required to perform proof verification.", "label": "optional", "type": "ZkLoginInputs", "longType": "ZkLoginInputs", @@ -8014,7 +9388,7 @@ }, { "name": "max_epoch", - "description": "Required. Maximum epoch for which the proof is valid.", + "description": "Maximum epoch for which the proof is valid.", "label": "optional", "type": "uint64", "longType": "uint64", @@ -8026,7 +9400,7 @@ }, { "name": "signature", - "description": "Required. User signature with the public key attested to by the provided proof.", + "description": "User signature with the public key attested to by the provided proof.", "label": "optional", "type": "SimpleSignature", "longType": "SimpleSignature", @@ -8050,7 +9424,7 @@ "fields": [ { "name": "value", - "description": "Required.", + "description": "", "label": "optional", "type": "string", "longType": "string", @@ -8062,7 +9436,7 @@ }, { "name": "index_mod_4", - "description": "Required.", + "description": "", "label": "optional", "type": "uint32", "longType": "uint32", @@ -8086,7 +9460,7 @@ "fields": [ { "name": "proof_points", - "description": "Required.", + "description": "", "label": "optional", "type": "ZkLoginProof", "longType": "ZkLoginProof", @@ -8098,7 +9472,7 @@ }, { "name": "iss_base64_details", - "description": "Required.", + "description": "", "label": "optional", "type": "ZkLoginClaim", "longType": "ZkLoginClaim", @@ -8110,7 +9484,7 @@ }, { "name": "header_base64", - "description": "Required.", + "description": "", "label": "optional", "type": "string", "longType": "string", @@ -8122,7 +9496,7 @@ }, { "name": "address_seed", - "description": "Required.", + "description": "", "label": "optional", "type": "Bn254FieldElement", "longType": "Bn254FieldElement", @@ -8146,7 +9520,7 @@ "fields": [ { "name": "a", - "description": "Required.", + "description": "", "label": "optional", "type": "CircomG1", "longType": "CircomG1", @@ -8158,7 +9532,7 @@ }, { "name": "b", - "description": "Required.", + "description": "", "label": "optional", "type": "CircomG2", "longType": "CircomG2", @@ -8170,7 +9544,7 @@ }, { "name": "c", - "description": "Required.", + "description": "", "label": "optional", "type": "CircomG1", "longType": "CircomG1", @@ -8194,7 +9568,7 @@ "fields": [ { "name": "iss", - "description": "Required.", + "description": "", "label": "optional", "type": "string", "longType": "string", @@ -8206,7 +9580,7 @@ }, { "name": "address_seed", - "description": "Required.", + "description": "", "label": "optional", "type": "Bn254FieldElement", "longType": "Bn254FieldElement", @@ -8220,81 +9594,6 @@ } ], "services": [] - }, - { - "name": "google/protobuf/empty.proto", - "description": "", - "package": "google.protobuf", - "hasEnums": false, - "hasExtensions": false, - "hasMessages": true, - "hasServices": false, - "enums": [], - "extensions": [], - "messages": [ - { - "name": "Empty", - "longName": "Empty", - "fullName": "google.protobuf.Empty", - "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n```\nservice Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n}\n```", - "hasExtensions": false, - "hasFields": false, - "hasOneofs": false, - "extensions": [], - "fields": [] - } - ], - "services": [] - }, - { - "name": "google/protobuf/timestamp.proto", - "description": "", - "package": "google.protobuf", - "hasEnums": false, - "hasExtensions": false, - "hasMessages": true, - "hasServices": false, - "enums": [], - "extensions": [], - "messages": [ - { - "name": "Timestamp", - "longName": "Timestamp", - "fullName": "google.protobuf.Timestamp", - "description": "A Timestamp represents a point in time independent of any time zone\nor calendar, represented as seconds and fractions of seconds at\nnanosecond resolution in UTC Epoch time. It is encoded using the\nProleptic Gregorian Calendar which extends the Gregorian calendar\nbackwards to year one. It is encoded assuming all minutes are 60\nseconds long, i.e. leap seconds are \"smeared\" so that no leap second\ntable is needed for interpretation. Range is from\n`0001-01-01T00:00:00Z` to `9999-12-31T23:59:59.999999999Z`.\nRestricting to that range ensures that conversion to\nand from RFC 3339 date strings is possible.\nSee [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt).\n\n# Examples\n\nExample 1: Compute Timestamp from POSIX `time()`.\n\n```\nTimestamp timestamp;\ntimestamp.set_seconds(time(NULL));\ntimestamp.set_nanos(0);\n```\n\nExample 2: Compute Timestamp from POSIX `gettimeofday()`.\n\n```\nstruct timeval tv;\ngettimeofday(\u0026tv, NULL);\n\nTimestamp timestamp;\ntimestamp.set_seconds(tv.tv_sec);\ntimestamp.set_nanos(tv.tv_usec * 1000);\n```\n\nExample 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\n```\nFILETIME ft;\nGetSystemTimeAsFileTime(\u0026ft);\nUINT64 ticks = (((UINT64)ft.dwHighDateTime) \u003c\u003c 32) | ft.dwLowDateTime;\n\n// A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n// is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\nTimestamp timestamp;\ntimestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\ntimestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); //\n```\n\nExample 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\n```\nlong millis = System.currentTimeMillis();\n\nTimestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n```\n\nExample 5: Compute Timestamp from current time in Python.\n\n```\ntimestamp = Timestamp()\ntimestamp.GetCurrentTime()\n```\n\n# JSON Mapping\n\nIn JSON format, the `Timestamp` type is encoded as a string in the\n[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\nformat is `{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z`\nwhere `{year}` is always expressed using four digits while `{month}`, `{day}`,\n`{hour}`, `{min}`, and `{sec}` are zero-padded to two digits each. The fractional\nseconds, which can go up to 9 digits (so up to 1 nanosecond resolution),\nare optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\nis required, though only UTC (as indicated by \"Z\") is presently supported.\n\nFor example, `2017-01-15T01:30:15.01Z` encodes 15.01 seconds past\n01:30 UTC on January 15, 2017.\n\nIn JavaScript, you can convert a `Date` object to this format using the\nstandard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\nmethod. In Python, you can convert a standard `datetime.datetime` object\nto this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime)\nwith the time format spec `%Y-%m-%dT%H:%M:%S.%fZ`. Likewise, in Java, you\ncan use the Joda Time's [`ISODateTimeFormat.dateTime()`](\nhttp://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--)\nto obtain a formatter capable of generating timestamps in this format.", - "hasExtensions": false, - "hasFields": true, - "hasOneofs": false, - "extensions": [], - "fields": [ - { - "name": "seconds", - "description": "Represents seconds of UTC time since Unix epoch\n`1970-01-01T00:00:00Z`. Must be from `0001-01-01T00:00:00Z` to\n`9999-12-31T23:59:59Z` inclusive.", - "label": "", - "type": "int64", - "longType": "int64", - "fullType": "int64", - "ismap": false, - "isoneof": false, - "oneofdecl": "", - "defaultValue": "" - }, - { - "name": "nanos", - "description": "Non-negative fractions of a second at nanosecond resolution. Negative\nsecond values with fractions must still have non-negative nano values\nthat count forward in time. Must be from 0 to 999,999,999\ninclusive.", - "label": "", - "type": "int32", - "longType": "int32", - "fullType": "int32", - "ismap": false, - "isoneof": false, - "oneofdecl": "", - "defaultValue": "" - } - ] - } - ], - "services": [] } ], "scalarValueTypes": [ diff --git a/crates/sui-rpc-api/proto/documentation.md b/crates/sui-rpc-api/proto/documentation.md index af27a5b2e39d3..eac82724a4c82 100644 --- a/crates/sui-rpc-api/proto/documentation.md +++ b/crates/sui-rpc-api/proto/documentation.md @@ -3,38 +3,98 @@ ## Table of Contents -- [sui.node.v2.proto](#sui-node-v2-proto) +- [google/protobuf/any.proto](#google_protobuf_any-proto) + - [Any](#google-protobuf-Any) + +- [google/protobuf/duration.proto](#google_protobuf_duration-proto) + - [Duration](#google-protobuf-Duration) + +- [google/protobuf/empty.proto](#google_protobuf_empty-proto) + - [Empty](#google-protobuf-Empty) + +- [google/protobuf/field_mask.proto](#google_protobuf_field_mask-proto) + - [FieldMask](#google-protobuf-FieldMask) + +- [google/protobuf/timestamp.proto](#google_protobuf_timestamp-proto) + - [Timestamp](#google-protobuf-Timestamp) + +- [google/rpc/error_details.proto](#google_rpc_error_details-proto) + - [BadRequest](#google-rpc-BadRequest) + - [BadRequest.FieldViolation](#google-rpc-BadRequest-FieldViolation) + - [DebugInfo](#google-rpc-DebugInfo) + - [ErrorInfo](#google-rpc-ErrorInfo) + - [ErrorInfo.MetadataEntry](#google-rpc-ErrorInfo-MetadataEntry) + - [Help](#google-rpc-Help) + - [Help.Link](#google-rpc-Help-Link) + - [LocalizedMessage](#google-rpc-LocalizedMessage) + - [PreconditionFailure](#google-rpc-PreconditionFailure) + - [PreconditionFailure.Violation](#google-rpc-PreconditionFailure-Violation) + - [QuotaFailure](#google-rpc-QuotaFailure) + - [QuotaFailure.Violation](#google-rpc-QuotaFailure-Violation) + - [RequestInfo](#google-rpc-RequestInfo) + - [ResourceInfo](#google-rpc-ResourceInfo) + - [RetryInfo](#google-rpc-RetryInfo) + +- [google/rpc/status.proto](#google_rpc_status-proto) + - [Status](#google-rpc-Status) + +- [sui/node/v2/node_service.proto](#sui_node_v2_node_service-proto) - [BalanceChange](#sui-node-v2-BalanceChange) - - [BalanceChanges](#sui-node-v2-BalanceChanges) - [EffectsFinality](#sui-node-v2-EffectsFinality) - - [ExecuteTransactionOptions](#sui-node-v2-ExecuteTransactionOptions) - [ExecuteTransactionRequest](#sui-node-v2-ExecuteTransactionRequest) - [ExecuteTransactionResponse](#sui-node-v2-ExecuteTransactionResponse) - [FullCheckpointObject](#sui-node-v2-FullCheckpointObject) - - [FullCheckpointObjects](#sui-node-v2-FullCheckpointObjects) - [FullCheckpointTransaction](#sui-node-v2-FullCheckpointTransaction) - - [GetCheckpointOptions](#sui-node-v2-GetCheckpointOptions) - [GetCheckpointRequest](#sui-node-v2-GetCheckpointRequest) - [GetCheckpointResponse](#sui-node-v2-GetCheckpointResponse) - [GetCommitteeRequest](#sui-node-v2-GetCommitteeRequest) - [GetCommitteeResponse](#sui-node-v2-GetCommitteeResponse) - - [GetFullCheckpointOptions](#sui-node-v2-GetFullCheckpointOptions) - [GetFullCheckpointRequest](#sui-node-v2-GetFullCheckpointRequest) - [GetFullCheckpointResponse](#sui-node-v2-GetFullCheckpointResponse) - [GetNodeInfoRequest](#sui-node-v2-GetNodeInfoRequest) - [GetNodeInfoResponse](#sui-node-v2-GetNodeInfoResponse) - - [GetObjectOptions](#sui-node-v2-GetObjectOptions) - [GetObjectRequest](#sui-node-v2-GetObjectRequest) - [GetObjectResponse](#sui-node-v2-GetObjectResponse) - - [GetTransactionOptions](#sui-node-v2-GetTransactionOptions) - [GetTransactionRequest](#sui-node-v2-GetTransactionRequest) - [GetTransactionResponse](#sui-node-v2-GetTransactionResponse) - - [UserSignatures](#sui-node-v2-UserSignatures) - - [UserSignaturesBytes](#sui-node-v2-UserSignaturesBytes) - [NodeService](#sui-node-v2-NodeService) -- [sui.types.proto](#sui-types-proto) +- [sui/node/v2alpha/node_service.proto](#sui_node_v2alpha_node_service-proto) + - [AccountObject](#sui-node-v2alpha-AccountObject) + - [CoinMetadata](#sui-node-v2alpha-CoinMetadata) + - [CoinTreasury](#sui-node-v2alpha-CoinTreasury) + - [DynamicField](#sui-node-v2alpha-DynamicField) + - [GetCoinInfoRequest](#sui-node-v2alpha-GetCoinInfoRequest) + - [GetCoinInfoResponse](#sui-node-v2alpha-GetCoinInfoResponse) + - [GetGasInfoRequest](#sui-node-v2alpha-GetGasInfoRequest) + - [GetGasInfoResponse](#sui-node-v2alpha-GetGasInfoResponse) + - [GetProtocolConfigRequest](#sui-node-v2alpha-GetProtocolConfigRequest) + - [GetProtocolConfigResponse](#sui-node-v2alpha-GetProtocolConfigResponse) + - [GetProtocolConfigResponse.AttributesEntry](#sui-node-v2alpha-GetProtocolConfigResponse-AttributesEntry) + - [GetProtocolConfigResponse.FeatureFlagsEntry](#sui-node-v2alpha-GetProtocolConfigResponse-FeatureFlagsEntry) + - [ListAccountObjectsRequest](#sui-node-v2alpha-ListAccountObjectsRequest) + - [ListAccountObjectsResponse](#sui-node-v2alpha-ListAccountObjectsResponse) + - [ListDynamicFieldsRequest](#sui-node-v2alpha-ListDynamicFieldsRequest) + - [ListDynamicFieldsResponse](#sui-node-v2alpha-ListDynamicFieldsResponse) + - [RegulatedCoinMetadata](#sui-node-v2alpha-RegulatedCoinMetadata) + - [ResolveTransactionRequest](#sui-node-v2alpha-ResolveTransactionRequest) + - [ResolveTransactionResponse](#sui-node-v2alpha-ResolveTransactionResponse) + - [SimulateTransactionRequest](#sui-node-v2alpha-SimulateTransactionRequest) + - [SimulateTransactionResponse](#sui-node-v2alpha-SimulateTransactionResponse) + + - [NodeService](#sui-node-v2alpha-NodeService) + +- [sui/node/v2alpha/subscription_service.proto](#sui_node_v2alpha_subscription_service-proto) + - [SubscribeCheckpointsRequest](#sui-node-v2alpha-SubscribeCheckpointsRequest) + - [SubscribeCheckpointsResponse](#sui-node-v2alpha-SubscribeCheckpointsResponse) + + - [SubscriptionService](#sui-node-v2alpha-SubscriptionService) + +- [sui/types/signature_scheme.proto](#sui_types_signature_scheme-proto) + - [SignatureScheme](#sui-types-SignatureScheme) + +- [sui/types/types.proto](#sui_types_types-proto) - [ActiveJwk](#sui-types-ActiveJwk) - [Address](#sui-types-Address) - [AddressDeniedForCoinError](#sui-types-AddressDeniedForCoinError) @@ -146,437 +206,1253 @@ - [ZkLoginProof](#sui-types-ZkLoginProof) - [ZkLoginPublicIdentifier](#sui-types-ZkLoginPublicIdentifier) - - [SignatureScheme](#sui-types-SignatureScheme) - -- [google/protobuf/empty.proto](#google_protobuf_empty-proto) - - [Empty](#google-protobuf-Empty) - -- [google/protobuf/timestamp.proto](#google_protobuf_timestamp-proto) - - [Timestamp](#google-protobuf-Timestamp) - - [Scalar Value Types](#scalar-value-types) - +

Top

-## sui.node.v2.proto -The sui.node.v2 package contains API definitions for services that are -expected to run on Full nodes. - - - - -### BalanceChange -The delta, or change, in balance for an address for a particular `Coin` type. +## google/protobuf/any.proto -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| address | [sui.types.Address](#sui-types-Address) | optional | The account address that is affected by this balance change event. | -| coin_type | [sui.types.TypeTag](#sui-types-TypeTag) | optional | The `Coin` type of this balance change event. | -| amount | [sui.types.I128](#sui-types-I128) | optional | The amount or change in balance. | + +### Any +`Any` contains an arbitrary serialized protocol buffer message along with a +URL that describes the type of the serialized message. +Protobuf library provides support to pack/unpack Any values in the form +of utility functions or additional generated methods of the Any type. +Example 1: Pack and unpack a message in C++. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - +Example 2: Pack and unpack a message in Java. -### BalanceChanges -Set of `BalanceChange`s that occurred as the result of a transaction. + Foo foo = ...; + Any any = Any.pack(foo); + ... + if (any.is(Foo.class)) { + foo = any.unpack(Foo.class); + } + // or ... + if (any.isSameTypeAs(Foo.getDefaultInstance())) { + foo = any.unpack(Foo.getDefaultInstance()); + } -This set of events are calculated by analyzing all input and output `Coin` -type objects. + Example 3: Pack and unpack a message in Python. + foo = Foo(...) + any = Any() + any.Pack(foo) + ... + if any.Is(Foo.DESCRIPTOR): + any.Unpack(foo) + ... -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| balance_changes | [BalanceChange](#sui-node-v2-BalanceChange) | repeated | | + Example 4: Pack and unpack a message in Go + foo := &pb.Foo{...} + any, err := anypb.New(foo) + if err != nil { + ... + } + ... + foo := &pb.Foo{} + if err := any.UnmarshalTo(foo); err != nil { + ... + } +The pack methods provided by protobuf library will by default use +'type.googleapis.com/full.type.name' as the type URL and the unpack +methods only use the fully qualified type name after the last '/' +in the type URL, for example "foo.bar.com/x/y.z" will yield type +name "y.z". +JSON +==== +The JSON representation of an `Any` value uses the regular +representation of the deserialized, embedded message, with an +additional field `@type` which contains the type URL. Example: + package google.profile; + message Person { + string first_name = 1; + string last_name = 2; + } + { + "@type": "type.googleapis.com/google.profile.Person", + "firstName": <string>, + "lastName": <string> + } - +If the embedded message type is well-known and has a custom JSON +representation, that representation will be embedded adding a field +`value` which holds the custom JSON in addition to the `@type` +field. Example (for message [google.protobuf.Duration][]): -### EffectsFinality -Indicates the finality of the executed transaction. + { + "@type": "type.googleapis.com/google.protobuf.Duration", + "value": "1.212s" + } | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| certified | [sui.types.ValidatorAggregatedSignature](#sui-types-ValidatorAggregatedSignature) | | A quorum certificate certifying that a transaction is final but might not be included in a checkpoint yet. | -| checkpointed | [uint64](#uint64) | | Sequence number of the checkpoint that includes the transaction. | -| quorum_executed | [google.protobuf.Empty](#google-protobuf-Empty) | | Indicates that a quorum of validators has executed the transaction but that it might not be included in a checkpoint yet. | +| type_url | [string](#string) | | A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted). +In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: +* If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) +Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. As of May 2023, there are no widely used type server implementations and no plans to implement one. +Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics. | +| value | [bytes](#bytes) | | Must be a valid serialized protocol buffer of the above specified type. | - -### ExecuteTransactionOptions + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| effects | [bool](#bool) | optional | Include the `sui.types.TransactionEffects` message in the response. + -Defaults to `false` if not included. | -| effects_bcs | [bool](#bool) | optional | Include the `TransactionEffects` formatted as BCS in the response. + -Defaults to `false` if not included. | -| events | [bool](#bool) | optional | Include the `sui.types.TransactionEvents` message in the response. + -Defaults to `false` if not included. | -| events_bcs | [bool](#bool) | optional | Include the `TransactionEvents` formatted as BCS in the response. -Defaults to `false` if not included. | -| balance_changes | [bool](#bool) | optional | Include the `BalanceChanges` in the response. -Defaults to `false` if not included. | + +

Top

+## google/protobuf/duration.proto + +### Duration +A Duration represents a signed, fixed-length span of time represented +as a count of seconds and fractions of seconds at nanosecond +resolution. It is independent of any calendar and concepts like "day" +or "month". It is related to Timestamp in that the difference between +two Timestamp values is a Duration and it can be added or subtracted +from a Timestamp. Range is approximately +-10,000 years. - +# Examples -### ExecuteTransactionRequest -Request message for `NodeService.ExecuteTransaction`. +Example 1: Compute Duration from two Timestamps in pseudo code. -Note: You must provide only one of `transaction` or `transaction_bcs`. + Timestamp start = ...; + Timestamp end = ...; + Duration duration = ...; + duration.seconds = end.seconds - start.seconds; + duration.nanos = end.nanos - start.nanos; -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| transaction | [sui.types.Transaction](#sui-types-Transaction) | optional | Optional. The transaction to execute. | -| transaction_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The transaction to execute, encoded as BCS bytes. | -| signatures | [UserSignatures](#sui-node-v2-UserSignatures) | optional | Optional. Set of `UserSiganture`s authorizing the execution of the provided transaction. | -| signatures_bytes | [UserSignaturesBytes](#sui-node-v2-UserSignaturesBytes) | optional | Optional. Set of `UserSiganture`s authorizing the execution of the provided transaction, encoded as bytes. | -| options | [ExecuteTransactionOptions](#sui-node-v2-ExecuteTransactionOptions) | optional | Optional. Options for specifying which parts of the `ExecuteTransactionResponse` should be returned. | + if (duration.seconds < 0 && duration.nanos > 0) { + duration.seconds += 1; + duration.nanos -= 1000000000; + } else if (duration.seconds > 0 && duration.nanos < 0) { + duration.seconds -= 1; + duration.nanos += 1000000000; + } +Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. + Timestamp start = ...; + Duration duration = ...; + Timestamp end = ...; + end.seconds = start.seconds + duration.seconds; + end.nanos = start.nanos + duration.nanos; + if (end.nanos < 0) { + end.seconds -= 1; + end.nanos += 1000000000; + } else if (end.nanos >= 1000000000) { + end.seconds += 1; + end.nanos -= 1000000000; + } +Example 3: Compute Duration from datetime.timedelta in Python. - + td = datetime.timedelta(days=3, minutes=10) + duration = Duration() + duration.FromTimedelta(td) -### ExecuteTransactionResponse -Response message for `NodeService.ExecuteTransaction`. +# JSON Mapping + +In JSON format, the Duration type is encoded as a string rather than an +object, where the string ends in the suffix "s" (indicating seconds) and +is preceded by the number of seconds, with nanoseconds expressed as +fractional seconds. For example, 3 seconds with 0 nanoseconds should be +encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should +be expressed in JSON format as "3.000000001s", and 3 seconds and 1 +microsecond should be expressed in JSON format as "3.000001s". | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| finality | [EffectsFinality](#sui-node-v2-EffectsFinality) | optional | Indicates the finality of the executed transaction. | -| effects | [sui.types.TransactionEffects](#sui-types-TransactionEffects) | optional | Optional. The `TransactionEffects` for this transaction. | -| effects_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The [TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html) for this transaction encoded as BCS bytes. | -| events | [sui.types.TransactionEvents](#sui-types-TransactionEvents) | optional | Optional. The `TransactionEvents` for this transaction. +| seconds | [int64](#int64) | | Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years | +| nanos | [int32](#int32) | | Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive. | -This field might be empty, even if it was explicitly requested, if the transaction didn't produce any events. `sui.types.TransactionEffects.events_digest` is populated if the transaction produced any events. | -| events_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The [TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html) for this transaction encoded as BCS bytes. | -| balance_changes | [BalanceChanges](#sui-node-v2-BalanceChanges) | optional | Optional. Set of balance change events as a result of this transaction. | + + - + -### FullCheckpointObject -An object used by or produced from a transaction. + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| object_id | [sui.types.ObjectId](#sui-types-ObjectId) | optional | The `ObjectId` of this object. | -| version | [uint64](#uint64) | optional | The version of this object. | -| digest | [sui.types.Digest](#sui-types-Digest) | optional | The digest of this object. | -| object | [sui.types.Object](#sui-types-Object) | optional | Optional. The object itself. | -| object_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The [object](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Object.html) encoded as BCS bytes. | + +

Top

+## google/protobuf/empty.proto + - +### Empty +A generic empty message that you can re-use to avoid defining duplicated +empty messages in your APIs. A typical example is to use it as the request +or the response type of an API method. For instance: -### FullCheckpointObjects -Set of objects used by or produced from a transaction. +``` +service Foo { + rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); +} +``` -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| objects | [FullCheckpointObject](#sui-node-v2-FullCheckpointObject) | repeated | | + + + - + -### FullCheckpointTransaction -A transaction, with all of its inputs and outputs. -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| digest | [sui.types.Digest](#sui-types-Digest) | optional | The digest of this transaction. | -| transaction | [sui.types.Transaction](#sui-types-Transaction) | optional | Optional. The transaction itself. | -| transaction_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The [Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html) encoded as BCS bytes. | -| effects | [sui.types.TransactionEffects](#sui-types-TransactionEffects) | optional | Optional. The `TransactionEffects` for this transaction. | -| effects_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The [TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html) for this transaction encoded as BCS bytes. | -| events | [sui.types.TransactionEvents](#sui-types-TransactionEvents) | optional | Optional. The `TransactionEvents` for this transaction. + +

Top

-This field might be empty, even if it was explicitly requested, if the transaction didn't produce any events. `sui.types.TransactionEffects.events_digest` is populated if the transaction produced any events. | -| events_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The [TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html) for this transaction encoded as BCS bytes. | -| input_objects | [FullCheckpointObjects](#sui-node-v2-FullCheckpointObjects) | optional | Optional. Set of input objects used during the execution of this transaction. | -| output_objects | [FullCheckpointObjects](#sui-node-v2-FullCheckpointObjects) | optional | Optional. Set of output objects produced from the execution of this transaction. | +## google/protobuf/field_mask.proto + +### FieldMask +`FieldMask` represents a set of symbolic field paths, for example: + paths: "f.a" + paths: "f.b.d" - +Here `f` represents a field in some root message, `a` and `b` +fields in the message found in `f`, and `d` a field found in the +message in `f.b`. -### GetCheckpointOptions -Options for which parts of the `GetCheckpointResponse` should be returned. +Field masks are used to specify a subset of fields that should be +returned by a get operation or modified by an update operation. +Field masks also have a custom JSON encoding (see below). +# Field Masks in Projections -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| summary | [bool](#bool) | optional | Include the `sui.types.CheckpointSummary` in the response. +When used in the context of a projection, a response message or +sub-message is filtered by the API to only contain those fields as +specified in the mask. For example, if the mask in the previous +example is applied to a response message as follows: -Defaults to `false` if not included. | -| summary_bcs | [bool](#bool) | optional | Include the `CheckpointSummary` formatted as BCS in the response. + f { + a : 22 + b { + d : 1 + x : 2 + } + y : 13 + } + z: 8 + +The result will not contain specific values for fields x,y and z +(their value will be set to the default, and omitted in proto text +output): -Defaults to `false` if not included. | -| signature | [bool](#bool) | optional | Include the `sui.types.ValidatorAggregatedSignature` in the response. -Defaults to `false` if not included. | -| contents | [bool](#bool) | optional | Include the `sui.types.CheckpointContents` message in the response. + f { + a : 22 + b { + d : 1 + } + } -Defaults to `false` if not included. | -| contents_bcs | [bool](#bool) | optional | Include the `CheckpointContents` formatted as BCS in the response. +A repeated field is not allowed except at the last position of a +paths string. -Defaults to `false` if not included. | +If a FieldMask object is not present in a get operation, the +operation applies to all fields (as if a FieldMask of all fields +had been specified). +Note that a field mask does not necessarily apply to the +top-level response message. In case of a REST get operation, the +field mask applies directly to the response, but in case of a REST +list operation, the mask instead applies to each individual message +in the returned resource list. In case of a REST custom method, +other definitions may be used. Where the mask applies will be +clearly documented together with its declaration in the API. In +any case, the effect on the returned resource/resources is required +behavior for APIs. +# Field Masks in Update Operations +A field mask in update operations specifies which fields of the +targeted resource are going to be updated. The API is required +to only change the values of the fields as specified in the mask +and leave the others untouched. If a resource is passed in to +describe the updated values, the API ignores the values of all +fields not covered by the mask. +If a repeated field is specified for an update operation, new values will +be appended to the existing repeated field in the target resource. Note that +a repeated field is only allowed in the last position of a `paths` string. +If a sub-message is specified in the last position of the field mask for an +update operation, then new value will be merged into the existing sub-message +in the target resource. - +For example, given the target message: -### GetCheckpointRequest -Request message for `NodeService.GetCheckpoint`. + f { + b { + d: 1 + x: 2 + } + c: [1] + } -At most, provide one of `sequence_number` or `digest`. An error is -returned if you attempt to provide both. If you provide neither, the service -returns the latest executed checkpoint. +And an update message: + f { + b { + d: 10 + } + c: [2] + } -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| sequence_number | [uint64](#uint64) | optional | Optional. The sequence number of the requested checkpoint. | -| digest | [sui.types.Digest](#sui-types-Digest) | optional | Optional. The digest of the requested checkpoint. | -| options | [GetCheckpointOptions](#sui-node-v2-GetCheckpointOptions) | optional | Optional. Options for specifying which parts of the `GetCheckpointResponse` should be returned. | +then if the field mask is: + paths: ["f.b", "f.c"] + +then the result will be: + f { + b { + d: 10 + x: 2 + } + c: [1, 2] + } +An implementation may provide options to override this default behavior for +repeated and message fields. +In order to reset a field's value to the default, the field must +be in the mask and set to the default value in the provided resource. +Hence, in order to reset all fields of a resource, provide a default +instance of the resource and set all fields in the mask, or do +not provide a mask as described below. +If a field mask is not present on update, the operation applies to +all fields (as if a field mask of all fields has been specified). +Note that in the presence of schema evolution, this may mean that +fields the client does not know and has therefore not filled into +the request will be reset to their default. If this is unwanted +behavior, a specific service may require a client to always specify +a field mask, producing an error if not. - +As with get operations, the location of the resource which +describes the updated values in the request message depends on the +operation kind. In any case, the effect of the field mask is +required to be honored by the API. -### GetCheckpointResponse -Response message for `NodeService.GetCheckpoint`. +## Considerations for HTTP REST +The HTTP kind of an update operation which uses a field mask must +be set to PATCH instead of PUT in order to satisfy HTTP semantics +(PUT must only be used for full updates). -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| sequence_number | [uint64](#uint64) | optional | The sequence number of this checkpoint. | -| digest | [sui.types.Digest](#sui-types-Digest) | optional | The digest of this checkpoint's `CheckpointSummary`. | -| summary | [sui.types.CheckpointSummary](#sui-types-CheckpointSummary) | optional | Optional. The `CheckpointSummary` for this checkpoint. | -| summary_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The [CheckpointSummary](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointSummary.html) for this checkpoint encoded as BCS bytes. | -| signature | [sui.types.ValidatorAggregatedSignature](#sui-types-ValidatorAggregatedSignature) | optional | Optional. An aggregated quorum signature from the validator committee that certifies this checkpoint. | -| contents | [sui.types.CheckpointContents](#sui-types-CheckpointContents) | optional | Optional. The `CheckpointContents` for this checkpoint. | -| contents_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The [CheckpointContents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointContents.html) for this checkpoint encoded as BCS bytes. | +# JSON Encoding of Field Masks +In JSON, a field mask is encoded as a single string where paths are +separated by a comma. Fields name in each path are converted +to/from lower-camel naming conventions. +As an example, consider the following message declarations: + message Profile { + User user = 1; + Photo photo = 2; + } + message User { + string display_name = 1; + string address = 2; + } +In proto a field mask for `Profile` may look as such: + mask { + paths: "user.display_name" + paths: "photo" + } - +In JSON, the same mask is represented as below: -### GetCommitteeRequest -Request message for NodeService.GetCommittee. + { + mask: "user.displayName,photo" + } +# Field Masks and Oneof Fields -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| epoch | [uint64](#uint64) | optional | Optional. Request the sui.types.ValidatorCommittee corresponding to the provided epoch. If no epoch is provided the committee for the current epoch will be returned. | +Field masks treat fields in oneofs just as regular fields. Consider the +following message: + message SampleMessage { + oneof test_oneof { + string name = 4; + SubMessage sub_message = 9; + } + } +The field mask can be: + mask { + paths: "name" + } +Or: + mask { + paths: "sub_message" + } - +Note that oneof type names ("test_oneof" in this case) cannot be used in +paths. -### GetCommitteeResponse -Response message for `NodeService.GetCommittee`. +## Field Mask Verification + +The implementation of any API method which has a FieldMask type field in the +request should verify the included field paths, and return an +`INVALID_ARGUMENT` error if any path is unmappable. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| committee | [sui.types.ValidatorCommittee](#sui-types-ValidatorCommittee) | optional | The committee of either the requested epoch or the current epoch. | +| paths | [string](#string) | repeated | The set of field mask paths. | + - + -### GetFullCheckpointOptions -Options for which parts of the `GetFullCheckpointResponse` should be returned. + + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| summary | [bool](#bool) | optional | Include the `sui.types.CheckpointSummary` in the response. -Defaults to `false` if not included. | -| summary_bcs | [bool](#bool) | optional | Include the `CheckpointSummary` formatted as BCS in the response. -Defaults to `false` if not included. | -| signature | [bool](#bool) | optional | Include the `sui.types.ValidatorAggregatedSignature` in the response. + +

Top

-Defaults to `false` if not included. | -| contents | [bool](#bool) | optional | Include the `sui.types.CheckpointContents` message in the response. +## google/protobuf/timestamp.proto -Defaults to `false` if not included. | -| contents_bcs | [bool](#bool) | optional | Include the `CheckpointContents` formatted as BCS in the response. -Defaults to `false` if not included. | -| transaction | [bool](#bool) | optional | Include the `sui.types.Transaction` message in the response. -Defaults to `false` if not included. | -| transaction_bcs | [bool](#bool) | optional | Include the transaction formatted as BCS in the response. + -Defaults to `false` if not included. | -| effects | [bool](#bool) | optional | Include the `sui.types.TransactionEffects` message in the response. +### Timestamp +A Timestamp represents a point in time independent of any time zone +or calendar, represented as seconds and fractions of seconds at +nanosecond resolution in UTC Epoch time. It is encoded using the +Proleptic Gregorian Calendar which extends the Gregorian calendar +backwards to year one. It is encoded assuming all minutes are 60 +seconds long, i.e. leap seconds are "smeared" so that no leap second +table is needed for interpretation. Range is from +`0001-01-01T00:00:00Z` to `9999-12-31T23:59:59.999999999Z`. +Restricting to that range ensures that conversion to +and from RFC 3339 date strings is possible. +See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). -Defaults to `false` if not included. | -| effects_bcs | [bool](#bool) | optional | Include the `TransactionEffects` formatted as BCS in the response. +# Examples -Defaults to `false` if not included. | -| events | [bool](#bool) | optional | Include the `sui.types.TransactionEvents` message in the response. +Example 1: Compute Timestamp from POSIX `time()`. -Defaults to `false` if not included. | -| events_bcs | [bool](#bool) | optional | Include the `TransactionEvents` formatted as BCS in the response. +``` +Timestamp timestamp; +timestamp.set_seconds(time(NULL)); +timestamp.set_nanos(0); +``` -Defaults to `false` if not included. | -| input_objects | [bool](#bool) | optional | Include the input objects for transactions in the response. +Example 2: Compute Timestamp from POSIX `gettimeofday()`. -Defaults to `false` if not included. | -| output_objects | [bool](#bool) | optional | Include the output objects for transactions in the response. +``` +struct timeval tv; +gettimeofday(&tv, NULL); -Defaults to `false` if not included. | -| object | [bool](#bool) | optional | Include the `sui.types.Object` message in the response. +Timestamp timestamp; +timestamp.set_seconds(tv.tv_sec); +timestamp.set_nanos(tv.tv_usec * 1000); +``` -Defaults to `false` if not included. | -| object_bcs | [bool](#bool) | optional | Include the object formatted as BCS in the response. +Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. -Defaults to `false` if not included. | +``` +FILETIME ft; +GetSystemTimeAsFileTime(&ft); +UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +// A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +// is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +Timestamp timestamp; +timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); // +``` +Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +``` +long millis = System.currentTimeMillis(); +Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + .setNanos((int) ((millis % 1000) * 1000000)).build(); +``` - +Example 5: Compute Timestamp from current time in Python. -### GetFullCheckpointRequest -Request message for `NodeService.GetFullCheckpoint`. +``` +timestamp = Timestamp() +timestamp.GetCurrentTime() +``` -At most, provide one of `sequence_number` or `digest`. An error is -returned if you provide both. If you provide neither, the service -returns the latest executed checkpoint. +# JSON Mapping + +In JSON format, the `Timestamp` type is encoded as a string in the +[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the +format is `{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z` +where `{year}` is always expressed using four digits while `{month}`, `{day}`, +`{hour}`, `{min}`, and `{sec}` are zero-padded to two digits each. The fractional +seconds, which can go up to 9 digits (so up to 1 nanosecond resolution), +are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone +is required, though only UTC (as indicated by "Z") is presently supported. + +For example, `2017-01-15T01:30:15.01Z` encodes 15.01 seconds past +01:30 UTC on January 15, 2017. + +In JavaScript, you can convert a `Date` object to this format using the +standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) +method. In Python, you can convert a standard `datetime.datetime` object +to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) +with the time format spec `%Y-%m-%dT%H:%M:%S.%fZ`. Likewise, in Java, you +can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( +http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--) +to obtain a formatter capable of generating timestamps in this format. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| sequence_number | [uint64](#uint64) | optional | Optional. The sequence number of the requested checkpoint. | -| digest | [sui.types.Digest](#sui-types-Digest) | optional | Optional. The digest of the requested checkpoint. | -| options | [GetFullCheckpointOptions](#sui-node-v2-GetFullCheckpointOptions) | optional | Optional. Options for specifying which parts of the `GetFullCheckpointResponse` should be returned. | +| seconds | [int64](#int64) | | Represents seconds of UTC time since Unix epoch `1970-01-01T00:00:00Z`. Must be from `0001-01-01T00:00:00Z` to `9999-12-31T23:59:59Z` inclusive. | +| nanos | [int32](#int32) | | Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nano values that count forward in time. Must be from 0 to 999,999,999 inclusive. | + - + -### GetFullCheckpointResponse -Response message for `NodeService.GetFullCheckpoint`. + + -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| sequence_number | [uint64](#uint64) | optional | The sequence number of this checkpoint. | -| digest | [sui.types.Digest](#sui-types-Digest) | optional | The digest of this checkpoint's `CheckpointSummary`. | -| summary | [sui.types.CheckpointSummary](#sui-types-CheckpointSummary) | optional | Optional. The `CheckpointSummary` for this checkpoint. | -| summary_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The [CheckpointSummary](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointSummary.html) for this checkpoint encoded as BCS bytes. | -| signature | [sui.types.ValidatorAggregatedSignature](#sui-types-ValidatorAggregatedSignature) | optional | Optional. An aggregated quorum signature from the validator committee that certifies this checkpoint. | -| contents | [sui.types.CheckpointContents](#sui-types-CheckpointContents) | optional | Optional. The `CheckpointContents` for this checkpoint. | -| contents_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The [CheckpointContents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointContents.html) for this checkpoint encoded as BCS bytes. | -| transactions | [FullCheckpointTransaction](#sui-node-v2-FullCheckpointTransaction) | repeated | List of transactions included in this checkpoint. | + +

Top

+## google/rpc/error_details.proto - + -### GetNodeInfoRequest -Request message for `NodeService.GetNodeInfo`. +### BadRequest +Describes violations in a client request. This error type focuses on the +syntactic aspects of the request. +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| field_violations | [BadRequest.FieldViolation](#google-rpc-BadRequest-FieldViolation) | repeated | Describes all violations in a client request. | - -### GetNodeInfoResponse -Response message for `NodeService.GetNodeInfo`. + + + +### BadRequest.FieldViolation +A message type used to describe a single bad request field. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| chain_id | [sui.types.Digest](#sui-types-Digest) | optional | The chain identifier of the chain that this node is on. +| field | [string](#string) | | A path that leads to a field in the request body. The value will be a sequence of dot-separated identifiers that identify a protocol buffer field. -The chain identifier is the digest of the genesis checkpoint, the checkpoint with sequence number 0. | -| chain | [string](#string) | optional | Human-readable name of the chain that this node is on. +Consider the following: -This is intended to be a human-readable name like `mainnet`, `testnet`, and so on. | -| epoch | [uint64](#uint64) | optional | Current epoch of the node based on its highest executed checkpoint. | +```text,json message CreateContactRequest { message EmailAddress { enum Type { TYPE_UNSPECIFIED = 0; HOME = 1; WORK = 2; } + + optional string email = 1; repeated EmailType type = 2; } + + string full_name = 1; repeated EmailAddress email_addresses = 2; } ``` + +In this example, in proto `field` could take one of the following values: + +* `full_name` for a violation in the `full_name` value * `email_addresses[1].email` for a violation in the `email` field of the first `email_addresses` message * `email_addresses[3].type[2]` for a violation in the second `type` value in the third `email_addresses` message. + +In JSON, the same values are represented as: + +* `fullName` for a violation in the `fullName` value * `emailAddresses[1].email` for a violation in the `email` field of the first `emailAddresses` message * `emailAddresses[3].type[2]` for a violation in the second `type` value in the third `emailAddresses` message. | +| description | [string](#string) | | A description of why the request element is bad. | +| reason | [string](#string) | | The reason of the field-level error. This is a constant value that identifies the proximate cause of the field-level error. It should uniquely identify the type of the FieldViolation within the scope of the google.rpc.ErrorInfo.domain. This should be at most 63 characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. | +| localized_message | [LocalizedMessage](#google-rpc-LocalizedMessage) | | Provides a localized error message for field-level errors that is safe to return to the API consumer. | + + + + + + + + +### DebugInfo +Describes additional debugging info. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| stack_entries | [string](#string) | repeated | The stack trace entries indicating where the error occurred. | +| detail | [string](#string) | | Additional debugging information provided by the server. | + + + + + + + + +### ErrorInfo +Describes the cause of the error with structured details. + +Example of an error when contacting the "pubsub.googleapis.com" API when it +is not enabled: + +```text,json +{ "reason": "API_DISABLED" + "domain": "googleapis.com" + "metadata": { + "resource": "projects/123", + "service": "pubsub.googleapis.com" + } +} +``` + +This response indicates that the pubsub.googleapis.com API is not enabled. + +Example of an error that is returned when attempting to create a Spanner +instance in a region that is out of stock: + +```text,json +{ "reason": "STOCKOUT" + "domain": "spanner.googleapis.com", + "metadata": { + "availableRegions": "us-central1,us-east2" + } +} +``` + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| reason | [string](#string) | | The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. | +| domain | [string](#string) | | The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com". | +| metadata | [ErrorInfo.MetadataEntry](#google-rpc-ErrorInfo-MetadataEntry) | repeated | Additional structured details about this error. + +Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{"instanceLimit": "100/request"}`, should be returned as, `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of instances that can be created in a single (batch) request. | + + + + + + + + +### ErrorInfo.MetadataEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| value | [string](#string) | | | + + + + + + + + +### Help +Provides links to documentation or for performing an out of band action. + +For example, if a quota check failed with an error indicating the calling +project hasn't enabled the accessed service, this can contain a URL pointing +directly to the right place in the developer console to flip the bit. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| links | [Help.Link](#google-rpc-Help-Link) | repeated | URL(s) pointing to additional information on handling the current error. | + + + + + + + + +### Help.Link +Describes a URL link. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| description | [string](#string) | | Describes what the link offers. | +| url | [string](#string) | | The URL of the link. | + + + + + + + + +### LocalizedMessage +Provides a localized error message that is safe to return to the user +which can be attached to an RPC error. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| locale | [string](#string) | | The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX" | +| message | [string](#string) | | The localized error message in the above locale. | + + + + + + + + +### PreconditionFailure +Describes what preconditions have failed. + +For example, if an RPC failed because it required the Terms of Service to be +acknowledged, it could list the terms of service violation in the +PreconditionFailure message. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| violations | [PreconditionFailure.Violation](#google-rpc-PreconditionFailure-Violation) | repeated | Describes all precondition violations. | + + + + + + + + +### PreconditionFailure.Violation +A message type used to describe a single precondition failure. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| type | [string](#string) | | The type of PreconditionFailure. We recommend using a service-specific enum type to define the supported precondition violation subjects. For example, "TOS" for "Terms of Service violation". | +| subject | [string](#string) | | The subject, relative to the type, that failed. For example, "google.com/cloud" relative to the "TOS" type would indicate which terms of service is being referenced. | +| description | [string](#string) | | A description of how the precondition failed. Developers can use this description to understand how to fix the failure. + +For example: "Terms of service not accepted". | + + + + + + + + +### QuotaFailure +Describes how a quota check failed. + +For example if a daily limit was exceeded for the calling project, +a service could respond with a QuotaFailure detail containing the project +id and the description of the quota limit that was exceeded. If the +calling project hasn't enabled the service in the developer console, then +a service could respond with the project id and set `service_disabled` +to true. + +Also see RetryInfo and Help types for other details about handling a +quota failure. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| violations | [QuotaFailure.Violation](#google-rpc-QuotaFailure-Violation) | repeated | Describes all quota violations. | + + + + + + + + +### QuotaFailure.Violation +A message type used to describe a single quota violation. For example, a +daily quota or a custom quota that was exceeded. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| subject | [string](#string) | | The subject on which the quota check failed. For example, `clientip:<ip address of client>` or `project:<Google developer project id>`. | +| description | [string](#string) | | A description of how the quota check failed. Clients can use this description to find more about the quota configuration in the service's public documentation, or find the relevant quota limit to adjust through developer console. + +For example: "Service disabled" or "Daily Limit for read operations exceeded". | + + + + + + + + +### RequestInfo +Contains metadata about the request that clients can attach when filing a bug +or providing other forms of feedback. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request_id | [string](#string) | | An opaque string that should only be interpreted by the service generating it. For example, it can be used to identify requests in the service's logs. | +| serving_data | [string](#string) | | Any data that was used to serve this request. For example, an encrypted stack trace that can be sent back to the service provider for debugging. | + + + + + + + + +### ResourceInfo +Describes the resource that is being accessed. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| resource_type | [string](#string) | | A name for the type of resource being accessed, e.g. "sql table", "cloud storage bucket", "file", "Google calendar"; or the type URL of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic". | +| resource_name | [string](#string) | | The name of the resource being accessed. For example, a shared calendar name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the current error is [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED]. | +| owner | [string](#string) | | The owner of the resource (optional). For example, `user:<owner email>` or `project:<Google developer project id>`. | +| description | [string](#string) | | Describes what error is encountered when accessing this resource. For example, updating a cloud project may require the `writer` permission on the developer console project. | + + + + + + + + +### RetryInfo +Describes when the clients can retry a failed request. Clients could ignore +the recommendation here or retry when this information is missing from error +responses. + +It's always recommended that clients should use exponential backoff when +retrying. + +Clients should wait until `retry_delay` amount of time has passed since +receiving the error response before retrying. If retrying requests also +fail, clients should use an exponential backoff scheme to gradually increase +the delay between retries based on `retry_delay`, until either a maximum +number of retries have been reached or a maximum retry delay cap has been +reached. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| retry_delay | [google.protobuf.Duration](#google-protobuf-Duration) | | Clients should wait at least this long between retrying the same request. | + + + + + + + + + + + + + + + + +

Top

+ +## google/rpc/status.proto + + + + + +### Status +The `Status` type defines a logical error model that is suitable for +different programming environments, including REST APIs and RPC APIs. It is +used by [gRPC](https://github.com/grpc). Each `Status` message contains +three pieces of data: error code, error message, and error details. + +You can find out more about this error model and how to work with it in the +[API Design Guide](https://cloud.google.com/apis/design/errors). + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| code | [int32](#int32) | | The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]. | +| message | [string](#string) | | A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client. | +| details | [google.protobuf.Any](#google-protobuf-Any) | repeated | A list of messages that carry the error details. There is a common set of message types for APIs to use. | + + + + + + + + + + + + + + + + +

Top

+ +## sui/node/v2/node_service.proto +The sui.node.v2 package contains API definitions for services that are +expected to run on Fullnodes. + + + + +### BalanceChange +The delta, or change, in balance for an address for a particular `Coin` type. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| address | [sui.types.Address](#sui-types-Address) | optional | The account address that is affected by this balance change event. | +| coin_type | [sui.types.TypeTag](#sui-types-TypeTag) | optional | The `Coin` type of this balance change event. | +| amount | [sui.types.I128](#sui-types-I128) | optional | The amount or change in balance. | + + + + + + + + +### EffectsFinality +Indicates the finality of the executed transaction. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| certified | [sui.types.ValidatorAggregatedSignature](#sui-types-ValidatorAggregatedSignature) | | A quorum certificate certifying that a transaction is final but might not be included in a checkpoint yet. | +| checkpointed | [uint64](#uint64) | | Sequence number of the checkpoint that includes the transaction. | +| quorum_executed | [google.protobuf.Empty](#google-protobuf-Empty) | | Indicates that a quorum of validators has executed the transaction but that it might not be included in a checkpoint yet. | + + + + + + + + +### ExecuteTransactionRequest +Request message for `NodeService.ExecuteTransaction`. + +Note: You must provide only one of `transaction` or `transaction_bcs`. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| transaction | [sui.types.Transaction](#sui-types-Transaction) | optional | Optional. The transaction to execute. | +| transaction_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The transaction to execute, encoded as BCS bytes. | +| signatures | [sui.types.UserSignature](#sui-types-UserSignature) | repeated | Optional. Set of `UserSiganture`s authorizing the execution of the provided transaction. | +| signatures_bytes | [bytes](#bytes) | repeated | Optional. Set of `UserSiganture`s authorizing the execution of the provided transaction, encoded as bytes. | +| read_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | optional | Optional. Mask for specifying which parts of the `ExecuteTransactionResponse` should be returned. | + + + + + + + + +### ExecuteTransactionResponse +Response message for `NodeService.ExecuteTransaction`. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| finality | [EffectsFinality](#sui-node-v2-EffectsFinality) | optional | Indicates the finality of the executed transaction. | +| effects | [sui.types.TransactionEffects](#sui-types-TransactionEffects) | optional | The `TransactionEffects` for this transaction. | +| effects_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | The [TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html) for this transaction encoded as BCS bytes. | +| events | [sui.types.TransactionEvents](#sui-types-TransactionEvents) | optional | The `TransactionEvents` for this transaction. + +This field might be empty, even if it was explicitly requested, if the transaction didn't produce any events. `sui.types.TransactionEffects.events_digest` is populated if the transaction produced any events. | +| events_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | The [TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html) for this transaction encoded as BCS bytes. | +| balance_changes | [BalanceChange](#sui-node-v2-BalanceChange) | repeated | Set of balance change events as a result of this transaction. + +This set of events are calculated by analyzing all input and output `Coin` type objects. | + + + + + + + + +### FullCheckpointObject +An object used by or produced from a transaction. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| object_id | [sui.types.ObjectId](#sui-types-ObjectId) | optional | The `ObjectId` of this object. | +| version | [uint64](#uint64) | optional | The version of this object. | +| digest | [sui.types.Digest](#sui-types-Digest) | optional | The digest of this object. | +| object | [sui.types.Object](#sui-types-Object) | optional | The object itself. | +| object_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | The [object](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Object.html) encoded as BCS bytes. | + + + + + + + + +### FullCheckpointTransaction +A transaction, with all of its inputs and outputs. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| digest | [sui.types.Digest](#sui-types-Digest) | optional | The digest of this transaction. | +| transaction | [sui.types.Transaction](#sui-types-Transaction) | optional | The transaction itself. | +| transaction_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | The [Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html) encoded as BCS bytes. | +| effects | [sui.types.TransactionEffects](#sui-types-TransactionEffects) | optional | The `TransactionEffects` for this transaction. | +| effects_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | The [TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html) for this transaction encoded as BCS bytes. | +| events | [sui.types.TransactionEvents](#sui-types-TransactionEvents) | optional | The `TransactionEvents` for this transaction. + +This field might be empty, even if it was explicitly requested, if the transaction didn't produce any events. `sui.types.TransactionEffects.events_digest` is populated if the transaction produced any events. | +| events_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | The [TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html) for this transaction encoded as BCS bytes. | +| input_objects | [FullCheckpointObject](#sui-node-v2-FullCheckpointObject) | repeated | Set of input objects used during the execution of this transaction. | +| output_objects | [FullCheckpointObject](#sui-node-v2-FullCheckpointObject) | repeated | Set of output objects produced from the execution of this transaction. | + + + + + + + + +### GetCheckpointRequest +Request message for `NodeService.GetCheckpoint`. + +At most, provide one of `sequence_number` or `digest`. An error is +returned if you attempt to provide both. If you provide neither, the service +returns the latest executed checkpoint. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sequence_number | [uint64](#uint64) | optional | Optional. The sequence number of the requested checkpoint. | +| digest | [sui.types.Digest](#sui-types-Digest) | optional | Optional. The digest of the requested checkpoint. | +| read_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | optional | Optional. Mask for specifying which parts of the `GetCheckpointResponse` should be returned. | + + + + + + + + +### GetCheckpointResponse +Response message for `NodeService.GetCheckpoint`. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sequence_number | [uint64](#uint64) | optional | The sequence number of this checkpoint. | +| digest | [sui.types.Digest](#sui-types-Digest) | optional | The digest of this checkpoint's `CheckpointSummary`. | +| summary | [sui.types.CheckpointSummary](#sui-types-CheckpointSummary) | optional | The `CheckpointSummary` for this checkpoint. | +| summary_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | The [CheckpointSummary](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointSummary.html) for this checkpoint encoded as BCS bytes. | +| signature | [sui.types.ValidatorAggregatedSignature](#sui-types-ValidatorAggregatedSignature) | optional | An aggregated quorum signature from the validator committee that certifies this checkpoint. | +| contents | [sui.types.CheckpointContents](#sui-types-CheckpointContents) | optional | The `CheckpointContents` for this checkpoint. | +| contents_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | The [CheckpointContents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointContents.html) for this checkpoint encoded as BCS bytes. | + + + + + + + + +### GetCommitteeRequest +Request message for NodeService.GetCommittee. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| epoch | [uint64](#uint64) | optional | Optional. Request the sui.types.ValidatorCommittee corresponding to the provided epoch. If no epoch is provided the committee for the current epoch will be returned. | + + + + + + + + +### GetCommitteeResponse +Response message for `NodeService.GetCommittee`. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| committee | [sui.types.ValidatorCommittee](#sui-types-ValidatorCommittee) | optional | The committee of either the requested epoch or the current epoch. | + + + + + + + + +### GetFullCheckpointRequest +Request message for `NodeService.GetFullCheckpoint`. + +At most, provide one of `sequence_number` or `digest`. An error is +returned if you provide both. If you provide neither, the service +returns the latest executed checkpoint. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sequence_number | [uint64](#uint64) | optional | Optional. The sequence number of the requested checkpoint. | +| digest | [sui.types.Digest](#sui-types-Digest) | optional | Optional. The digest of the requested checkpoint. | +| read_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | optional | Optional. Mask for specifying which parts of the `GetFullCheckpointResponse` should be returned. | + + + + + + + + +### GetFullCheckpointResponse +Response message for `NodeService.GetFullCheckpoint`. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| sequence_number | [uint64](#uint64) | optional | The sequence number of this checkpoint. | +| digest | [sui.types.Digest](#sui-types-Digest) | optional | The digest of this checkpoint's `CheckpointSummary`. | +| summary | [sui.types.CheckpointSummary](#sui-types-CheckpointSummary) | optional | The `CheckpointSummary` for this checkpoint. | +| summary_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | The [CheckpointSummary](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointSummary.html) for this checkpoint encoded as BCS bytes. | +| signature | [sui.types.ValidatorAggregatedSignature](#sui-types-ValidatorAggregatedSignature) | optional | An aggregated quorum signature from the validator committee that certifies this checkpoint. | +| contents | [sui.types.CheckpointContents](#sui-types-CheckpointContents) | optional | The `CheckpointContents` for this checkpoint. | +| contents_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | The [CheckpointContents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointContents.html) for this checkpoint encoded as BCS bytes. | +| transactions | [FullCheckpointTransaction](#sui-node-v2-FullCheckpointTransaction) | repeated | List of transactions included in this checkpoint. | + + + + + + + + +### GetNodeInfoRequest +Request message for `NodeService.GetNodeInfo`. + + + + + + + + +### GetNodeInfoResponse +Response message for `NodeService.GetNodeInfo`. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| chain_id | [sui.types.Digest](#sui-types-Digest) | optional | The chain identifier of the chain that this node is on. + +The chain identifier is the digest of the genesis checkpoint, the checkpoint with sequence number 0. | +| chain | [string](#string) | optional | Human-readable name of the chain that this node is on. + +This is intended to be a human-readable name like `mainnet`, `testnet`, and so on. | +| epoch | [uint64](#uint64) | optional | Current epoch of the node based on its highest executed checkpoint. | | checkpoint_height | [uint64](#uint64) | optional | Checkpoint height of the most recently executed checkpoint. | | timestamp | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | optional | Unix timestamp of the most recently executed checkpoint. | | lowest_available_checkpoint | [uint64](#uint64) | optional | The lowest checkpoint for which checkpoints and transaction data are available. | @@ -588,167 +1464,548 @@ This is intended to be a human-readable name like `mainnet`, `testnet`, and so o - + + +### GetObjectRequest +Request message for `NodeService.GetObject`. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| object_id | [sui.types.ObjectId](#sui-types-ObjectId) | optional | Required. The `ObjectId` of the requested object. | +| version | [uint64](#uint64) | optional | Optional. Request that a specific version of the requested object is returned. If no version is provided, then then the latest version for the object is returned. | +| read_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | optional | Optional. Mask for specifying which parts of the `GetObjectResponse` should be returned. | + + + + + + + + +### GetObjectResponse +Response message for `NodeService.GetObject`. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| object_id | [sui.types.ObjectId](#sui-types-ObjectId) | optional | The `ObjectId` of this object. | +| version | [uint64](#uint64) | optional | The version of this object. | +| digest | [sui.types.Digest](#sui-types-Digest) | optional | The digest of this object. | +| object | [sui.types.Object](#sui-types-Object) | optional | The object itself. | +| object_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | The [Object](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Object.html) encoded as BCS bytes. | + + + + + + + + +### GetTransactionRequest +Request message for `NodeService.GetTransaction`. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| digest | [sui.types.Digest](#sui-types-Digest) | optional | Required. The digest of the requested transaction. | +| read_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | optional | Optional. Mask for specifying which parts of the `GetTransactionResponse` should be returned. | + + + + + + + + +### GetTransactionResponse +Response message for `NodeService.GetTransactio`n. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| digest | [sui.types.Digest](#sui-types-Digest) | optional | The digest of this [Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html). | +| transaction | [sui.types.Transaction](#sui-types-Transaction) | optional | The transaction itself. | +| transaction_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | The [Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html) encoded as BCS bytes. | +| signatures | [sui.types.UserSignature](#sui-types-UserSignature) | repeated | List of user signatures that are used to authorize the execution of this transaction. | +| signatures_bytes | [bytes](#bytes) | repeated | List of [UserSignature](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.UserSignature.html)s encoded as bytes. | +| effects | [sui.types.TransactionEffects](#sui-types-TransactionEffects) | optional | The `TransactionEffects` for this transaction. | +| effects_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | The [TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html) for this transaction encoded as BCS bytes. | +| events | [sui.types.TransactionEvents](#sui-types-TransactionEvents) | optional | The `TransactionEvents` for this transaction. + +This field might be empty, even if it was explicitly requested, if the transaction didn't produce any events. `sui.types.TransactionEffects.events_digest` is populated if the transaction produced any events. | +| events_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | The [TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html) for this transaction encoded as BCS bytes. | +| checkpoint | [uint64](#uint64) | optional | The sequence number for the checkpoint that includes this transaction. | +| timestamp | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | optional | The Unix timestamp of the checkpoint that includes this transaction. | + + + + + + + + + + + + + + +### NodeService +Service for reading data from a Sui Fullnode. + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| GetNodeInfo | [GetNodeInfoRequest](#sui-node-v2-GetNodeInfoRequest) | [GetNodeInfoResponse](#sui-node-v2-GetNodeInfoResponse) | Query a node for information about its current state. | +| GetCommittee | [GetCommitteeRequest](#sui-node-v2-GetCommitteeRequest) | [GetCommitteeResponse](#sui-node-v2-GetCommitteeResponse) | Request the validator committee for a particular epoch or for the current epoch. | +| GetObject | [GetObjectRequest](#sui-node-v2-GetObjectRequest) | [GetObjectResponse](#sui-node-v2-GetObjectResponse) | Request information for the specified object. + +Use this API to request an object by its `ObjectId`. The version of the object returned is dependent on if you request a specific version. If you do not request a specific version (GetObjectRequest.version is `None`), then the most recent version (if the object is live) is returned. If you do request a version, that version is returned if it historically existed, is available, and has not been pruned. + +Due to storage limitations, implementers of this service might prune older historical data, which can limit the data availability of this API. To determine the data availability range for historical objects, clients can look at `GetNodeInfoResponse.lowest_available_checkpoint_objects` to see the lowest checkpoint for which historical object data is available. | +| GetTransaction | [GetTransactionRequest](#sui-node-v2-GetTransactionRequest) | [GetTransactionResponse](#sui-node-v2-GetTransactionResponse) | Request information for the specified transaction. + +Use this API to request information about a transaction by its digest. + +Due to storage limitations, implementers of this service might prune older historical data, which can limit the data availability of this API. To determine the data availability range for historical transactions, clients can look at `GetNodeInfoResponse.lowest_available_checkpoint` to see the lowest checkpoint for which historical transaction data is available. | +| GetCheckpoint | [GetCheckpointRequest](#sui-node-v2-GetCheckpointRequest) | [GetCheckpointResponse](#sui-node-v2-GetCheckpointResponse) | Request information for the specified checkpoint. + +Use this API to request information about a checkpoint either by its digest or its sequence number (height). + +Due to storage limitations, implementers of this service might prune older historical data, which can limit the data availability of this API. To determine the data availability range for historical checkpoints, clients can look at `GetNodeInfoResponse.lowest_available_checkpoint` to see the lowest checkpoint for which historical checkpoint data is available. | +| GetFullCheckpoint | [GetFullCheckpointRequest](#sui-node-v2-GetFullCheckpointRequest) | [GetFullCheckpointResponse](#sui-node-v2-GetFullCheckpointResponse) | Request information for the entirety of the specified checkpoint. + +Use this API to request information about a checkpoint either by its digest or its sequence number (height). In particular, you can use this API to request information about all the transactions included in a checkpoint, as well as their input and output objects. + +Due to storage limitations, implementers of this service might prune older historical data, which can limit the data availability of this API. To determine the data availability range for historical checkpoints, clients can look at `GetNodeInfoResponse.lowest_available_checkpoint` to see the lowest checkpoint for which historical checkpoint/transaction data is available and `GetNodeInfoResponse.lowest_available_checkpoint_objects` for which historical object data is available. | +| ExecuteTransaction | [ExecuteTransactionRequest](#sui-node-v2-ExecuteTransactionRequest) | [ExecuteTransactionResponse](#sui-node-v2-ExecuteTransactionResponse) | Request that the provided transaction be relayed to the validator set for execution and inclusion in the blockchain. | + + + + + + +

Top

+ +## sui/node/v2alpha/node_service.proto +The sui.node.v2alpha package contains experimental services that have yet to +stabilize + +Everything in here is subject to change and there is no gaurentee about +stability or breaking changes. + + + + +### AccountObject + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| owner | [sui.types.Address](#sui-types-Address) | optional | | +| object_id | [sui.types.ObjectId](#sui-types-ObjectId) | optional | | +| version | [uint64](#uint64) | optional | | +| object_type | [sui.types.StructTag](#sui-types-StructTag) | optional | | + + + + + + + + +### CoinMetadata +Metadata for a coin type + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [sui.types.ObjectId](#sui-types-ObjectId) | optional | ObjectId of the `0x2::coin::CoinMetadata` object. | +| decimals | [uint32](#uint32) | optional | Number of decimal places to coin uses. | +| name | [string](#string) | optional | Name for the token | +| symbol | [string](#string) | optional | Symbol for the token | +| description | [string](#string) | optional | Description of the token | +| icon_url | [string](#string) | optional | URL for the token logo | + + + + + + + + +### CoinTreasury +Information about a coin type's `0x2::coin::TreasuryCap` and its total available supply + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [sui.types.ObjectId](#sui-types-ObjectId) | optional | ObjectId of the `0x2::coin::TreasuryCap` object. | +| total_supply | [uint64](#uint64) | optional | Total available supply for this coin type. | + + + + + + + + +### DynamicField + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| parent | [sui.types.ObjectId](#sui-types-ObjectId) | optional | Required. ObjectId of this dynamic field's parent. | +| field_id | [sui.types.ObjectId](#sui-types-ObjectId) | optional | Required. ObjectId of this dynamic field. | +| name_type | [sui.types.TypeTag](#sui-types-TypeTag) | optional | Required. The type of the dynamic field "name" | +| name_value | [bytes](#bytes) | optional | Required. The serialized move value of "name" | +| dynamic_object_id | [sui.types.ObjectId](#sui-types-ObjectId) | optional | The ObjectId of the child object when a child is a dynamic object field. + +The presence or absence of this field can be used to determine if a child is a dynamic field or a dynamic child object | + + + + + + + + +### GetCoinInfoRequest +Request message for `NodeService.GetCoinInfo`. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| coin_type | [sui.types.TypeTag](#sui-types-TypeTag) | optional | The coin type to request information about | + + + + + + + + +### GetCoinInfoResponse +Response message for `NodeService.GetCoinInfo`. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| coin_type | [sui.types.TypeTag](#sui-types-TypeTag) | optional | Required. The coin type. | +| metadata | [CoinMetadata](#sui-node-v2alpha-CoinMetadata) | optional | This field will be populated with information about this coin type's `0x2::coin::CoinMetadata` if it exists and has not been wrapped. | +| treasury | [CoinTreasury](#sui-node-v2alpha-CoinTreasury) | optional | This field will be populated with information about this coin type's `0x2::coin::TreasuryCap` if it exists and has not been wrapped. | + + + + + + + + +### GetGasInfoRequest + + + + + + + + + +### GetGasInfoResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| reference_gas_price | [uint64](#uint64) | optional | Reference gas price denominated in MIST | + + + + + + + + +### GetProtocolConfigRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| version | [uint64](#uint64) | optional | | + + + + + + + + +### GetProtocolConfigResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| protocol_version | [uint64](#uint64) | optional | | +| feature_flags | [GetProtocolConfigResponse.FeatureFlagsEntry](#sui-node-v2alpha-GetProtocolConfigResponse-FeatureFlagsEntry) | repeated | | +| attributes | [GetProtocolConfigResponse.AttributesEntry](#sui-node-v2alpha-GetProtocolConfigResponse-AttributesEntry) | repeated | | +| max_suppported_protocol_version | [uint64](#uint64) | optional | | +| min_suppported_protocol_version | [uint64](#uint64) | optional | | + + + + + + + + +### GetProtocolConfigResponse.AttributesEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| value | [string](#string) | | | + + + + + + + + +### GetProtocolConfigResponse.FeatureFlagsEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| value | [bool](#bool) | | | + + + + + + + + +### ListAccountObjectsRequest +Request message for `NodeService.ListAccountObjects` + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| owner | [sui.types.Address](#sui-types-Address) | optional | Required. The address of the account that owns the objects. | +| page_size | [uint32](#uint32) | optional | The maximum number of entries return. The service may return fewer than this value. If unspecified, at most `50` entries will be returned. The maximum value is `1000`; values above `1000` will be coerced to `1000`. | +| page_token | [string](#string) | optional | A page token, received from a previous `ListAccountObjects` call. Provide this to retrieve the subsequent page. + +When paginating, all other parameters provided to `ListAccountObjects` must match the call that provided the page token. | + + + + + + + + +### ListAccountObjectsResponse +Response message for `NodeService.ListAccountObjects` + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| objects | [AccountObject](#sui-node-v2alpha-AccountObject) | repeated | Page of dynamic fields owned by the specified parent. | +| next_page_token | [string](#string) | optional | A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. | + + + + + -### GetObjectOptions + +### ListDynamicFieldsRequest +Request message for `NodeService.ListDynamicFields` | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| object | [bool](#bool) | optional | Include the `sui.types.Object` message in the response. - -Defaults to `false` if not included. | -| object_bcs | [bool](#bool) | optional | Include the object formatted as BCS in the response. +| parent | [sui.types.ObjectId](#sui-types-ObjectId) | optional | Required. The `UID` of the parent, which owns the collections of dynamic fields. | +| page_size | [uint32](#uint32) | optional | The maximum number of dynamic fields to return. The service may return fewer than this value. If unspecified, at most `50` entries will be returned. The maximum value is `1000`; values above `1000` will be coerced to `1000`. | +| page_token | [string](#string) | optional | A page token, received from a previous `ListDynamicFields` call. Provide this to retrieve the subsequent page. -Defaults to `false` if not included. | +When paginating, all other parameters provided to `ListDynamicFields` must match the call that provided the page token. | - + -### GetObjectRequest -Request message for `NodeService.GetObject`. +### ListDynamicFieldsResponse +Response message for `NodeService.ListDynamicFields` | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| object_id | [sui.types.ObjectId](#sui-types-ObjectId) | optional | Required. The `ObjectId` of the requested object. | -| version | [uint64](#uint64) | optional | Optional. Request that a specific version of the requested object is returned. If no version is provided, then then the latest version for the object is returned. | -| options | [GetObjectOptions](#sui-node-v2-GetObjectOptions) | optional | Optional. Options for specifying which parts of the `GetObjectResponse` should be returned. | +| dynamic_fields | [DynamicField](#sui-node-v2alpha-DynamicField) | repeated | Page of dynamic fields owned by the specified parent. | +| next_page_token | [string](#string) | optional | A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. | - + -### GetObjectResponse -Response message for `NodeService.GetObject`. +### RegulatedCoinMetadata +Information about a regulated coin, which indicates that it makes use of the transfer deny list. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| object_id | [sui.types.ObjectId](#sui-types-ObjectId) | optional | The `ObjectId` of this object. | -| version | [uint64](#uint64) | optional | The version of this object. | -| digest | [sui.types.Digest](#sui-types-Digest) | optional | The digest of this object. | -| object | [sui.types.Object](#sui-types-Object) | optional | Optional. The object itself. | -| object_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The [Object](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Object.html) encoded as BCS bytes. | +| id | [sui.types.ObjectId](#sui-types-ObjectId) | optional | ObjectId of the `0x2::coin::RegulatedCoinMetadata` object. | +| coin_metadata_object | [sui.types.ObjectId](#sui-types-ObjectId) | optional | The ID of the coin's `CoinMetadata` object. | +| deny_cap_object | [sui.types.ObjectId](#sui-types-ObjectId) | optional | The ID of the coin's `DenyCap` object. | + + - +### ResolveTransactionRequest -### GetTransactionOptions -Options for which parts of the `GetTransactionResponse` should be returned. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| transaction | [bool](#bool) | optional | Include the `sui.types.Transaction` message in the response. +| unresolved_transaction | [string](#string) | optional | TODO FIX TYPE Json unresolved transaction type | +| read_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | optional | | + + -Defaults to `false` if not included. | -| transaction_bcs | [bool](#bool) | optional | Include the transaction formatted as BCS in the response. -Defaults to `false` if not included. | -| signatures | [bool](#bool) | optional | Include the set of `sui.types.UserSignature`s in the response. -Defaults to `false` if not included. | -| signatures_bytes | [bool](#bool) | optional | Include the set of `UserSignature`s encoded as bytes in the response. -Defaults to `false` if not included. | -| effects | [bool](#bool) | optional | Include the `sui.types.TransactionEffects` message in the response. + -Defaults to `false` if not included. | -| effects_bcs | [bool](#bool) | optional | Include the `TransactionEffects` formatted as BCS in the response. +### ResolveTransactionResponse -Defaults to `false` if not included. | -| events | [bool](#bool) | optional | Include the `sui.types.TransactionEvents` message in the response. -Defaults to `false` if not included. | -| events_bcs | [bool](#bool) | optional | Include the `TransactionEvents` formatted as BCS in the response. -Defaults to `false` if not included. | +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| transaction_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | | +| simulation | [SimulateTransactionResponse](#sui-node-v2alpha-SimulateTransactionResponse) | optional | | - + + +### SimulateTransactionRequest -### GetTransactionRequest -Request message for `NodeService.GetTransaction`. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| digest | [sui.types.Digest](#sui-types-Digest) | optional | Required. The digest of the requested transaction. | -| options | [GetTransactionOptions](#sui-node-v2-GetTransactionOptions) | optional | Optional. Options for specifying which parts of the `GetTransactionResponse` should be returned. | +| transaction_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | | +| read_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | optional | | - + + +### SimulateTransactionResponse -### GetTransactionResponse -Response message for `NodeService.GetTransactio`n. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| digest | [sui.types.Digest](#sui-types-Digest) | optional | The digest of this [Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html). | -| transaction | [sui.types.Transaction](#sui-types-Transaction) | optional | Optional. The transaction itself. | -| transaction_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The [Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html) encoded as BCS bytes. | -| signatures | [UserSignatures](#sui-node-v2-UserSignatures) | optional | Optional. List of user signatures that are used to authorize the execution of this transaction. | -| signatures_bytes | [UserSignaturesBytes](#sui-node-v2-UserSignaturesBytes) | optional | Optional. List of [UserSignature](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.UserSignature.html)s encoded as bytes. | -| effects | [sui.types.TransactionEffects](#sui-types-TransactionEffects) | optional | Optional. The `TransactionEffects` for this transaction. | -| effects_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The [TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html) for this transaction encoded as BCS bytes. | -| events | [sui.types.TransactionEvents](#sui-types-TransactionEvents) | optional | Optional. The `TransactionEvents` for this transaction. +| effects_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | | +| events_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | | +| balance_changes | [sui.node.v2.BalanceChange](#sui-node-v2-BalanceChange) | repeated | | + -This field might be empty, even if it was explicitly requested, if the transaction didn't produce any events. `sui.types.TransactionEffects.events_digest` is populated if the transaction produced any events. | -| events_bcs | [sui.types.Bcs](#sui-types-Bcs) | optional | Optional. The [TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html) for this transaction encoded as BCS bytes. | -| checkpoint | [uint64](#uint64) | optional | The sequence number for the checkpoint that includes this transaction. | -| timestamp | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | optional | The Unix timestamp of the checkpoint that includes this transaction. | + + + + + + + + + +### NodeService +Service for reading data from a Sui Full node. + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| GetCoinInfo | [GetCoinInfoRequest](#sui-node-v2alpha-GetCoinInfoRequest) | [GetCoinInfoResponse](#sui-node-v2alpha-GetCoinInfoResponse) | Request information for the specified coin type. | +| ListDynamicFields | [ListDynamicFieldsRequest](#sui-node-v2alpha-ListDynamicFieldsRequest) | [ListDynamicFieldsResponse](#sui-node-v2alpha-ListDynamicFieldsResponse) | List the dynamic fields for provided parent. | +| ListAccountObjects | [ListAccountObjectsRequest](#sui-node-v2alpha-ListAccountObjectsRequest) | [ListAccountObjectsResponse](#sui-node-v2alpha-ListAccountObjectsResponse) | | +| GetProtocolConfig | [GetProtocolConfigRequest](#sui-node-v2alpha-GetProtocolConfigRequest) | [GetProtocolConfigResponse](#sui-node-v2alpha-GetProtocolConfigResponse) | | +| GetGasInfo | [GetGasInfoRequest](#sui-node-v2alpha-GetGasInfoRequest) | [GetGasInfoResponse](#sui-node-v2alpha-GetGasInfoResponse) | | +| SimulateTransaction | [SimulateTransactionRequest](#sui-node-v2alpha-SimulateTransactionRequest) | [SimulateTransactionResponse](#sui-node-v2alpha-SimulateTransactionResponse) | | +| ResolveTransaction | [ResolveTransactionRequest](#sui-node-v2alpha-ResolveTransactionRequest) | [ResolveTransactionResponse](#sui-node-v2alpha-ResolveTransactionResponse) | | + + + + +

Top

+ +## sui/node/v2alpha/subscription_service.proto +The sui.node.v2alpha package contains experimental services that have yet to +stabilize + +Everything in here is subject to change and there is no gaurentee about +stability or breaking changes. + - + -### UserSignatures -List of `UserSignature`s used to authorize a transaction. +### SubscribeCheckpointsRequest +Request message for SubscriptionService.SubscribeCheckpoints | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| signatures | [sui.types.UserSignature](#sui-types-UserSignature) | repeated | | +| read_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | optional | Optional. Mask for specifiying which parts of the SubscribeCheckpointsResponse should be returned. | - + -### UserSignaturesBytes -List of `UserSignature`s used to authorize a transaction encoded as bytes. +### SubscribeCheckpointsResponse +Response message for SubscriptionService.SubscribeCheckpoints | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| signatures | [bytes](#bytes) | repeated | | +| cursor | [uint64](#uint64) | optional | Required. The checkpoint sequence number and value of the current cursor into the checkpoint stream | +| checkpoint | [sui.node.v2.GetFullCheckpointResponse](#sui-node-v2-GetFullCheckpointResponse) | optional | The requested data for this checkpoint | @@ -761,45 +2018,63 @@ List of `UserSignature`s used to authorize a transaction encoded as bytes. - + -### NodeService -Service for reading data from a Sui Full node. +### SubscriptionService +Service for subscribing to data from a Sui Fullnode | Method Name | Request Type | Response Type | Description | | ----------- | ------------ | ------------- | ------------| -| GetNodeInfo | [GetNodeInfoRequest](#sui-node-v2-GetNodeInfoRequest) | [GetNodeInfoResponse](#sui-node-v2-GetNodeInfoResponse) | Query a node for information about its current state. | -| GetCommittee | [GetCommitteeRequest](#sui-node-v2-GetCommitteeRequest) | [GetCommitteeResponse](#sui-node-v2-GetCommitteeResponse) | Request the validator committee for a particular epoch or for the current epoch. | -| GetObject | [GetObjectRequest](#sui-node-v2-GetObjectRequest) | [GetObjectResponse](#sui-node-v2-GetObjectResponse) | Request information for the specified object. +| SubscribeCheckpoints | [SubscribeCheckpointsRequest](#sui-node-v2alpha-SubscribeCheckpointsRequest) | [SubscribeCheckpointsResponse](#sui-node-v2alpha-SubscribeCheckpointsResponse) stream | Subscribe to the stream of checkpoints. -Use this API to request an object by its `ObjectId`. The version of the object returned is dependent on if you request a specific version. If you do not request a specific version (GetObjectRequest.version is `None`), then the most recent version (if the object is live) is returned. If you do request a version, that version is returned if it historically existed, is available, and has not been pruned. +This API provides a subscription to the checkpoint stream for the Sui blockchain. When a subscription is initialized the stream will begin with the latest executed checkpoint as seen by the server. Responses are gaurenteed to return checkpoints in-order and without gaps. This enables clients to know exactly the last checkpoint they have processed and in the event the subscription terminates (either by the client/server or by the connection breaking), clients will be able to reinitailize a subscription and then leverage other APIs (e.g. sui.node.v2.NodeService.GetFullCheckpoint) in order to request data for the checkpoints they missed. | -Due to storage limitations, implementers of this service might prune older historical data, which can limit the data availability of this API. To determine the data availability range for historical objects, clients can look at `GetNodeInfoResponse.lowest_available_checkpoint_objects` to see the lowest checkpoint for which historical object data is available. | -| GetTransaction | [GetTransactionRequest](#sui-node-v2-GetTransactionRequest) | [GetTransactionResponse](#sui-node-v2-GetTransactionResponse) | Request information for the specified transaction. + -Use this API to request information about a transaction by its digest. -Due to storage limitations, implementers of this service might prune older historical data, which can limit the data availability of this API. To determine the data availability range for historical transactions, clients can look at `GetNodeInfoResponse.lowest_available_checkpoint` to see the lowest checkpoint for which historical transaction data is available. | -| GetCheckpoint | [GetCheckpointRequest](#sui-node-v2-GetCheckpointRequest) | [GetCheckpointResponse](#sui-node-v2-GetCheckpointResponse) | Request information for the specified checkpoint. -Use this API to request information about a checkpoint either by its digest or its sequence number (height). + +

Top

-Due to storage limitations, implementers of this service might prune older historical data, which can limit the data availability of this API. To determine the data availability range for historical checkpoints, clients can look at `GetNodeInfoResponse.lowest_available_checkpoint` to see the lowest checkpoint for which historical checkpoint data is available. | -| GetFullCheckpoint | [GetFullCheckpointRequest](#sui-node-v2-GetFullCheckpointRequest) | [GetFullCheckpointResponse](#sui-node-v2-GetFullCheckpointResponse) | Request information for the entirety of the specified checkpoint. +## sui/types/signature_scheme.proto -Use this API to request information about a checkpoint either by its digest or its sequence number (height). In particular, you can use this API to request information about all the transactions included in a checkpoint, as well as their input and output objects. -Due to storage limitations, implementers of this service might prune older historical data, which can limit the data availability of this API. To determine the data availability range for historical checkpoints, clients can look at `GetNodeInfoResponse.lowest_available_checkpoint` to see the lowest checkpoint for which historical checkpoint/transaction data is available and `GetNodeInfoResponse.lowest_available_checkpoint_objects` for which historical object data is available. | -| ExecuteTransaction | [ExecuteTransactionRequest](#sui-node-v2-ExecuteTransactionRequest) | [ExecuteTransactionResponse](#sui-node-v2-ExecuteTransactionResponse) | Request that the provided transaction be relayed to the validator set for execution and inclusion in the blockchain. | + + + + + +### SignatureScheme +Flag use to disambiguate the signature schemes supported by Sui. + +Note: the enum values defined by this proto message exactly match their +expected BCS serialized values when serialized as a u8. See +[enum.SignatureScheme](https://mystenlabs.github.io/sui-rust-sdk/sui_sdk_types/enum.SignatureScheme.html) +for more information about signature schemes. + +| Name | Number | Description | +| ---- | ------ | ----------- | +| ED25519 | 0 | | +| SECP256K1 | 1 | | +| SECP256R1 | 2 | | +| MULTISIG | 3 | | +| BLS12381 | 4 | | +| ZKLOGIN | 5 | | +| PASSKEY | 6 | | + + + + + - +

Top

-## sui.types.proto +## sui/types/types.proto Protobuf definitions of public Sui core types. This file contains a complete set of protobuf definitions for all of the @@ -822,10 +2097,6 @@ on the wire are zero-initialized. To gain the ability to detect these definitions follow the convention of having all fields marked `optional`, and wrapping `repeated` fields in a message as needed. -Even if a field is marked as `optional`, it might not actually be optional from -the perspective of the Sui protocol. Such fields are explicitly labled -as `Required` or `Optional` in their documentation. - @@ -857,7 +2128,7 @@ hexadecimal with a `0x` prefix. For example, this is a valid Sui address: | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| address | [bytes](#bytes) | optional | Required. 32-byte address. | +| address | [bytes](#bytes) | optional | 32-byte address. | @@ -872,8 +2143,8 @@ Address is denied for this coin type. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| address | [Address](#sui-types-Address) | optional | Required. Denied address. | -| coin_type | [string](#string) | optional | Required. Coin type. | +| address | [Address](#sui-types-Address) | optional | Denied address. | +| coin_type | [string](#string) | optional | Coin type. | @@ -942,7 +2213,7 @@ format. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| bcs | [bytes](#bytes) | optional | Required. Bytes of a BCS encoded value. | +| bcs | [bytes](#bytes) | optional | Bytes of a BCS encoded value. | @@ -957,7 +2228,7 @@ A point on the BN254 elliptic curve. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| element | [bytes](#bytes) | optional | Required. 32-byte big-endian field element. | +| element | [bytes](#bytes) | optional | 32-byte big-endian field element. | @@ -1025,7 +2296,7 @@ Input/output state of an object that was changed during execution. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| object_id | [ObjectId](#sui-types-ObjectId) | optional | Required. ID of the object. | +| object_id | [ObjectId](#sui-types-ObjectId) | optional | ID of the object. | | not_exist | [google.protobuf.Empty](#google-protobuf-Empty) | | Object did not exist prior to this transaction. | | exist | [ObjectExist](#sui-types-ObjectExist) | | Object existed prior to this transaction. | | removed | [google.protobuf.Empty](#google-protobuf-Empty) | | Object was removed from the store due to this transaction. | @@ -1154,9 +2425,9 @@ A G1 point. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| e0 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | Required. | -| e1 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | Required. | -| e2 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | Required. | +| e0 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | | +| e1 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | | +| e2 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | | @@ -1171,12 +2442,12 @@ A G2 point. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| e00 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | Required. | -| e01 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | Required. | -| e10 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | Required. | -| e11 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | Required. | -| e20 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | Required. | -| e21 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | Required. | +| e00 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | | +| e01 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | | +| e10 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | | +| e11 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | | +| e20 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | | +| e21 | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | | @@ -1212,7 +2483,7 @@ An error with an argument to a command. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| argument | [uint32](#uint32) | optional | Required. Position of the problematic argument. | +| argument | [uint32](#uint32) | optional | Position of the problematic argument. | | type_mismatch | [google.protobuf.Empty](#google-protobuf-Empty) | | The type of the value does not match the expected type. | | invalid_bcs_bytes | [google.protobuf.Empty](#google-protobuf-Empty) | | The argument cannot be deserialized into a value of the specified type. | | invalid_usage_of_pure_argument | [google.protobuf.Empty](#google-protobuf-Empty) | | The argument cannot be instantiated from raw bytes. | @@ -1303,7 +2574,7 @@ Version assignments performed by consensus. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| digest | [bytes](#bytes) | optional | Required. 32-byte hash. | +| digest | [bytes](#bytes) | optional | 32-byte hash. | @@ -1391,8 +2662,8 @@ The status of an executed transaction. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| success | [bool](#bool) | optional | Required. Indicates if the transaction was successful or not. | -| status | [FailureStatus](#sui-types-FailureStatus) | optional | Optional. The error if `success` is false. | +| success | [bool](#bool) | optional | Indicates if the transaction was successful or not. | +| status | [FailureStatus](#sui-types-FailureStatus) | optional | The error if `success` is false. | @@ -1565,7 +2836,7 @@ A signed 128-bit integer encoded in little-endian using 16-bytes. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| bytes | [bytes](#bytes) | optional | Required. 16-byte little-endian bytes. | +| bytes | [bytes](#bytes) | optional | 16-byte little-endian bytes. | @@ -1697,8 +2968,8 @@ Indicates that an object was modified at a specific version. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| object_id | [ObjectId](#sui-types-ObjectId) | optional | Required. `ObjectId` of the object. | -| version | [uint64](#uint64) | optional | Required. Version of the object prior to this transaction. | +| object_id | [ObjectId](#sui-types-ObjectId) | optional | `ObjectId` of the object. | +| version | [uint64](#uint64) | optional | Version of the object prior to this transaction. | @@ -1767,11 +3038,11 @@ Location in Move bytecode where an error occurred.s | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| package | [ObjectId](#sui-types-ObjectId) | optional | Required. The package ID. | -| module | [Identifier](#sui-types-Identifier) | optional | Required. The module name. | -| function | [uint32](#uint32) | optional | Required. The function index. | -| instruction | [uint32](#uint32) | optional | Required. Offset of the instruction where the error occurred. | -| function_name | [Identifier](#sui-types-Identifier) | optional | Optional. The name of the function, if available. | +| package | [ObjectId](#sui-types-ObjectId) | optional | The package ID. | +| module | [Identifier](#sui-types-Identifier) | optional | The module name. | +| function | [uint32](#uint32) | optional | The function index. | +| instruction | [uint32](#uint32) | optional | Offset of the instruction where the error occurred. | +| function_name | [Identifier](#sui-types-Identifier) | optional | The name of the function, if available. | @@ -1918,9 +3189,9 @@ Aggregated signature from members of a multisig committee. | signatures | [MultisigMemberSignature](#sui-types-MultisigMemberSignature) | repeated | The plain signatures encoded with signature scheme. The signatures must be in the same order as they are listed in the committee. | -| bitmap | [uint32](#uint32) | optional | Required. Bitmap indicating which committee members contributed to the signature. | -| legacy_bitmap | [RoaringBitmap](#sui-types-RoaringBitmap) | optional | Optional. If present, means this signature's on-chain format uses the old legacy multisig format. | -| committee | [MultisigCommittee](#sui-types-MultisigCommittee) | optional | Required. The committee to use to validate this signature. | +| bitmap | [uint32](#uint32) | optional | Bitmap indicating which committee members contributed to the signature. | +| legacy_bitmap | [RoaringBitmap](#sui-types-RoaringBitmap) | optional | If present, means this signature's on-chain format uses the old legacy multisig format. | +| committee | [MultisigCommittee](#sui-types-MultisigCommittee) | optional | The committee to use to validate this signature. | @@ -1936,7 +3207,7 @@ A multisig committee. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | members | [MultisigMember](#sui-types-MultisigMember) | repeated | A list of committee members and their corresponding weight. | -| threshold | [uint32](#uint32) | optional | Required. The threshold of signatures needed to validate a signature from this committee. | +| threshold | [uint32](#uint32) | optional | The threshold of signatures needed to validate a signature from this committee. | @@ -1951,8 +3222,8 @@ A member in a multisig committee. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| public_key | [MultisigMemberPublicKey](#sui-types-MultisigMemberPublicKey) | optional | Required. The public key of the committee member. | -| weight | [uint32](#uint32) | optional | Required. The weight of this member's signature. | +| public_key | [MultisigMemberPublicKey](#sui-types-MultisigMemberPublicKey) | optional | The public key of the committee member. | +| weight | [uint32](#uint32) | optional | The weight of this member's signature. | @@ -2055,9 +3326,9 @@ Information about the old version of the object. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| version | [uint64](#uint64) | optional | Required. Version of the object. | -| digest | [Digest](#sui-types-Digest) | optional | Required. Digest of the object. | -| owner | [Owner](#sui-types-Owner) | optional | Required. Owner of the object. | +| version | [uint64](#uint64) | optional | Version of the object. | +| digest | [Digest](#sui-types-Digest) | optional | Digest of the object. | +| owner | [Owner](#sui-types-Owner) | optional | Owner of the object. | @@ -2075,7 +3346,7 @@ blockchain. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| object_id | [bytes](#bytes) | optional | Required. 32-byte object-id. | +| object_id | [bytes](#bytes) | optional | 32-byte object-id. | @@ -2107,8 +3378,8 @@ An object reference with owner information. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| reference | [ObjectReference](#sui-types-ObjectReference) | optional | Required. `ObjectReference`. | -| owner | [Owner](#sui-types-Owner) | optional | Required. `Owner`. | +| reference | [ObjectReference](#sui-types-ObjectReference) | optional | `ObjectReference`. | +| owner | [Owner](#sui-types-Owner) | optional | `Owner`. | @@ -2123,8 +3394,8 @@ Object write, including all of mutated, created, unwrapped. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| digest | [Digest](#sui-types-Digest) | optional | Required. Digest of the new version of the object. | -| owner | [Owner](#sui-types-Owner) | optional | Required. Owner of the new version of the object. | +| digest | [Digest](#sui-types-Digest) | optional | Digest of the new version of the object. | +| owner | [Owner](#sui-types-Owner) | optional | Owner of the new version of the object. | @@ -2157,8 +3428,8 @@ Package ID does not match `PackageId` in upgrade ticket. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| package_id | [ObjectId](#sui-types-ObjectId) | optional | Required. The package ID. | -| ticket_id | [ObjectId](#sui-types-ObjectId) | optional | Required. The ticket ID. | +| package_id | [ObjectId](#sui-types-ObjectId) | optional | The package ID. | +| ticket_id | [ObjectId](#sui-types-ObjectId) | optional | The ticket ID. | @@ -2194,7 +3465,7 @@ Package write. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | version | [uint64](#uint64) | optional | Version of the new package. | -| digest | [Digest](#sui-types-Digest) | optional | Required. Digest of the new package. | +| digest | [Digest](#sui-types-Digest) | optional | Digest of the new package. | @@ -2214,13 +3485,13 @@ for more information on the requirements on the shape of the | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| authenticator_data | [bytes](#bytes) | optional | Required. Opaque authenticator data for this passkey signature. +| authenticator_data | [bytes](#bytes) | optional | Opaque authenticator data for this passkey signature. See [Authenticator Data](https://www.w3.org/TR/webauthn-2/#sctn-authenticator-data) for more information on this field. | -| client_data_json | [string](#string) | optional | Required. Structured, unparsed, JSON for this passkey signature. +| client_data_json | [string](#string) | optional | Structured, unparsed, JSON for this passkey signature. See [CollectedClientData](https://www.w3.org/TR/webauthn-2/#dictdef-collectedclientdata) for more information on this field. | -| signature | [SimpleSignature](#sui-types-SimpleSignature) | optional | Required. A secp256r1 signature. | +| signature | [SimpleSignature](#sui-types-SimpleSignature) | optional | A secp256r1 signature. | @@ -2288,8 +3559,8 @@ Read-only shared object from the input. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| version | [uint64](#uint64) | optional | Required. Version of the shared object. | -| digest | [Digest](#sui-types-Digest) | optional | Required. Digest of the shared object. | +| version | [uint64](#uint64) | optional | Version of the shared object. | +| digest | [Digest](#sui-types-Digest) | optional | Digest of the shared object. | @@ -2306,7 +3577,7 @@ specification for the serialized format of `RoaringBitmap`s. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| bitmap | [bytes](#bytes) | optional | Required. Serialized `RoaringBitmap`. | +| bitmap | [bytes](#bytes) | optional | Serialized `RoaringBitmap`. | @@ -2341,9 +3612,9 @@ corresponding public key. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| scheme | [SignatureScheme](#sui-types-SignatureScheme) | optional | Required. Signature scheme of the signature and public key. | -| signature | [bytes](#bytes) | optional | Required. Signature bytes. | -| public_key | [bytes](#bytes) | optional | Required. Public key bytes. | +| scheme | [int32](#int32) | optional | The signature scheme of the signautre and public key, which should be an enum value of [sui.types.SignatureScheme][sui.types.SignatureScheme] | +| signature | [bytes](#bytes) | optional | Signature bytes. | +| public_key | [bytes](#bytes) | optional | Public key bytes. | @@ -2358,8 +3629,8 @@ A size error. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| size | [uint64](#uint64) | optional | Required. The offending size. | -| max_size | [uint64](#uint64) | optional | Required. The maximum allowable size. | +| size | [uint64](#uint64) | optional | The offending size. | +| max_size | [uint64](#uint64) | optional | The maximum allowable size. | @@ -2602,7 +3873,7 @@ Type argument error. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| type_argument | [uint32](#uint32) | optional | Required. Index of the problematic type argument. | +| type_argument | [uint32](#uint32) | optional | Index of the problematic type argument. | | type_not_found | [google.protobuf.Empty](#google-protobuf-Empty) | | A type was not found in the module specified. | | constraint_not_satisfied | [google.protobuf.Empty](#google-protobuf-Empty) | | A type provided did not match the specified constraint. | @@ -2661,7 +3932,7 @@ An unsigned 128-bit integer encoded in little-endian using 16-bytes. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| bytes | [bytes](#bytes) | optional | Required. 16-byte little-endian bytes. | +| bytes | [bytes](#bytes) | optional | 16-byte little-endian bytes. | @@ -2676,7 +3947,7 @@ An unsigned 256-bit integer encoded in little-endian using 32-bytes. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| bytes | [bytes](#bytes) | optional | Required. 16-byte little-endian bytes. | +| bytes | [bytes](#bytes) | optional | 16-byte little-endian bytes. | @@ -2691,7 +3962,7 @@ A shared object that wasn't changed during execution. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| object_id | [ObjectId](#sui-types-ObjectId) | optional | Required. ObjectId of the shared object. | +| object_id | [ObjectId](#sui-types-ObjectId) | optional | ObjectId of the shared object. | | read_only_root | [ReadOnlyRoot](#sui-types-ReadOnlyRoot) | | Read-only shared object from the input. | | mutate_deleted | [uint64](#uint64) | | Deleted shared objects that appear mutably/owned in the input. | | read_deleted | [uint64](#uint64) | | Deleted shared objects that appear as read-only in the input. | @@ -2764,11 +4035,11 @@ An aggregated signature from multiple validators. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| epoch | [uint64](#uint64) | optional | Required. The epoch when this signature was produced. +| epoch | [uint64](#uint64) | optional | The epoch when this signature was produced. This can be used to lookup the `ValidatorCommittee` from this epoch to verify this signature. | -| signature | [bytes](#bytes) | optional | Required. The 48-byte Bls12381 aggregated signature. | -| bitmap | [RoaringBitmap](#sui-types-RoaringBitmap) | optional | Required. Bitmap indicating which members of the committee contributed to this signature. | +| signature | [bytes](#bytes) | optional | The 48-byte Bls12381 aggregated signature. | +| bitmap | [RoaringBitmap](#sui-types-RoaringBitmap) | optional | Bitmap indicating which members of the committee contributed to this signature. | @@ -2783,7 +4054,7 @@ The validator set for a particular epoch. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| epoch | [uint64](#uint64) | optional | Required. The epoch where this committee governs. | +| epoch | [uint64](#uint64) | optional | The epoch where this committee governs. | | members | [ValidatorCommitteeMember](#sui-types-ValidatorCommitteeMember) | repeated | The committee members. | @@ -2799,8 +4070,8 @@ A member of a validator committee. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| public_key | [bytes](#bytes) | optional | Required. The 96-byte Bls12381 public key for this validator. | -| stake | [uint64](#uint64) | optional | Required. Stake weight this validator possesses. | +| public_key | [bytes](#bytes) | optional | The 96-byte Bls12381 public key for this validator. | +| stake | [uint64](#uint64) | optional | Stake weight this validator possesses. | @@ -2831,9 +4102,9 @@ A zklogin authenticator. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| inputs | [ZkLoginInputs](#sui-types-ZkLoginInputs) | optional | Required. Zklogin proof and inputs required to perform proof verification. | -| max_epoch | [uint64](#uint64) | optional | Required. Maximum epoch for which the proof is valid. | -| signature | [SimpleSignature](#sui-types-SimpleSignature) | optional | Required. User signature with the public key attested to by the provided proof. | +| inputs | [ZkLoginInputs](#sui-types-ZkLoginInputs) | optional | Zklogin proof and inputs required to perform proof verification. | +| max_epoch | [uint64](#uint64) | optional | Maximum epoch for which the proof is valid. | +| signature | [SimpleSignature](#sui-types-SimpleSignature) | optional | User signature with the public key attested to by the provided proof. | @@ -2848,8 +4119,8 @@ A claim of the iss in a zklogin proof. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| value | [string](#string) | optional | Required. | -| index_mod_4 | [uint32](#uint32) | optional | Required. | +| value | [string](#string) | optional | | +| index_mod_4 | [uint32](#uint32) | optional | | @@ -2864,10 +4135,10 @@ A zklogin groth16 proof and the required inputs to perform proof verification. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| proof_points | [ZkLoginProof](#sui-types-ZkLoginProof) | optional | Required. | -| iss_base64_details | [ZkLoginClaim](#sui-types-ZkLoginClaim) | optional | Required. | -| header_base64 | [string](#string) | optional | Required. | -| address_seed | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | Required. | +| proof_points | [ZkLoginProof](#sui-types-ZkLoginProof) | optional | | +| iss_base64_details | [ZkLoginClaim](#sui-types-ZkLoginClaim) | optional | | +| header_base64 | [string](#string) | optional | | +| address_seed | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | | @@ -2882,9 +4153,9 @@ A zklogin groth16 proof. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| a | [CircomG1](#sui-types-CircomG1) | optional | Required. | -| b | [CircomG2](#sui-types-CircomG2) | optional | Required. | -| c | [CircomG1](#sui-types-CircomG1) | optional | Required. | +| a | [CircomG1](#sui-types-CircomG1) | optional | | +| b | [CircomG2](#sui-types-CircomG2) | optional | | +| c | [CircomG1](#sui-types-CircomG1) | optional | | @@ -2899,182 +4170,8 @@ Public key equivalent for zklogin authenticators. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| iss | [string](#string) | optional | Required. | -| address_seed | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | Required. | - - - - - - - - - - -### SignatureScheme -Flag use to disambiguate the signature schemes supported by Sui. - -Note: the enum values defined by this proto message do not match their BCS -serialized values. See -[enum.SignatureScheme](https://mystenlabs.github.io/sui-rust-sdk/sui_sdk_types/enum.SignatureScheme.html) -for a mapping to their canonical serialized format. - -| Name | Number | Description | -| ---- | ------ | ----------- | -| SIGNATURE_SCHEME_UNKNOWN | 0 | | -| SIGNATURE_SCHEME_ED25519 | 1 | | -| SIGNATURE_SCHEME_SECP256K1 | 2 | | -| SIGNATURE_SCHEME_SECP256R1 | 3 | | -| SIGNATURE_SCHEME_MULTISIG | 4 | | -| SIGNATURE_SCHEME_BLS12381 | 5 | | -| SIGNATURE_SCHEME_ZKLOGIN | 6 | | -| SIGNATURE_SCHEME_PASSKEY | 7 | | - - - - - - - - - - - -

Top

- -## google/protobuf/empty.proto - - - - - -### Empty -A generic empty message that you can re-use to avoid defining duplicated -empty messages in your APIs. A typical example is to use it as the request -or the response type of an API method. For instance: - -``` -service Foo { - rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); -} -``` - - - - - - - - - - - - - - - - -

Top

- -## google/protobuf/timestamp.proto - - - - - -### Timestamp -A Timestamp represents a point in time independent of any time zone -or calendar, represented as seconds and fractions of seconds at -nanosecond resolution in UTC Epoch time. It is encoded using the -Proleptic Gregorian Calendar which extends the Gregorian calendar -backwards to year one. It is encoded assuming all minutes are 60 -seconds long, i.e. leap seconds are "smeared" so that no leap second -table is needed for interpretation. Range is from -`0001-01-01T00:00:00Z` to `9999-12-31T23:59:59.999999999Z`. -Restricting to that range ensures that conversion to -and from RFC 3339 date strings is possible. -See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). - -# Examples - -Example 1: Compute Timestamp from POSIX `time()`. - -``` -Timestamp timestamp; -timestamp.set_seconds(time(NULL)); -timestamp.set_nanos(0); -``` - -Example 2: Compute Timestamp from POSIX `gettimeofday()`. - -``` -struct timeval tv; -gettimeofday(&tv, NULL); - -Timestamp timestamp; -timestamp.set_seconds(tv.tv_sec); -timestamp.set_nanos(tv.tv_usec * 1000); -``` - -Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. - -``` -FILETIME ft; -GetSystemTimeAsFileTime(&ft); -UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; - -// A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z -// is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. -Timestamp timestamp; -timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); -timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); // -``` - -Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. - -``` -long millis = System.currentTimeMillis(); - -Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) - .setNanos((int) ((millis % 1000) * 1000000)).build(); - -``` - -Example 5: Compute Timestamp from current time in Python. - -``` -timestamp = Timestamp() -timestamp.GetCurrentTime() -``` - -# JSON Mapping - -In JSON format, the `Timestamp` type is encoded as a string in the -[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the -format is `{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z` -where `{year}` is always expressed using four digits while `{month}`, `{day}`, -`{hour}`, `{min}`, and `{sec}` are zero-padded to two digits each. The fractional -seconds, which can go up to 9 digits (so up to 1 nanosecond resolution), -are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone -is required, though only UTC (as indicated by "Z") is presently supported. - -For example, `2017-01-15T01:30:15.01Z` encodes 15.01 seconds past -01:30 UTC on January 15, 2017. - -In JavaScript, you can convert a `Date` object to this format using the -standard [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) -method. In Python, you can convert a standard `datetime.datetime` object -to this format using [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) -with the time format spec `%Y-%m-%dT%H:%M:%S.%fZ`. Likewise, in Java, you -can use the Joda Time's [`ISODateTimeFormat.dateTime()`]( -http://www.joda.org/joda-time/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime--) -to obtain a formatter capable of generating timestamps in this format. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| seconds | [int64](#int64) | | Represents seconds of UTC time since Unix epoch `1970-01-01T00:00:00Z`. Must be from `0001-01-01T00:00:00Z` to `9999-12-31T23:59:59Z` inclusive. | -| nanos | [int32](#int32) | | Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nano values that count forward in time. Must be from 0 to 999,999,999 inclusive. | +| iss | [string](#string) | optional | | +| address_seed | [Bn254FieldElement](#sui-types-Bn254FieldElement) | optional | | diff --git a/crates/sui-rpc-api/proto/sui/node/v2/node_service.proto b/crates/sui-rpc-api/proto/sui/node/v2/node_service.proto index d6bd0eb67b3c0..3051f651a2aa2 100644 --- a/crates/sui-rpc-api/proto/sui/node/v2/node_service.proto +++ b/crates/sui-rpc-api/proto/sui/node/v2/node_service.proto @@ -149,32 +149,32 @@ message GetTransactionResponse { // The digest of this [Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html). optional sui.types.Digest digest = 1; - // Optional. The transaction itself. + // The transaction itself. optional sui.types.Transaction transaction = 2; - // Optional. The + // The // [Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html) // encoded as BCS bytes. optional sui.types.Bcs transaction_bcs = 3; - // Optional. List of user signatures that are used to authorize the + // List of user signatures that are used to authorize the // execution of this transaction. repeated sui.types.UserSignature signatures = 4; - // Optional. List of + // List of // [UserSignature](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.UserSignature.html)s // encoded as bytes. repeated bytes signatures_bytes = 11; - // Optional. The `TransactionEffects` for this transaction. + // The `TransactionEffects` for this transaction. optional sui.types.TransactionEffects effects = 5; - // Optional. The + // The // [TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html) // for this transaction encoded as BCS bytes. optional sui.types.Bcs effects_bcs = 6; - // Optional. The `TransactionEvents` for this transaction. + // The `TransactionEvents` for this transaction. // // This field might be empty, even if it was explicitly requested, if the // transaction didn't produce any events. @@ -182,7 +182,7 @@ message GetTransactionResponse { // transaction produced any events. optional sui.types.TransactionEvents events = 7; - // Optional. The + // The // [TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html) // for this transaction encoded as BCS bytes. optional sui.types.Bcs events_bcs = 8; @@ -220,10 +220,10 @@ message GetObjectResponse { // The digest of this object. optional sui.types.Digest digest = 3; - // Optional. The object itself. + // The object itself. optional sui.types.Object object = 4; - // Optional. The + // The // [Object](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Object.html) // encoded as BCS bytes. optional sui.types.Bcs object_bcs = 5; @@ -254,22 +254,22 @@ message GetCheckpointResponse { // The digest of this checkpoint's `CheckpointSummary`. optional sui.types.Digest digest = 2; - // Optional. The `CheckpointSummary` for this checkpoint. + // The `CheckpointSummary` for this checkpoint. optional sui.types.CheckpointSummary summary = 3; - // Optional. The + // The // [CheckpointSummary](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointSummary.html) // for this checkpoint encoded as BCS bytes. optional sui.types.Bcs summary_bcs = 4; - // Optional. An aggregated quorum signature from the validator committee that + // An aggregated quorum signature from the validator committee that // certifies this checkpoint. optional sui.types.ValidatorAggregatedSignature signature = 5; - // Optional. The `CheckpointContents` for this checkpoint. + // The `CheckpointContents` for this checkpoint. optional sui.types.CheckpointContents contents = 6; - // Optional. The + // The // [CheckpointContents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointContents.html) // for this checkpoint encoded as BCS bytes. optional sui.types.Bcs contents_bcs = 7; @@ -299,22 +299,22 @@ message GetFullCheckpointResponse { // The digest of this checkpoint's `CheckpointSummary`. optional sui.types.Digest digest = 2; - // Optional. The `CheckpointSummary` for this checkpoint. + // The `CheckpointSummary` for this checkpoint. optional sui.types.CheckpointSummary summary = 3; - // Optional. The + // The // [CheckpointSummary](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointSummary.html) // for this checkpoint encoded as BCS bytes. optional sui.types.Bcs summary_bcs = 4; - // Optional. An aggregated quorum signature from the validator committee that + // An aggregated quorum signature from the validator committee that // certifies this checkpoint. optional sui.types.ValidatorAggregatedSignature signature = 5; - // Optional. The `CheckpointContents` for this checkpoint. + // The `CheckpointContents` for this checkpoint. optional sui.types.CheckpointContents contents = 6; - // Optional. The + // The // [CheckpointContents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.CheckpointContents.html) // for this checkpoint encoded as BCS bytes. optional sui.types.Bcs contents_bcs = 7; @@ -328,23 +328,23 @@ message FullCheckpointTransaction { // The digest of this transaction. optional sui.types.Digest digest = 1; - // Optional. The transaction itself. + // The transaction itself. optional sui.types.Transaction transaction = 2; - // Optional. The + // The // [Transaction](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Transaction.html) // encoded as BCS bytes. optional sui.types.Bcs transaction_bcs = 3; - // Optional. The `TransactionEffects` for this transaction. + // The `TransactionEffects` for this transaction. optional sui.types.TransactionEffects effects = 5; - // Optional. The + // The // [TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html) // for this transaction encoded as BCS bytes. optional sui.types.Bcs effects_bcs = 6; - // Optional. The `TransactionEvents` for this transaction. + // The `TransactionEvents` for this transaction. // // This field might be empty, even if it was explicitly requested, if the // transaction didn't produce any events. @@ -352,15 +352,15 @@ message FullCheckpointTransaction { // transaction produced any events. optional sui.types.TransactionEvents events = 7; - // Optional. The + // The // [TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html) // for this transaction encoded as BCS bytes. optional sui.types.Bcs events_bcs = 8; - // Optional. Set of input objects used during the execution of this transaction. + // Set of input objects used during the execution of this transaction. repeated FullCheckpointObject input_objects = 13; - // Optional. Set of output objects produced from the execution of this transaction. + // Set of output objects produced from the execution of this transaction. repeated FullCheckpointObject output_objects = 14; } @@ -375,10 +375,10 @@ message FullCheckpointObject { // The digest of this object. optional sui.types.Digest digest = 3; - // Optional. The object itself. + // The object itself. optional sui.types.Object object = 4; - // Optional. The + // The // [object](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.Object.html) // encoded as BCS bytes. optional sui.types.Bcs object_bcs = 5; @@ -412,15 +412,15 @@ message ExecuteTransactionResponse { // Indicates the finality of the executed transaction. optional EffectsFinality finality = 1; - // Optional. The `TransactionEffects` for this transaction. + // The `TransactionEffects` for this transaction. optional sui.types.TransactionEffects effects = 2; - // Optional. The + // The // [TransactionEffects](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEffects.html) // for this transaction encoded as BCS bytes. optional sui.types.Bcs effects_bcs = 3; - // Optional. The `TransactionEvents` for this transaction. + // The `TransactionEvents` for this transaction. // // This field might be empty, even if it was explicitly requested, if the // transaction didn't produce any events. @@ -428,12 +428,12 @@ message ExecuteTransactionResponse { // transaction produced any events. optional sui.types.TransactionEvents events = 4; - // Optional. The + // The // [TransactionEvents](https://docs.rs/sui-sdk-types/latest/sui_sdk_types/struct.TransactionEvents.html) // for this transaction encoded as BCS bytes. optional sui.types.Bcs events_bcs = 5; - // Optional. Set of balance change events as a result of this transaction. + // Set of balance change events as a result of this transaction. // // This set of events are calculated by analyzing all input and output `Coin` // type objects. diff --git a/crates/sui-rpc-api/proto/sui/node/v2alpha/node_service.proto b/crates/sui-rpc-api/proto/sui/node/v2alpha/node_service.proto index daf310cb891fd..f78166bec99c3 100644 --- a/crates/sui-rpc-api/proto/sui/node/v2alpha/node_service.proto +++ b/crates/sui-rpc-api/proto/sui/node/v2alpha/node_service.proto @@ -41,16 +41,16 @@ message GetCoinInfoResponse { // Required. The coin type. optional sui.types.TypeTag coin_type = 1; - // Optional. This field will be populated with information about this coin + // This field will be populated with information about this coin // type's `0x2::coin::CoinMetadata` if it exists and has not been wrapped. optional CoinMetadata metadata = 2; - // Optional. This field will be populated with information about this coin + // This field will be populated with information about this coin // type's `0x2::coin::TreasuryCap` if it exists and has not been wrapped. optional CoinTreasury treasury = 3; // TODO add support for tracking RegulatedCoinMetadata - // Optional. If this coin type is a regulated coin, this field will be + // If this coin type is a regulated coin, this field will be // populated with information about its `0x2::coin::RegulatedCoinMetadata` // object. // optional RegulatedCoinMetadata regulated_metadata = 4; @@ -131,7 +131,7 @@ message DynamicField { // Required. The serialized move value of "name" optional bytes name_value = 4; - // Optional. The ObjectId of the child object when a child is a dynamic + // The ObjectId of the child object when a child is a dynamic // object field. // // The presence or absence of this field can be used to determine if a child diff --git a/crates/sui-rpc-api/proto/sui/types/types.proto b/crates/sui-rpc-api/proto/sui/types/types.proto index 144866caba6ee..c7a39e6df3bf3 100644 --- a/crates/sui-rpc-api/proto/sui/types/types.proto +++ b/crates/sui-rpc-api/proto/sui/types/types.proto @@ -19,10 +19,6 @@ // [field presence](https://github.com/protocolbuffers/protobuf/blob/main/docs/field_presence.md), // these definitions follow the convention of having all fields marked // `optional`, and wrapping `repeated` fields in a message as needed. -// -// Even if a field is marked as `optional`, it might not actually be optional from -// the perspective of the Sui protocol. Such fields are explicitly labled -// as `Required` or `Optional` in their documentation. syntax = "proto3"; package sui.types; @@ -36,7 +32,7 @@ import "google/protobuf/empty.proto"; // hexadecimal with a `0x` prefix. For example, this is a valid Sui address: // `0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331`. message Address { - // Required. 32-byte address. + // 32-byte address. optional bytes address = 1; } @@ -45,13 +41,13 @@ message Address { // An `ObjectId` is a 32-byte identifier used to uniquely identify an object on the Sui // blockchain. message ObjectId { - // Required. 32-byte object-id. + // 32-byte object-id. optional bytes object_id = 1; } // 32-byte output of hashing a Sui structure using the Blake2b256 hash function. message Digest { - // Required. 32-byte hash. + // 32-byte hash. optional bytes digest = 1; } @@ -59,7 +55,7 @@ message Digest { // [BCS](https://mystenlabs.github.io/sui-rust-sdk/sui_sdk_types/index.html#bcs) // format. message Bcs { - // Required. Bytes of a BCS encoded value. + // Bytes of a BCS encoded value. optional bytes bcs = 1; } @@ -67,19 +63,19 @@ message Bcs { // An unsigned 128-bit integer encoded in little-endian using 16-bytes. message U128 { - // Required. 16-byte little-endian bytes. + // 16-byte little-endian bytes. optional bytes bytes = 1; } // A signed 128-bit integer encoded in little-endian using 16-bytes. message I128 { - // Required. 16-byte little-endian bytes. + // 16-byte little-endian bytes. optional bytes bytes = 1; } // An unsigned 256-bit integer encoded in little-endian using 32-bytes. message U256 { - // Required. 16-byte little-endian bytes. + // 16-byte little-endian bytes. optional bytes bytes = 1; } @@ -987,17 +983,17 @@ message TransactionEffectsV1 { // An object reference with owner information. message ObjectReferenceWithOwner { - // Required. `ObjectReference`. + // `ObjectReference`. optional ObjectReference reference = 1; - // Required. `Owner`. + // `Owner`. optional Owner owner = 2; } // Indicates that an object was modified at a specific version. message ModifiedAtVersion { - // Required. `ObjectId` of the object. + // `ObjectId` of the object. optional ObjectId object_id = 1; - // Required. Version of the object prior to this transaction. + // Version of the object prior to this transaction. optional uint64 version = 2; } @@ -1043,10 +1039,10 @@ message TransactionEffectsV2 { /// Input/output state of an object that was changed during execution. message ChangedObject { - // Required. ID of the object. + // ID of the object. optional ObjectId object_id = 1; - // Required. State of the object in the store prior to this transaction. + // State of the object in the store prior to this transaction. oneof input_state { // Object did not exist prior to this transaction. google.protobuf.Empty not_exist = 2; @@ -1054,7 +1050,7 @@ message ChangedObject { ObjectExist exist = 3; } - // Required. State of the object in the store after this transaction. + // State of the object in the store after this transaction. oneof output_state { // Object was removed from the store due to this transaction. google.protobuf.Empty removed = 4; @@ -1064,7 +1060,7 @@ message ChangedObject { PackageWrite package_write = 6; } - // Required. What happened to an `ObjectId` during execution. + // What happened to an `ObjectId` during execution. oneof id_operation { google.protobuf.Empty none = 7; google.protobuf.Empty created = 8; @@ -1074,19 +1070,19 @@ message ChangedObject { // Information about the old version of the object. message ObjectExist { - // Required. Version of the object. + // Version of the object. optional uint64 version = 1; - // Required. Digest of the object. + // Digest of the object. optional Digest digest = 2; - // Required. Owner of the object. + // Owner of the object. optional Owner owner = 3; } // Object write, including all of mutated, created, unwrapped. message ObjectWrite { - // Required. Digest of the new version of the object. + // Digest of the new version of the object. optional Digest digest = 2; - // Required. Owner of the new version of the object. + // Owner of the new version of the object. optional Owner owner = 3; } @@ -1094,13 +1090,13 @@ message ObjectWrite { message PackageWrite { // Version of the new package. optional uint64 version = 1; - // Required. Digest of the new package. + // Digest of the new package. optional Digest digest = 2; } // A shared object that wasn't changed during execution. message UnchangedSharedObject { - // Required. ObjectId of the shared object. + // ObjectId of the shared object. optional ObjectId object_id = 1; oneof kind { @@ -1124,9 +1120,9 @@ message UnchangedSharedObject { // Read-only shared object from the input. message ReadOnlyRoot { - // Required. Version of the shared object. + // Version of the shared object. optional uint64 version = 1; - // Required. Digest of the shared object. + // Digest of the shared object. optional Digest digest = 2; } @@ -1136,18 +1132,18 @@ message ReadOnlyRoot { /// The status of an executed transaction. message ExecutionStatus { - // Required. Indicates if the transaction was successful or not. + // Indicates if the transaction was successful or not. optional bool success = 1; - // Optional. The error if `success` is false. + // The error if `success` is false. optional FailureStatus status = 2; } // A size error. message SizeError { - // Required. The offending size. + // The offending size. optional uint64 size = 1; - // Required. The maximum allowable size. + // The maximum allowable size. optional uint64 max_size = 2; } @@ -1287,9 +1283,9 @@ message FailureStatus { // Address is denied for this coin type. message AddressDeniedForCoinError { - // Required. Denied address. + // Denied address. optional Address address = 1; - // Required. Coin type. + // Coin type. optional string coin_type = 2; } @@ -1301,21 +1297,21 @@ message CongestedObjectsError { /// Location in Move bytecode where an error occurred.s message MoveLocation { - // Required. The package ID. + // The package ID. optional ObjectId package = 1; - // Required. The module name. + // The module name. optional Identifier module = 2; - // Required. The function index. + // The function index. optional uint32 function = 3; - // Required. Offset of the instruction where the error occurred. + // Offset of the instruction where the error occurred. optional uint32 instruction = 4; - // Optional. The name of the function, if available. + // The name of the function, if available. optional Identifier function_name = 5; } // An error with an argument to a command. message CommandArgumentError { - // Required. Position of the problematic argument. + // Position of the problematic argument. optional uint32 argument = 1; oneof kind { @@ -1373,15 +1369,15 @@ message PackageUpgradeError { // Package ID does not match `PackageId` in upgrade ticket. message PackageIdDoesNotMatch { - // Required. The package ID. + // The package ID. optional ObjectId package_id = 1; - // Required. The ticket ID. + // The ticket ID. optional ObjectId ticket_id = 2; } // Type argument error. message TypeArgumentError { - // Required. Index of the problematic type argument. + // Index of the problematic type argument. optional uint32 type_argument = 1; oneof kind { @@ -1422,9 +1418,7 @@ message SimpleSignature { // Public key equivalent for zklogin authenticators. message ZkLoginPublicIdentifier { - // Required. optional string iss = 1; - // Required. optional Bn254FieldElement address_seed = 2; } @@ -1444,9 +1438,9 @@ message MultisigMemberPublicKey { // A member in a multisig committee. message MultisigMember { - // Required. The public key of the committee member. + // The public key of the committee member. optional MultisigMemberPublicKey public_key = 1; - // Required. The weight of this member's signature. + // The weight of this member's signature. optional uint32 weight = 2; } @@ -1454,7 +1448,7 @@ message MultisigMember { message MultisigCommittee { // A list of committee members and their corresponding weight. repeated MultisigMember members = 1; - // Required. The threshold of signatures needed to validate a signature from + // The threshold of signatures needed to validate a signature from // this committee. optional uint32 threshold = 2; } @@ -1466,13 +1460,13 @@ message MultisigAggregatedSignature { // The signatures must be in the same order as they are listed in the committee. repeated MultisigMemberSignature signatures = 1; - // Required. Bitmap indicating which committee members contributed to the + // Bitmap indicating which committee members contributed to the // signature. optional uint32 bitmap = 2; - // Optional. If present, means this signature's on-chain format uses the old + // If present, means this signature's on-chain format uses the old // legacy multisig format. optional RoaringBitmap legacy_bitmap = 3; - // Required. The committee to use to validate this signature. + // The committee to use to validate this signature. optional MultisigCommittee committee = 4; } @@ -1492,75 +1486,57 @@ message MultisigMemberSignature { // A zklogin authenticator. message ZkLoginAuthenticator { - // Required. Zklogin proof and inputs required to perform proof verification. + // Zklogin proof and inputs required to perform proof verification. optional ZkLoginInputs inputs = 1; - // Required. Maximum epoch for which the proof is valid. + // Maximum epoch for which the proof is valid. optional uint64 max_epoch = 2; - // Required. User signature with the public key attested to by the provided proof. + // User signature with the public key attested to by the provided proof. optional SimpleSignature signature = 3; } // A zklogin groth16 proof and the required inputs to perform proof verification. message ZkLoginInputs { - // Required. optional ZkLoginProof proof_points = 1; - // Required. optional ZkLoginClaim iss_base64_details = 2; - // Required. optional string header_base64 = 3; - // Required. optional Bn254FieldElement address_seed = 4; } // A zklogin groth16 proof. message ZkLoginProof { - // Required. optional CircomG1 a = 1; - // Required. optional CircomG2 b = 2; - // Required. optional CircomG1 c = 3; } // A claim of the iss in a zklogin proof. message ZkLoginClaim { - // Required. optional string value = 1; - // Required. optional uint32 index_mod_4 = 2; } // A G1 point. message CircomG1 { - // Required. optional Bn254FieldElement e0 = 1; - // Required. optional Bn254FieldElement e1 = 2; - // Required. optional Bn254FieldElement e2 = 3; } // A G2 point. message CircomG2 { - // Required. optional Bn254FieldElement e00 = 1; - // Required. optional Bn254FieldElement e01 = 2; - // Required. optional Bn254FieldElement e10 = 3; - // Required. optional Bn254FieldElement e11 = 4; - // Required. optional Bn254FieldElement e20 = 5; - // Required. optional Bn254FieldElement e21 = 6; } // A point on the BN254 elliptic curve. message Bn254FieldElement { - // Required. 32-byte big-endian field element. + // 32-byte big-endian field element. optional bytes element = 1; } @@ -1571,25 +1547,25 @@ message Bn254FieldElement { // for more information on the requirements on the shape of the // `client_data_json` field. message PasskeyAuthenticator { - // Required. Opaque authenticator data for this passkey signature. + // Opaque authenticator data for this passkey signature. // // See [Authenticator Data](https://www.w3.org/TR/webauthn-2/#sctn-authenticator-data) for // more information on this field. optional bytes authenticator_data = 1; - // Required. Structured, unparsed, JSON for this passkey signature. + // Structured, unparsed, JSON for this passkey signature. // // See [CollectedClientData](https://www.w3.org/TR/webauthn-2/#dictdef-collectedclientdata) // for more information on this field. optional string client_data_json = 2; - // Required. A secp256r1 signature. + // A secp256r1 signature. optional SimpleSignature signature = 3; } // The validator set for a particular epoch. message ValidatorCommittee { - // Required. The epoch where this committee governs. + // The epoch where this committee governs. optional uint64 epoch = 1; // The committee members. @@ -1598,25 +1574,25 @@ message ValidatorCommittee { // A member of a validator committee. message ValidatorCommitteeMember { - // Required. The 96-byte Bls12381 public key for this validator. + // The 96-byte Bls12381 public key for this validator. optional bytes public_key = 1; - // Required. Stake weight this validator possesses. + // Stake weight this validator possesses. optional uint64 stake = 2; } /// An aggregated signature from multiple validators. message ValidatorAggregatedSignature { - // Required. The epoch when this signature was produced. + // The epoch when this signature was produced. // // This can be used to lookup the `ValidatorCommittee` from this epoch // to verify this signature. optional uint64 epoch = 1; - // Required. The 48-byte Bls12381 aggregated signature. + // The 48-byte Bls12381 aggregated signature. optional bytes signature = 2; - // Required. Bitmap indicating which members of the committee contributed to + // Bitmap indicating which members of the committee contributed to // this signature. optional RoaringBitmap bitmap = 3; } @@ -1625,7 +1601,7 @@ message ValidatorAggregatedSignature { // [RoaringFormatSpec](https://github.com/RoaringBitmap/RoaringFormatSpec) for the // specification for the serialized format of `RoaringBitmap`s. message RoaringBitmap { - // Required. Serialized `RoaringBitmap`. + // Serialized `RoaringBitmap`. optional bytes bitmap = 1; } diff --git a/crates/sui-rpc-api/src/proto/generated/sui.node.v2.rs b/crates/sui-rpc-api/src/proto/generated/sui.node.v2.rs index da9b0e82e9a79..b61c03e20f49f 100644 --- a/crates/sui-rpc-api/src/proto/generated/sui.node.v2.rs +++ b/crates/sui-rpc-api/src/proto/generated/sui.node.v2.rs @@ -68,32 +68,32 @@ pub struct GetTransactionResponse { /// The digest of this [Transaction](). #[prost(message, optional, tag = "1")] pub digest: ::core::option::Option, - /// Optional. The transaction itself. + /// The transaction itself. #[prost(message, optional, tag = "2")] pub transaction: ::core::option::Option, - /// Optional. The + /// The /// [Transaction]() /// encoded as BCS bytes. #[prost(message, optional, tag = "3")] pub transaction_bcs: ::core::option::Option, - /// Optional. List of user signatures that are used to authorize the + /// List of user signatures that are used to authorize the /// execution of this transaction. #[prost(message, repeated, tag = "4")] pub signatures: ::prost::alloc::vec::Vec, - /// Optional. List of + /// List of /// [UserSignature]()s /// encoded as bytes. #[prost(bytes = "bytes", repeated, tag = "11")] pub signatures_bytes: ::prost::alloc::vec::Vec<::prost::bytes::Bytes>, - /// Optional. The `TransactionEffects` for this transaction. + /// The `TransactionEffects` for this transaction. #[prost(message, optional, tag = "5")] pub effects: ::core::option::Option, - /// Optional. The + /// The /// [TransactionEffects]() /// for this transaction encoded as BCS bytes. #[prost(message, optional, tag = "6")] pub effects_bcs: ::core::option::Option, - /// Optional. The `TransactionEvents` for this transaction. + /// The `TransactionEvents` for this transaction. /// /// This field might be empty, even if it was explicitly requested, if the /// transaction didn't produce any events. @@ -101,7 +101,7 @@ pub struct GetTransactionResponse { /// transaction produced any events. #[prost(message, optional, tag = "7")] pub events: ::core::option::Option, - /// Optional. The + /// The /// [TransactionEvents]() /// for this transaction encoded as BCS bytes. #[prost(message, optional, tag = "8")] @@ -141,10 +141,10 @@ pub struct GetObjectResponse { /// The digest of this object. #[prost(message, optional, tag = "3")] pub digest: ::core::option::Option, - /// Optional. The object itself. + /// The object itself. #[prost(message, optional, tag = "4")] pub object: ::core::option::Option, - /// Optional. The + /// The /// [Object]() /// encoded as BCS bytes. #[prost(message, optional, tag = "5")] @@ -177,24 +177,24 @@ pub struct GetCheckpointResponse { /// The digest of this checkpoint's `CheckpointSummary`. #[prost(message, optional, tag = "2")] pub digest: ::core::option::Option, - /// Optional. The `CheckpointSummary` for this checkpoint. + /// The `CheckpointSummary` for this checkpoint. #[prost(message, optional, tag = "3")] pub summary: ::core::option::Option, - /// Optional. The + /// The /// [CheckpointSummary]() /// for this checkpoint encoded as BCS bytes. #[prost(message, optional, tag = "4")] pub summary_bcs: ::core::option::Option, - /// Optional. An aggregated quorum signature from the validator committee that + /// An aggregated quorum signature from the validator committee that /// certifies this checkpoint. #[prost(message, optional, tag = "5")] pub signature: ::core::option::Option< super::super::types::ValidatorAggregatedSignature, >, - /// Optional. The `CheckpointContents` for this checkpoint. + /// The `CheckpointContents` for this checkpoint. #[prost(message, optional, tag = "6")] pub contents: ::core::option::Option, - /// Optional. The + /// The /// [CheckpointContents]() /// for this checkpoint encoded as BCS bytes. #[prost(message, optional, tag = "7")] @@ -227,24 +227,24 @@ pub struct GetFullCheckpointResponse { /// The digest of this checkpoint's `CheckpointSummary`. #[prost(message, optional, tag = "2")] pub digest: ::core::option::Option, - /// Optional. The `CheckpointSummary` for this checkpoint. + /// The `CheckpointSummary` for this checkpoint. #[prost(message, optional, tag = "3")] pub summary: ::core::option::Option, - /// Optional. The + /// The /// [CheckpointSummary]() /// for this checkpoint encoded as BCS bytes. #[prost(message, optional, tag = "4")] pub summary_bcs: ::core::option::Option, - /// Optional. An aggregated quorum signature from the validator committee that + /// An aggregated quorum signature from the validator committee that /// certifies this checkpoint. #[prost(message, optional, tag = "5")] pub signature: ::core::option::Option< super::super::types::ValidatorAggregatedSignature, >, - /// Optional. The `CheckpointContents` for this checkpoint. + /// The `CheckpointContents` for this checkpoint. #[prost(message, optional, tag = "6")] pub contents: ::core::option::Option, - /// Optional. The + /// The /// [CheckpointContents]() /// for this checkpoint encoded as BCS bytes. #[prost(message, optional, tag = "7")] @@ -259,23 +259,23 @@ pub struct FullCheckpointTransaction { /// The digest of this transaction. #[prost(message, optional, tag = "1")] pub digest: ::core::option::Option, - /// Optional. The transaction itself. + /// The transaction itself. #[prost(message, optional, tag = "2")] pub transaction: ::core::option::Option, - /// Optional. The + /// The /// [Transaction]() /// encoded as BCS bytes. #[prost(message, optional, tag = "3")] pub transaction_bcs: ::core::option::Option, - /// Optional. The `TransactionEffects` for this transaction. + /// The `TransactionEffects` for this transaction. #[prost(message, optional, tag = "5")] pub effects: ::core::option::Option, - /// Optional. The + /// The /// [TransactionEffects]() /// for this transaction encoded as BCS bytes. #[prost(message, optional, tag = "6")] pub effects_bcs: ::core::option::Option, - /// Optional. The `TransactionEvents` for this transaction. + /// The `TransactionEvents` for this transaction. /// /// This field might be empty, even if it was explicitly requested, if the /// transaction didn't produce any events. @@ -283,15 +283,15 @@ pub struct FullCheckpointTransaction { /// transaction produced any events. #[prost(message, optional, tag = "7")] pub events: ::core::option::Option, - /// Optional. The + /// The /// [TransactionEvents]() /// for this transaction encoded as BCS bytes. #[prost(message, optional, tag = "8")] pub events_bcs: ::core::option::Option, - /// Optional. Set of input objects used during the execution of this transaction. + /// Set of input objects used during the execution of this transaction. #[prost(message, repeated, tag = "13")] pub input_objects: ::prost::alloc::vec::Vec, - /// Optional. Set of output objects produced from the execution of this transaction. + /// Set of output objects produced from the execution of this transaction. #[prost(message, repeated, tag = "14")] pub output_objects: ::prost::alloc::vec::Vec, } @@ -307,10 +307,10 @@ pub struct FullCheckpointObject { /// The digest of this object. #[prost(message, optional, tag = "3")] pub digest: ::core::option::Option, - /// Optional. The object itself. + /// The object itself. #[prost(message, optional, tag = "4")] pub object: ::core::option::Option, - /// Optional. The + /// The /// [object]() /// encoded as BCS bytes. #[prost(message, optional, tag = "5")] @@ -346,15 +346,15 @@ pub struct ExecuteTransactionResponse { /// Indicates the finality of the executed transaction. #[prost(message, optional, tag = "1")] pub finality: ::core::option::Option, - /// Optional. The `TransactionEffects` for this transaction. + /// The `TransactionEffects` for this transaction. #[prost(message, optional, tag = "2")] pub effects: ::core::option::Option, - /// Optional. The + /// The /// [TransactionEffects]() /// for this transaction encoded as BCS bytes. #[prost(message, optional, tag = "3")] pub effects_bcs: ::core::option::Option, - /// Optional. The `TransactionEvents` for this transaction. + /// The `TransactionEvents` for this transaction. /// /// This field might be empty, even if it was explicitly requested, if the /// transaction didn't produce any events. @@ -362,12 +362,12 @@ pub struct ExecuteTransactionResponse { /// transaction produced any events. #[prost(message, optional, tag = "4")] pub events: ::core::option::Option, - /// Optional. The + /// The /// [TransactionEvents]() /// for this transaction encoded as BCS bytes. #[prost(message, optional, tag = "5")] pub events_bcs: ::core::option::Option, - /// Optional. Set of balance change events as a result of this transaction. + /// Set of balance change events as a result of this transaction. /// /// This set of events are calculated by analyzing all input and output `Coin` /// type objects. diff --git a/crates/sui-rpc-api/src/proto/generated/sui.node.v2alpha.rs b/crates/sui-rpc-api/src/proto/generated/sui.node.v2alpha.rs index 266a928dbda70..f968481d15f24 100644 --- a/crates/sui-rpc-api/src/proto/generated/sui.node.v2alpha.rs +++ b/crates/sui-rpc-api/src/proto/generated/sui.node.v2alpha.rs @@ -12,11 +12,11 @@ pub struct GetCoinInfoResponse { /// Required. The coin type. #[prost(message, optional, tag = "1")] pub coin_type: ::core::option::Option, - /// Optional. This field will be populated with information about this coin + /// This field will be populated with information about this coin /// type's `0x2::coin::CoinMetadata` if it exists and has not been wrapped. #[prost(message, optional, tag = "2")] pub metadata: ::core::option::Option, - /// Optional. This field will be populated with information about this coin + /// This field will be populated with information about this coin /// type's `0x2::coin::TreasuryCap` if it exists and has not been wrapped. #[prost(message, optional, tag = "3")] pub treasury: ::core::option::Option, @@ -110,7 +110,7 @@ pub struct DynamicField { /// Required. The serialized move value of "name" #[prost(bytes = "bytes", optional, tag = "4")] pub name_value: ::core::option::Option<::prost::bytes::Bytes>, - /// Optional. The ObjectId of the child object when a child is a dynamic + /// The ObjectId of the child object when a child is a dynamic /// object field. /// /// The presence or absence of this field can be used to determine if a child diff --git a/crates/sui-rpc-api/src/proto/generated/sui.types.rs b/crates/sui-rpc-api/src/proto/generated/sui.types.rs index 14d44430cc408..7d2b999d8dbca 100644 --- a/crates/sui-rpc-api/src/proto/generated/sui.types.rs +++ b/crates/sui-rpc-api/src/proto/generated/sui.types.rs @@ -54,7 +54,7 @@ impl SignatureScheme { /// `0x02a212de6a9dfa3a69e22387acfbafbb1a9e591bd9d636e7895dcfc8de05f331`. #[derive(Clone, PartialEq, ::prost::Message)] pub struct Address { - /// Required. 32-byte address. + /// 32-byte address. #[prost(bytes = "bytes", optional, tag = "1")] pub address: ::core::option::Option<::prost::bytes::Bytes>, } @@ -64,14 +64,14 @@ pub struct Address { /// blockchain. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ObjectId { - /// Required. 32-byte object-id. + /// 32-byte object-id. #[prost(bytes = "bytes", optional, tag = "1")] pub object_id: ::core::option::Option<::prost::bytes::Bytes>, } /// 32-byte output of hashing a Sui structure using the Blake2b256 hash function. #[derive(Clone, PartialEq, ::prost::Message)] pub struct Digest { - /// Required. 32-byte hash. + /// 32-byte hash. #[prost(bytes = "bytes", optional, tag = "1")] pub digest: ::core::option::Option<::prost::bytes::Bytes>, } @@ -80,28 +80,28 @@ pub struct Digest { /// format. #[derive(Clone, PartialEq, ::prost::Message)] pub struct Bcs { - /// Required. Bytes of a BCS encoded value. + /// Bytes of a BCS encoded value. #[prost(bytes = "bytes", optional, tag = "1")] pub bcs: ::core::option::Option<::prost::bytes::Bytes>, } /// An unsigned 128-bit integer encoded in little-endian using 16-bytes. #[derive(Clone, PartialEq, ::prost::Message)] pub struct U128 { - /// Required. 16-byte little-endian bytes. + /// 16-byte little-endian bytes. #[prost(bytes = "bytes", optional, tag = "1")] pub bytes: ::core::option::Option<::prost::bytes::Bytes>, } /// A signed 128-bit integer encoded in little-endian using 16-bytes. #[derive(Clone, PartialEq, ::prost::Message)] pub struct I128 { - /// Required. 16-byte little-endian bytes. + /// 16-byte little-endian bytes. #[prost(bytes = "bytes", optional, tag = "1")] pub bytes: ::core::option::Option<::prost::bytes::Bytes>, } /// An unsigned 256-bit integer encoded in little-endian using 32-bytes. #[derive(Clone, PartialEq, ::prost::Message)] pub struct U256 { - /// Required. 16-byte little-endian bytes. + /// 16-byte little-endian bytes. #[prost(bytes = "bytes", optional, tag = "1")] pub bytes: ::core::option::Option<::prost::bytes::Bytes>, } @@ -1259,20 +1259,20 @@ pub struct TransactionEffectsV1 { /// An object reference with owner information. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ObjectReferenceWithOwner { - /// Required. `ObjectReference`. + /// `ObjectReference`. #[prost(message, optional, tag = "1")] pub reference: ::core::option::Option, - /// Required. `Owner`. + /// `Owner`. #[prost(message, optional, tag = "2")] pub owner: ::core::option::Option, } /// Indicates that an object was modified at a specific version. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ModifiedAtVersion { - /// Required. `ObjectId` of the object. + /// `ObjectId` of the object. #[prost(message, optional, tag = "1")] pub object_id: ::core::option::Option, - /// Required. Version of the object prior to this transaction. + /// Version of the object prior to this transaction. #[prost(uint64, optional, tag = "2")] pub version: ::core::option::Option, } @@ -1324,22 +1324,22 @@ pub struct TransactionEffectsV2 { /// / Input/output state of an object that was changed during execution. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ChangedObject { - /// Required. ID of the object. + /// ID of the object. #[prost(message, optional, tag = "1")] pub object_id: ::core::option::Option, - /// Required. State of the object in the store prior to this transaction. + /// State of the object in the store prior to this transaction. #[prost(oneof = "changed_object::InputState", tags = "2, 3")] pub input_state: ::core::option::Option, - /// Required. State of the object in the store after this transaction. + /// State of the object in the store after this transaction. #[prost(oneof = "changed_object::OutputState", tags = "4, 5, 6")] pub output_state: ::core::option::Option, - /// Required. What happened to an `ObjectId` during execution. + /// What happened to an `ObjectId` during execution. #[prost(oneof = "changed_object::IdOperation", tags = "7, 8, 9")] pub id_operation: ::core::option::Option, } /// Nested message and enum types in `ChangedObject`. pub mod changed_object { - /// Required. State of the object in the store prior to this transaction. + /// State of the object in the store prior to this transaction. #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum InputState { /// Object did not exist prior to this transaction. @@ -1349,7 +1349,7 @@ pub mod changed_object { #[prost(message, tag = "3")] Exist(super::ObjectExist), } - /// Required. State of the object in the store after this transaction. + /// State of the object in the store after this transaction. #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum OutputState { /// Object was removed from the store due to this transaction. @@ -1362,7 +1362,7 @@ pub mod changed_object { #[prost(message, tag = "6")] PackageWrite(super::PackageWrite), } - /// Required. What happened to an `ObjectId` during execution. + /// What happened to an `ObjectId` during execution. #[derive(Clone, Copy, PartialEq, ::prost::Oneof)] pub enum IdOperation { #[prost(message, tag = "7")] @@ -1376,23 +1376,23 @@ pub mod changed_object { /// Information about the old version of the object. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ObjectExist { - /// Required. Version of the object. + /// Version of the object. #[prost(uint64, optional, tag = "1")] pub version: ::core::option::Option, - /// Required. Digest of the object. + /// Digest of the object. #[prost(message, optional, tag = "2")] pub digest: ::core::option::Option, - /// Required. Owner of the object. + /// Owner of the object. #[prost(message, optional, tag = "3")] pub owner: ::core::option::Option, } /// Object write, including all of mutated, created, unwrapped. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ObjectWrite { - /// Required. Digest of the new version of the object. + /// Digest of the new version of the object. #[prost(message, optional, tag = "2")] pub digest: ::core::option::Option, - /// Required. Owner of the new version of the object. + /// Owner of the new version of the object. #[prost(message, optional, tag = "3")] pub owner: ::core::option::Option, } @@ -1402,14 +1402,14 @@ pub struct PackageWrite { /// Version of the new package. #[prost(uint64, optional, tag = "1")] pub version: ::core::option::Option, - /// Required. Digest of the new package. + /// Digest of the new package. #[prost(message, optional, tag = "2")] pub digest: ::core::option::Option, } /// A shared object that wasn't changed during execution. #[derive(Clone, PartialEq, ::prost::Message)] pub struct UnchangedSharedObject { - /// Required. ObjectId of the shared object. + /// ObjectId of the shared object. #[prost(message, optional, tag = "1")] pub object_id: ::core::option::Option, #[prost(oneof = "unchanged_shared_object::Kind", tags = "2, 3, 4, 5, 6")] @@ -1440,30 +1440,30 @@ pub mod unchanged_shared_object { /// Read-only shared object from the input. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ReadOnlyRoot { - /// Required. Version of the shared object. + /// Version of the shared object. #[prost(uint64, optional, tag = "1")] pub version: ::core::option::Option, - /// Required. Digest of the shared object. + /// Digest of the shared object. #[prost(message, optional, tag = "2")] pub digest: ::core::option::Option, } /// / The status of an executed transaction. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ExecutionStatus { - /// Required. Indicates if the transaction was successful or not. + /// Indicates if the transaction was successful or not. #[prost(bool, optional, tag = "1")] pub success: ::core::option::Option, - /// Optional. The error if `success` is false. + /// The error if `success` is false. #[prost(message, optional, tag = "2")] pub status: ::core::option::Option, } /// A size error. #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct SizeError { - /// Required. The offending size. + /// The offending size. #[prost(uint64, optional, tag = "1")] pub size: ::core::option::Option, - /// Required. The maximum allowable size. + /// The maximum allowable size. #[prost(uint64, optional, tag = "2")] pub max_size: ::core::option::Option, } @@ -1634,10 +1634,10 @@ pub mod failure_status { /// Address is denied for this coin type. #[derive(Clone, PartialEq, ::prost::Message)] pub struct AddressDeniedForCoinError { - /// Required. Denied address. + /// Denied address. #[prost(message, optional, tag = "1")] pub address: ::core::option::Option
, - /// Required. Coin type. + /// Coin type. #[prost(string, optional, tag = "2")] pub coin_type: ::core::option::Option<::prost::alloc::string::String>, } @@ -1651,26 +1651,26 @@ pub struct CongestedObjectsError { /// / Location in Move bytecode where an error occurred.s #[derive(Clone, PartialEq, ::prost::Message)] pub struct MoveLocation { - /// Required. The package ID. + /// The package ID. #[prost(message, optional, tag = "1")] pub package: ::core::option::Option, - /// Required. The module name. + /// The module name. #[prost(message, optional, tag = "2")] pub module: ::core::option::Option, - /// Required. The function index. + /// The function index. #[prost(uint32, optional, tag = "3")] pub function: ::core::option::Option, - /// Required. Offset of the instruction where the error occurred. + /// Offset of the instruction where the error occurred. #[prost(uint32, optional, tag = "4")] pub instruction: ::core::option::Option, - /// Optional. The name of the function, if available. + /// The name of the function, if available. #[prost(message, optional, tag = "5")] pub function_name: ::core::option::Option, } /// An error with an argument to a command. #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct CommandArgumentError { - /// Required. Position of the problematic argument. + /// Position of the problematic argument. #[prost(uint32, optional, tag = "1")] pub argument: ::core::option::Option, #[prost( @@ -1761,17 +1761,17 @@ pub mod package_upgrade_error { /// Package ID does not match `PackageId` in upgrade ticket. #[derive(Clone, PartialEq, ::prost::Message)] pub struct PackageIdDoesNotMatch { - /// Required. The package ID. + /// The package ID. #[prost(message, optional, tag = "1")] pub package_id: ::core::option::Option, - /// Required. The ticket ID. + /// The ticket ID. #[prost(message, optional, tag = "2")] pub ticket_id: ::core::option::Option, } /// Type argument error. #[derive(Clone, Copy, PartialEq, ::prost::Message)] pub struct TypeArgumentError { - /// Required. Index of the problematic type argument. + /// Index of the problematic type argument. #[prost(uint32, optional, tag = "1")] pub type_argument: ::core::option::Option, #[prost(oneof = "type_argument_error::Kind", tags = "2, 3")] @@ -1829,10 +1829,8 @@ pub struct SimpleSignature { /// Public key equivalent for zklogin authenticators. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ZkLoginPublicIdentifier { - /// Required. #[prost(string, optional, tag = "1")] pub iss: ::core::option::Option<::prost::alloc::string::String>, - /// Required. #[prost(message, optional, tag = "2")] pub address_seed: ::core::option::Option, } @@ -1863,10 +1861,10 @@ pub mod multisig_member_public_key { /// A member in a multisig committee. #[derive(Clone, PartialEq, ::prost::Message)] pub struct MultisigMember { - /// Required. The public key of the committee member. + /// The public key of the committee member. #[prost(message, optional, tag = "1")] pub public_key: ::core::option::Option, - /// Required. The weight of this member's signature. + /// The weight of this member's signature. #[prost(uint32, optional, tag = "2")] pub weight: ::core::option::Option, } @@ -1876,7 +1874,7 @@ pub struct MultisigCommittee { /// A list of committee members and their corresponding weight. #[prost(message, repeated, tag = "1")] pub members: ::prost::alloc::vec::Vec, - /// Required. The threshold of signatures needed to validate a signature from + /// The threshold of signatures needed to validate a signature from /// this committee. #[prost(uint32, optional, tag = "2")] pub threshold: ::core::option::Option, @@ -1889,15 +1887,15 @@ pub struct MultisigAggregatedSignature { /// The signatures must be in the same order as they are listed in the committee. #[prost(message, repeated, tag = "1")] pub signatures: ::prost::alloc::vec::Vec, - /// Required. Bitmap indicating which committee members contributed to the + /// Bitmap indicating which committee members contributed to the /// signature. #[prost(uint32, optional, tag = "2")] pub bitmap: ::core::option::Option, - /// Optional. If present, means this signature's on-chain format uses the old + /// If present, means this signature's on-chain format uses the old /// legacy multisig format. #[prost(message, optional, tag = "3")] pub legacy_bitmap: ::core::option::Option, - /// Required. The committee to use to validate this signature. + /// The committee to use to validate this signature. #[prost(message, optional, tag = "4")] pub committee: ::core::option::Option, } @@ -1928,94 +1926,76 @@ pub mod multisig_member_signature { /// A zklogin authenticator. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ZkLoginAuthenticator { - /// Required. Zklogin proof and inputs required to perform proof verification. + /// Zklogin proof and inputs required to perform proof verification. #[prost(message, optional, tag = "1")] pub inputs: ::core::option::Option, - /// Required. Maximum epoch for which the proof is valid. + /// Maximum epoch for which the proof is valid. #[prost(uint64, optional, tag = "2")] pub max_epoch: ::core::option::Option, - /// Required. User signature with the public key attested to by the provided proof. + /// User signature with the public key attested to by the provided proof. #[prost(message, optional, tag = "3")] pub signature: ::core::option::Option, } /// A zklogin groth16 proof and the required inputs to perform proof verification. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ZkLoginInputs { - /// Required. #[prost(message, optional, tag = "1")] pub proof_points: ::core::option::Option, - /// Required. #[prost(message, optional, tag = "2")] pub iss_base64_details: ::core::option::Option, - /// Required. #[prost(string, optional, tag = "3")] pub header_base64: ::core::option::Option<::prost::alloc::string::String>, - /// Required. #[prost(message, optional, tag = "4")] pub address_seed: ::core::option::Option, } /// A zklogin groth16 proof. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ZkLoginProof { - /// Required. #[prost(message, optional, tag = "1")] pub a: ::core::option::Option, - /// Required. #[prost(message, optional, tag = "2")] pub b: ::core::option::Option, - /// Required. #[prost(message, optional, tag = "3")] pub c: ::core::option::Option, } /// A claim of the iss in a zklogin proof. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ZkLoginClaim { - /// Required. #[prost(string, optional, tag = "1")] pub value: ::core::option::Option<::prost::alloc::string::String>, - /// Required. #[prost(uint32, optional, tag = "2")] pub index_mod_4: ::core::option::Option, } /// A G1 point. #[derive(Clone, PartialEq, ::prost::Message)] pub struct CircomG1 { - /// Required. #[prost(message, optional, tag = "1")] pub e0: ::core::option::Option, - /// Required. #[prost(message, optional, tag = "2")] pub e1: ::core::option::Option, - /// Required. #[prost(message, optional, tag = "3")] pub e2: ::core::option::Option, } /// A G2 point. #[derive(Clone, PartialEq, ::prost::Message)] pub struct CircomG2 { - /// Required. #[prost(message, optional, tag = "1")] pub e00: ::core::option::Option, - /// Required. #[prost(message, optional, tag = "2")] pub e01: ::core::option::Option, - /// Required. #[prost(message, optional, tag = "3")] pub e10: ::core::option::Option, - /// Required. #[prost(message, optional, tag = "4")] pub e11: ::core::option::Option, - /// Required. #[prost(message, optional, tag = "5")] pub e20: ::core::option::Option, - /// Required. #[prost(message, optional, tag = "6")] pub e21: ::core::option::Option, } /// A point on the BN254 elliptic curve. #[derive(Clone, PartialEq, ::prost::Message)] pub struct Bn254FieldElement { - /// Required. 32-byte big-endian field element. + /// 32-byte big-endian field element. #[prost(bytes = "bytes", optional, tag = "1")] pub element: ::core::option::Option<::prost::bytes::Bytes>, } @@ -2027,26 +2007,26 @@ pub struct Bn254FieldElement { /// `client_data_json` field. #[derive(Clone, PartialEq, ::prost::Message)] pub struct PasskeyAuthenticator { - /// Required. Opaque authenticator data for this passkey signature. + /// Opaque authenticator data for this passkey signature. /// /// See [Authenticator Data]() for /// more information on this field. #[prost(bytes = "bytes", optional, tag = "1")] pub authenticator_data: ::core::option::Option<::prost::bytes::Bytes>, - /// Required. Structured, unparsed, JSON for this passkey signature. + /// Structured, unparsed, JSON for this passkey signature. /// /// See [CollectedClientData]() /// for more information on this field. #[prost(string, optional, tag = "2")] pub client_data_json: ::core::option::Option<::prost::alloc::string::String>, - /// Required. A secp256r1 signature. + /// A secp256r1 signature. #[prost(message, optional, tag = "3")] pub signature: ::core::option::Option, } /// The validator set for a particular epoch. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ValidatorCommittee { - /// Required. The epoch where this committee governs. + /// The epoch where this committee governs. #[prost(uint64, optional, tag = "1")] pub epoch: ::core::option::Option, /// The committee members. @@ -2056,26 +2036,26 @@ pub struct ValidatorCommittee { /// A member of a validator committee. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ValidatorCommitteeMember { - /// Required. The 96-byte Bls12381 public key for this validator. + /// The 96-byte Bls12381 public key for this validator. #[prost(bytes = "bytes", optional, tag = "1")] pub public_key: ::core::option::Option<::prost::bytes::Bytes>, - /// Required. Stake weight this validator possesses. + /// Stake weight this validator possesses. #[prost(uint64, optional, tag = "2")] pub stake: ::core::option::Option, } /// / An aggregated signature from multiple validators. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ValidatorAggregatedSignature { - /// Required. The epoch when this signature was produced. + /// The epoch when this signature was produced. /// /// This can be used to lookup the `ValidatorCommittee` from this epoch /// to verify this signature. #[prost(uint64, optional, tag = "1")] pub epoch: ::core::option::Option, - /// Required. The 48-byte Bls12381 aggregated signature. + /// The 48-byte Bls12381 aggregated signature. #[prost(bytes = "bytes", optional, tag = "2")] pub signature: ::core::option::Option<::prost::bytes::Bytes>, - /// Required. Bitmap indicating which members of the committee contributed to + /// Bitmap indicating which members of the committee contributed to /// this signature. #[prost(message, optional, tag = "3")] pub bitmap: ::core::option::Option, @@ -2085,7 +2065,7 @@ pub struct ValidatorAggregatedSignature { /// specification for the serialized format of `RoaringBitmap`s. #[derive(Clone, PartialEq, ::prost::Message)] pub struct RoaringBitmap { - /// Required. Serialized `RoaringBitmap`. + /// Serialized `RoaringBitmap`. #[prost(bytes = "bytes", optional, tag = "1")] pub bitmap: ::core::option::Option<::prost::bytes::Bytes>, }