These 85 commits are when the Protocol Buffers files have changed:
Commit: | e22033d | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
list_owned_objects: expose balance for coin types Expose the balance of an object if its a coin type. Also add a test to ensure that the coins are returned in reverse sorted order by their balances.
The documentation is generated from this commit.
Commit: | 71fabb6 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
list_owned_objects: add support for filtering on object type
Commit: | 2f1ad93 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
grpc: use proto schema for ResolveTransaction Finish migrating the ResolveTransaction api from the old legacy JSON format to using the new proto schema.
Commit: | f481459 | |
---|---|---|
Author: | gorpig |
grpc sleep endpoint for infra testing
Commit: | 5041c3e | |
---|---|---|
Author: | Brandon Williams | |
Committer: | GitHub |
rpc: remove outdated prototype grpc service (#21767)
Commit: | 2c59443 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: make use of indexed epoch info
Commit: | aec90b4 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc-index: add support for indexing more information This patch reworks the 'rpc-index' database to: - Add support for indexing information about epochs - Add support for indexing balance changes and object type information for transactions - Add support for indexing type information for dynamic fields - Reworks the owner index to support iteration over owned objects by type as well as enforcing that Coin types are reverse sorted by their balances (greater balances come first).
Commit: | ed280b2 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | GitHub |
chore: update sui-sdk-types (#21662)
Commit: | e011e77 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | GitHub |
chore: update sui-sdk-types (#21663)
Commit: | 58c6326 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
proto: rework proto messages based on feedback This patch introduces a new protobuf package 'sui.rpc.v2beta' and 'sui.rpc.v2alpha' with completely reworked protobuf messages as well as reworked rpc service definitions. In particular the changes to the messages are as follows: - Address and ObjectId are now represented as 'string' types using their canonical human-readable representation in hex. - Digest is now represented as 'string' type using its canonical human-readable representation in base58. - TypeTag and StructTag are now represented as 'string' types using their canonical human-readable representation. - i128, u128, u256 and Bn254FieldElement are now represented as 'string' types using their canonical human-readable representation in base10. - The Bcs type now includes a 'name' field that can be used to specify the type name of the serialized value. - Various types representing a sui core type have been reworked and optimized for readability and accessibility over providing as close as possible a 1-1 mapping to their BCS representation. - Many message definitions have been split into separate files for improved readability and maintainability. This patch also implements and serves the new api and removes the old sui.node.v2alpha.NodeService and sui.node.v2alpha.SubscriptionService services. The sui.node.v2.NodeService service is left as-is and will be removed in a subsequent release.
Commit: | 9f4304d | |
---|---|---|
Author: | Mark Logan | |
Committer: | GitHub |
Estimate commit rate in ConsensusHandler (#21318) This is built on a small system for observing state computed from N previous commits. In order to guard against latent forking bugs caused by such observations, the digest of all state thus observed is added to each commit prologue. This requires a new version (V4) of ConsensusCommitPrologue Stacked on #21310
Commit: | bd3bd69 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: define a default read_mask for GetObject When a read_mask is not provided for the GetObject endpoint have it default to "object_id,version,digest".
Commit: | b9897ef | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: remove GetCheckpointOptions internal type and directly use a read mask
Commit: | 9139f0b | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: remove ExecuteTransactionOptions internal type and directly use a read mask
Commit: | 74bf454 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: remove GetFullCheckpointOptions internal type and directly use a read mask
Commit: | 44687ed | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: remove GetTransactionOptions internal type and directly use a read mask
Commit: | 50332ae | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
proto: remove options field from GetCheckpointRequest
Commit: | ec31a2b | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
proto: remove options field from GetFullCheckpointRequest
Commit: | 27ce119 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
proto: remove options field from GetTransactionRequest
Commit: | 37a24ce | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
proto: remove options field from ExecuteTransactionRequest
Commit: | cef1d07 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
proto: remove deprecated input/output object fields
Commit: | fc38357 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: update docs
Commit: | 6384c83 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
proto: remove options field from GetObjectRequest
Commit: | f30121a | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
grpc: remove remove unnecessary nesting of repeated fields
Commit: | d44619f | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
proto: fix SignatureScheme enum to match bcs serialized value
Commit: | 52756b4 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
grpc: introduce FieldMasks for partial responses Instead of defining custom "options" types for each endpoint to control the amount of data being returned, leverage the standard google.protobuf.FieldMask type and inspiration from https://google.aip.dev/157 in order to provide users fine-grained control over what fields are returned. Initially the provided field masks will support parity with the existing options and in the future provided field masks may support more fine-grained control over nested fields.
Commit: | 4226442 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
grpc: add protos for more well known types Add protos for: - Any - FieldMask - Status - error_details (to be used with Status)
Commit: | fe5369c | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
proto: rework directory structure to conform with standards
Commit: | 0cdeb23 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: add GetGasInfo alpha endpoint
Commit: | 5750dd8 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: add GetCoinInfo grpc endpoint
Commit: | 3dcbe7c | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: add ListDynamicFields grpc endpoint
Commit: | 2451e42 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: move GetCoinInfo and ListDynamicFields to alpha service
Commit: | e8e483c | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: add GetProtocolVersion alpha endpoint
Commit: | e790f45 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: add SimulateTransaction and ResolveTransaction alpha endpoints
Commit: | e050af0 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: add ListAccountObjects alpha endpoint
Commit: | 93f0205 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | GitHub |
rpc: documentation pass on proto files (#21045)
Commit: | d356109 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
proto: adjust doc comments so that they appear when docs are built
Commit: | 850a28b | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: introduce SubscriptionService Introduce a new SubscriptionService which has a single gRPC method for subscribing to a stream of checkpoints. This new service is in the 'sui.node.v2alpha' package and is intended to be experimental and subject to change until the service is promoted to the 'sui.node.v2' package.
Commit: | c07e414 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
sui-rpc: rework proto files based on 'buf lint' Rework the sui package proto files based on suggestions from 'buf lint'. One of the suggestions is to ensure that services end with a common prefix `Service`. In order to gracefully transition to this for the release to mainnet, the renamed service `NodeService` and the old service `Node` will both be supported for a single release, after which the older `Node` service will be removed.
Commit: | 5df4443 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
sui-rpc: rework proto files based on 'buf lint' Rework the sui package proto files based on suggestions from 'buf lint'. One of the suggestions is to ensure that services end with a common prefix `Service`. In order to gracefully transition to this for the release to mainnet, the renamed service `NodeService` and the old service `Node` will both be supported for a single release, after which the older `Node` service will be removed.
Commit: | ad58cb9 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: change all options to default to false when not provided Change all gRPC method options to default to false when not provided. This will result push clients to explicitly ask for the fields that they want instead of relying on any defaults that could change. This also will also make it easier to rely on the generated protobuf option types where if a field isn't present, its accessor will provide the default value of `false`.
Commit: | e5b12a4 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: support requesting and sending UserSignatures encoded as bytes
Commit: | f8bfb03 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: ensure strings are string types in proto files Update all proto fields that have their corresponding protocol type encoded as utf8 to `string` but were previously listed as `bytes`. This is a wire-format compatible change and is safe to make since all previous uses of these fields were as valid utf8 strings.
Commit: | e57d1d9 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rename sui-rest-api crate to sui-rpc-api
Commit: | d589a35 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: introduce new protobuf definitions Introduces a new set of more fleshed out protobuf definitions for both core types (and conversions to/from sui-sdk-types and the protobuf types) as well as rpc request and response types.
Commit: | 98a9217 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: introduce new protobuf definitions Introduces a new set of more fleshed out protobuf definitions for both core types (and conversions to/from sui-sdk-types and the protobuf types) as well as rpc request and response types.
Commit: | eddbf73 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rename sui-rest-api crate to sui-rpc-api
Commit: | 1dd2ea6 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rpc: introduce new protobuf definitions Introduces a new set of more fleshed out protobuf definitions for both core types (and conversions to/from sui-sdk-types and the protobuf types) as well as rpc request and response types.
Commit: | 487ad16 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rename sui-rest-api crate to sui-rpc-api
Commit: | d7b6639 | |
---|---|---|
Author: | mwtian | |
Committer: | GitHub |
[fastpath] support locking transactions and returning effects without signatures (#20128) ## Description - Allow locking transactions without getting back a signed transaction. - Allow getting back unsigned effects for previously executed transactions. - Add basic types to support using finalized effects without aggregated effects sigs. - Handle `ConsensusTransactionKind::UserTransaction` in callsites that already handle `ConsensusTransactionKind::CertifiedTransaction`. - Support reconfiguring components other than `QuorumDriver`, in reconfig observers. - Remove some unused code. ## Test plan CI --- ## Release notes Check each box that your changes affect. If none of the boxes relate to your changes, release notes aren't required. For each box you select, include information after the relevant heading that describes the impact of your changes that a user might notice and any actions they must take to implement updates. - [ ] Protocol: - [ ] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API:
Commit: | 96a00d4 | |
---|---|---|
Author: | Mingwei Tian | |
Committer: | Mingwei Tian |
[fastpath] support locking transactions and returning effects without signatures
Commit: | 7efa105 | |
---|---|---|
Author: | Mingwei Tian | |
Committer: | Mingwei Tian |
[fastpath] supporting locking transactions and returning effects without signatures
Commit: | 108ad4c | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rest: support protobuf format for committee endpoints
Commit: | 718a244 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rest: support protobuf format for resolve, simulate, and execute transaction endpoints
Commit: | 72b7623 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rest: rework proto format to better reuse of common types
Commit: | 3eeb8b3 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
rest: introduce protobuf as an acceptable content type Given the BCS format is inherently un-evolvable (unless you utilize enums) it makes a poor wire format as any changes made lead to incompatibilities with existing clients. Today the REST api uses JSON as the default, and human-readable, format and BCS for the binary one. This PR introduces Protobuf as another possible format type and converts the `list_checkpoints` api to support requesting a page of checkpoints in a protobuf format. The plan is to introduce support for protobuf to other apis and to phase out bcs in most places.
Commit: | d3c7e0e | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
narwhal: manually build grpc interface Manually build grpc interface instead of leveraging protoc in order to eliminate needing to build the expensive protoc compiler.
This commit does not contain any .proto
files.
Commit: | 70d11aa | |
---|---|---|
Author: | shio-coder | |
Committer: | GitHub |
Consensus changes for SIP-19 (#17508) ## Description Please refer to this SIP draft: https://github.com/sui-foundation/sips/pull/19 The PR focuses only on consensus related changes, covering both Narwhal and Mysticeti. We will proceed to work on the remaining parts once this gets merged. The PR includes a commit from @mwtian that changes `TransactionConsumer` for ack handling in a bundle context. Special thanks to @mwtian for taking time to discussions and authoring the change above! ## Test Plan The feature is not exactly user-facing and do not break anything. ### Type of Change (Check all that apply) - [x] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration --------- Co-authored-by: Mingwei Tian <mingwei@mystenlabs.com>
Commit: | a0d10fb | |
---|---|---|
Author: | mwtian | |
Committer: | GitHub |
[Narwhal] remove DAGs and network definitions for external consensus (#12950) ## Description 1. Remove two DAG implementions only used by external consensus. 2. Cleanup some network interfaces only used by external consensus. #12946 ## Test Plan CI Narwhal nightly: https://github.com/MystenLabs/sui/actions/runs/5524847205 --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
Commit: | bdc7a9f | |
---|---|---|
Author: | mwtian | |
Committer: | GitHub |
[Narwhal] rename send_message RPC to send_certificate (#8520) Rename the `send_message()` RPC to `send_certificate()` which should be more accurate. Add request and response types for `send_certificate()`.
Commit: | 7424aba | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
chore: update license header to remove year
Commit: | e889294 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | GitHub |
primary: convert primary-to-worker interface to quic/anemo (MystenLabs/narwhal#976) * primary: convert primary-to-worker interface to quic/anemo * config: remove unused primary-to-worker address and rename worker-to-worker to worker-address * network: remove duplicate code by removing WorkerToPrimaryNetwork * network: rename *Network2 -> *Network
Commit: | daf89be | |
---|---|---|
Author: | aschran | |
Committer: | GitHub |
network: convert worker-to-primary interface to quic/anemo (MystenLabs/narwhal#941) Fixes MystenLabs/narwhal#884
Commit: | 35ae219 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
worker: remove unused client-batch-request api This patch removes the unused client-batch-request api given its unused.
Commit: | 5eea1b6 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
worker: convert worker-to-worker network to quic/anemo
Commit: | 67dbbd4 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | GitHub |
quic: primary-to-primary (MystenLabs/narwhal#668)
Commit: | ccfd6c2 | |
---|---|---|
Author: | Arun Koshy | |
Committer: | GitHub |
Rename CollectionRetrievalResult field 'batch' to 'transaction_list' (MystenLabs/narwhal#536) * Rename field 'batch' to 'transaction_list' * Remove concept of batches in client facing code * update example docs
Commit: | 90d7fe0 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
primary: add interface for querying information about a primary's workers
Commit: | d8eb28e | |
---|---|---|
Author: | Arun Koshy | |
Committer: | GitHub |
Add endpoint to retrieve multiaddr of nw primary (MystenLabs/narwhal#590) * add endpoint to publish multiaddr of nw primary * Fix broken test * use cluster in configuration tests * change addr to address * pass name instead of address to grpc server
Commit: | 3ad63d7 | |
---|---|---|
Author: | mwtian | |
Committer: | GitHub |
[Lint] Run clang-format for protobuf (MystenLabs/narwhal#485) * Add protobuf linting and switch to super-linter * clang-format protobuf * format proto file * fix * fix * . * format proto * . * indent 4 spaces * . * .
Commit: | 89945d9 | |
---|---|---|
Author: | Arun Koshy | |
Committer: | GitHub |
Hookup NewNetworkInfo endpoint with backend (MystenLabs/narwhal#386) * hookup new_network_info endpoint with backend * fix imports * Update /examples docs & proto and check for epoch validity
Commit: | 59613c3 | |
---|---|---|
Author: | Arun Koshy | |
Committer: | GitHub |
Add skeleton for NewEpoch endpoint (MystenLabs/narwhal#351) * Add skeleton for new epoch endpoint * add method to extract and verify public key from request similar to proposer
Commit: | a038bcd | |
---|---|---|
Author: | Arun Koshy | |
Committer: | François Garillot |
Initial template for demo client
Commit: | ed6883f | |
---|---|---|
Author: | Arun Koshy | |
Committer: | GitHub |
Add NodeReadCausal Endpoint (MystenLabs/narwhal#276) * Add NodeReadCausal Endpoint * remove comments
Commit: | 42595b7 | |
---|---|---|
Author: | Arun Koshy | |
Committer: | GitHub |
Add ReadCausal Endpoint (MystenLabs/narwhal#258) * Add RemoveCollections gRPC endpoint * address review comments * fix tests * Add protos for ReadCausal * Add read causal endpoint * add licesnse * Respond to review comments * Signed Certifcate Test Investigation * fix: reorder dependencies in primary * Remove false assert in broken test * Fix fixture and signed test * cleanup before submit Co-authored-by: François Garillot <francois@garillot.net>
Commit: | 75435f4 | |
---|---|---|
Author: | Anastasios Kichidis | |
Committer: | GitHub |
feat: Introduce the rounds endpoint for the ProposerAPI (MystenLabs/narwhal#253) This commit adds a new gRPC endpoint, the rounds endpoint. It retrieves the rounds that contain available certificates.
Commit: | 08d91bd | |
---|---|---|
Author: | Arun Koshy | |
Committer: | GitHub |
Add NewNetworkInfo endpoint (MystenLabs/narwhal#244) * Add RemoveCollections gRPC endpoint * address review comments * fix tests * Add NewNetworkInfo endpoint * update endpoint doc comment * change epoch number from int32 to uint32 * fix tests after merging with main
Commit: | f425e27 | |
---|---|---|
Author: | Arun Koshy | |
Committer: | GitHub |
Add RemoveCollections endpoint to Consensus API (MystenLabs/narwhal#224) * Add RemoveCollections gRPC endpoint * address review comments * fix tests * respond to review comments
Commit: | a0d21bf | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
sui-network: manually define rpc service Manually define our Validator rpc service instead of relying on a .proto file. This has the advantange that for now we can use types already defined in Rust for wire messages instead of requiring proto definitions or using the awkward double serialization we were currently using.
This commit does not contain any .proto
files.
Commit: | cdccbdf | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
sui-network: manually define rpc service Manually define our Validator rpc service instead of relying on a .proto file. This has the advantange that for now we can use types already defined in Rust for wire messages instead of requiring proto definitions or using the awkward double serialization we were currently using.
This commit does not contain any .proto
files.
Commit: | da338ae | |
---|---|---|
Author: | Arun Koshy | |
Committer: | GitHub |
Add gRPC Server + get_collections endpoint to Narwhal (MystenLabs/narwhal#140) * Add simple grpc server to primary & add test to hit embedded grpc server in primary * Checkpointing gRPC Server + get_collections endpoint * Switch from build.rs to bootstrap method * Completed get_collections endpoint * Cleanup for review * small typo * fix license headers * update generated narwhal.rs * Refactoring/Changes based on review comments * Only spawn grpc server if external consensus is used & fix broken tests * fix benchmark_client: missed field name update * Add port picker for benchmarking and address other review comments * Fix small typo * rename proto bytes fields with more descriptive names
Commit: | cc768f4 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
worker: convert transactions endpoint to grpc Also include a streaming send to better enable the benchmark client.
Commit: | 8f6d107 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
types: add proto definitions for narwhal interfaces
Commit: | 47adf5d | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
network: convert to grpc
Commit: | 0351049 | |
---|---|---|
Author: | Brandon Williams | |
Committer: | Brandon Williams |
network: convert to grpc