From b89617ac738ca111d1a2a28ed293e2a2787feeeb Mon Sep 17 00:00:00 2001 From: Carlos Baez Date: Wed, 14 Aug 2024 00:49:45 +0200 Subject: [PATCH] Squashed commit of the following: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 8832132a579150733d8cd210dd8f3d72320be08d Merge: 4ec3953e3 1bf77fe12 Author: Carlos Baez Date: Wed Aug 14 00:44:09 2024 +0200 Merge tag 'testnet-v1.31.1' into testnet4-v1.31.1 Sui testnet v1.33.1 release commit 1bf77fe12ab932de55d2027cb0da5a7ecd054360 Author: Xun Li Date: Mon Aug 12 12:55:12 2024 -0700 Fix fullnode event resolution commit 2cc5cea6d0bc6802d792291696a871a90cb5e9d4 Author: Eugene Boguslavsky Date: Mon Aug 12 21:07:17 2024 +0000 Sui v1.31.1 version bump commit ea010a09195ad185230255ecf1b5c675146ffcf8 Author: Xun Li Date: Mon Aug 12 09:12:35 2024 -0700 [cherry-pick][denylist] Fix sign check early return (#18952) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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 0de46e0c0ce3f22e2ff7f3001fccf6fdf1b1dd9e Author: Eugene Boguslavsky Date: Fri Aug 9 09:56:56 2024 +0100 Sui v1.31.0 Bytecode Snapshot (#18933) ## Description Sui v1.31.0 Bytecode Snapshot ## Test plan ๐Ÿ‘€ commit 3f4cab62afbf86870d37b187a6bfaabf4f33d30e Author: Adam Welc Date: Fri Aug 9 00:44:14 2024 +0100 [move-ide] Added support for use-s auto-completion (#18924) ## Description This PR add support for `::` auto-completion for `use` statements. It is the last step towards finishing current level of `::` support started in https://github.com/MystenLabs/sui/pull/18778 ## Test plan All new and existing test must pass commit 3e6540f7b09d14fcb953d0497b44f87fb65a7e76 Author: phoenix <51927076+phoenix-o@users.noreply.github.com> Date: Thu Aug 8 14:06:55 2024 -0500 [data ingestion] for lagging secondary only update local progress state (#18927) commit ba9495f13b3ee881fc13beeb727edaef5cead487 Author: William Smith Date: Thu Aug 8 12:14:35 2024 -0400 [snapshots] Add metric for number of local db checkpoints (#18926) ## Description Because we run snapshot upload and garbage collection as a background task but we perform rocksdb checkpointing at end of epoch unconditionally for configured nodes, any failure in either the upload or garbage collection path will lead to an accumulation of old db checkpoints, which will inevitably lead to disk filling and make things more difficult to debug. This PR adds a metric to periodically count the number of rocksdb checkpoints that exist on local disk. Except in rare cases (backfills), this number should generally be lower than 3, so we can add alerting on this for early intervention. ## Test plan ๐Ÿ‘€ --- ## 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 6f4864b78b87fc7be3774aab30e85307b2dad696 Author: shio-coder <165585716+shio-coder@users.noreply.github.com> Date: Thu Aug 8 02:14:16 2024 -0700 Enable soft bundle on mainnet (#18876) ## Description This PR adds Protocol Version 54, where soft bundle will be enabled on mainnet. ## Test plan How did you test the new or updated feature? --- ## 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. - [x] Protocol: Enable soft bundle on mainnet. - [ ] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: commit 58fd1d1d2cadec6fb2cc6b85df61727db56a2ad2 Author: Adam Welc Date: Thu Aug 8 02:00:29 2024 +0100 [move-compler] Added parser resilience for use declarations (#18879) ## Description This PR adds parsing resilience when parsing use declarations. The idea is to recognize partially parsed statements (examples below and also in the new test) to enable auto-completion in the IDE. ``` use a::m2:: use a::m2::{foo use a::m2::{foo, bar use a::{m2::{foo, bar use a::{m2::{foo, bar}, m3 ``` ## Test plan New and all tests must pass --- ## 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: - [x] CLI: Additional compiler errors for incomplete name access chains (such as `use some_pkg::some_module::`) might appear in the compiler output. - [ ] Rust SDK: - [ ] REST API: commit e4c9076d4f9a017aa0f64cb306e6bdeb639e57b0 Author: phoenix <51927076+phoenix-o@users.noreply.github.com> Date: Wed Aug 7 12:13:11 2024 -0500 [data ingestion] ensure current checkpoint watermark is greater or equal to pruning watermarkโ€ฆ (#18922) this is required for setups that use colocation setups and have multiple processes/hosts that execute the same workflow with shared progress store commit 5cb3a2e41ea878ae8bdb70be3c6072be23087723 Author: Anastasios Kichidis Date: Wed Aug 7 17:32:25 2024 +0100 [chore] disable flaky test (#18919) ## Description Temporary disabling until further tuned by @williampsmith ## 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 b1ebfff1ed0398c3263c8c62befa3877af2a566e Author: Brandon Williams Date: Wed Aug 7 14:37:17 2024 +0100 serde_json: don't use the arbitrary_precision feature commit af1588f0d3eb2aac1a04f23f35add9fd10184a9b Author: phoenix <51927076+phoenix-o@users.noreply.github.com> Date: Wed Aug 7 09:17:48 2024 -0500 [data ingestion] decrease default queue length for remote reader (#18889) should decrease pressure on remote store. The parameter can be bumped manually for backfill jobs commit 6bc8aeee2160c8a8065be343e0432f161d8c9c49 Author: Bridgerz Date: Wed Aug 7 14:41:01 2024 +0100 Eth Sync rework (#18604) ## Description Update Eth bridge indexer sync and live event subscription. ## Test plan Will include unit tests in a subsequent PR. --- ## 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: --------- Co-authored-by: Brandon Williams commit e8e6b492a66956ca43e099887e2e94204881cf65 Author: Eugene Boguslavsky Date: Wed Aug 7 12:08:39 2024 +0100 Fix suiop version and include in builds (#18914) ## Description Fix `suiop` version and include in builds ## Test plan ๐Ÿ‘€ commit 1ce3dda3cadcb40a7ddcb8beef17a85769ca3d14 Author: Tim Zakian <2895723+tzakian@users.noreply.github.com> Date: Wed Aug 7 09:49:20 2024 +0100 [move] Fixes for enums in Move model + add support in docgen (#18907) ## Description Fixes some issues with enums in Move model creation, and adds support for enums in docgen, and adding doc comments to enum variants. ## Test plan Added a test for docgen with enums -- this tests both the bugfixes and also the generation of doc comments for enums. --- ## 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 98603adc68a6363b5dc6ee2fed07025a6282dd3e Author: Eugene Boguslavsky Date: Wed Aug 7 08:59:02 2024 +0100 Revert #18910 (#18913) ## Description Revert #18910 Unbreaking https://github.com/MystenLabs/sui-operations/actions/runs/10278960227/job/28445039800 Will fix later ## Test plan ๐Ÿ‘€ commit 4c36d71b9f5a199f0607df8913980578b52101d3 Author: Xun Li Date: Wed Aug 7 06:51:36 2024 +0100 Enable tx finalizer on mainnet (#18906) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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 226103220755b27dd3798f0193629804e25ae52c Author: Xun Li Date: Wed Aug 7 06:27:54 2024 +0100 Improve tx finalizer simtests (#18903) ## Description Introduce a timing config, and set the values differently for prod vs tests. This allows tests to run much more quickly. Re-enable the simtests in nightly. ## 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 191589271025c31a1a13f8f4cdd457986e845441 Author: Zhe Wu Date: Tue Aug 6 19:36:59 2024 -0700 Turn on shared object congestion control in mainnet (#18902) ## Description Says by the title. Going out in 1.3.1 ## Test plan How did you test the new or updated feature? --- ## 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 e34d2b9005eacd220aa8fe08a322289d83e2775f Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com> Date: Tue Aug 6 17:58:40 2024 +0000 Version Packages (#18874) This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @mysten/deepbook-v3@0.1.0 ### Minor Changes - 05fb3ac: Update deepbook addresses ### Patch Changes - Updated dependencies [0851b31] - Updated dependencies [f37b3c2] - @mysten/sui@1.5.0 ## @mysten/sui@1.5.0 ### Minor Changes - 0851b31: Deprecate requestType option when executing transactions ### Patch Changes - f37b3c2: Add PerEpochConfig and Cancelled to UnchangedSharedKind - Updated dependencies [f37b3c2] - @mysten/bcs@1.0.4 ## @mysten/wallet-standard@0.13.0 ### Minor Changes - 0851b31: Deprecate requestType option when executing transactions ### Patch Changes - Updated dependencies [0851b31] - Updated dependencies [f37b3c2] - @mysten/sui@1.5.0 ## @mysten/bcs@1.0.4 ### Patch Changes - f37b3c2: Improve error message when bcs enum contains unknown value ## @mysten/create-dapp@0.3.15 ### Patch Changes - Updated dependencies [0851b31] - Updated dependencies [f37b3c2] - @mysten/sui@1.5.0 - @mysten/dapp-kit@0.14.15 ## @mysten/dapp-kit@0.14.15 ### Patch Changes - Updated dependencies [0851b31] - Updated dependencies [f37b3c2] - @mysten/wallet-standard@0.13.0 - @mysten/sui@1.5.0 - @mysten/zksend@0.10.4 ## @mysten/deepbook@0.8.14 ### Patch Changes - Updated dependencies [0851b31] - Updated dependencies [f37b3c2] - @mysten/sui@1.5.0 ## @mysten/enoki@0.3.14 ### Patch Changes - Updated dependencies [0851b31] - Updated dependencies [f37b3c2] - @mysten/sui@1.5.0 - @mysten/zklogin@0.7.14 ## @mysten/graphql-transport@0.2.14 ### Patch Changes - Updated dependencies [0851b31] - Updated dependencies [f37b3c2] - Updated dependencies [f37b3c2] - @mysten/sui@1.5.0 - @mysten/bcs@1.0.4 ## @mysten/kiosk@0.9.14 ### Patch Changes - Updated dependencies [0851b31] - Updated dependencies [f37b3c2] - @mysten/sui@1.5.0 ## @mysten/suins-toolkit@0.5.14 ### Patch Changes - Updated dependencies [0851b31] - Updated dependencies [f37b3c2] - @mysten/sui@1.5.0 ## @mysten/zklogin@0.7.14 ### Patch Changes - Updated dependencies [0851b31] - Updated dependencies [f37b3c2] - Updated dependencies [f37b3c2] - @mysten/sui@1.5.0 - @mysten/bcs@1.0.4 ## @mysten/zksend@0.10.4 ### Patch Changes - Updated dependencies [0851b31] - Updated dependencies [f37b3c2] - @mysten/wallet-standard@0.13.0 - @mysten/sui@1.5.0 Co-authored-by: github-actions[bot] commit f37b3c21d90d1c5299f0f1bc94af0e4194e82094 Author: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com> Date: Tue Aug 6 10:46:31 2024 -0700 [ts sdk] Add PerEpochConfig and Cancelled to UnchangedSharedKind (#18909) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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 aa54e5a46cbea799205256b9c1d282c8bd5fe137 Author: pei-mysten <147538877+pei-mysten@users.noreply.github.com> Date: Tue Aug 6 05:16:21 2024 -0700 [suiop] add to internal binaries release list (#18910) ## Description [suiop] add to internal binaries release list commit ce145026587eacce9dfe3a56b45c5f09eac5029a Author: Cam Swords Date: Tue Aug 6 04:01:21 2024 -0700 [move][move-2024] Fix a small bug in how match was handled in parsing (#18880) ## Description This adds `Tok::Match` to the `at_start_of_exp` check in the parser ## Test plan Added tests that failed before the fix. --- ## 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 429e1260b5a8b9a62b7bb62e81dbc829faa5464e Author: stefan-mysten <135084671+stefan-mysten@users.noreply.github.com> Date: Tue Aug 6 01:48:38 2024 -0700 [chorse] Update `time` crate to a newer version to avoid compilation errors (#18904) ## Description Update `time` crate to a newer version to avoid compilation errors ## Test plan How did you test the new or updated feature? --- ## 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 d9dc6ca01e8700d964f45482bf18f863b4fc85fb Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Fri Aug 2 10:11:20 2024 -0700 [Consensus] update a few parameters (#18891) ## Description - With consensus latency consistently < 1s under max TPS, the consensus adapter limit can be significantly reduced even to support high TPS. - Reduce # of transactions that can be included in a block. ## Test plan Private Testnet --- ## 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 aae147c62850b7d39f1af487ca32a70614e668de Author: Andrew Schran Date: Fri Aug 2 10:26:51 2024 -0400 Enable random beacon on mainnet (#18888) ## Description Enables the native randomness (random beacon) feature on sui mainnet. ## Test plan Extensive manual and automated testing. --- ## 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. - [x] Protocol: Enables the native randomness (random beacon) feature on Sui Mainnet. - [ ] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: commit 0d765401a13b79ebfd49e403efe36e711a0b216a Author: jk jensen Date: Fri Aug 2 08:33:55 2024 -0400 [suiop] add aliases for image building (#18819) ## Description make it a bit easier to use ## Test plan works ```bash ยป suiop ci image list --repo sui-operations --image test Requested list for repo: sui-operations โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚ name โ”‚ tags โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”ค ``` --- ## 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 9702dfb58a123664b38c519cb2fde875ca92fb5b Author: Adam Welc Date: Thu Aug 1 15:03:59 2024 -0700 [move-ide] Added support for name chain completions in attributes (#18866) ## Description This PR adds support for handling name access chains in attributes. The goal here is NOT to add more general support smart auto-completion for attributes, though we can potentially do a lot of interesting things there. Instead, the focus here is to finish `::` auto-completion started in https://github.com/MystenLabs/sui/pull/18778 ## Test plan All new and old tests must pass commit 7efc10bd802040003532f310d475fb49849d55e0 Author: wlmyng <127570466+wlmyng@users.noreply.github.com> Date: Thu Aug 1 13:10:01 2024 -0700 Fix e2e test hanging on local runs (#18887) ## Description When running `cargo nextest run --test-threads 1 --package sui-graphql-rpc --test e2e_tests --test examples_validation_tests --features pg_integration` locally, these tests will hang on the first one. Explicitly sending a cancellation signal and waiting for the indexer and graphql handles to spin down seems to solve the issue. Would be nice to run these in parallel too, but punting them for when we have an embedded db setup. ## Test plan Tests pass locally --- ## 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 8c453183740d482c5b035e10f90134f011aadd55 Author: Andrew Schran Date: Thu Aug 1 15:52:04 2024 -0400 Add long-epoch, rolling restart simtest (#18875) ## Description This reproduces prior bugs with random beacon. ## Test plan Manual repro testing on old commits. commit 05fb3aca05accd6dd96d1088036bfed557fde056 Author: Tony Lee Date: Thu Aug 1 20:26:16 2024 +0100 SDK Updates (#18871) commit af9a3574e00a4cf396c889b3254422447d365121 Author: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> Date: Thu Aug 1 13:09:57 2024 -0600 [docs] DeepBook SDK (#18815) ## Description Adds DeepBook SDK. ## Test plan How did you test the new or updated feature? --- ## 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 8599d66ceb8666da15af0200ff63f0058fcfc4af Author: phoenix <51927076+phoenix-o@users.noreply.github.com> Date: Thu Aug 1 13:04:34 2024 -0500 [data ingestion] update internal state of progress store wrapper (#18883) always update internal state of progress store wrapper. It should speed up cleaning up local files in case if the host is slow secondary commit 83863f2c4aba802ab2b102fe3fa19362cbaa320d Author: Brandon Williams Date: Thu Aug 1 11:59:04 2024 -0500 rocksdb: reintroduce workspace-hack scoped to typed-store Reintroduce a workspace-hack package (`typed-store-workspace-hack`) in order to perform feature unification specifically for the third-party dependencies which impact the building of rocksdb, the heaviest weight dependency we currently have. After this patch, no matter where in the workspace you perform a build, rocksdb will only be built a single time. For now the `typed-store-workspace-hack` package is manually maintained and was created with assistance from `cargo hakari` and `cargo tree`. commit 2a25217f7b62210edb962e0e76ebb2d371c3af11 Author: Brandon Williams Date: Thu Aug 1 10:25:50 2024 -0500 rocksdb: access rocksdb through typed-store This patch does some dependency shuffling to force accessing the rocksdb crate via the typed-store crate in order to try and limit how and when librocksdb-sys is built. Before this patch, when building all targets, librocksdb-sys was included in the dependency graph and built twice (with a total of 2005 targets). After this patch librocksdb-sys is included only a single time in the dependency graph and reduces the number of built targets to 1959. commit d3c7e0e09abb112dae21691d67faba73943a4b09 Author: Brandon Williams Date: Thu Aug 1 10:02:13 2024 -0500 narwhal: manually build grpc interface Manually build grpc interface instead of leveraging protoc in order to eliminate needing to build the expensive protoc compiler. commit 44150d4d4786743e0799c6cafd19169d737b90ee Author: mamos-mysten <122397493+mamos-mysten@users.noreply.github.com> Date: Thu Aug 1 09:48:34 2024 -0700 [wallet-ext]: fix: hidden assets button (#18884) ## Description Fixes appearance of hide assets button in the wallet extension ## Test plan How did you test the new or updated feature? --- ## 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 b4f6f3cfd0e600b6db6b153692e633bcf25ec877 Author: stefan-mysten <135084671+stefan-mysten@users.noreply.github.com> Date: Thu Aug 1 08:03:31 2024 -0700 [Rust SDK] Handle unwrap in wallet context (#18882) ## Description Handle unwrap in wallet context ## Test plan How did you test the new or updated feature? --- ## 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 e1540fde9d40af20f67f63fade2b0670f9da8958 Author: plam-ml <127577476+plam-ml@users.noreply.github.com> Date: Thu Aug 1 06:32:47 2024 -0700 add blank and rel (#18881) ## Description - Add target and rel ## Test plan How did you test the new or updated feature? --- ## 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 1df30b2af1868153dad77fba3a2a43f297bc46a6 Author: devan-ko <143364659+devan-ko@users.noreply.github.com> Date: Thu Aug 1 20:30:05 2024 +0900 feat: enable ambrus aws cognito as zklogin provider (#18867) commit b5ca0ebe9d702ff5b5b17bb17663cc9f20a840c5 Author: Anastasios Kichidis Date: Thu Aug 1 10:55:00 2024 +0100 [Consensus] refactored data remover for store pruning (#18839) ## Description This PR refactors the store pruning for the consensus db. The following have been done: * renamed component from `EpochDataRemover` to `ConsensusStorePruner` as it's more accurate and easier to locate * use the `safe_drop_db` method to ensure more safety/robustness against deletions * added node configuration for the consensus db epoch retention and run interval * made the component attempt to prune old epoch dbs not only during epoch change but periodically as well (configurable) to ensure that there is a retry approach in case of transient failures enhancing the robustness. * more testing ## Test plan CI/private-testnet --- ## 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 32347c20c248f6691c6ab89ba53266e2f677ed9b Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Wed Jul 31 22:54:28 2024 -0700 [rocksdb] increase write stopping threshold for L0 files (#18872) ## Description Currently for column families with high write rate, write stalling and stopping can happen after there are 24 pending L0 files, for example in consensus DB during consensus catchup. This hurts the throughput significantly and reduces the stability of the system. The # of L0 files to compact is reduced back to the default (4), to speed up L0 compactions. Also, for DB that optimizes for write throughput, the thresholds to stall and stop writes are further increased. Logs observed from one validator: ``` 2024/07/31-03:59:57.695047 2702658 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 24 level-0 files rate 16777216 2024/07/31-04:00:13.393421 2702607 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 24 level-0 files rate 13421772 2024/07/31-04:00:13.393593 2702607 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 24 level-0 files rate 10737417 2024/07/31-04:00:14.418687 2702901 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 25 level-0 files rate 8589933 2024/07/31-04:00:43.754068 2702656 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 25 level-0 files rate 10737416 2024/07/31-04:00:52.471606 2702597 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 25 level-0 files rate 8589932 2024/07/31-04:00:52.471784 2702597 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 25 level-0 files rate 9620723 2024/07/31-04:00:53.677837 2702901 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 26 level-0 files rate 7696578 2024/07/31-04:01:26.237337 2702597 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 26 level-0 files rate 8620167 2024/07/31-04:01:26.237494 2702597 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 26 level-0 files rate 6896133 2024/07/31-04:01:27.389744 2702901 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 27 level-0 files rate 5516906 2024/07/31-04:02:21.401986 2702597 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 27 level-0 files rate 4413524 2024/07/31-04:02:21.402179 2702597 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 27 level-0 files rate 3530819 2024/07/31-04:02:22.441728 2702901 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 28 level-0 files rate 2118491 2024/07/31-04:03:18.346778 2702614 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 28 level-0 files rate 10066329 2024/07/31-04:03:18.346980 2702614 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 28 level-0 files rate 6039797 2024/07/31-04:03:19.198853 2702901 [WARN] [db/column_family.cc:991] [blocks] Stalling writes because we have 29 level-0 files rate 3623878 ``` There is no logs for stopping writes at 30 level-0 files. ## Test plan CI. Private testnet. --- ## 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 5a0febd2d09cc6a9a42236577e6238ef02bf21e0 Author: Tom Cat <48447545+tx-tomcat@users.noreply.github.com> Date: Thu Aug 1 03:55:21 2024 +0700 [Linter] Warn against freezing a type T with a capability-like name (ends in Cap or Capability) and capability-like usage (one or more functions gated with &T inside the package that declares T) (#17273) ## Description The lint identifies function calls that may incorrectly freeze such types, which can lead to design issues. Key Features: 1. Checks for specific freezing functions defined in constants. 2. Uses regex to identify capability-like type names. 3. Reports warnings for potential misuse of freezing on capability-like types. Implementation Details: The lint focuses on public_freeze and freeze functions in the sui::transfer module. It uses a regex pattern to match type names ending with "Cap", "Capability", or similar variations. When a match is found, it reports a warning with a custom diagnostic message. # Test plan Added more use case including false positive, false negative case ## Release notes - [ ] Protocol: - [ ] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [X] CLI: Move will now lint against freezing a potential capability object - [ ] Rust SDK: --------- Co-authored-by: jamedzung Co-authored-by: Todd Nowacki commit 801989d439b052fee233c6291fd6162ef1be4936 Author: Tom Cat <48447545+tx-tomcat@users.noreply.github.com> Date: Thu Aug 1 01:37:39 2024 +0700 [Linter] Missing key (#16616) ## Description Adds a new linter rule targeting structs that have an 'id' field of type 'UID' but lack the 'key' ability. Key features of this linter: - Identifies structs with an 'id' field of type 'UID'. - Checks if these structs have the 'key' ability. - Issues a warning if the 'key' ability is missing. The linter specifically looks for structs that represent Sui objects. These are identified by: `has_id_field_of_type_uid`. This function checks for a field named "id" of type `sui::object::UID` ## Test plan Added more use case including false positive, false negative case ## Release notes - [ ] Protocol: - [ ] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [X] CLI: A new Move lint will warn when a struct has a `id: UID` field, but lacks the `key` ability - [ ] Rust SDK: --------- Co-authored-by: jamedzung Co-authored-by: Todd Nowacki commit 0851b31567e87b4d009fbe832cb09f45a43fabdd Author: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com> Date: Wed Jul 31 10:41:18 2024 -0700 [sdk] deprecate requestType option in SDK (#18854) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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 c9a6d67e47ab5deab86639f8620a981d9e767033 Author: Brandon Williams Date: Wed Jul 31 11:26:39 2024 -0500 jsonrpc: use ExecuteTransactionRequestV3 when executing a transaction This patch deprecates the `WaitForLocalExecution` request type that was previously relied upon to calculate object and balance changes. Instead the new `ExecuteTransactionRequestV3` functionality is used to request output object data directly from the validators so that we no longer need to rely on waiting for local execution. The `WaitForLocalExecution` feature still exists and will still properly wait to return a response to a client until after the transaction is executed locally in order to retain the Read-after-Write semantics that some clients may presently rely on. commit be249a05b5b3cdc6d0bbc1d149a4ea79cba9e5eb Author: Patrick Kuo Date: Wed Jul 31 16:50:30 2024 +0100 [bridge indexer] - indexer refactoring (#18761) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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: --------- Co-authored-by: Lu Zhang <8418040+longbowlu@users.noreply.github.com> commit e8ca7ad1ec873307e55b5f65faeed48b107e48d9 Author: Brandon Williams Date: Mon Jul 29 15:33:58 2024 -0500 rest: implement client with support for all existing endpoints commit c1b1e1e74c82b950e8d531f1b84c605d1ea957ca Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com> Date: Tue Jul 30 17:26:38 2024 -0700 Version Packages (#18865) This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @mysten/sui@1.4.0 ### Minor Changes - 4419234: Add setGasBudgetIfNotSet helper to Transaction class ## @mysten/create-dapp@0.3.14 ### Patch Changes - Updated dependencies [4419234] - @mysten/sui@1.4.0 - @mysten/dapp-kit@0.14.14 ## @mysten/dapp-kit@0.14.14 ### Patch Changes - Updated dependencies [4419234] - @mysten/sui@1.4.0 - @mysten/wallet-standard@0.12.14 - @mysten/zksend@0.10.3 ## @mysten/deepbook@0.8.13 ### Patch Changes - Updated dependencies [4419234] - @mysten/sui@1.4.0 ## @mysten/deepbook-v3@0.0.1 ### Patch Changes - Updated dependencies [4419234] - @mysten/sui@1.4.0 ## @mysten/enoki@0.3.13 ### Patch Changes - Updated dependencies [4419234] - @mysten/sui@1.4.0 - @mysten/zklogin@0.7.13 ## @mysten/graphql-transport@0.2.13 ### Patch Changes - Updated dependencies [4419234] - @mysten/sui@1.4.0 ## @mysten/kiosk@0.9.13 ### Patch Changes - Updated dependencies [4419234] - @mysten/sui@1.4.0 ## @mysten/suins-toolkit@0.5.13 ### Patch Changes - Updated dependencies [4419234] - @mysten/sui@1.4.0 ## @mysten/wallet-standard@0.12.14 ### Patch Changes - Updated dependencies [4419234] - @mysten/sui@1.4.0 ## @mysten/zklogin@0.7.13 ### Patch Changes - Updated dependencies [4419234] - @mysten/sui@1.4.0 ## @mysten/zksend@0.10.3 ### Patch Changes - Updated dependencies [4419234] - @mysten/sui@1.4.0 - @mysten/wallet-standard@0.12.14 Co-authored-by: github-actions[bot] commit 0148d85f3b4a0d3bb7ea880c33825cef7fa9dfbe Author: Adam Welc Date: Tue Jul 30 17:08:01 2024 -0700 [move-ide] Added smart auto-completion for colon-colon (#18778) ## Description Currently, this PR implements most of functionality for `::` auto-completion when the cursor is on one of the identifiers in the name access chains. There are some missing parts here, arguably better split to separate PRs: - handling of access chains in attributes - handling of access chainss in `use` statements Also, this PR actually removes `:` completion (auto-completion start when typing the first character after `:`) which is consistent with what rust-analyzer does. While we can implement auto-completion right after `:`, the question is whether we should ## Test plan All new and old tests must pass commit b7b2a760cc7597e481a757fd5e9d4a32df25e166 Author: John Martin Date: Tue Jul 30 15:40:18 2024 -0700 [docs] update snapshot docs based off operator feedback (#18855) ## Description Got some feedback from a validator operator that the docs were a bit confusing, attempting to improve them. --------- Co-authored-by: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> commit 82a0a27f95022ffa8c9efa0546410c6ed13d6ed2 Author: shio-coder <165585716+shio-coder@users.noreply.github.com> Date: Tue Jul 30 15:16:44 2024 -0700 Soft bundle basic observability (#18807) ## Description The PR adds several metrics and logging to Soft Bundle. A node operator will have the ability to understand what bundles are submitted, as well as the content. This can be particularly useful when tracing down a transaction. ## Test plan How did you test the new or updated feature? --- ## 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 4419234c8a77a1e22b10b1de0e4c2ed1d8b435ed Author: Tony Lee Date: Tue Jul 30 23:04:21 2024 +0100 Deepbook SDK (#18610) commit 3053ad99496f832d5a13ff51b33be55f3e359052 Author: Ashok Menon Date: Tue Jul 30 21:18:12 2024 +0100 [main][GraphQL] Fix pruning compatibility issues (#18862) ## Description Two further fixes to get GraphQL working with pruned databases. Cherry-pick of #18860 **into main**. ## Test plan Tested by deploying this version of the service against a pruned DB, and ensuring the following query executed successfully: ```graphql query { chainIdentifier protocolConfig(protocolVersion: 10) { featureFlags { key value } } } ``` --- ## 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: - [x] GraphQL: Adds support for running GraphQL against a pruned version of the service. - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: commit de9d14fa86b1c8c2b450458e5f4aad37fd00b362 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Tue Jul 30 12:54:59 2024 -0700 introduce MeteredEthHttpProvider that meters rpc usage (#18833) ## Description `MeteredEthHttpProvider` counts every eth rpc query and its latency. This will be useful to track the eth rpc usage. ## Test plan unit tests --- ## 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 b3f67dfbd1b367bdb3763add1cdf838af7b92acf Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Tue Jul 30 12:53:52 2024 -0700 [bridge] move add new coin's handling to monitor (#18831) ## Description Today, when receiving an `AddNewToken` event, orchestrator updates the sui type tags map and send to the watch channel that action execution watches. In this PR, we consolidate the handling of this event with the newly added monitor module. In the new approach, orchestrator sends the event to monitor, instead of handling it in place. Also the type tag maps is stored in a `ArcSwap` to allow monitor to change it. Hence we get rid of the watch channel. ## Test plan Added unit tests. --- ## 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 447707c01284f450a97817bb6d9735bc5ad8ba28 Author: plam-ml <127577476+plam-ml@users.noreply.github.com> Date: Tue Jul 30 12:33:25 2024 -0700 update promo setup (#18858) ## Description - Rounded corners in apps list - Bake in centering and padding for interstitial ![Screenshot 2024-07-30 at 8 37 13โ€ฏAM](https://github.com/user-attachments/assets/b3cd8f9b-a615-4abc-a49b-db072054b059) ![Screenshot 2024-07-30 at 10 53 57โ€ฏAM](https://github.com/user-attachments/assets/e7e11c05-f8f7-4455-b491-d63f89b910e6) ## Test plan How did you test the new or updated feature? --- ## 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 8d68ee64149d2b8adf2b0b4f069b6e80c39021f4 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Tue Jul 30 12:06:06 2024 -0700 allow custom validator num in bridge tests (#18835) ## Description As title, this will make some e2e tests easier to write. It's worth noting that surprisingly this does not help with fullnode sync up speed in the test, which is the main source of slowness in bridge e2e tests. ## Test plan existing tests --- ## 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 6140ef850f4caad3a852d265cdc324c4cac4721a Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Tue Jul 30 11:58:09 2024 -0700 [bridge] do not submit tx to sui if paused (#18828) ## Description in `ActionExecutor`, use `bridge_pause_rx` to decide whether to submit tx to Sui. ## Test plan new unit test --- ## 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 129f420e3114e132a1b4acbd47a422ddf0edd8f0 Author: Andrew Schran Date: Tue Jul 30 12:53:18 2024 -0400 revert ci test log output back to default (#18859) commit 0e3903dd6176f441f39ce88c0af7db298a188383 Author: Brandon Williams Date: Tue Jul 30 10:45:25 2024 -0500 simtest: fix config-patch commit 75a729d5ad901b9776d34ca985eab8f6a5a435db Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Tue Jul 30 08:00:01 2024 -0700 Remove wait timeout from LazyMysticetiClient (#18853) ## Description Getting a consensus client only fails when the validator has not finished initializing consensus. This issue can and should be detected inside consensus instead of through client. Also, clear consensus client at the end of epochs. ## 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 33c65ab633d3dee3144bb7d2a3450835d406a348 Author: Emma Zhong Date: Tue Jul 30 05:48:31 2024 -0700 [gql][indexer] index chain identifier into its own table (#18825) ## Description This PR puts chain identifier into its own table so that queries of chain identifier does not depend on the existence of checkpoint 0 in the db, which may be pruned away. ## Test plan Tested against devnet locally and added a gql e2e test. --- ## 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: - [x] GraphQL: Added a way to always have `chainIdentifier` query return the correct chain ID even when pruning is enabled. - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: stefan-mysten <135084671+stefan-mysten@users.noreply.github.com> Co-authored-by: Ashok Menon commit 5056e4f192f6b57f2ed507a6a292a0d85c66a47b Author: Rijnard van Tonder Date: Tue Jul 30 09:09:47 2024 +0200 docs: update outdated mention on Move.toml (#18837) ## Description Outdated doc mention as of address management: > The publish process replaces the `0x0` address with an actual on-chain address. ## Test plan N/A --- ## 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 17454e6449157be9abb208e35e42403b04831bed Author: veth <162897869+VitalikButerinEth@users.noreply.github.com> Date: Tue Jul 30 12:12:45 2024 +0800 chore: fix some comments (#17992) ## Description fix some comments ## Test plan No need. --- ## 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: Signed-off-by: VitalikButerinEth commit 90809ef227f9848df8597292f761d08e89a29c39 Author: plam-ml <127577476+plam-ml@users.noreply.github.com> Date: Mon Jul 29 16:03:21 2024 -0700 update wallet connect logo (#18821) ## Description https://linear.app/mysten-labs/issue/APPS-65/update-wallet-logo ![Screenshot 2024-07-26 at 1 09 36โ€ฏPM](https://github.com/user-attachments/assets/47fc5d1d-1b20-4be4-8406-2c875fff70b3) ## Test plan How did you test the new or updated feature? --- ## 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 14f02fb4f322a0247f13922ffa00de1c932f49c1 Author: Todd Nowacki Date: Mon Jul 29 15:19:03 2024 -0700 [move] Mark sui::math as deprecated (#18849) ## Description - Adds the `deprecated` annotation to `sui::math` ## Test plan - Ran tests --- ## 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: - [X] CLI: The Move module `sui::math` has been deprecated. The individual integer modules, e.g. `std::u64`, should be used instead. - [ ] Rust SDK: - [ ] REST API: commit 982024ab1793c98c87330b1dc50d737141494479 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Mon Jul 29 15:05:18 2024 -0700 Fix edge-case in assert which can be triggered from jsonrpc (#18843) See comments in code for explanation. I haven't been able to repro this in a test, but I'm pretty confident about the source of the bug. commit 0512a87dfac161044b2833878e2ad0a7a8103583 Author: Todd Nowacki Date: Mon Jul 29 11:09:05 2024 -0700 [move] fixed find_index (#18842) ## Description - Fixed find_index not being by-ref ## Test plan - new tests that force no `copy` possible --- ## 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 9edb72257d9a54cc84a6d3fd2b26cc28fb579338 Author: Joy Wang <108701016+joyqvq@users.noreply.github.com> Date: Mon Jul 29 12:37:28 2024 -0400 fix: handle nondeterminism in test (#18841) ## Description my guess is the modified signature byte is already 0 and does not need modification. fix here is to deterministically flip the byte. ## Test plan How did you test the new or updated feature? --- ## 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 eb55624e7a5decda7f4946fe86d2b96b3aed6fb1 Author: Todd Nowacki Date: Sun Jul 28 13:56:41 2024 -0700 [move] Copy Sui's Move stdlib into external-crates. Bump the default package version to 2024 beta. (#18827) ## Description - Copied Sui's stdlib over to external-crates - Changed the default edition for package-less files in the compiler to 2024 beta. ## Test plan - Ran tests, updated where necessary --- ## 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 25017335f15a4b5bda591b78364faf50d1ffe40a Author: Rijnard van Tonder Date: Fri Jul 26 17:33:14 2024 -0700 move: dump-bytecode-as-base64 uses Move.lock addresses (#18794) ## Description `sui move build` does not ordinarily require a network connection because it doesn't need to know about a chain's ID. The exception is when `--dump-bytecode-as-base64` is specified: In this case, we should resolve the correct addresses for the respective chain (e.g., testnet, mainnet) from the `Move.lock` under automated address management. Two options to fix `sui move build --dump-bytecode-as-base64` to work with automated addresses / by resolving from the `Move.lock`: 1. Require an extra `--chain-id` flag on `sui move build`, which a user must specify along with `--dump-bytecode-as-base64`. E.g., ``` sui move build --dump-bytecode-as-base64 --chain-id "$(sui client chain-identifier)" ``` OR 2. Require a network connection _only when_ `--dump-bytecode-as-base64` is set and and resolve the chain-id without requiring a flag. This PR opts for **(2)**, but it is trivial to change the implementation and test to do **(1)** instead. **(1)** should come with an accompanying doc change though. Context: encountered when running, e.g., ``` execSync(`${SUI} move build --dump-bytecode-as-base64 --path ${packagePath}` ``` ## Test plan Added test --- ## 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: - [x] CLI: Fixed an issue where `--dump-bytecode-as-base64` did not work as expected if [package addresses are automatically managed](https://docs.sui.io/concepts/sui-move-concepts/packages/automated-address-management#adopting-automated-address-management-for-published-packages). - [ ] Rust SDK: - [ ] REST API: commit db844c3aeaf4378eeb003177c0d3973145608051 Author: Joe Hrbek <123987499+suiwombat@users.noreply.github.com> Date: Fri Jul 26 17:28:31 2024 -0500 [docker/tidb-indexer] (#18824) ## Description add dockerfile for tidb indexer ## Test Plan tsia --- ## 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 2f48f32149a25923acadab6d5234a5e566165d94 Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Fri Jul 26 15:26:27 2024 -0700 [Consensus] bind to localhost if requested (#18823) ## Description This avoids external network on local cluster tests. ## Test plan `cargo nextest run -p sui-swarm` --- ## 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 344117ced2a10643d4a2cb8eb4f72e9adde1bd36 Author: John Martin Date: Fri Jul 26 15:06:29 2024 -0700 log the file that we fail to fetch (#18822) commit 50a0d38d6af54fbd0d4364d2fec12412ca681e60 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Fri Jul 26 14:36:37 2024 -0700 [bridge] let monitor handle emergecny op (#18791) ## Description as title. Note the actual usage of the watch channel hasn't been wired up in ActionExecutor. It will be in the next PR. ## Test plan unit tests --- ## 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 93caf44bab65241f3417db15135ba5919a45f6a7 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Fri Jul 26 13:53:07 2024 -0700 [bridge] let monitor handle blocklist event (#18792) ## Description as title ## Test plan added unit tests --- ## 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 3dd9ddd81f2ecba0b700fc19e18b80f20663f488 Author: Ashok Menon Date: Fri Jul 26 21:39:53 2024 +0100 [Move/Examples] Switch to datatest (#18813) ## Description Use `datatest-stable` to find all the Move examples we might want to build and test, instead of stashing this away in a rust test. ## Test plan ``` sui$ cargo nextest run -p sui-framework-tests --test move_tests ``` + CI Closes #18802 --- ## 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 eca7e4551560670a62b331b54b463e145d820532 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Fri Jul 26 12:54:44 2024 -0700 [bridge] add BridgeMonitor and handle url change event (#18790) ## Description This PR adds `BridgeMonitor` which receives all `SuiBridgeEvent` (and probably `EthBridgeEvent` as well soon) and handles them accordingly. In this PR we add the handling for `CommitteeMemberUrlUpdateEvent` by retrieving the latest committee onchain and swap it in. ## Test plan added unit tests --- ## 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 82c3ec2a859bc8bbfceb761783868ae9b9c61619 Author: Brandon Williams Date: Fri Jul 26 14:03:42 2024 -0500 cargo-deny: update deny.toml to clear out warnings commit 83b9cd6097f028262189e4f3adefaf88ce69d815 Author: Brandon Williams Date: Fri Jul 26 13:08:41 2024 -0500 suiop: fix test to use axum v0.7 commit e3de95064e9afa3c603721c667e9bdaf8474a533 Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com> Date: Fri Jul 26 17:19:37 2024 +0000 Version Packages (#18814) This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @mysten/create-dapp@0.3.13 ### Patch Changes - Updated dependencies [a45f461] - @mysten/sui@1.3.1 - @mysten/dapp-kit@0.14.13 ## @mysten/dapp-kit@0.14.13 ### Patch Changes - Updated dependencies [a45f461] - @mysten/sui@1.3.1 - @mysten/wallet-standard@0.12.13 - @mysten/zksend@0.10.2 ## @mysten/deepbook@0.8.12 ### Patch Changes - Updated dependencies [a45f461] - @mysten/sui@1.3.1 ## @mysten/enoki@0.3.12 ### Patch Changes - Updated dependencies [a45f461] - @mysten/sui@1.3.1 - @mysten/zklogin@0.7.12 ## @mysten/graphql-transport@0.2.12 ### Patch Changes - Updated dependencies [a45f461] - @mysten/sui@1.3.1 ## @mysten/kiosk@0.9.12 ### Patch Changes - Updated dependencies [a45f461] - @mysten/sui@1.3.1 ## @mysten/suins-toolkit@0.5.12 ### Patch Changes - Updated dependencies [a45f461] - @mysten/sui@1.3.1 ## @mysten/sui@1.3.1 ### Patch Changes - a45f461: Shared objects passed to MakeMoveVec, MergeCoins, and SplitCoin are now marked as mutable ## @mysten/wallet-standard@0.12.13 ### Patch Changes - Updated dependencies [a45f461] - @mysten/sui@1.3.1 ## @mysten/zklogin@0.7.12 ### Patch Changes - Updated dependencies [a45f461] - @mysten/sui@1.3.1 ## @mysten/zksend@0.10.2 ### Patch Changes - Updated dependencies [a45f461] - @mysten/sui@1.3.1 - @mysten/wallet-standard@0.12.13 Co-authored-by: github-actions[bot] commit c1a75c997fcbff71a09e4156b27b2d3ee2ef58df Author: shangchenglumetro Date: Sat Jul 27 02:07:25 2024 +0900 chore: fix some comments (#18803) ## Description fix some comments ## Test plan How did you test the new or updated feature? --- ## 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 a45f461a10c54b1688d1a874e7a16129d110d5b0 Author: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com> Date: Fri Jul 26 09:57:51 2024 -0700 [sdk] mark shared inputs passed to makeMoveVec, mergeCoins, and splitโ€ฆ (#18812) โ€ฆCoins as mutable ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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 5b8b0505cd36da65fad25181a2c311dac74da61b Author: Andrew Schran Date: Fri Jul 26 11:33:28 2024 -0400 Corrected filter for `validator_tx_finalizer_e2e_tests` (#18811) commit 07446bac38a8a3892633069e9a1deb683052d42e Author: Brandon Williams Date: Wed Jul 24 09:54:42 2024 -0500 chore: update hyper et al Update a number of http related libraries, including but not limited to: - hyper - rustls - axum commit e8b092e3fbd6f4ce8fdb82359e60e206c86c2d83 Author: pei-mysten <147538877+pei-mysten@users.noreply.github.com> Date: Thu Jul 25 21:06:17 2024 -0700 Sui Version Bump v1.31 (#18810) ## Description Sui Version Bump v1.31 commit 41df25dd623f76844d64f64670b8ff8b87291f6c Author: pei-mysten <147538877+pei-mysten@users.noreply.github.com> Date: Thu Jul 25 20:09:06 2024 -0700 Sui v1.30.0 snapshot (#18809) ## Description Sui version bump v1.30.0 commit e2aab492da818c5960796919850a6768a0ebcd3c Author: Cam Swords Date: Thu Jul 25 16:49:39 2024 -0700 [move][ide] Change parsing / expansion to report IDE suggestions for missing types (#18744) ## Description This modifies the parser to build `UnresolvedError` for types that don't parse, and then uses those during expansion to provide IDE alias information at those locations. ## Test plan New IDE tests, plus everything else still works as expected. --- ## 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 ec7527c73816979e3423ee8f38ec57090d1579d4 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Thu Jul 25 14:34:21 2024 -0700 [bridge cli] print data in json and print more data (#18742) ## Description 1. now you can use `--network testnet` to avoid having to provide proxy address 2. add more stuff to print functions, including nonces 3. print everything in json, for easier piped processing See offline nodes: ``` sui-bridge-cli view-sui-bridge --sui-rpc-url https://rpc.testnet.sui.io:443 --ping --hex | jq '.result.committee[] | select(.status == "offline")' ``` See eth nonce: ``` sui-bridge-cli view-eth-bridge --network testnet --eth-rpc-url https://ethereum-sepolia-rpc.publicnode.com ``` See sui nonce: ``` sui-bridge-cli view-sui-bridge --sui-rpc-url https://rpc.testnet.sui.io:443 --ping --hex | jq '.result.nonces' ``` ## Test plan How did you test the new or updated feature? --- ## 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 d1efa1c976c49db00a47cadd08c1b17d97bdb7fd Author: Anastasios Kichidis Date: Thu Jul 25 22:29:22 2024 +0100 [Consensus] refine logging & small timeout changes (#18795) ## Description * Increase timeout when waiting for consensus to start from `30s -> 60s`. Came across cases where commit recovery was taking a bit longer and might make sense to have a bit more tolerance. * Add more logs in consensus components and switch them to `info` - it's ok since those should be printed once per epoch * Make the consensus protocol choice log a `debug` . The method `get_consensus_protocol_in_epoch` is now being used from `get_max_accumulated_txn_cost_per_object_in_commit` which is called on every sequenced transaction leading to a very spammy log output: Screenshot 2024-07-25 at 11 37 09 ## Test plan How did you test the new or updated feature? --- ## 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 a4812b9c5c1a477d845ab692d2f0a87829ef76be Author: phoenix <51927076+phoenix-o@users.noreply.github.com> Date: Thu Jul 25 15:57:50 2024 -0500 [data ingestion] decrease batch size for analytics (#18804) commit 69a9e6b17dc38a8f054dfc691cd4341243aae161 Author: Brandon Williams Date: Thu Jul 25 14:39:14 2024 -0500 chore: update anemo and quinn (#18800) commit aa291ae4b71d765beea93d2200ebcaabf35194ad Author: Andrew Schran Date: Thu Jul 25 14:13:46 2024 -0400 Skip validator_tx_finalizer_e2e_tests in simtest-run.sh (#18801) Until timeout issues can be debugged. commit 2c3c77490029c0ce05180be8e6fcc69fc5b03d9d Author: Carry Wang Date: Fri Jul 26 00:32:12 2024 +0800 [Docs] Update utils.mdx (#18782) ## Description According to the function definition, the Docs description is backwards function `fromB64` receive `base64 string` return `Uint8Array` But in the description of the Docs it is the opposite : >`fromB64`: Serializes a Uint8Array to a base64 string image image ## Test plan How did you test the new or updated feature? --- ## 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 c93dc8381cd572b6217260136e9d39bd4ce5cffa Author: Elias Rad <146735585+nnsW3@users.noreply.github.com> Date: Thu Jul 25 19:27:53 2024 +0300 docs: fix spelling issues (#18799) Fix typos in docs. commit 4e307674cf29944fca10a7b728e0c149e4eaf860 Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Thu Jul 25 09:22:37 2024 -0700 [Consensus] increase commit syncer fetch timeouts (#18793) ## Description Validators with limited network need larger timeout for the requests to succeed. In future, we will add support for partial results. ## Test plan n/a --- ## 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 255d868bfbe4776e1e99e59dfd207c50291a8485 Author: Brandon Williams Date: Thu Jul 25 10:10:42 2024 -0500 nextest: extend slow timeout to 5min commit 4092dbd56827a1d4419fbee31672a3dfbe9d9c91 Author: Brandon Williams Date: Thu Jul 25 09:10:59 2024 -0500 chore: update reqwest to 0.12 commit 3aa1f2eb98587d3e299b1561a0b2a324822dce82 Author: Brandon Williams Date: Thu Jul 25 08:47:27 2024 -0500 mysten-network: remove unused uds support commit c345bc340666cc4fd0dceed72128df2bae3ec409 Author: Brandon Williams Date: Thu Jul 25 08:45:50 2024 -0500 chore: update msim commit c7de614e83d27ec916b72c62ba2fd0200813bb57 Author: William Smith Date: Wed Jul 24 18:39:41 2024 -0400 [StateAccumulator] Remove v2 disable functionality from node config (#18786) ## Description Before removing v1, we need to ensure that no one has v2 force disabled, as it would otherwise lead to a fork during upgrade due to forcing v2 to be enabled mid-epoch. ## Test plan How did you test the new or updated feature? --- ## 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 edac0d98153c6a0f6ebcbcd65024f71de698e37d Author: Andrew Schran Date: Wed Jul 24 17:28:20 2024 -0400 Revert "Enable random beacon on mainnet" (#18788) Reverts MystenLabs/sui#18756 commit 37109ef173af4580e5cad5a5ee88ded68ec8fed9 Author: Tim Zakian <2895723+tzakian@users.noreply.github.com> Date: Wed Jul 24 13:54:32 2024 -0700 [sui-execution] First step towards allowing versioning move-vm-types (#18775) ## Description First step towards moving `move-vm-types` to being execution versioned. ## Test plan Existing CI tests. commit dd56ccb447bf84fec2b5aca530acd550d13c2168 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Wed Jul 24 13:40:18 2024 -0700 [bridge] store bridge authority aggregator in ArcSwap (#18780) ## Description As title. In follow up PRs, we will introduce monitoring component to swap the aggregator when there are changes to committee members (e.g. url change) ## Test plan existing tests. --- ## 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 5849d3f65c04d6c512b159e9839b70876a16ebdd Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Wed Jul 24 13:15:16 2024 -0700 [Consensus] make config optional (#18784) ## Description 1. Make consensus parameters optional in node config, since it has not been populated before. 2. Make consensus_config::Parameters::db_path non optional. It is always set from the node config after integration with Sui. If empty path causes problem, it needs to be detected from Sui or within consensus. ## 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 5935eabf0e499c4d3d3bae4463a4ba1938db3cf4 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Wed Jul 24 12:37:31 2024 -0700 Transaction must be written before executed_effects_digests (#18785) This fixes a very unlikely race where: - notify_read_executed_effects is called - the effects are available and are returned immediately - transaction itself has not yet been written to pending_transaction_writes - reader thread tries to read the tx and asserts that it exists commit 5d2506cb2886c9a11879447db04f068654d3e85d Author: Tim Zakian <2895723+tzakian@users.noreply.github.com> Date: Wed Jul 24 12:26:37 2024 -0700 [sui-tool] Add support for config objects to the sui-tool replay command (#18743) ## Description This adds support for (manually) supplying the config objects to use when replaying a transaction. These must be provided for both state dumps and network-based replays. We will refuse to replay a transaction that has a deny-list related error (global pause, or address denial) unless configs are supplied. We will insert the latest version of the deny-list though if you don't supply it and we can see you will need it (due to a deny-list error). In this case we just pick the most recent version of the deny list as the version doesn't matter, and this will always not be pruned. This is only plumbed into the `sui-tool` replay command as I would prefer to not expose this ugly of an interface to the CLI, and instead support this in the future there once we have a better solution for getting these objects (e.g., with graphql). But happy to add it in if we feel it's necessary. ## Test plan Tested it on devnet: You can try it out on any transaction from here: https://explorer.polymedia.app/address/0xb685a6c1516b640646bc534239e5522482cc11af4e15a4cf7054b7314bb2a8d3?network=devnet ``` # global pause replay sui-tool replay --rpc https://rpc.devnet.sui.io:443 tx --tx-digest 9mXi3JSKYg9UeQbpq2YGgqByua6efn4cQUqgVyFFLmy4 --config-objects 0xb7ff3d164ce1490466b56ae1743796016f318e0afd62ab84168fdc2ba5a881fe 10 0x7cd46c8fb69f11bae382be7984cec1063dfa8a2de826fcc92f9e28a2b17cd8e3 13 0x2379389dd2b0fa44c1cbeb93c737f96674e7c352add67ec902eb58512e41334c 12 ## Address denial replay sui-tool replay --rpc https://rpc.devnet.sui.io:443 tx --tx-digest Af84RAY1Pf6GaAG9qXhHvTbcSGt7HM8E3zeGhWV5FUdt --config-objects 0xb7ff3d164ce1490466b56ae1743796016f318e0afd62ab84168fdc2ba5a881fe 10 0x7cd46c8fb69f11bae382be7984cec1063dfa8a2de826fcc92f9e28a2b17cd8e3 13 0x2379389dd2b0fa44c1cbeb93c737f96674e7c352add67ec902eb58512e41334c 12 ``` commit 21aeeae879548b5a6974021d178b91548aada216 Author: Tom Cat <48447545+tx-tomcat@users.noreply.github.com> Date: Thu Jul 25 01:52:45 2024 +0700 [Linter] Refactor: Optimize Linter Configuration and Visitor Generation (#18755) ## Description Function Updates: Updated the known_filters function to use the LinterDiagnosticCategory::Style enum variant. Simplified the linter_visitors function by combining the None and Default cases into a single match arm, reducing redundancy. Naming Consistency: Ensured consistent naming conventions throughout the code. Removed Unused Code: Eliminated any unused code or imports to improve code cleanliness. ## Test plan Existing linter unit tests --- ## 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 ed7987c3ec308b4380632fe1552ee95692eb2e1e Author: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> Date: Wed Jul 24 12:05:29 2024 -0600 [docs] Retrieving edits (#18783) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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 9d2292ead2e6a3ecbb27efc134a7b40373ce2985 Author: Damir Shamanaev Date: Wed Jul 24 19:48:52 2024 +0200 [framework] vector macros wave 2 (#18702) commit 51b3d50a06b55fb8cacbcfd000fcda8549cdf7d6 Author: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> Date: Wed Jul 24 10:01:06 2024 -0600 [docs] Updates to wallet standard (#18765) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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: --------- Co-authored-by: Alex Tsiliris commit d4fa9125f483dee93cb625d2c4529998e855b750 Author: Andrew Schran Date: Wed Jul 24 11:30:55 2024 -0400 Enable random beacon on mainnet (#18756) ## Description Enables the native randomness (random beacon) feature on sui mainnet. ## Test plan Extensive manual and automated testing. --- ## 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. - [x] Protocol: Enables the native randomness (random beacon) feature on sui mainnet. - [ ] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: commit 25d2f3087a3797184d141929a4cf3dfcb244604f Author: Zhe Wu Date: Tue Jul 23 23:48:37 2024 -0700 Customize statis initialize move dir in simtest (#18752) ## Description So that other projects can choose their own move package for this static initialization. ## Test plan How did you test the new or updated feature? --- ## 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 e95007c54f534ce375abc0aac7cc02551f496f00 Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Tue Jul 23 22:03:26 2024 -0700 Integrate consensus Parameters into NodeConfig (#18767) ## Description This allows setting consensus Parameters via NodeConfig. Also, do some minor cleanups. But the bulk of the cleanup will happen when we stop supporting Narwhal. ## Test plan CI. Private testnet. --- ## 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 ce374dff6cc0d246245a95d853b5edd3eb27c942 Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Tue Jul 23 20:05:33 2024 -0700 Ignore RUSTSEC-2024-0358 (#18779) ## Description This specific vulnerability does not seem to impact Sui. Upgrading the affect package involves upgrading dependencies which will take more time. ## 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 8169f0529f477c52a2565404e406a70ce3aefa8e Author: Zihe Huang Date: Tue Jul 23 16:20:15 2024 -0700 [docs] add custom indexer example to doc page (#18711) ## Description Linking custom indexer example to doc page ## Test plan manually --- ## 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: --------- Co-authored-by: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> commit f72859afcf0fb35085ae4475b03c0b96c4e36e76 Author: kyoshisuki <143475866+kyoshisuki@users.noreply.github.com> Date: Tue Jul 23 15:50:33 2024 -0600 Update SECURITY.md (#14675) Fixed a typo in SECURITY.md commit a345ba497b14882c6e4cb242799742c6d18bf171 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Tue Jul 23 13:26:34 2024 -0700 Enable writeback cache in antithesis (#18776) commit eda1abffb11c924479ebdaa0d58d9362d8ad8d8e Author: Cam Swords Date: Tue Jul 23 13:12:33 2024 -0700 [move][move-2024] Add macro visibility error tests (#18741) ## Description Add tests I wrote but forgot to include on #18735 ๐Ÿ˜ญ ## Test plan New tests --- ## 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 46f24c321f3dda0f411dd2a8745fa153c7f32b30 Author: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> Date: Tue Jul 23 11:26:11 2024 -0600 [docs] Content updates and style changes (#18745) ## Description Addresses requests made by aslan. Adds a style guide entry for using code in headings. Previous opinions were 50/50 and he tipped the scale. Original request was to remove the bullets in `swap_exact_quote_for_base` to make it the same as the previous description. But the suggestion is to keep the bullets to break up the content and make the object list easier to read. Also breaks up the last paragraph on Design because it looked weird. ## Test plan How did you test the new or updated feature? --- ## 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 21d2a340859353732e314adcc597ec4123d03dda Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Tue Jul 23 09:00:35 2024 -0700 Refactor consensus output to write to an intermediate store before going to the db (#18447) This PR should have no behavior changes. It introduces a new struct, `ConsensusCommitOutput`, which stores all writes generated while processing a consensus commit, prior to writing them to the db. This is the first stage of caching/quarantining consensus-specific epoch-db state. The next step will be to hold `ConsensusCommitOutput` structs in memory until the checkpoints created for the commit have been certified. This will also require reading from `ConsensusCommitOutput` (or more likely, a broader caching struct which holds information from a set of `ConsensusCommitOutput` objects), since required information will not always be available from the db. commit 7aea45687c04e00194742f41ec806bd3b2ed93a5 Author: Brandon Williams Date: Wed Jul 17 11:45:27 2024 -0500 rest: define openapi scheam for transaction execution commit 5dc8975e4a829b32b95b8c74ffea630b10188686 Author: Brandon Williams Date: Wed Jul 17 10:30:29 2024 -0500 rest: define openapi schema for committee endpoints commit 80814b4fb9234b6b5b4fa6e1805e849cf8d0e744 Author: Brandon Williams Date: Wed Jul 17 10:26:33 2024 -0500 rest: define openapi schema for system endpoints commit 6845eea9ed086bc8f7a5f7de2f9a2e364ad52ec1 Author: Brandon Williams Date: Wed Jul 17 10:07:34 2024 -0500 rest: define openapi schema for get_coin_info endpoint commit 663da05417d78b033a5adfe5992cfaebf22437a0 Author: Brandon Williams Date: Wed Jul 17 10:06:35 2024 -0500 rest: add 404 response type to object endpoints commit bc456c8819e834acd97e8f62c9b708500d07e865 Author: Brandon Williams Date: Wed Jul 17 09:52:57 2024 -0500 rest: fix TransactionResponse serialization format commit 36fa74f916eeb1602c71c3f3938d3ebd06a7f66c Author: Brandon Williams Date: Wed Jul 17 09:51:16 2024 -0500 chore: update sui-rust-sdk with hash feature enabled commit 808410fae71e35d545e3322e1eb680c57315fba8 Author: Brandon Williams Date: Wed Jul 17 09:34:28 2024 -0500 rest: define openapi schema for checkpoint endpoints commit 730f2c63338484e881ae9372fb2821948059a620 Author: Brandon Williams Date: Wed Jul 17 09:21:08 2024 -0500 rest: define openapi schema for health check endpoint commit 5d47ed35044ff5b8bb76628c73aafc933846ba16 Author: Brandon Williams Date: Tue Jul 16 13:50:21 2024 -0500 rest: correct list_account_objects schema commit 179b98931a5428dee2106307b6806434138496ee Author: Brandon Williams Date: Tue Jul 16 13:49:54 2024 -0500 rest: correct get_node_info schema commit c0672be34952f1b80327a9917a5fe0d1b9c655df Author: Brandon Williams Date: Tue Jul 16 13:48:15 2024 -0500 rest: add a JsonSchema for U64 commit e1418dfe2a5246c1dcc16590982d34ee870400d5 Author: Brandon Williams Date: Tue Jul 16 13:47:44 2024 -0500 rest: properly return preferred Accept format commit 8ca9eae404b956bca9820bedab0ae2558eabb554 Author: Stefanos Pleros <36567567+StefPler@users.noreply.github.com> Date: Tue Jul 23 17:44:07 2024 +0300 [Docs - NFT Rental] Updates broken link (#18769) ## Description Updates a broken link in the [related links](https://docs.sui.io/guides/developer/nft/nft-rental#related-links) section ## Test plan Run locally the doc site and tested that the link has been successfully updated. --- ## 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 36f6a8652baf57e1ec3172109ccf01c337d01d6d Author: Ge Gao <106119108+gegaowp@users.noreply.github.com> Date: Tue Jul 23 10:38:24 2024 -0400 indexer: move partition dropping to pruner (#18762) ## Description split epoch advance and partition dropping, and move partition dropping to pruner so that all pruning tasks are in sync and tracked by pruner watermark table. ## Test plan local run and verify that - partition dropping still works - pruning are indeed in sync and accurately tracked by `pruner_watermark_cp` table --- ## 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 c24115c282a53601dfd2778a491841cd649fc079 Author: Todd Nowacki Date: Mon Jul 22 18:58:02 2024 -0700 [move-2024] Fixed issue with macro fun declarations causing circular dependencies (#18747) ## Description - Macro signatures were erroneously being included in dependency checking ## Test plan - Added a new test and macro --- ## 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 907e571805570bbaf5dda22884c071cfe1f5edf3 Author: techdebt-99 <150741822+techdebt-99@users.noreply.github.com> Date: Mon Jul 22 18:55:44 2024 -0600 Update zklogin.mdx (#18766) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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 ef4639cc7095820e7ff8471bf77fa2a46a81a719 Author: Andrew Schran Date: Mon Jul 22 15:18:23 2024 -0400 add randomness workload to sui-benchmark (#18758) commit ff941c13f7dafe3394191309d6b32c3d498deacf Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Mon Jul 22 10:29:09 2024 -0700 [DB] increase parallelism per db from 4 to 8, and allow env var override (#18748) ## Description If a DB has a large number of column families, and each of them receives a large amount of writes, there will be a large number of memtable flushes and compactions that need to be processed. Only allowing 4 concurrent processing per DB seems not enough, as observed on some column families stopping writes because of too many memtables pending to flush. The default is increased to 8. Allow the value to be overridden by env var, so operators can increase / decrease the value on their own. Remove the `set_max_background_jobs()` call since it effect is overwritten by the subsequent `increase_parallelism()` call. ## Test plan Private testnet. --- ## 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 cb0417438e9b343faecdbac059a5873d7e313424 Author: Anastasios Kichidis Date: Mon Jul 22 13:33:53 2024 +0100 [Consensus 2.0] Recover from amnesia - part 2 (#18190) ## Description The second part of the recovering from amnesia feature. This PR is implementing the logic to fetch the last own block from the peer network in the synchronizer. It is also adding several tests to confirm the behaviour correctness. ## 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: commit 62019420588d8b7c9fcc9c6a34edc200e57193b8 Author: Anastasios Kichidis Date: Mon Jul 22 12:24:23 2024 +0100 [Consensus] reduce connection shutdown grace period (#18687) ## Description Currently in testnet we seem to frequently hit the `5 second` connection shutdown timeout which seems to stall even more the epoch change. We can lower the grace period (similar to what used in Anemo - 1 second) . ## 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: commit 7bc276d534c6c758ac2cfefe96431c2b1318ca01 Author: benr-ml <112846738+benr-ml@users.noreply.github.com> Date: Sun Jul 21 07:42:05 2024 +0300 [beacon] Print a fixed error message instead of a panic (#18751) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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 d42ec4894125ff947cc122cd1125b3519b467e19 Author: William Smith Date: Fri Jul 19 22:14:53 2024 -0400 [TrafficControl] Support multi-hop forwarding (#18699) ## Description Sometimes there can be more than one proxy between the client and the server. In such cases, the `x-forwarded-for` header is appended with the full path of IPs, ostensibly with the client IP being the first. For this reason, we need to fix the parsing to accommodate a list of IPs. However, we additionally have the problem of knowing which IP in the list is the client IP. We cannot assume the first IP in the list is the client IP, as a malicious client could attempt to spoof by writing a junk value in `x-forwarded-for` in the request, to which the internal LBs would append. There are two possible solutions to this: a) define a custom header and configure our gcs LBS to write to this and overwrite any existing value for that header. b) add configuration such that the node operator defines the number of intermediate load balancers (`num_hops`) it runs. In such a case, for a `num_hops = N`, the client IP should always be the `N`th **to last**. To illustrate (note that for N proxies, only the IP addresses of proxy 1, ..., N-1 will be contained in the header, as proxy N is directly connected to the server and does not write its own IP): ``` [ , , <-- we want this <1>, ..., ] ``` The first solution would require extra configuration on their infra by the node operator, and would be specific to gcs (we'd have to confirm that something similar is supported in other cloud hosting services). So this PR implements option (2). ## Test plan How did you test the new or updated feature? --- ## 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: commit 4f5dc220e852820a03d8e3d63ba2dc7a4b68edc3 Author: Adam Welc Date: Fri Jul 19 19:03:49 2024 -0700 [move-compiler] Added parsing resilience for name access chains (#18706) ## Description This adds parsing resilience for name access chains needed for IDE-level auto-completion ## Test plan All old and new tests must pass --- ## 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: - [x] CLI: Additional compiler errors for incomplete name access chains (e.g., `some_pkg::some_module::`) may appear in the compiler output - [ ] Rust SDK: commit c16607953ba0f369d2929ec3a080d0596aa2c879 Author: Xun Li Date: Fri Jul 19 17:30:14 2024 -0700 [tx-finalizer] Cap validator wait time (#18739) ## Description This PR adds a cap to how long a validator can wait before waking up. It makes it slightly easier to reason about the max amount of time these kinds of threads will stay alive. ## Test plan How did you test the new or updated feature? --- ## 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 e23823d9334f209050e65a01f833b1b07db99c4a Author: Xun Li Date: Fri Jul 19 16:44:40 2024 -0700 Only spawn validator tx finalizer for newly signed tx (#18746) ## Description This PR moves the validator tx finalizer into AuthorityState, since there we have the most accurate information on whether a transaction is newly signed. Only spawn a thread if it's newly signed. ## 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 e967cb7abe709d6b98e8c92b9ee460e8b6d17e26 Author: Tim Zakian <2895723+tzakian@users.noreply.github.com> Date: Fri Jul 19 16:42:07 2024 -0700 [move] Add printout of input commands in transactional test runner (#18601) ## Description Adds a printout of the command run in the expected files for the Move transactional test runner, and also adds a way for custom subcommands to change this (and this is then used for PTBs in transactional tests). The bottom commit contains the actual changes, and the top commit contains all of the changes to expected value files. ## Test plan Update existing tests with the new output. commit 05cc24936158e0cc10191baeb39008cf4eb8cacd Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Fri Jul 19 15:50:05 2024 -0700 [bridge] add url update event in rust (#18734) ## Description as title. ## Test plan unit test --- ## 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 3781c364f972e4b16a301127bc587f873f647861 Author: Nikhil-Mysten <128089541+Nikhil-Mysten@users.noreply.github.com> Date: Fri Jul 19 18:27:58 2024 -0400 [wallet]: add token metadata overrides (#18726) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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 e7d196eb3c342af2d0efc6f7dc7d5698bce434fb Author: Ge Gao <106119108+gegaowp@users.noreply.github.com> Date: Fri Jul 19 16:47:06 2024 -0400 indexer pruner: add pruner and prune unpartitioned tables (#18495) ## Description a separate pruner that use `epochs` table and `cp_tx` table to track progress of pruning and handle disaster recovery; and `checkpoints` table as available range data source. ## Test plan local run and verify via local client - progress tracking via epoch, cp, and tx ![epoch_progress](https://github.com/MystenLabs/sui/assets/106119108/f628c7b5-add7-4198-94e3-f2542dfd7890) ![tx_cp_progress](https://github.com/MystenLabs/sui/assets/106119108/4395ff7d-b79b-4a6d-aec6-243ac5c86c22) - verify on checkpoints & tx_ tables - make sure that the checkpoints table is indeed latest cp_tx cp + 1 ![check_cp](https://github.com/MystenLabs/sui/assets/106119108/13de7129-16b6-44e9-a922-c487100cb152) - make sure that all cp < min_tx in cp_tx have been pruned ![check_tx](https://github.com/MystenLabs/sui/assets/106119108/0708e667-135a-44be-be77-b1eb667ba640) --- ## 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: commit 090bec4cd3733ad0e8bb835e260cc731c7c90003 Author: Cam Swords Date: Fri Jul 19 12:40:21 2024 -0700 [move] Update external workflow to check formatting for _all_ packages (#18738) ## Description This updates the external workflow to check all crates. It appears that, without this, `cargo` will not check crates with `publish = false` by default. ## Test plan This updates tests to ensure formatting is applied uniformly in the external crates, plus a few commits explicitly tested behavior. --- ## 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 77bae85153529082e6c3e73b8dd55f3f5daa8bea Author: Andrew Schran Date: Fri Jul 19 15:28:31 2024 -0400 Ignore randomness RPCs from byzantine peers (#18690) commit d0e250aa5eb8b191fcb8004600607a0c5e3c2cae Author: Xun Li Date: Fri Jul 19 11:11:49 2024 -0700 Increase timeout (#18736) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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 cd69f3cd643530d065a521d6dd9de5c7ffd4d4f6 Author: Cam Swords Date: Fri Jul 19 11:06:11 2024 -0700 [move][move-2024] Revise some visibility errors, add macro information (#18735) ## Description This adds information about macro expansion to visibility errors, when appropriate. It also slightly reforms how visibility errors for data structures are reported to unify reporting them and function visibility errors. ## Test plan Updated tests, plus some new ones. --- ## 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 031f6b8a02bd776b0f9f414a4f5526ee71190fe0 Author: Eugene Boguslavsky Date: Fri Jul 19 11:00:08 2024 -0700 Update suiop-cli-binaries workflow (#18732) ## Description Update dispatch event-type to be more specific. See https://github.com/MystenLabs/sui-operations/pull/3967 ## Test plan ๐Ÿ‘€ commit 3e0a4ec98cf04239c10fdb91991f958e1412c8a4 Author: benr-ml <112846738+benr-ml@users.noreply.github.com> Date: Fri Jul 19 20:13:26 2024 +0300 [beacon] Remove dkg v0 (#18560) ## Description Remove the support of dkg v0 which is no longer used in any network ## Test plan How did you test the new or updated feature? --- ## 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: commit 7187fc18171ed0f22848f36b9ae6d0f290cf2250 Author: Cam Swords Date: Thu Jul 18 22:48:56 2024 -0700 [move][ide] Revise IDE path information to always include all possible names. (#18733) ## Description This revises IDE path information to include _all_ available information, not just information based on the position of the name. ## Test plan A new test, plus updated other tests. --- ## 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 92d112757e99088135fa87851785214273431bfb Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Thu Jul 18 20:17:16 2024 -0700 [Metric Checker] Take specific percentiles for range queries (#18728) ## Description This allows the following: 1. Check p95 or even p99 in the time range for p50 latency and TPS. 2. Check p50 in the time range for p95 latency. Config will be modified separately. ## Test plan Nightly run --- ## 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 2c1733108b5f5e9ffd85769ed39d3571ea324b38 Author: Cam Swords Date: Thu Jul 18 19:39:26 2024 -0700 [move][move-2024] Revised index syntax typing to avoid crash (#18696) ## Description This fixes an issue reported around crashing when there are errors in index calls that then chain to method calls. ## Test plan Repros added to the compiler suite --- ## 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: commit 1e65d62f745102f353c22183efe8ecceb8c62efd Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Thu Jul 18 19:36:03 2024 -0700 Monitor thread stalls in sui node (#18700) ## Description Assuming when tokio scheduling stalls temporarily, tasks are not woken up after sleeps. A dedicated task can be used to monitor this issue. This mechanism will stop reporting when the system is completely frozen, which has been observed once before. This issue will require a separate std::thread to monitor, which can be added if needed in future. ## Test plan TODO --- ## 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: commit 4dffddbfb51b0aaa70dd35d06fdaec6e38557b29 Author: Zhe Wu Date: Thu Jul 18 18:02:40 2024 -0700 Create a separate congestion control consensus commit limit for Mysticeti (#18648) ## Description Since mysticeti has different commit rate than Narwhal, we want to use different transaction count limit for shared object congestion control in consensus commit. Therefore, I created a different config for mysticeti, and the consensus handler will choose to use different limit based on the current consensus algorithm. We also turn on shared object congestion control on testnet. ## Test plan simtest updated cluster testing --- ## 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: --------- Co-authored-by: Eugene Boguslavsky commit b6775051d8bd8218a60ba74ce533350703e203c1 Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Thu Jul 18 15:49:11 2024 -0700 Tweak antithesis configs (#18725) ## Description - Reduce # of commands in each batch payment txn and its TPS to 1. - Reduce TPS of shared and owned obj txns to 1 as well, since sui surfer is already running. - Update logging config for consensus. ## Test plan https://github.com/MystenLabs/sui-operations/actions/runs/9997864674 --- ## 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 72bc96f5265288a3b4a7ae5425b260ab5041bcbb Author: Zihe Huang Date: Thu Jul 18 15:22:32 2024 -0700 [docs] update sui move cli options (#18724) ## Description Update the Sui Move CLI docs to have the latest CLI options ## Test plan manual --- ## 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: --------- Co-authored-by: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> commit 5e3f38cfce10138ff3d1e3c72d392890b5bbda2d Author: Xun Li Date: Thu Jul 18 11:55:05 2024 -0700 [tx-finalizer] Add validator leader delay (#18672) ## Description Add incremental delays for validators so that they wake up at different times for efficiency. ## Test plan Added a test --- ## 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: commit 61b00f5bac218d4ffb6c618b0371b3028a2d0106 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Thu Jul 18 11:47:24 2024 -0700 [bridge] add metrics for SignerWithCache (#18685) ## Description as title. `SignerWithCache` today already guarantees single processing of one request (if they are received in a short period of time and not evicted in cache). In this PR we add hit and miss metrics for us to understand how well it works. https://github.com/MystenLabs/sui/blob/main/crates/sui-bridge/src/server/handler.rs#L152 ## Test plan How did you test the new or updated feature? --- ## 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: commit cc64c377a6653287dbf9d20bca253d13bae3f65d Author: Xun Li Date: Thu Jul 18 11:13:24 2024 -0700 Integrate validator tx finalizer (#18681) ## Description This PR integrates the validator tx finalizer with the validator service, which is then invoked after handling a transaction. A node config is used to control whether an instance of the service is created when the service starts. It is enabled on devnet and testnet. We will enable for mainnet later when we feel confident. ## Test plan Added e2e simtests. --- ## 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: commit 10beaec2e58d8071e623f694b9dbf46e0a0bcf2b Author: Calvin Li Date: Fri Jul 19 01:16:31 2024 +0800 Update sui-bridging.mdx for the correct anchor link (#17633) ## Description In line 7: Sui supports bridging through .... and [Wormhole Portal Bridge](#wormhole-portal-bridge). Updating line 27 to make the anchor link match with line 7, or else the section jump from lin 7 would fail. ## Test plan N/A --- ## 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: --------- Co-authored-by: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> commit 6a5e72e60cc33954010f7f402ddc35c129e1546a Author: benr-ml <112846738+benr-ml@users.noreply.github.com> Date: Thu Jul 18 19:59:55 2024 +0300 Update fastcrypto (#18722) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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 9cdfc6d64af5a6788f51abd994848a0a41af1bef Author: Ashok Menon Date: Thu Jul 18 17:17:02 2024 +0100 [Resolver/Inputs] Support layout inference for overlapping inputs (#18720) ## Description From the perspective of input layout calculation, it's fine for a pure input to be referred to multiple times in a PTB, as long as those usages are consistent (all refer to those pure bytes as being the same type). ## Test plan New unit test: ``` sui-package-resolver$ cargo nextest run ``` --- ## 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: - [x] JSON-RPC: Bugfix for displaying PTBs where a pure input has been used multiple times. - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: commit 66b19f7d84794010b673ea662a2ac43cdf7d1e0e Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Wed Jul 17 21:27:30 2024 -0700 Remove deleted protocol fields from older snapshots to avoid spurious failures (#18715) - Remove bad changes from cargo insta - Remove deleted protocol fields from older snapshots to avoid spurious failures commit 9417279fa92a43435b4de1e60974c1e1ab388b33 Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Wed Jul 17 17:01:00 2024 -0700 Compute median instead of average for range queries in metrics checker (#18708) ## Description This should tolerate temporary spikes better. If we want to check to ensure there is no spikes, we can create a new query type in future. ## 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 30e3c5fba13f9c0e238ab58acb2ad704dc3665db Author: Ashok Menon Date: Wed Jul 17 23:41:55 2024 +0100 [Disassembler] Fix string contraction logic ## Description Always pick whole UTF8 characters. ## Test plan Tested against a package containing a UTF8 constant. commit 3959d9af51172824b0e4f20802c71e416596c7df Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Wed Jul 17 13:59:36 2024 -0700 Include digest of ProtocolConfig when voting for a version (#18675) Add AuthorityCapabilitiesV2, which includes the digest of the protocol config for each version. This makes it impossible for the committee to approve a protocol upgrade if (due to a release mistake) there is disagreement about what is in the config. commit 6754bf86ee6b8a25dd4b3b08ac140f69fe95830a Author: Andrew Schran Date: Wed Jul 17 16:58:08 2024 -0400 disable RSU timeout panic for non-debug builds (#18705) commit 77929e73c34d6256c3cd26b79f0afdd2eb92d857 Author: Eugene Boguslavsky Date: Wed Jul 17 13:38:15 2024 -0700 Add REST API section to release notes (#18707) ## Description Add REST API section to release notes ## Test plan ๐Ÿ‘€ commit 0ff46cd6fd532fa4e3383e09e52e654334f91166 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Wed Jul 17 11:31:05 2024 -0700 Record batch writes and inserts that are slower than 1s (#18698) We have seen situations where rocksdb throttling briefly causes all threads to block while attempting to write to a throttled table. However, it is not clear that very rare events such as these will show up in histograms. By tracking them in counters we can see definitively how often and when these events occur. commit 6e79fda57ac18a4c42d4324afaf54d2e2842356b Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Wed Jul 17 11:29:41 2024 -0700 Improve tracing for TransactionOrchestrator, QD, and AuthAgg (#18689) tracing for an execute transaction attempt now looks like: image commit ddf42d3d61e3f5ef1dfcb1f6c4d13c8708c8eb23 Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com> Date: Wed Jul 17 18:23:08 2024 +0000 Version Packages (#18555) This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or [setup this action to publish automatically](https://github.com/changesets/action#with-publishing). If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @mysten/sui@1.3.0 ### Minor Changes - 086b2bc: Add waitForLastTransaction methods to all executor classes - cdedf69: Add Argument helpers for constructing transaction arguments without a Transaction instance - beed646: Add tx.pure.vector and tx.pure.option methods ### Patch Changes - 7fc464a: Remove unique symbols from types to improve compatability between version - 0fb0628: Mark subscription methods as deprecated. - 0f27a97: Update dependencies - Updated dependencies [7fc464a] - Updated dependencies [0f27a97] - @mysten/bcs@1.0.3 ## @mysten/bcs@1.0.3 ### Patch Changes - 7fc464a: Remove unique symbols from types to improve compatability between version - 0f27a97: Update dependencies ## @mysten/create-dapp@0.3.12 ### Patch Changes - 0f27a97: Update dependencies - Updated dependencies [7fc464a] - Updated dependencies [086b2bc] - Updated dependencies [0fb0628] - Updated dependencies [cdedf69] - Updated dependencies [0f27a97] - Updated dependencies [beed646] - @mysten/sui@1.3.0 - @mysten/dapp-kit@0.14.12 ## @mysten/dapp-kit@0.14.12 ### Patch Changes - 0f27a97: Update dependencies - Updated dependencies [7fc464a] - Updated dependencies [086b2bc] - Updated dependencies [0fb0628] - Updated dependencies [cdedf69] - Updated dependencies [0f27a97] - Updated dependencies [beed646] - @mysten/sui@1.3.0 - @mysten/wallet-standard@0.12.12 - @mysten/zksend@0.10.1 ## @mysten/deepbook@0.8.11 ### Patch Changes - 0f27a97: Update dependencies - Updated dependencies [7fc464a] - Updated dependencies [086b2bc] - Updated dependencies [0fb0628] - Updated dependencies [cdedf69] - Updated dependencies [0f27a97] - Updated dependencies [beed646] - @mysten/sui@1.3.0 ## @mysten/enoki@0.3.11 ### Patch Changes - 0f27a97: Update dependencies - Updated dependencies [7fc464a] - Updated dependencies [086b2bc] - Updated dependencies [0fb0628] - Updated dependencies [cdedf69] - Updated dependencies [0f27a97] - Updated dependencies [beed646] - @mysten/sui@1.3.0 - @mysten/zklogin@0.7.11 ## @mysten/graphql-transport@0.2.11 ### Patch Changes - 0f27a97: Update dependencies - Updated dependencies [7fc464a] - Updated dependencies [086b2bc] - Updated dependencies [0fb0628] - Updated dependencies [cdedf69] - Updated dependencies [0f27a97] - Updated dependencies [beed646] - @mysten/sui@1.3.0 - @mysten/bcs@1.0.3 ## @mysten/kiosk@0.9.11 ### Patch Changes - 0f27a97: Update dependencies - Updated dependencies [7fc464a] - Updated dependencies [086b2bc] - Updated dependencies [0fb0628] - Updated dependencies [cdedf69] - Updated dependencies [0f27a97] - Updated dependencies [beed646] - @mysten/sui@1.3.0 ## @mysten/ledgerjs-hw-app-sui@0.4.1 ### Patch Changes - 0f27a97: Update dependencies ## @mysten/suins-toolkit@0.5.11 ### Patch Changes - 0f27a97: Update dependencies - Updated dependencies [7fc464a] - Updated dependencies [086b2bc] - Updated dependencies [0fb0628] - Updated dependencies [cdedf69] - Updated dependencies [0f27a97] - Updated dependencies [beed646] - @mysten/sui@1.3.0 ## @mysten/wallet-standard@0.12.12 ### Patch Changes - 0f27a97: Update dependencies - Updated dependencies [7fc464a] - Updated dependencies [086b2bc] - Updated dependencies [0fb0628] - Updated dependencies [cdedf69] - Updated dependencies [0f27a97] - Updated dependencies [beed646] - @mysten/sui@1.3.0 ## @mysten/zklogin@0.7.11 ### Patch Changes - 0f27a97: Update dependencies - Updated dependencies [7fc464a] - Updated dependencies [086b2bc] - Updated dependencies [0fb0628] - Updated dependencies [cdedf69] - Updated dependencies [0f27a97] - Updated dependencies [beed646] - @mysten/sui@1.3.0 - @mysten/bcs@1.0.3 ## @mysten/zksend@0.10.1 ### Patch Changes - 0f27a97: Update dependencies - Updated dependencies [7fc464a] - Updated dependencies [086b2bc] - Updated dependencies [0fb0628] - Updated dependencies [cdedf69] - Updated dependencies [0f27a97] - Updated dependencies [beed646] - @mysten/sui@1.3.0 - @mysten/wallet-standard@0.12.12 Co-authored-by: github-actions[bot] commit beed646993dc128ab5eb45eba7b3ade08e323a5f Author: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com> Date: Wed Jul 17 11:07:27 2024 -0700 add tx.pure.vector and tx.pure.option (#18561) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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: commit 14ea5c4b6b5aec1955b4956b326ba5da177d3aa5 Author: Zhe Wu Date: Wed Jul 17 11:03:24 2024 -0700 Enable consensus commit prologue V3 on mainnet (#18691) ## Description To be out in 1.30 ## Test plan How did you test the new or updated feature? --- ## 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: commit 086b2bc40bca2f59f3a09cd08654cd1693ba0910 Author: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com> Date: Wed Jul 17 10:03:17 2024 -0700 Add waitForLastTransaction to all executor classes (#18697) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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: commit cdedf69b76d173c8534c575b89fabcabb279ec3f Author: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com> Date: Wed Jul 17 10:03:00 2024 -0700 [ts sdk] Add Arguments export for constructing Transaction arguments โ€ฆ (#18540) โ€ฆwithout a Transaction instance ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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: commit ccbb3c2dc38aa8cfa59c3c63f8aa33e44418ef28 Author: Zoe Braiterman Date: Wed Jul 17 12:56:49 2024 -0400 Grammar fix on the Wallet Standard page (#18703) ## Description Fix grammar on a doc page. ## Test plan How did you test the new or updated feature? --- ## 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: commit c718a3687587b992642d9219d4b9f88cc276761f Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Wed Jul 17 09:44:21 2024 -0700 remove sui-common which was accidentally added (#18686) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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: commit d019f53f01d9f7d04cae02bc8574ec12c2033d2c Author: Patrick Kuo Date: Wed Jul 17 16:20:04 2024 +0100 [bridge indexer] - record bridge txn errors (#18510) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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: commit afc4197ed0fbf3538345bf5a0183e3266205942c Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Tue Jul 16 18:08:17 2024 -0700 [DB] disable write stalling and stopping due to pending compaction bytes for index (#18093) ## Description Index db cfs can become large and require compactions. Write throttling based on compaction bytes can happen after initial ingestion of data, and is hard to investigate. Disable write throttling for index cfs. ## Test plan Deploy to mainnet fullnode. --- ## 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: commit 2a55a068d89851214016d28f64efd33b24fb1401 Author: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com> Date: Tue Jul 16 17:13:54 2024 -0700 Add tic-tac-toe example to workspace (#18616) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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: commit 5ec703d6bf9a8731e3f0ebb3d984f4520e1e3ed9 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Tue Jul 16 16:13:28 2024 -0700 change protocol version 54 to 53 (#18695) ## Description the next version should be 53 instead of 54. Also update MAX_VERSION ## Test plan How did you test the new or updated feature? --- ## 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: commit 0252a76d7d574318b19146da66fa34c42828a0de Author: Zhe Wu Date: Tue Jul 16 15:20:52 2024 -0700 Add a metric to track per object cost in consensus commit for congestion control (#18676) ## Description Also some chore to add txn execution status in workloads. ## Test plan Unit test --- ## 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: commit 39a4eb01b675c11040551cdc8f79345a8426e2bc Author: Cam Swords Date: Tue Jul 16 14:38:01 2024 -0700 [move][move-ide] Colon/Alias Autocompletion (#18108) ## Description This records autocomplete information for alias resolution positions. ## Test plan Updated test expectations --- ## 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: commit 4ba06ed7463743fa46f6b5879b7cd1f4b76da2dc Author: Ashok Menon Date: Tue Jul 16 17:02:40 2024 +0100 [GraphQL/Limits] Reimplement QueryLimitsChecker (#18666) ## Description Rewriting query limits checker to land a number of improvements and fixes: - Avoid issues with overflows by counting down from a predefined budget, rather than counting up to the limit and protecting multiplications using `checked_mul`. - Improve detection of paginated fields: - Previously we treated all connections-related fields as appearing as many times as the page size (including the field that introduced the connection, and the `pageInfo` field). This was over-approximated the output size by a large margin. The new approach counts exactly the number of nodes in the output: The connection's root field, and any non-`edges` or `nodes` field will not get multiplied by the page size. - The checker now also detects connections-related fields even if they are obscured by fragment or inline fragment spreads. - Tighter `__schema` query detection: Previously we would skip requests that started with a `__schema` introspection query. Now it's required to be the only operation in the request (not just the first). - Fix metrics collection after limits are hit: Previously, if a limit was hit, we would not observe validation-related metrics in prometheus. Now we will always record such metrics, and if a limit has been hit, it will register as being "at" the limit. ## Test plan ``` sui-graphql-e2e-tests$ cargo nextest run --features pg_integration -- limits/ ``` ## Stack - #18660 - #18661 - #18662 - #18663 - #18664 --- ## 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: - [x] GraphQL: Output node estimation has been made more accurate -- the estimate should now track the theoretical max number of nodes on the JSON `data` output. - [ ] CLI: - [ ] Rust SDK: commit e397c2f23a0498446032b0fa5cd6f7572f928bc5 Author: Ashok Menon Date: Tue Jul 16 15:00:02 2024 +0100 [GraphQL/Limits] Separate out directive checks (#18664) ## Description Trying to do the directive checks at the same time as the query checks complicates both implementations. Split out the directive check into its own extension. Also fix the directive checks not looking at directives on variable definitions. ## Test plan ``` sui-graphql-e2e-tests$ cargo nextest run \ --features pg_integration \ -- limits/directives.move ``` ## Stack - #18660 - #18661 - #18662 - #18663 --- ## 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: - [x] GraphQL: The service now detects unsupported directives on query variable definitions. - [ ] CLI: - [ ] Rust SDK: commit 6756fa78b101c6a1501093c255f2b5d535949fb1 Author: Ashok Menon Date: Tue Jul 16 13:33:29 2024 +0100 [chore][GraphQL/Limits] Standardise query_limits_checker file order (#18663) ## Description This is a file order change only, with no other meaningful changes. It standardises the order to: - Constants - Types - Impls - Trait Impls - Free functions ## Test plan CI ## Stack - #18660 - #18661 - #18662 --- ## 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: commit 0ab05e42b7a40a11eb653c7741d04ce371224016 Author: Ashok Menon Date: Tue Jul 16 13:13:09 2024 +0100 [chore][GraphQL/Limits] Clean up headers (#18662) ## Description Two header related clean-ups: - The version header should no longer be part of the CORS configuration, because we don't expect versions to be configured by (request) header. - The `ShowUsage` type doesn't need to implement `Header` because we only care about comparing its name. ## Test plan CI ## Stack - #18660 - #18661 --- ## 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: - [x] GraphQL: `x-sui-rpc-version` is no longer an accepted request header, as versions are now selected by modifying the path. - [ ] CLI: - [ ] Rust SDK: commit 77dc88eb2824fd5700c2548da2c8e98d7e95efff Author: Ashok Menon Date: Tue Jul 16 13:13:01 2024 +0100 [GraphQL/Limits] BUGFIX: directives test error type (#18661) ## Description Passing an unsupported directive should be a user input error, not an internal error. ## Test plan ``` sui-graphql-e2e-tests$ cargo nextest run --features pg_integration -- limits/directives ``` ## Stack - #18660 --- ## 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: - [x] GraphQL: Passing an unsupported directive to the service will be treated as a `BAD_USER_INPUT` rather than an `INTERNAL_SERVER_ERROR`. - [ ] CLI: - [ ] Rust SDK: commit 3731f2887c9619751677255ec1325a5467b341b7 Author: Ashok Menon Date: Sat Jul 13 14:52:49 2024 +0100 [chore][GraphQL/Limits] Separate QueryLimitChecker extension/factory (#18660) ## Description Split up the extension factory from the extension itself, similar to what we did for `Timeout` before. This avoids the confusion of the single type being created with defaulted fields to act as the factory and then creating new versions of itself to act as the extension. ## 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: commit cb2f63e6f31cbc37a68447bc991f6198d6f2ed07 Author: Xun Li Date: Tue Jul 16 09:14:04 2024 -0700 Fix flaky validator_tx_finalizer tests (#18688) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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: commit c11b6173cc738c106d9d11e70f80fc07d119aaad Author: Daniel Leavitt <71237296+dantheman8300@users.noreply.github.com> Date: Tue Jul 16 08:14:41 2024 -0700 [docs] Update coin flip app example (#18623) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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: --------- Co-authored-by: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> commit bd45b28d68f4f7ce5780e3b74a9f3906e031d719 Author: Anastasios Kichidis Date: Tue Jul 16 13:48:00 2024 +0100 [Consensus] disable scheduled synchronizer when commit lag (#18485) ## Description The PR disables the scheduled synchronizer when we detect local commit to lag compared to the quorum index, same as we do during block processing. It has to be noted that we do not disable the live synchronizer as this will normally be taken care of from the `authority_service` block processing path. With this change we'll avoid issues that have been observed during crash recovery (or even lagging nodes) where some blocks are received (until the commit voter finally gathers a quorum and cut off the block processing path) and trigger the block synchronization attempting to complete the causal history for the received blocks leading to a big queue of suspended & missing blocks. ## Test plan CI/PT Testing on PT environment, on the first screenshot we can see the number of pending suspended blocks in block_manager when the synchronization is not disabled during crash recovery - which is constantly increasing. On the second screenshot we see that number does not increase while node recovers and remains constant: Screenshot 2024-07-04 at 17 56 39 Screenshot 2024-07-04 at 18 05 31 --- ## 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: commit adaffe37f3fff7ed82cfbf5dc7cdf0b9a0833b2c Author: Alexandros Tzimas Date: Tue Jul 16 09:30:10 2024 +0300 Deprecate Sui_Owned_Object_Pools (#18657) commit 7fc464ae14e66db5da110da53e8f308ba17a937f Author: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com> Date: Mon Jul 15 21:17:07 2024 -0700 [ts sdk] Make symbol types not unique between versions (#18639) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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: commit fedd75a7c3aa4ced553283e4dd6d9f5d7cf1cfa2 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Mon Jul 15 21:02:25 2024 -0700 Make EpochFlag values explicit to avoid mistakes when cherry picking (#18683) This is intended to prevent mistakes such as the one being fixed by #18682 commit bf94b2fb37ee212f2a7c1185df5464082e9944c8 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Mon Jul 15 17:01:26 2024 -0700 Re-order flags to match order in v1.28 (#18682) commit 33baaa761f30cd96c26f24f5851f2227e866e3c1 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Mon Jul 15 15:58:20 2024 -0700 Add more addresses checks for validator tool (#18570) ## Description as title and self-descriptive. ## Test plan tested locally. --- ## 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: commit 0984a6bcde7b675f65b03659d21b3365566fcdd8 Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Mon Jul 15 15:43:21 2024 -0700 Add metrics for batch verify and overload (#18680) ## Description Add a metric for time consumed during transaction verifications in Mysticeti. Add a metric for the specific overloaded component when transactions are rejected for signing / submission. ## 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: commit 98b5d236f1226f8057f279050aee00f0e9f2098b Author: phoenix <51927076+phoenix-o@users.noreply.github.com> Date: Mon Jul 15 17:01:35 2024 -0500 [data ingestion] hybrid remote setup (#18677) adding support for hybrid setup, where indexer fetches checkpoint from a remote FN and falls back to a remote bucket if the FN's already pruned commit 6514dce4083bfc6de633902b5a80b0717d3f7209 Author: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com> Date: Mon Jul 15 14:29:21 2024 -0700 avoid rebuilding sui cli during tests (#18678) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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: commit 77b6e6ec861786cb7857661c198614003441cb00 Author: Adam Welc Date: Mon Jul 15 14:11:47 2024 -0700 [move-ide] Added inlay type hints for unpacks (#18650) ## Description With this PR inlay type hints work for variant unpacks (they already worked for struct unpacks): ![image](https://github.com/user-attachments/assets/5bef6232-62c3-407a-8bcb-89504efb4a40) This includes nested patterns: ![image](https://github.com/user-attachments/assets/581af7ae-9471-426c-9db5-5376674f4539) This PR also changes the way that types are displayed for type hints - the fully qualified name seemed too long (particularly for functions with multiple parameters on the same line) and not really necessary (or redundant even) since you can hover over the hint to see the full type. ## Test plan All new and existing tests must pass commit 96a222b2261ccec16882cdc6fe0af689e8b7a113 Author: Andrew Schran Date: Mon Jul 15 16:14:23 2024 -0400 Cancel randomness-using tx on DKG failure instead of ignoring (#18511) commit 15acca373f829709a4e81206ae62be14688af534 Author: jk jensen Date: Mon Jul 15 11:54:58 2024 -0700 [suiop][incidents] add --with-priority flag (#18673) ## Description enable limiting incident results to those with a priority set via the `--with-priority`/`-p` flag. ## Test plan ``` ยป cargo run --bin suiop -- i r -p Finished dev [unoptimized + debuginfo] target(s) in 0.43s Running `/Users/jordankylejensen/mysten/sui/target/debug/suiop i r -p` 2433: (2d) P0 dummy incident 3135: (2d) P2 [FIRING:2] incident for something 3134: (2d) P2 [FIRING:2] redacted ``` --- ## 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: commit 14a139210664be00d96dee2580da514a57805727 Author: Andrew Schran Date: Mon Jul 15 14:16:52 2024 -0400 Add randomness-related admin handlers for disaster recovery use (#18500) commit 8aa6ba9cc4433eecc99acf6f335c989cdc78fee6 Author: Xun Li Date: Mon Jul 15 10:55:47 2024 -0700 Store AuthorityAggregator in sui-node (#18647) ## Description This PR moves the construction of AuthorityAggregator to sui-node and stores a reference there. This will make sure that all the metrics are ever only instantiated once (to avoid double register problem). It will also allow us to use AuthorityAggregator later in ValidatorTxFinalizer. ## 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: commit 7c143d566312377f0127b2712fb439f4805d066f Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Mon Jul 15 10:46:59 2024 -0700 Cleanup a few Narwhal references (#18671) ## Description Cleanup a few references to Narwhal. Remove consensus protocol choice from `ConsensusConfig`. This field is unused now. ## 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: commit 6954c2048395ac5ab31ca00f478bd9d304944cc0 Author: pei-mysten <147538877+pei-mysten@users.noreply.github.com> Date: Mon Jul 15 10:03:51 2024 -0700 [script] no need for GITHUB_TOKEN because sui is a public repo (#18544) ## Description Remove the Auth header because `sui` is a public repo..no need for GTIHUB_TOKEN ## Test plan How did you test the new or updated feature? --- ## 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: commit ad5d7b9d8ef143c171f6e344bf4330892217e36f Author: Zhe Wu Date: Mon Jul 15 08:27:40 2024 -0700 Update graphql e2e test to protocol version 51 (#18653) ## Description I wanted to update it to version 49, since there is a change related to consensus commit prologue V3. But since testnet now uses 51, I choose to use it here as well. ## Test plan How did you test the new or updated feature? --- ## 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: commit a5a4ab37710120a31665448e2da6c1344ead1ea1 Author: Xun Li Date: Mon Jul 15 07:47:59 2024 -0700 [AuthAgg] Use epoch start state to construct AuthorityAggregator (#18649) ## Description This PR makes two changes: 1. The primary change is to be able to construct AuthorityAggregator from epoch start state, instead of reading system state from the store. This is much safer and sync way to do it in prod. 2. The secondary change is to extend AuthorityAggregatorBuilder to be able to build more aggregators, to simplify some of the 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: commit 5c3ab8c170479145487ab1fd95caa3aa94b253bd Author: Joy Wang <108701016+joyqvq@users.noreply.github.com> Date: Mon Jul 15 10:17:00 2024 -0400 chore: add a new cognito tenant (#18635) ## Description This enables a new aws tenant for devnet for zklogin ## Test plan ``` # this runs a localnet from epoch 0 cargo build --bin sui RUST_LOG=info target/debug/sui start --force-regenesis --with-faucet # in different tab, this composes an auth url. this creates a deterministic way of getting JWT token with a deterministic nonce and ephemeral key with max epoch 10. Terminate this command. target/debug/sui keytool zk-login-sign-and-execute-tx --max-epoch 10 --network localnet --fixed Visit URL (AWS - Ambrus): https://ambrus.auth.us-east-1.amazoncognito.com/login?response_type=token&client_id=t1eouauaitlirg57nove8kvj8&redirect_uri=https://api.ambrus.studio/callback&nonce=hTPpgF7XAKbW37rEUS6pEVZqmoI # once you obtain the JWT token from redirect URL after id_token=xxxx (do not include the access_token), paste it to the following command (no need to change other params, this assumes you are using the fixed ephemeral key, the max epoch fixed at 10) target/debug/sui keytool zk-login-enter-token --parsed-token eyJraWQiOiJWSEFcL3ZZMWQyaDdYMzNEcFo2WkJEUmZuQ1NcL09JZ2lWN3RvQ2R4eUVVRFk9IiwiYWxnIjoiUlMyNTYifQ.eyJhdF9oYXNoIjoiZktkZ21iXzNOMW1KTGlWNFByRG9IUSIsInN1YiI6Ijc0YjhmNGI4LTYwNTEtNzAwNC0wOGUxLTNkNTQxOTE1MzExOCIsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xX3FQc1p4WXFkOCIsImNvZ25pdG86dXNlcm5hbWUiOiJnaGZqc2tkIiwibm9uY2UiOiJoVFBwZ0Y3WEFLYlczN3JFVVM2cEVWWnFtb0kiLCJhdWQiOiJ0MWVvdWF1YWl0bGlyZzU3bm92ZThrdmo4IiwiZXZlbnRfaWQiOiI4NmFkNGZhOC1kN2U0LTQ1ZGUtOTI5My1mMWE0YjAzYzkxNTciLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTcyMDc5MTMzNiwiZXhwIjoxNzIwNzk0OTM2LCJpYXQiOjE3MjA3OTEzMzYsImp0aSI6ImEzM2U1OWM3LTA5ODAtNDk5ZC04YzQzLWEzZDY4NzM0YzI4MCIsImVtYWlsIjoibHVjaWVuQGFtYnJ1cy5zdHVkaW8ifQ.WmcTipaovAmGh9_095RbMZmiQom-rAeboxfWvQz9y5ym-wwMSCL63uwihrLtE1JVzOS_8Qk1dkTm_AoRSd4zIGxSCOUA3bHC3ekqOS5_McIfHfp6V0dLK67KmofKB7HzPFFY8tRh20jpVwcxVBpeuTojs3KFUJUIBFwwxe-pMz8--r62yzplv067sHL9UtoJ86KInQtJCceyk-EepuHisx7dFdspcyue2GpSvTCLYnkyjIJE5T6RUhldfAQOK0d6WNiBMq8MQgbsz8dOhpSWmZk-wa7uftMVZ0IG22MHqaqdaZxCwmmKbMTb3ACMG0dooVkAiclz8hxmP5IUHD4RcQ --max-epoch 10 --jwt-randomness 100681567828351849884072155819400689117 --kp-bigint 84029355920633174015103288781128426107680789454168570548782290541079926444544 --ephemeral-key-identifier 0xcc2196ee1fa156836daf9bb021d88d648a0023fa387e695d3701667a634a331f --network localnet ``` --- ## 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: commit bbbd374604f0981714d56bade7507143befd6d5a Author: UnMaykr <98741738+unmaykr-aftermath@users.noreply.github.com> Date: Mon Jul 15 18:40:58 2024 +0700 feat: add optional `root_version` to `Query.owner` (#18486) ## Description This adds an optional `root_version` argument to `Query.owner` as discussed in PR #17934. In summary: ``` `root_version` represents the version of the root object in some nested chain of dynamic fields. It allows historical queries for the case of wrapped objects, which don't have a version. For example, if querying the dynamic fields of a table wrapped in a parent object, passing the parent object's version here will ensure we get the dynamic fields' state at the moment that parent's version was created. If `root_version` is left null, the dynamic fields will be from a consistent snapshot of the Sui state at the latest checkpoint known to the GraphQL RPC. ``` ## Test plan Introduced new E2E tests: ``` sui-graphql-e2e-tests$ cargo nextest run --features pg_integration ``` --- ## 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: - [x] GraphQL: Introduces an optional `rootVersion` parameter to `Query.owner`. This can be used to do versioned lookups when reading dynamic fields rooted on a wrapped object or another dynamic object field. - [ ] CLI: - [ ] Rust SDK: --------- Co-authored-by: Ashok Menon commit ffd3231924e27f4099fefe380ef48b65885c0aac Author: Brandon Williams Date: Thu Jul 11 15:01:02 2024 -0500 chore: update fastcrypto and serde_with commit c2ef24af9af2692f1cedb87fb45e24ad60e3230d Author: Ashok Menon Date: Sat Jul 13 14:44:58 2024 +0100 [GraphQL][RFC] Introduce UInt53 scalar (#18552) ## Description Whilst working on #18337, I noticed that we were over-using the `Int` scalar -- using it to represent values that could exceed 2^31 - 1 -- when the GraphQL spec states that `Int` must be a 32-bit signed integer. We made this decision at the time (a) because `async-graphql` allowed converting `u64`s to `Int` and we were primarily concerned with the fact that although JSON doesn't specify a precision for its numeric types, JS (among other languages), assumes it is an IEEE double-precision floating point number, so can only represent integral values precisely below 2^53. `cynic` (a Rust GraphQL client library) is (correctly) stricter, however, and maps an `Int` to an `i32`, always. There may be other similarly strict client libraries for other languages. This PR introduces a new scalar, `UInt`, that maps to a JSON number literal, just like `Int`, but allows us to ascribe our own meaning (in this case, it will be an unsigned number, and it can be as large as 2^53). This scalar has been used in many cases where we had previously used `Int`: sequence numbers, counts of objects, checkpoints, transactions, etc. While other uses continue to use `Int` (pagination limits, service limits, values bounded by the number of validators). In some cases, we have switched from `BigInt` to using this scalar notably: - the db cost estimate, which was previously a `BigInt` because we were unsure of its scale, but in hindsight, after benchmarking, it is unlikely that we would want to set a limit greater than 2^31 - 1. - the number of checkpoints in an epoch, as the number of transactions in an epoch (a number that is guaranteed to be greater) is being represented using an `Int` at the moment (and soon a `UInt53`). This will be a breaking change, so will only go out with the new major version. Hopefully, this change will be minimal as the format of this scalar over the wire is the same as for `Int`, but it will require existing clients to register a new scalar in most cases. ## Test plan Existing tests: ``` sui-graphql-rpc$ cargo nextest run sui-graphql-e2e-tests$ cargo nextest run --features pg_integration ``` --- ## 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: - [x] GraphQL: Introduces a new scalar -- `UInt53` -- to represent unsigned 53 bit integer values. Some uses of `Int` in the existing schema have been replaced with `UInt53`. All clients will need to register the new scalar and clients for statically typed languages will also need to use a wider (e.g. 64 bit), unsigned type to hold the value. - [ ] CLI: - [ ] Rust SDK: commit 883b4c017e3f30c6dcdb63a982a533c7fb08e678 Author: Cam Swords Date: Fri Jul 12 17:57:50 2024 -0700 [move][move-2024] Extract macros from precompiled programs for expansion. (#18643) ## Description This extracts macros from the precompiled program so that macro expansion works for them, too. ## Test plan Updated a test to use `vector`'s `do!`. It failed before the fix, and works now. --- ## 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: commit 0144a2448216a6a856831898f1f4de24e9d1c216 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Fri Jul 12 14:39:46 2024 -0700 Fix build (#18645) commit 2f71d9d79b78627901cafe51dfaffbecafab3dce Author: Ashok Menon Date: Fri Jul 12 22:20:13 2024 +0100 [Examples/Move] Delete `sui_programmability` (#18612) ## Description Remove the `sui_programmability` folder as all examples have been ported and modernised to `examples/move`, or elsewhere. ## Test plan CI ## Stack - #18525 - #18526 - #18557 - #18558 - #18595 - #18609 --- ## 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: --------- Co-authored-by: Ronny Roland commit d43a7addde2f2f538bd2558361fa0e1aad5de7e8 Author: Ashok Menon Date: Fri Jul 12 22:16:39 2024 +0100 [Examples/Move] Port remaining Crypto Sui Programmability Examples (#18609) ## Description Port over the following examples from sui_programmability/examples: - crypto/sources/ecdsa.move - crypto/sources/groth16.move - ~games/sources/drand_lib.move~ - ~games/sources/drand_based_lottery.move~ - ~games/sources/drand_based_scratch_card.move~ - games/sources/vdf_based_lottery.move Modernising and cleaning them up in the process: - Applying wrapping consistently at 100 characters, and cleaning up comments. - Removing unnecessary use of `entry` functions, including returning values instead of transfering to sender in some cases. - Using receiver functions where possible. - Standardising file order and adding titles for sections. - Standardising use of doc comments vs regular comments. - Using clever errors. This marks the final set of examples to be moved out of sui-programmability, which will then be deleted. ## Test plan ``` sui-framework-tests$ cargo nextest run -- run_examples_move_unit_tests ``` ## Stack - #18525 - #18526 - #18557 - #18558 - #18595 --- ## 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: --------- Co-authored-by: Ronny Roland commit aae6f5c37672095fb6e7ddc59683a52a92ff4f98 Author: Ashok Menon Date: Fri Jul 12 22:16:30 2024 +0100 [Examples] Remove references to `sui_programmability` in codebase (#18595) ## Description Replace all references to Move packages in `sui_programmability` with equivalents in `./examples/move`, in preparation for deleting the programmability directory. In the process, I also: - removed the tic-tac-toe example from the Sui SDK, as it has been replaced by a more full-featured E2E example. - ported some modernised versions of the `basics` packages into the new `examples/move/basics` for use in tests. ## Test plan CI and, ``` sui$ cargo simtest ``` ## Stack - #18525 - #18526 - #18557 - #18558 --- ## 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: --------- Co-authored-by: Ronny Roland commit b6feedeb8a71e118498e8e9626073912f7c8b282 Author: Ashok Menon Date: Fri Jul 12 21:53:18 2024 +0100 [Examples/Docs] Tic-tac-toe (#18558) ## Description A README for the tic-tac-toe app example, derived from: https://github.com/MystenLabs/multisig_tic-tac-toe/blob/main/README.md And updates to the docs for the tic-tac-toe app example to reflect changes to modernise the guide and bring all its source code into the `sui` mono-repo. This is the last major example that lived in the `sui_programmability` directory. ## Test plan :eyes: ## Stack - #18525 - #18526 - #18557 --- ## 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: --------- Co-authored-by: Ronny Roland commit 389c3dc450f89fa2feea063dd6e0c7fc870bc498 Author: stefan-mysten <135084671+stefan-mysten@users.noreply.github.com> Date: Fri Jul 12 13:48:31 2024 -0700 [codecov-ci] Disable debug symbols (#18641) ## Description Disable debug symbols when running `cargo llvm-cov` as it seems the CI run is OOM-ing when building `sui-e2e-tests`. ## Test plan How did you test the new or updated feature? --- ## 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: commit 260f1c867bbedee3fb51b1ad3b223f340be8aa26 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Fri Jul 12 13:11:15 2024 -0700 Move SupportedProtocolVersions to sui-types, rename AuthorityCapabilities -> AuthorityCapabilitiesV1 (#18583) Quick refactoring to prepare for adding AuthorityCapabilitiesV2, which will include the digest of ProtocolConfig for each supported version. commit 8e103afedf82493fe06eb30f52d28bbf25804f9f Author: Xun Li Date: Fri Jul 12 13:10:12 2024 -0700 [RFC][core] Add validator tx finalizer (#18542) ## Description The ValidatorTxFinalizer gets called whenever a transaction is signed on a validator. It would then sleep for a min, wake up and check if the tx has already been executed, if not, use authority aggregator to finalize it. ## Test plan Added unit tests to cover various cases: 1. Basic flow 2. Epoch change 3. Tx already executed --- ## 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: commit 98a2d8d9c0eafce40072b0e162633e402786084e Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Fri Jul 12 12:48:43 2024 -0700 Add check that all executed transactions are checkpointed (and vice versa) (#18622) commit 6b425c9718c9989c686c0c18368b411718136a07 Author: stefan-mysten <135084671+stefan-mysten@users.noreply.github.com> Date: Fri Jul 12 11:30:15 2024 -0700 [CLI] Make service hosts configurable in `sui start` (#18607) ## Description Make indexer, GraphQL, faucet hosts configurable. When using Docker, due to the way it sets up a network interface for the container, the services need to bind to 0.0.0.0 to be able to be accessed from outside the container. This PR enables configurable hosts for these three services via optional flags: - `--indexer-host 0.0.0.0` - `--faucet-host 0.0.0.0` - `--graphql-host 0.0.0.0` If no host flag is provided, it will use the default `0.0.0.0` one. In addition, I found a bug where if the `default_value` is not provided, calling `unwrap_or_default` will return value 0 (if that field is an int). For example, if we call `--with-graphql`, the indexer port would have been set to 0 because the `default_missing_value` is only set when the flag is passed, but not when it is not passed, which is the case here due `with-indexer` being implicit enabled. This supersedes #14701 and should close #14701. ## Test plan How did you test the new or updated feature? --- ## 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: - [x] CLI: Changed `sui start` to allow configurable hosts for indexer (`--indexer-host `), GraphQL (`--graphql-host `), and faucet (`--faucet-host`) services. This will enable to use `sui start` from a Docker container. By default, all services start with `0.0.0.0` host. - [ ] Rust SDK: commit 3c9b596e039f5bc35c7f38006c6363c551a57314 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Fri Jul 12 11:02:15 2024 -0700 [bridge] use protocol parameter to determine when to finalize bridge committee `bridge_should_try_to_finalize_committee` (#18019) ## Description Updated: we decided to introduce a protocol parameter to determine when bridge committee happens. This gives us more flexibility to include validators. As a result, we don't need the original change of threshold any more. Together with the new parameter, the old default value 7500 still acts as the minimal voting power threshold ------------------ Old description: Previously the 75% minimal stake is too low to include most validators. This PR changes it to 90%. I have two commits in this PR: * the first commit sets the value by distinguish chain id - if it's testnet, then use 7500, otherwise 9000. This is safe because on mainnet we haven't enabled registration yet. * the second commit uses a different approach with protocol config. Basically it adds a `minimal_threshold_for_bridge_committee` field and is set to 90% after the added version. In this way we don't need to differentiate chain ids. It's safe for testnet because this value won't be needed post committee initialization. I like the 2nd commit better because the code is cleaner. ## Test plan How did you test the new or updated feature? --- ## 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: commit 9a6a6841029a9aaaaedb475fa996ddf12c9e938a Author: Andrew Schran Date: Fri Jul 12 13:34:01 2024 -0400 Send full sig if possible during randomness sig exchange (#18565) commit 67b18a5481ab4879af4abf54d28c98496af38dc5 Author: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> Date: Fri Jul 12 09:58:54 2024 -0600 [docs][site] Fixes small screen nav (#18546) ## Description Fixes broken nav on small screens. Jira [DOCS-383](https://mysten.atlassian.net/browse/DOCS-383) for more info. Also applies tailwind to some styles, which should eventually be used exclusively. [docs/site/src/components/GetStartedLink/index.tsx](https://github.com/MystenLabs/sui/pull/18546/files#diff-ed1e3e4e3d31a916f33152c76fae5faaa7fad41c38d7436f441e0d977f33ac72): Removed the logic that controls the display of the Get Started link on the home page to its own component. This should make changing the location the link navigates to easier and to change the logic behind visible/hidden and other updates. Should make updates easier because only need to change the component reference of the docusaurus component instead of the related logic. [docs/site/src/components/ThemeToggle/index.tsx](https://github.com/MystenLabs/sui/pull/18546/files#diff-3951ee509e2800c54d91ed3424884e59ce6fd2dd8a8d2e71963223728cdad832): Removed the logic for showing or hiding the default theme switcher from the default docusaurus component. Moved to its own component to better support docusaurus updates in the future. Also makes replacing the default switcher in the future easier. deleted components from `theme/Navbar`: These components were swizzled from docusaurus theme but only added a style in some cases and didn't change anything in others. The Navbar component was ejected with all its children even though it didn't need to be. The Navbar component (and its children) are labeled as `not safe` for swizzling. This means that updates to docusaurus can break any changes made to these components, so should only be ejected and changed when necessary and requires checking for updates. [docs/site/src/theme/Navbar/index.js](https://github.com/MystenLabs/sui/pull/18546/files#diff-a62ab467816eb68ede0469822b5ed6637ff9af29ab3c5cb3831ccf1b321d5db4): This component was ejected from Docusaurus 2.x. The changes here are just what docusaurus updated the component to. And now that I type this, I realize that I can just delete it so that the default component gets used instead of the custom one. This means only the default component `Navbar/Content` is changed by just adding references to the two components mentioned previously (as opposed to the 5 or 6 components that were ejected originally). Styles: Styles were changed where necessary. If a style was updated, then it was also updated to use tailwind syntax. Two styles were used to remove the need for swizzling default docusaurus components, which as mentioned comes at the cost of maintenance). This approach was necessary because docusaurus reuses a lot of general classes for its components or creates dynamic ones that are suffixed by the relative path to the component. - This style selects the wrapper around the search bar so that the "get started" button on the home page displays next to the search. Prevents having to eject Navbar/Search component just to add a class. ``` [class^="navbarSearchContainer"] { @apply min-[997px]:flex min-[997px]:gap-4 } ``` - This style selects the theme switch (light/dark). Prevents having to make an additional update to the Navbar/Content component. ``` button[title^="Switch between dark and light mode"] { @apply !text-white hover:bg-sui-blue-primary } ``` ## Test plan How did you test the new or updated feature? --- ## 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: commit a3bf1369c3dcf5e7dafc0558a1597f81fb083961 Author: Daniel Ahn Date: Fri Jul 12 08:19:30 2024 -0700 Update local-network.mdx (#18633) Updated broken link with correct link to url of Current Tags section of the Sui NPM registry. ## Description Existing link was broken. I navigated to the correct url and replaced the link with that url (https://www.npmjs.com/package/@mysten/sui?activeTab=versions). ## Test plan How did you test the new or updated feature? I double-checked that the url is correct. --- ## 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: Screenshot shows the current broken link/url: ![Screenshot 2024-07-12 003147](https://github.com/user-attachments/assets/d7cbf4ba-b54b-47d3-b568-f170b39f7f5c) commit 02599ed5c4e03845ca3ea06bc0a9ded10fc1aa52 Author: Rijnard van Tonder Date: Thu Jul 11 22:24:08 2024 -0700 sdk test setup: fix racy access on tmp config file (#18628) ## Description Some test setups call [`[setup(), setup()]`](https://github.com/MystenLabs/sui/blob/9c588e14f284a8feb10f29791f32ad6bb3f36ae4/sdk/typescript/test/e2e/coin-with-balance.test.ts#L22) which can cause a race on accessing the tmp `config.yaml` (which happens in the same tmp directory). This change ensures `setup()` is creates `config.yaml` in unique directories. This issue is probably what caused the flakiness in [CI](https://github.com/MystenLabs/sui/actions/runs/9897466376/job/27342099106#step:10:2279), note the: ``` Cannot open wallet config file at "/tmp/client.yaml ``` ## Test plan Tested locally that running the test creates separate directories and passes. --- ## 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: commit f7a6a6c4b16e5a8c6544831935e7b13c55b35bd0 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Thu Jul 11 22:11:21 2024 -0700 [bridge] support rank validators by voting power when requesting signatures (#18298) ## Description In this PR we introduce a way to order validators to request signatures according to their voting power. This is useful for signatures to be verified on ethereum because the # of signatures do impact the gas cost there significantly. ## Test plan deploying on a testnet bridge node to test. --- ## 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: commit c108fd84af22410f6de69e36dc55a657cd682fa7 Author: Xun Li Date: Thu Jul 11 21:04:04 2024 -0700 [test] Simplify transaction orchestrator tests (#18632) ## Description There is already a orchestrator, no need to create new one in the test. ## Test plan How did you test the new or updated feature? --- ## 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: commit 8cc4a8dcb3b2df8e59b34add5772a1c5cf28f79e Author: Todd Nowacki Date: Thu Jul 11 19:25:28 2024 -0700 [deny list v2] Added additional transactional tests (#18600) ## Description - Added transactional tests around specific underlying config behavior - Cannot yet add config specific tests as those APIs are not `public` ## Test plan - New tests --- ## 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: --------- Co-authored-by: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> commit 5f7b89026c28d554e743f4df9e4ac96446b5ea04 Author: Eugene Boguslavsky Date: Thu Jul 11 19:13:40 2024 -0700 Sui v1.30.0 Version Bump (#18631) ## Description Sui v1.30.0 Version Bump ## Test plan ๐Ÿ‘€ commit e48c9c4095607e98432ab556804c4f67feab7835 Author: John Naulty Jr Date: Thu Jul 11 19:02:19 2024 -0700 build statically-linked sui-node for testing on glibc-based hosts (#18611) ## Description Update Deterministic Sui Build to compile a statically-linked binary. StageX uses `musl` for compiling `sui-node`. In order for this to run the `sui-node` binary directly on glibc-based linux macines, it must be statically linked. ## Test plan Cherry-pick commit to `testnet` branch and test on a private testnet. * build docker image * extract `sui-node` binary * confirm statically linked (run `file` on mac, `ldd` on linux) * upload to baremetal test server + run * check build is still deterministic from github action build, linux machine, macOS machine --- ## 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: commit a093c4a9662e20de994c246c9c6293e594b24e09 Author: Xun Li Date: Thu Jul 11 18:31:28 2024 -0700 Make sure AuthAgg construction cannot fail (#18617) ## Description Describe the changes or additions included in this PR. ## Test plan How did you test the new or updated feature? --- ## 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: commit cf6d11e6474caf0b92b68a81eb12d2b5322a69cf Author: Xun Li Date: Thu Jul 11 11:18:50 2024 -0700 Refactor CommitteeWithNetworkMetadata --- .config/hakari.toml | 28 + Cargo.lock | 1099 ++++---- Cargo.toml | 64 +- .../src/background/accounts/zklogin/utils.ts | 2 +- .../dapp-interface/WalletStandardInterface.ts | 2 +- .../src/ui/app/components/sui-apps/Banner.tsx | 6 +- .../pages/accounts/manage/AccountGroup.tsx | 2 +- .../ui/app/pages/home/interstitial/index.tsx | 52 +- .../ui/app/pages/home/nfts/VisualAssets.tsx | 2 +- binary-build-list.json | 5 +- consensus/core/Cargo.toml | 1 + consensus/core/src/core.rs | 12 +- consensus/core/src/metrics.rs | 31 +- consensus/core/src/network/anemo_network.rs | 18 +- consensus/core/src/network/tonic_network.rs | 48 +- consensus/core/src/network/tonic_tls.rs | 1 + consensus/core/src/transaction.rs | 4 +- crates/mysten-metrics/src/lib.rs | 4 +- crates/mysten-network/src/multiaddr.rs | 12 + crates/mysten-network/src/server.rs | 8 +- .../mysten-service-boilerplate/Cargo-ext.toml | 2 +- crates/mysten-service/src/service.rs | 8 +- .../mysten-service/tests/integration_test.rs | 5 +- crates/sui-analytics-indexer/Cargo.toml | 2 - .../src/package_store.rs | 2 +- crates/sui-benchmark/tests/simtest.rs | 25 +- crates/sui-bridge-indexer/Cargo.toml | 3 +- crates/sui-bridge-indexer/src/config.rs | 1 + .../src/eth_bridge_indexer.rs | 351 +++ crates/sui-bridge-indexer/src/eth_worker.rs | 262 -- .../sui-bridge-indexer/src/indexer_builder.rs | 431 +++ .../src/latest_eth_syncer.rs | 168 -- crates/sui-bridge-indexer/src/lib.rs | 16 +- crates/sui-bridge-indexer/src/main.rs | 127 +- crates/sui-bridge-indexer/src/metrics.rs | 19 +- .../src/sui_bridge_indexer.rs | 291 ++ .../src/sui_checkpoint_ingestion.rs | 270 +- crates/sui-bridge-indexer/src/sui_worker.rs | 212 -- crates/sui-bridge/Cargo.toml | 2 - crates/sui-bridge/src/action_executor.rs | 340 ++- .../src/client/bridge_authority_aggregator.rs | 2 +- crates/sui-bridge/src/config.rs | 12 +- crates/sui-bridge/src/e2e_tests/basic.rs | 11 +- crates/sui-bridge/src/e2e_tests/complex.rs | 7 +- crates/sui-bridge/src/e2e_tests/test_utils.rs | 30 +- crates/sui-bridge/src/eth_client.rs | 20 +- crates/sui-bridge/src/eth_syncer.rs | 2 +- crates/sui-bridge/src/events.rs | 1 + crates/sui-bridge/src/lib.rs | 2 + crates/sui-bridge/src/metered_eth_provider.rs | 102 + crates/sui-bridge/src/metrics.rs | 42 +- crates/sui-bridge/src/monitor.rs | 955 +++++++ crates/sui-bridge/src/node.rs | 32 +- crates/sui-bridge/src/orchestrator.rs | 162 +- crates/sui-bridge/src/server/mock_handler.rs | 14 +- crates/sui-bridge/src/server/mod.rs | 11 +- crates/sui-bridge/src/storage.rs | 2 +- crates/sui-bridge/src/sui_client.rs | 2 +- crates/sui-bridge/src/sui_mock_client.rs | 31 +- .../sui-bridge/src/sui_transaction_builder.rs | 2 +- crates/sui-bridge/src/test_utils.rs | 36 +- crates/sui-bridge/src/types.rs | 6 +- crates/sui-config/src/node.rs | 25 +- crates/sui-core/Cargo.toml | 2 - crates/sui-core/src/authority.rs | 9 +- .../authority/authority_per_epoch_store.rs | 4 +- .../src/authority/authority_store_pruner.rs | 4 +- .../src/authority/authority_store_tables.rs | 4 +- .../src/authority/transaction_deferral.rs | 2 +- crates/sui-core/src/authority_server.rs | 228 +- crates/sui-core/src/checkpoints/mod.rs | 2 +- .../consensus_manager/mysticeti_manager.rs | 15 +- crates/sui-core/src/db_checkpoint_handler.rs | 51 +- crates/sui-core/src/epoch/committee_store.rs | 4 +- .../src/epoch/consensus_store_pruner.rs | 363 +++ crates/sui-core/src/epoch/data_removal.rs | 122 - crates/sui-core/src/epoch/mod.rs | 2 +- .../src/execution_cache/writeback_cache.rs | 13 +- crates/sui-core/src/mysticeti_adapter.rs | 52 +- crates/sui-core/src/rest_index.rs | 2 +- .../traffic_controller/nodefw_test_server.rs | 11 +- .../sui-core/src/transaction_orchestrator.rs | 200 +- .../src/unit_tests/epoch_data_tests.rs | 54 - crates/sui-core/src/validator_tx_finalizer.rs | 122 +- .../src/progress_store/mod.rs | 2 +- crates/sui-data-ingestion-core/src/reader.rs | 3 +- crates/sui-e2e-tests/tests/full_node_tests.rs | 47 +- .../sui-e2e-tests/tests/passkey_e2e_tests.rs | 6 +- .../tests/reconfiguration_tests.rs | 21 +- .../tests/traffic_control_tests.rs | 1 + .../tests/transaction_orchestrator_tests.rs | 31 +- .../tests/validator_tx_finalizer_e2e_tests.rs | 53 +- crates/sui-faucet/Cargo.toml | 2 - .../sui-faucet/src/faucet/write_ahead_log.rs | 2 +- crates/sui-faucet/src/server.rs | 5 +- ...000000000000000000000000000000000000000001 | Bin 0 -> 11210 bytes ...000000000000000000000000000000000000000002 | Bin 0 -> 66623 bytes ...000000000000000000000000000000000000000003 | Bin 0 -> 41861 bytes ...00000000000000000000000000000000000000000b | Bin 0 -> 19848 bytes ...00000000000000000000000000000000000000dee9 | Bin 0 -> 33346 bytes crates/sui-framework-snapshot/manifest.json | 10 + crates/sui-framework-tests/Cargo.toml | 5 + crates/sui-framework-tests/src/lib.rs | 3 - crates/sui-framework-tests/src/unit_tests.rs | 114 - .../sui-framework-tests/tests/move_tests.rs | 80 + .../packages/sui-framework/sources/math.move | 1 + .../sui-framework/tests/math_tests.move | 2 +- .../tests/call/simple.exp | 4 +- .../tests/epoch/chain_identifier.exp | 16 + .../tests/epoch/chain_identifier.move | 12 + crates/sui-graphql-rpc/Cargo.toml | 1 + crates/sui-graphql-rpc/README.md | 5 + .../schema/current_progress_schema.graphql | 2 + crates/sui-graphql-rpc/src/server/builder.rs | 43 +- crates/sui-graphql-rpc/src/server/version.rs | 19 +- .../sui-graphql-rpc/src/test_infra/cluster.rs | 21 +- .../src/types/chain_identifier.rs | 12 +- .../src/types/protocol_config.rs | 7 +- crates/sui-graphql-rpc/tests/e2e_tests.rs | 23 +- .../snapshot_tests__schema_sdl_export.snap | 2 + .../down.sql | 2 + .../2024-07-13-003534_chain_identifier/up.sql | 6 + crates/sui-indexer/src/metrics.rs | 6 +- crates/sui-indexer/src/models/checkpoints.rs | 8 +- crates/sui-indexer/src/schema/mod.rs | 3 + crates/sui-indexer/src/schema/mysql.rs | 7 + crates/sui-indexer/src/schema/pg.rs | 10 +- .../sui-indexer/src/store/pg_indexer_store.rs | 28 +- crates/sui-indexer/src/test_utils.rs | 16 +- .../sui-json-rpc-tests/tests/routing_tests.rs | 3 +- crates/sui-json-rpc/Cargo.toml | 1 + crates/sui-json-rpc/src/axum_router.rs | 9 +- crates/sui-json-rpc/src/balance_changes.rs | 30 + crates/sui-json-rpc/src/lib.rs | 19 +- crates/sui-json-rpc/src/metrics.rs | 2 +- .../src/transaction_execution_api.rs | 128 +- crates/sui-move/src/build.rs | 9 +- crates/sui-node/src/admin.rs | 11 +- crates/sui-node/src/lib.rs | 57 +- crates/sui-open-rpc/spec/openrpc.json | 4 +- crates/sui-package-resolver/src/lib.rs | 2 +- crates/sui-protocol-config/src/lib.rs | 21 +- ...ocol_config__test__Mainnet_version_54.snap | 320 +++ ...ocol_config__test__Testnet_version_54.snap | 322 +++ ...sui_protocol_config__test__version_54.snap | 330 +++ crates/sui-proxy/Cargo.toml | 2 +- crates/sui-proxy/src/admin.rs | 14 +- crates/sui-proxy/src/histogram_relay.rs | 10 +- crates/sui-proxy/src/lib.rs | 8 +- crates/sui-proxy/src/metrics.rs | 10 +- crates/sui-proxy/src/middleware.rs | 33 +- crates/sui-rest-api/Cargo.toml | 2 +- crates/sui-rest-api/src/accept.rs | 6 +- .../src/{client.rs => client/mod.rs} | 126 +- crates/sui-rest-api/src/client/sdk.rs | 555 ++++ crates/sui-rest-api/src/lib.rs | 10 +- crates/sui-rest-api/src/response.rs | 10 +- crates/sui-rest-api/src/system.rs | 2 +- crates/sui-rest-api/src/transactions/mod.rs | 2 + crates/sui-rosetta/src/lib.rs | 21 +- crates/sui-rosetta/src/main.rs | 6 +- crates/sui-rosetta/tests/rosetta_client.rs | 16 +- crates/sui-sdk/src/wallet_context.rs | 2 +- crates/sui-snapshot/src/reader.rs | 5 +- .../sui-source-validation-service/Cargo.toml | 2 +- .../sui-source-validation-service/src/lib.rs | 30 +- .../sui-source-validation-service/src/main.rs | 2 +- .../tests/tests.rs | 3 +- crates/sui-storage/Cargo.toml | 3 +- crates/sui-storage/src/indexes.rs | 2 +- .../src/write_path_pending_tx_log.rs | 2 +- crates/sui-storage/tests/key_value_tests.rs | 60 +- .../src/node_config_builder.rs | 2 + ...ests__genesis_config_snapshot_matches.snap | 3 +- ...ests__network_config_snapshot_matches.snap | 29 +- ..._populated_genesis_snapshot_matches-2.snap | 31 +- crates/sui-swarm/src/memory/container.rs | 7 +- crates/sui-swarm/src/memory/node.rs | 1 + crates/sui-swarm/src/memory/swarm.rs | 2 + crates/sui-tls/src/acceptor.rs | 5 +- crates/sui-tls/src/certgen.rs | 71 +- crates/sui-tls/src/lib.rs | 53 +- crates/sui-tls/src/verifier.rs | 170 +- crates/sui-tool/Cargo.toml | 1 - crates/sui-tool/src/db_tool/db_dump.rs | 33 +- .../sui-transactional-test-runner/Cargo.toml | 2 - .../src/simulator_persisted_store.rs | 2 +- crates/sui-types/src/deny_list_v2.rs | 2 +- crates/sui-types/src/storage/mod.rs | 51 +- crates/sui/src/sui_commands.rs | 27 +- crates/sui/tests/cli_tests.rs | 54 + .../tests/data/depends_on_simple/Move.toml | 9 + .../sources/depends_on_simple.move | 4 + crates/sui/tests/data/simple/Move.toml | 8 + .../sui/tests/data/simple/sources/simple.move | 4 + crates/suiop-cli/Cargo.lock | 2458 ----------------- crates/suiop-cli/Cargo.toml | 2 +- crates/suiop-cli/src/cli/ci/image.rs | 6 +- crates/suiop-cli/src/cli/lib/oauth/mod.rs | 5 +- crates/suiop-cli/tests/integration_tests.rs | 2 +- crates/typed-store-derive/Cargo.toml | 7 - crates/typed-store-derive/src/lib.rs | 142 +- .../typed-store-workspace-hack/.gitattributes | 4 + crates/typed-store-workspace-hack/Cargo.toml | 36 + crates/typed-store-workspace-hack/build.rs | 5 + crates/typed-store-workspace-hack/src/lib.rs | 4 + crates/typed-store/Cargo.toml | 5 +- crates/typed-store/src/lib.rs | 136 + crates/typed-store/src/rocks/mod.rs | 8 +- crates/typed-store/src/sally/mod.rs | 2 +- crates/typed-store/tests/macro_tests.rs | 4 +- deny.toml | 22 +- docker/sui-indexer-tidb/Dockerfile | 37 + .../developer/first-app/write-package.mdx | 2 +- docs/content/guides/operator/snapshots.mdx | 12 +- docs/content/sidebars/standards.js | 19 +- docs/content/standards/deepbookv3-sdk.mdx | 355 +++ .../standards/deepbookv3-sdk/flash-loans.mdx | 127 + .../standards/deepbookv3-sdk/orders.mdx | 202 ++ .../standards/deepbookv3-sdk/pools.mdx | 243 ++ .../deepbookv3-sdk/staking-governance.mdx | 148 + .../standards/deepbookv3-sdk/swaps.mdx | 63 + .../crypto/bls_signature/sources/example.move | 2 +- examples/tic-tac-toe/README.md | 2 +- examples/trading/api/sui-utils.ts | 10 +- external-crates/move/Cargo.lock | 1 + .../move/crates/move-analyzer/Cargo.toml | 1 + .../move-analyzer/editors/code/README.md | 1 + .../editors/code/language-configuration.json | 5 +- .../move-analyzer/editors/code/package.json | 2 +- .../crates/move-analyzer/src/compiler_info.rs | 5 +- .../crates/move-analyzer/src/completion.rs | 1168 +++++++- .../move/crates/move-analyzer/src/symbols.rs | 150 +- .../tests/colon_colon_completion.exp | 1402 ++++++++++ .../tests/colon_colon_completion.ide | 252 ++ .../tests/completion/sources/colon_colon.move | 66 + .../tests/completion/sources/dot.move | 4 +- .../tests/completion/sources/uses.move | 77 + .../move-analyzer/tests/ide_testsuite.rs | 4 +- .../src/expansion/path_expander.rs | 4 +- .../move-compiler/src/expansion/translate.rs | 9 + .../crates/move-compiler/src/parser/ast.rs | 35 + .../crates/move-compiler/src/parser/syntax.rs | 169 +- .../crates/move-compiler/src/shared/ide.rs | 12 +- .../sui_mode/linters/freezing_capability.rs | 116 + .../src/sui_mode/linters/missing_key.rs | 80 + .../move-compiler/src/sui_mode/linters/mod.rs | 43 +- .../move_2024/ide_mode/use_incomplete.exp | 77 + .../move_2024/ide_mode/use_incomplete.move | 49 + .../move_2024/matching/match_break_parse.move | 7 + .../matching/match_return_parse.move | 5 + ...ule_member_invalid_missing_close_brace.exp | 8 +- ...le_member_invalid_missing_close_brace.move | 8 +- ...odule_member_invalid_missing_semicolon.exp | 12 +- ...dule_member_invalid_missing_semicolon.move | 8 +- .../linter/edge_case_lint_missing_key.move | 21 + .../false_negative_lint_missing_key.exp | 10 + .../false_negative_lint_missing_key.move | 31 + .../freezing_capability_false_negatives.move | 43 + .../freezing_capability_false_positives.exp | 16 + .../freezing_capability_false_positives.move | 51 + .../freezing_capability_suppression.move | 46 + .../freezing_capability_true_negatives.move | 43 + .../freezing_capability_true_positives.exp | 24 + .../freezing_capability_true_positives.move | 43 + .../linter/no_trigger_lint_missing_key.exp | 60 + .../linter/no_trigger_lint_missing_key.move | 43 + .../linter/suppress_lint_missing_key.move | 15 + .../linter/trigger_lint_missing_key.exp | 20 + .../linter/trigger_lint_missing_key.move | 36 + .../move/crates/move-docgen/src/docgen.rs | 88 +- .../move-docgen/tests/sources/enums_test.move | 18 + .../tests/sources/enums_test.spec_inline.md | 106 + .../sources/enums_test.spec_inline_no_fold.md | 102 + .../tests/sources/enums_test.spec_separate.md | 106 + .../move-model/src/builder/exp_translator.rs | 2 +- .../move-model/src/builder/model_builder.rs | 63 +- .../move-model/src/builder/module_builder.rs | 92 +- .../move/crates/move-model/src/lib.rs | 14 +- .../move/crates/move-model/src/model.rs | 14 +- .../move/crates/move-vm-runtime/src/loader.rs | 2 +- narwhal/network/Cargo.toml | 1 - narwhal/network/src/admin.rs | 22 +- narwhal/node/src/metrics.rs | 6 +- .../tests/nodes_bootstrapping_tests.rs | 7 +- narwhal/types/Cargo.toml | 5 - narwhal/types/build.rs | 65 +- narwhal/types/proto/narwhal.proto | 21 - narwhal/types/src/proto.rs | 12 +- pnpm-lock.yaml | 52 +- scripts/simtest/config-patch | 7 +- scripts/simtest/simtest-run.sh | 2 +- sdk/bcs/CHANGELOG.md | 6 + sdk/bcs/package.json | 2 +- sdk/bcs/src/bcs.ts | 13 +- sdk/create-dapp/CHANGELOG.md | 25 + sdk/create-dapp/package.json | 2 +- sdk/dapp-kit/CHANGELOG.md | 28 + sdk/dapp-kit/package.json | 2 +- sdk/deepbook-v3/.gitignore | 132 + sdk/deepbook-v3/.npmignore | 1 + sdk/deepbook-v3/.prettierignore | 9 + sdk/deepbook-v3/CHANGELOG.md | 20 + sdk/deepbook-v3/README.md | 1 + .../examples/deepbookMarketMaker.ts | 126 + sdk/deepbook-v3/examples/tsconfig.json | 12 + sdk/deepbook-v3/examples/useDeepbookClient.ts | 47 + sdk/deepbook-v3/package.json | 53 + sdk/deepbook-v3/src/client.ts | 429 +++ sdk/deepbook-v3/src/index.ts | 10 + .../src/transactions/balanceManager.ts | 182 ++ sdk/deepbook-v3/src/transactions/deepbook.ts | 587 ++++ .../src/transactions/deepbookAdmin.ts | 140 + .../src/transactions/flashLoans.ts | 121 + .../src/transactions/governance.ts | 119 + sdk/deepbook-v3/src/types/index.ts | 98 + sdk/deepbook-v3/src/utils/config.ts | 103 + sdk/deepbook-v3/src/utils/constants.ts | 106 + sdk/deepbook-v3/tsconfig.esm.json | 7 + sdk/deepbook-v3/tsconfig.json | 11 + sdk/deepbook-v3/typedoc.json | 6 + sdk/deepbook-v3/vitest.config.ts | 18 + sdk/deepbook/CHANGELOG.md | 22 + sdk/deepbook/package.json | 2 +- sdk/deepbook/test/e2e/setup.ts | 16 +- sdk/docs/pages/typescript/executors.mdx | 2 +- .../pages/typescript/migrations/sui-1.0.mdx | 2 +- sdk/enoki/CHANGELOG.md | 25 + sdk/enoki/package.json | 2 +- sdk/graphql-transport/CHANGELOG.md | 24 + sdk/graphql-transport/package.json | 2 +- .../test/compatability.test.ts | 3 - sdk/kiosk/CHANGELOG.md | 22 + sdk/kiosk/package.json | 2 +- sdk/kiosk/test/e2e/setup.ts | 16 +- sdk/suins-toolkit/CHANGELOG.md | 22 + sdk/suins-toolkit/package.json | 2 +- sdk/typescript/CHANGELOG.md | 24 + sdk/typescript/package.json | 2 +- sdk/typescript/scripts/generate.ts | 14 +- sdk/typescript/src/bcs/effects.ts | 2 + sdk/typescript/src/client/types/generated.ts | 66 +- sdk/typescript/src/client/types/params.ts | 5 +- .../src/transactions/Transaction.ts | 7 + .../src/transactions/json-rpc-resolver.ts | 4 + sdk/typescript/src/version.ts | 4 +- sdk/typescript/test/e2e/object-cache.test.ts | 5 + sdk/typescript/test/e2e/utils/setup.ts | 4 +- sdk/wallet-standard/CHANGELOG.md | 26 + sdk/wallet-standard/package.json | 2 +- .../suiSignAndExecuteTransactionBlock.ts | 3 +- sdk/zklogin/CHANGELOG.md | 24 + sdk/zklogin/package.json | 2 +- sdk/zksend/CHANGELOG.md | 25 + sdk/zksend/package.json | 2 +- sui-execution/README.md | 2 +- .../latest/sui-move-natives/src/lib.rs | 2 +- sui-execution/v0/sui-move-natives/src/lib.rs | 2 +- sui-execution/v1/sui-move-natives/src/lib.rs | 2 +- sui-execution/v2/sui-move-natives/src/lib.rs | 2 +- 360 files changed, 15904 insertions(+), 6203 deletions(-) create mode 100644 .config/hakari.toml create mode 100644 crates/sui-bridge-indexer/src/eth_bridge_indexer.rs delete mode 100644 crates/sui-bridge-indexer/src/eth_worker.rs create mode 100644 crates/sui-bridge-indexer/src/indexer_builder.rs delete mode 100644 crates/sui-bridge-indexer/src/latest_eth_syncer.rs create mode 100644 crates/sui-bridge-indexer/src/sui_bridge_indexer.rs delete mode 100644 crates/sui-bridge-indexer/src/sui_worker.rs create mode 100644 crates/sui-bridge/src/metered_eth_provider.rs create mode 100644 crates/sui-bridge/src/monitor.rs create mode 100644 crates/sui-core/src/epoch/consensus_store_pruner.rs delete mode 100644 crates/sui-core/src/epoch/data_removal.rs delete mode 100644 crates/sui-core/src/unit_tests/epoch_data_tests.rs create mode 100644 crates/sui-framework-snapshot/bytecode_snapshot/54/0x0000000000000000000000000000000000000000000000000000000000000001 create mode 100644 crates/sui-framework-snapshot/bytecode_snapshot/54/0x0000000000000000000000000000000000000000000000000000000000000002 create mode 100644 crates/sui-framework-snapshot/bytecode_snapshot/54/0x0000000000000000000000000000000000000000000000000000000000000003 create mode 100644 crates/sui-framework-snapshot/bytecode_snapshot/54/0x000000000000000000000000000000000000000000000000000000000000000b create mode 100644 crates/sui-framework-snapshot/bytecode_snapshot/54/0x000000000000000000000000000000000000000000000000000000000000dee9 delete mode 100644 crates/sui-framework-tests/src/unit_tests.rs create mode 100644 crates/sui-framework-tests/tests/move_tests.rs create mode 100644 crates/sui-graphql-e2e-tests/tests/epoch/chain_identifier.exp create mode 100644 crates/sui-graphql-e2e-tests/tests/epoch/chain_identifier.move create mode 100644 crates/sui-indexer/migrations/pg/2024-07-13-003534_chain_identifier/down.sql create mode 100644 crates/sui-indexer/migrations/pg/2024-07-13-003534_chain_identifier/up.sql create mode 100644 crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__Mainnet_version_54.snap create mode 100644 crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__Testnet_version_54.snap create mode 100644 crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__version_54.snap rename crates/sui-rest-api/src/{client.rs => client/mod.rs} (55%) create mode 100644 crates/sui-rest-api/src/client/sdk.rs create mode 100644 crates/sui/tests/data/depends_on_simple/Move.toml create mode 100644 crates/sui/tests/data/depends_on_simple/sources/depends_on_simple.move create mode 100644 crates/sui/tests/data/simple/Move.toml create mode 100644 crates/sui/tests/data/simple/sources/simple.move delete mode 100644 crates/suiop-cli/Cargo.lock create mode 100644 crates/typed-store-workspace-hack/.gitattributes create mode 100644 crates/typed-store-workspace-hack/Cargo.toml create mode 100644 crates/typed-store-workspace-hack/build.rs create mode 100644 crates/typed-store-workspace-hack/src/lib.rs create mode 100644 docker/sui-indexer-tidb/Dockerfile create mode 100644 docs/content/standards/deepbookv3-sdk.mdx create mode 100644 docs/content/standards/deepbookv3-sdk/flash-loans.mdx create mode 100644 docs/content/standards/deepbookv3-sdk/orders.mdx create mode 100644 docs/content/standards/deepbookv3-sdk/pools.mdx create mode 100644 docs/content/standards/deepbookv3-sdk/staking-governance.mdx create mode 100644 docs/content/standards/deepbookv3-sdk/swaps.mdx create mode 100644 external-crates/move/crates/move-analyzer/tests/colon_colon_completion.exp create mode 100644 external-crates/move/crates/move-analyzer/tests/colon_colon_completion.ide create mode 100644 external-crates/move/crates/move-analyzer/tests/completion/sources/colon_colon.move create mode 100644 external-crates/move/crates/move-analyzer/tests/completion/sources/uses.move create mode 100644 external-crates/move/crates/move-compiler/src/sui_mode/linters/freezing_capability.rs create mode 100644 external-crates/move/crates/move-compiler/src/sui_mode/linters/missing_key.rs create mode 100644 external-crates/move/crates/move-compiler/tests/move_2024/ide_mode/use_incomplete.exp create mode 100644 external-crates/move/crates/move-compiler/tests/move_2024/ide_mode/use_incomplete.move create mode 100644 external-crates/move/crates/move-compiler/tests/move_2024/matching/match_break_parse.move create mode 100644 external-crates/move/crates/move-compiler/tests/move_2024/matching/match_return_parse.move create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/edge_case_lint_missing_key.move create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/false_negative_lint_missing_key.exp create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/false_negative_lint_missing_key.move create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/freezing_capability_false_negatives.move create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/freezing_capability_false_positives.exp create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/freezing_capability_false_positives.move create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/freezing_capability_suppression.move create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/freezing_capability_true_negatives.move create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/freezing_capability_true_positives.exp create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/freezing_capability_true_positives.move create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/no_trigger_lint_missing_key.exp create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/no_trigger_lint_missing_key.move create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/suppress_lint_missing_key.move create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/trigger_lint_missing_key.exp create mode 100644 external-crates/move/crates/move-compiler/tests/sui_mode/linter/trigger_lint_missing_key.move create mode 100644 external-crates/move/crates/move-docgen/tests/sources/enums_test.move create mode 100644 external-crates/move/crates/move-docgen/tests/sources/enums_test.spec_inline.md create mode 100644 external-crates/move/crates/move-docgen/tests/sources/enums_test.spec_inline_no_fold.md create mode 100644 external-crates/move/crates/move-docgen/tests/sources/enums_test.spec_separate.md delete mode 100644 narwhal/types/proto/narwhal.proto create mode 100644 sdk/deepbook-v3/.gitignore create mode 100644 sdk/deepbook-v3/.npmignore create mode 100644 sdk/deepbook-v3/.prettierignore create mode 100644 sdk/deepbook-v3/CHANGELOG.md create mode 100644 sdk/deepbook-v3/README.md create mode 100644 sdk/deepbook-v3/examples/deepbookMarketMaker.ts create mode 100644 sdk/deepbook-v3/examples/tsconfig.json create mode 100644 sdk/deepbook-v3/examples/useDeepbookClient.ts create mode 100644 sdk/deepbook-v3/package.json create mode 100644 sdk/deepbook-v3/src/client.ts create mode 100644 sdk/deepbook-v3/src/index.ts create mode 100644 sdk/deepbook-v3/src/transactions/balanceManager.ts create mode 100644 sdk/deepbook-v3/src/transactions/deepbook.ts create mode 100644 sdk/deepbook-v3/src/transactions/deepbookAdmin.ts create mode 100644 sdk/deepbook-v3/src/transactions/flashLoans.ts create mode 100644 sdk/deepbook-v3/src/transactions/governance.ts create mode 100644 sdk/deepbook-v3/src/types/index.ts create mode 100644 sdk/deepbook-v3/src/utils/config.ts create mode 100644 sdk/deepbook-v3/src/utils/constants.ts create mode 100644 sdk/deepbook-v3/tsconfig.esm.json create mode 100644 sdk/deepbook-v3/tsconfig.json create mode 100644 sdk/deepbook-v3/typedoc.json create mode 100644 sdk/deepbook-v3/vitest.config.ts diff --git a/.config/hakari.toml b/.config/hakari.toml new file mode 100644 index 0000000000000..ae33c8d16be19 --- /dev/null +++ b/.config/hakari.toml @@ -0,0 +1,28 @@ +# This file contains settings for `cargo hakari`. +# See https://docs.rs/cargo-hakari/latest/cargo_hakari/config for a full list of options. + +# Right now we're only using hakari in a sort of hybrid manually managed mode +# to enforce that rocksdb is built only a single time in the workspace +hakari-package = "typed-store-workspace-hack" + +# Format version for hakari's output. Version 4 requires cargo-hakari 0.9.22 or above. +dep-format-version = "4" + +# Setting workspace.resolver = "2" in the root Cargo.toml is HIGHLY recommended. +# Hakari works much better with the new feature resolver. +# For more about the new feature resolver, see: +# https://blog.rust-lang.org/2021/03/25/Rust-1.51.0.html#cargos-new-feature-resolver +resolver = "2" + +# Add triples corresponding to platforms commonly used by developers here. +# https://doc.rust-lang.org/rustc/platform-support.html +platforms = [ + "x86_64-unknown-linux-gnu", + "x86_64-apple-darwin", + # "x86_64-pc-windows-msvc", +] + +# Write out exact versions rather than a semver range. (Defaults to false.) +# exact-versions = true +output-single-feature = true +unify-target-host = "unify-if-both" diff --git a/Cargo.lock b/Cargo.lock index 6860c7296cf78..988cc85bff310 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -95,7 +95,7 @@ dependencies = [ "getrandom 0.2.15", "once_cell", "version_check", - "zerocopy 0.7.35", + "zerocopy", ] [[package]] @@ -174,7 +174,7 @@ dependencies = [ "quinn", "quinn-proto", "rand 0.8.5", - "rcgen 0.13.1", + "rcgen", "ring 0.17.8", "rustls 0.23.12", "rustls-webpki 0.102.6", @@ -211,7 +211,7 @@ dependencies = [ "prettyplease 0.2.20", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -840,7 +840,7 @@ dependencies = [ "arrow-schema 52.2.0", "chrono", "half", - "indexmap 2.3.0", + "indexmap 2.4.0", "lexical-core", "num", "serde", @@ -1042,13 +1042,14 @@ dependencies = [ [[package]] name = "assert_cmd" -version = "2.0.15" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc65048dd435533bb1baf2ed9956b9a278fbfdcf90301b39ee117f06c0199d37" +checksum = "dc1835b7f27878de8525dc71410b5a31cdcc5f230aed5ba5df968e09c201b23d" dependencies = [ "anstyle", "bstr", "doc-comment", + "libc", "predicates 3.1.2", "predicates-core", "predicates-tree", @@ -1088,31 +1089,20 @@ dependencies = [ "pin-project-lite", ] -[[package]] -name = "async-compression" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a" -dependencies = [ - "brotli 3.5.0", - "flate2", - "futures-core", - "memchr", - "pin-project-lite", - "tokio", -] - [[package]] name = "async-compression" version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa" dependencies = [ + "brotli 6.0.0", "flate2", "futures-core", "memchr", "pin-project-lite", "tokio", + "zstd 0.13.2", + "zstd-safe 7.2.1", ] [[package]] @@ -1136,7 +1126,7 @@ checksum = "05b1b633a2115cd122d73b955eadd9916c18c8f510ec9cd1686404c60ad1c29c" dependencies = [ "async-channel 2.3.1", "async-executor", - "async-io 2.3.3", + "async-io 2.3.4", "async-lock 3.4.0", "blocking", "futures-lite 2.3.0", @@ -1145,9 +1135,9 @@ dependencies = [ [[package]] name = "async-graphql" -version = "6.0.11" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298a5d587d6e6fdb271bf56af2dc325a80eb291fd0fc979146584b9a05494a8c" +checksum = "b16926f97f683ff3b47b035cc79622f3d6a374730b07a5d9051e81e88b5f1904" dependencies = [ "async-graphql-derive", "async-graphql-parser", @@ -1163,8 +1153,8 @@ dependencies = [ "futures-timer", "futures-util", "handlebars", - "http 0.2.12", - "indexmap 2.3.0", + "http 1.1.0", + "indexmap 2.4.0", "lru 0.7.8", "mime", "multer", @@ -1176,7 +1166,7 @@ dependencies = [ "serde", "serde_json", "serde_urlencoded", - "static_assertions", + "static_assertions_next", "tempfile", "thiserror", "tracing", @@ -1185,13 +1175,13 @@ dependencies = [ [[package]] name = "async-graphql-axum" -version = "6.0.11" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a1c20a2059bffbc95130715b23435a05168c518fba9709c81fa2a38eed990c" +checksum = "de3415c9dbaf54397292da0bb81a907e2b989661ce068e4ccfebac33dc9e245e" dependencies = [ "async-graphql", "async-trait", - "axum", + "axum 0.7.5", "bytes", "futures-util", "serde_json", @@ -1203,9 +1193,9 @@ dependencies = [ [[package]] name = "async-graphql-derive" -version = "6.0.11" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7f329c7eb9b646a72f70c9c4b516c70867d356ec46cb00dcac8ad343fd006b0" +checksum = "a6a7349168b79030e3172a620f4f0e0062268a954604e41475eff082380fe505" dependencies = [ "Inflector", "async-graphql-parser", @@ -1214,15 +1204,15 @@ dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", "strum 0.25.0", - "syn 2.0.72", + "syn 2.0.74", "thiserror", ] [[package]] name = "async-graphql-parser" -version = "6.0.11" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6139181845757fd6a73fbb8839f3d036d7150b798db0e9bb3c6e83cdd65bd53b" +checksum = "58fdc0adf9f53c2b65bb0ff5170cba1912299f248d0e48266f444b6f005deb1d" dependencies = [ "async-graphql-value", "pest", @@ -1232,12 +1222,12 @@ dependencies = [ [[package]] name = "async-graphql-value" -version = "6.0.11" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "323a5143f5bdd2030f45e3f2e0c821c9b1d36e79cf382129c64299c50a7f3750" +checksum = "7cf4d4e86208f4f9b81a503943c07e6e7f29ad3505e6c9ce6431fe64dc241681" dependencies = [ "bytes", - "indexmap 2.3.0", + "indexmap 2.4.0", "serde", "serde_json", ] @@ -1264,9 +1254,9 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.3" +version = "2.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" +checksum = "444b0228950ee6501b3568d3c93bf1176a1fdbc3b758dcd9475046d30f4dc7e8" dependencies = [ "async-lock 3.4.0", "cfg-if", @@ -1274,11 +1264,11 @@ dependencies = [ "futures-io", "futures-lite 2.3.0", "parking", - "polling 3.7.2", + "polling 3.7.3", "rustix 0.38.34", "slab", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1309,7 +1299,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -1358,7 +1348,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -1380,7 +1370,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -1452,7 +1442,7 @@ checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -1467,15 +1457,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" -[[package]] -name = "autotools" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef941527c41b0fc0dd48511a8154cd5fc7e29200a0ff8b7203c5d777dbc795cf" -dependencies = [ - "cc", -] - [[package]] name = "aws-config" version = "0.56.1" @@ -1922,12 +1903,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" dependencies = [ "async-trait", - "axum-core", - "base64 0.21.7", + "axum-core 0.3.4", "bitflags 1.3.2", "bytes", "futures-util", - "headers", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.30", @@ -1939,16 +1918,47 @@ dependencies = [ "pin-project-lite", "rustversion", "serde", + "sync_wrapper 0.1.2", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "axum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" +dependencies = [ + "async-trait", + "axum-core 0.4.3", + "base64 0.21.7", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-util", + "itoa", + "matchit 0.7.3", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", "serde_json", "serde_path_to_error", "serde_urlencoded", "sha1", - "sync_wrapper 0.1.2", + "sync_wrapper 1.0.1", "tokio", - "tokio-tungstenite", + "tokio-tungstenite 0.21.0", "tower", "tower-layer", "tower-service", + "tracing", ] [[package]] @@ -1968,42 +1978,70 @@ dependencies = [ "tower-service", ] +[[package]] +name = "axum-core" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper 0.1.2", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "axum-extra" -version = "0.4.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a320103719de37b7b4da4c8eb629d4573f6bcfd3dfe80d3208806895ccf81d" +checksum = "0be6ea09c9b96cb5076af0de2e383bd2bc0c18f827cf1967bdd353e0b910d733" dependencies = [ - "axum", + "axum 0.7.5", + "axum-core 0.4.3", "bytes", "futures-util", - "http 0.2.12", + "headers", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", "mime", "pin-project-lite", - "tokio", + "serde", "tower", - "tower-http", "tower-layer", "tower-service", + "tracing", ] [[package]] name = "axum-server" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447f28c85900215cc1bea282f32d4a2f22d55c5a300afdfbc661c8d6a632e063" +version = "0.6.1" +source = "git+https://github.com/bmwill/axum-server.git?rev=f44323e271afdd1365fd0c8b0a4c0bbdf4956cb7#f44323e271afdd1365fd0c8b0a4c0bbdf4956cb7" dependencies = [ "arc-swap", "bytes", "futures-util", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-util", "pin-project-lite", - "rustls 0.21.12", - "rustls-pemfile 1.0.4", + "rustls 0.23.12", + "rustls-pemfile 2.1.3", + "rustls-pki-types", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls 0.26.0", + "tower", "tower-service", ] @@ -2200,7 +2238,7 @@ checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7" [[package]] name = "bin-version" -version = "1.30.1" +version = "1.31.1" dependencies = [ "const-str", "git-version", @@ -2233,7 +2271,7 @@ dependencies = [ "regex", "rustc-hash 1.1.0", "shlex", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -2633,9 +2671,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.7.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fca2be1d5c43812bae364ee3f30b3afcb7877cf59f4aeb94c66f313a41d2fac9" +checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" dependencies = [ "serde", ] @@ -2864,9 +2902,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.7" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc" +checksum = "e9e8aabfac534be767c909e0690571677d49f41bd8465ae876fe043d52ba5292" dependencies = [ "jobserver", "libc", @@ -2995,9 +3033,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.13" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc" +checksum = "11d8838454fda655dafd3accb2b6e2bea645b9e4078abe84a22ceb947235c5cc" dependencies = [ "clap_builder", "clap_derive", @@ -3005,9 +3043,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.13" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99" +checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" dependencies = [ "anstream", "anstyle", @@ -3025,7 +3063,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -3240,9 +3278,10 @@ dependencies = [ "enum_dispatch", "fastcrypto", "futures", - "http 0.2.12", - "hyper 0.14.30", - "hyper-rustls 0.24.2", + "http 1.1.0", + "hyper 1.4.1", + "hyper-rustls 0.27.2", + "hyper-util", "itertools 0.10.5", "mockall", "mysten-common", @@ -3251,11 +3290,11 @@ dependencies = [ "nom", "parking_lot 0.12.3", "prometheus", - "prost 0.12.6", + "prost 0.13.1", "quinn-proto", "rand 0.8.5", "rstest", - "rustls 0.21.12", + "rustls 0.23.12", "serde", "shared-crypto", "strum_macros 0.24.3", @@ -3267,11 +3306,11 @@ dependencies = [ "tempfile", "thiserror", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls 0.26.0", "tokio-stream", "tokio-util 0.7.11", - "tonic 0.11.0", - "tonic-build 0.11.0", + "tonic 0.12.1", + "tonic-build 0.12.1", "tower", "tower-http", "tracing", @@ -3427,9 +3466,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "core2" @@ -3522,9 +3561,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] @@ -3990,7 +4029,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -4075,7 +4114,7 @@ dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", "strsim 0.11.1", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -4108,7 +4147,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core 0.20.10", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -4417,7 +4456,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -4461,7 +4500,7 @@ dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", "rustc_version", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -4509,7 +4548,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -4522,7 +4561,7 @@ dependencies = [ "dsl_auto_type", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -4542,7 +4581,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "209c735641a413bc68c4923a9d6ad4bcb3ca306b794edaa7eb0b3228a99ffb25" dependencies = [ - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -4682,7 +4721,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -4763,14 +4802,14 @@ dependencies = [ "heck 0.5.0", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] name = "dunce" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "duration-str" @@ -4980,7 +5019,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -5019,7 +5058,7 @@ dependencies = [ "once_cell", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -5040,7 +5079,7 @@ dependencies = [ "darling 0.20.10", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -5247,7 +5286,7 @@ dependencies = [ "reqwest 0.11.27", "serde", "serde_json", - "syn 2.0.72", + "syn 2.0.74", "toml 0.8.19", "walkdir", ] @@ -5265,7 +5304,7 @@ dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", "serde_json", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -5291,7 +5330,7 @@ dependencies = [ "serde", "serde_json", "strum 0.26.3", - "syn 2.0.72", + "syn 2.0.74", "tempfile", "thiserror", "tiny-keccak", @@ -5354,6 +5393,7 @@ dependencies = [ "const-hex", "enr", "ethers-core", + "futures-channel", "futures-core", "futures-timer", "futures-util", @@ -5368,7 +5408,7 @@ dependencies = [ "serde_json", "thiserror", "tokio", - "tokio-tungstenite", + "tokio-tungstenite 0.20.1", "tracing", "tracing-futures", "url", @@ -5759,14 +5799,14 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.23" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +checksum = "bf401df4a4e3872c4fe8151134cf483738e74b67fc934d6532c882b3d24a4550" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", - "windows-sys 0.52.0", + "libredox", + "windows-sys 0.59.0", ] [[package]] @@ -5839,9 +5879,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.30" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920" dependencies = [ "crc32fast", "miniz_oxide", @@ -6029,7 +6069,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -6181,7 +6221,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" dependencies = [ "fallible-iterator 0.3.0", - "indexmap 2.3.0", + "indexmap 2.4.0", "stable_deref_trait", ] @@ -6202,7 +6242,7 @@ checksum = "53010ccb100b96a67bc32c0175f0ed1426b31b655d562898e57325f81c023ac0" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -6342,7 +6382,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.3.0", + "indexmap 2.4.0", "slab", "tokio", "tokio-util 0.7.11", @@ -6361,7 +6401,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.3.0", + "indexmap 2.4.0", "slab", "tokio", "tokio-util 0.7.11", @@ -6483,14 +6523,14 @@ dependencies = [ [[package]] name = "headers" -version = "0.3.9" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" +checksum = "322106e6bd0cba2d5ead589ddb8150a13d7c4217cf80d7c4f682ca994ccc6aa9" dependencies = [ "base64 0.21.7", "bytes", "headers-core", - "http 0.2.12", + "http 1.1.0", "httpdate", "mime", "sha1", @@ -6498,11 +6538,11 @@ dependencies = [ [[package]] name = "headers-core" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" +checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" dependencies = [ - "http 0.2.12", + "http 1.1.0", ] [[package]] @@ -6651,9 +6691,9 @@ dependencies = [ [[package]] name = "http-range-header" -version = "0.3.1" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" +checksum = "08a397c49fec283e3d6211adbe480be95aae5f304cfb923e9970e08956d5168a" [[package]] name = "httparse" @@ -6710,6 +6750,7 @@ dependencies = [ "http 1.1.0", "http-body 1.0.1", "httparse", + "httpdate", "itoa", "pin-project-lite", "smallvec", @@ -6747,7 +6788,6 @@ dependencies = [ "rustls-native-certs 0.6.3", "tokio", "tokio-rustls 0.24.1", - "webpki-roots 0.25.4", ] [[package]] @@ -6798,11 +6838,24 @@ dependencies = [ "tokio-io-timeout", ] +[[package]] +name = "hyper-timeout" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" +dependencies = [ + "hyper 1.4.1", + "hyper-util", + "pin-project-lite", + "tokio", + "tower-service", +] + [[package]] name = "hyper-util" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" +checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" dependencies = [ "bytes", "futures-channel", @@ -6991,9 +7044,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" +checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -7136,11 +7189,12 @@ dependencies = [ [[package]] name = "iri-string" -version = "0.4.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f0f7638c1e223529f1bfdc48c8b133b9e0b434094d1d28473161ee48b235f78" +checksum = "7f5f6c2df22c009ac44f6f1499308e7a3ac7ba42cd2378475cc691510e1eef1b" dependencies = [ - "nom", + "memchr", + "serde", ] [[package]] @@ -7279,9 +7333,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" dependencies = [ "wasm-bindgen", ] @@ -7687,6 +7741,7 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.6.0", "libc", + "redox_syscall 0.5.3", ] [[package]] @@ -7729,9 +7784,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.18" +version = "1.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" +checksum = "fdc53a7799a7496ebc9fd29f31f7df80e83c9bda5299768af5f9e59eeea74647" dependencies = [ "cc", "pkg-config", @@ -8130,7 +8185,7 @@ checksum = "dcf09caffaac8068c346b6df2a7fc27a177fd20b39421a39ce0a211bde679a6c" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -8199,9 +8254,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ "hermit-abi 0.3.9", "libc", @@ -8306,6 +8361,7 @@ dependencies = [ "move-ir-types", "move-package", "move-symbol-pool", + "once_cell", "serde", "serde_json", "sha2 0.9.9", @@ -8722,7 +8778,7 @@ version = "0.1.0" dependencies = [ "enum-compat-util", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -9067,16 +9123,15 @@ dependencies = [ [[package]] name = "multer" -version = "2.1.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01acbdc23469fd8fe07ab135923371d5f5a422fbf9c522158677c8eb15bc51c2" +checksum = "83e87776546dc87511aa5ee218730c92b666d7264ab6ed41f9d215af9cd5224b" dependencies = [ "bytes", "encoding_rs", "futures-util", - "http 0.2.12", + "http 1.1.0", "httparse", - "log", "memchr", "mime", "spin 0.9.8", @@ -9174,7 +9229,7 @@ name = "mysten-metrics" version = "0.7.0" dependencies = [ "async-trait", - "axum", + "axum 0.7.5", "dashmap", "futures", "once_cell", @@ -9197,14 +9252,14 @@ dependencies = [ "bytes", "eyre", "futures", - "http 0.2.12", + "http 1.1.0", "multiaddr", "pin-project-lite", "serde", "snap", "tokio", "tokio-stream", - "tonic 0.11.0", + "tonic 0.12.1", "tonic-health", "tower", "tower-http", @@ -9216,7 +9271,7 @@ name = "mysten-service" version = "0.0.1" dependencies = [ "anyhow", - "axum", + "axum 0.7.5", "mysten-metrics", "prometheus", "serde", @@ -9237,7 +9292,7 @@ dependencies = [ "fastcrypto-tbls", "hashbrown 0.12.3", "impl-trait-for-tuples", - "indexmap 2.3.0", + "indexmap 2.4.0", "mysten-util-mem-derive", "once_cell", "parking_lot 0.12.3", @@ -9320,7 +9375,7 @@ dependencies = [ "bytes", "fastcrypto", "futures", - "indexmap 2.3.0", + "indexmap 2.4.0", "mockall", "mysten-metrics", "narwhal-config", @@ -9338,7 +9393,7 @@ dependencies = [ "tempfile", "thiserror", "tokio", - "tonic 0.11.0", + "tonic 0.12.1", "tracing", "typed-store", ] @@ -9351,8 +9406,7 @@ dependencies = [ "anemo-tower", "anyhow", "async-trait", - "axum", - "axum-server", + "axum 0.7.5", "backoff", "bincode", "bytes", @@ -9380,7 +9434,7 @@ dependencies = [ "anemo", "arc-swap", "async-trait", - "axum", + "axum 0.7.5", "bytes", "cfg-if", "clap", @@ -9435,7 +9489,7 @@ dependencies = [ "fastcrypto", "futures", "governor", - "indexmap 2.3.0", + "indexmap 2.4.0", "itertools 0.10.5", "mockall", "mysten-common", @@ -9499,7 +9553,7 @@ dependencies = [ "anemo", "fastcrypto", "fdlimit", - "indexmap 2.3.0", + "indexmap 2.4.0", "itertools 0.10.5", "mysten-metrics", "mysten-network", @@ -9519,7 +9573,7 @@ dependencies = [ "telemetry-subscribers", "tempfile", "tokio", - "tonic 0.11.0", + "tonic 0.12.1", "tracing", "typed-store", ] @@ -9539,7 +9593,7 @@ dependencies = [ "enum_dispatch", "fastcrypto", "futures", - "indexmap 2.3.0", + "indexmap 2.4.0", "mockall", "mysten-common", "mysten-metrics", @@ -9552,20 +9606,17 @@ dependencies = [ "prometheus", "proptest", "proptest-derive", - "prost 0.12.6", - "prost-build 0.12.6", - "protobuf-src", + "prost 0.13.1", "rand 0.8.5", "roaring", - "rustversion", "serde", "serde_test", "serde_with 3.9.0", "sui-protocol-config", "thiserror", "tokio", - "tonic 0.11.0", - "tonic-build 0.11.0", + "tonic 0.12.1", + "tonic-build 0.12.1", "tracing", "typed-store", ] @@ -9605,7 +9656,7 @@ dependencies = [ "tempfile", "thiserror", "tokio", - "tonic 0.11.0", + "tonic 0.12.1", "tower", "tracing", "typed-store", @@ -10013,7 +10064,7 @@ dependencies = [ "proc-macro-crate 1.1.3", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -10025,7 +10076,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -10051,7 +10102,7 @@ checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "crc32fast", "hashbrown 0.14.5", - "indexmap 2.3.0", + "indexmap 2.4.0", "memchr", ] @@ -10096,7 +10147,7 @@ dependencies = [ "rand 0.8.5", "reqwest 0.12.5", "ring 0.17.8", - "rustls-pemfile 2.1.2", + "rustls-pemfile 2.1.3", "serde", "serde_json", "snafu", @@ -10174,7 +10225,7 @@ name = "openapiv3" version = "2.0.0" source = "git+https://github.com/bmwill/openapiv3.git?rev=ca4b4845b7c159a39f5c68ad8f7f76cb6f4d6963#ca4b4845b7c159a39f5c68ad8f7f76cb6f4d6963" dependencies = [ - "indexmap 2.3.0", + "indexmap 2.4.0", "schemars", "serde", "serde_json", @@ -10204,7 +10255,7 @@ checksum = "1e32339a5dc40459130b3bd269e9892439f55b33e772d2a9d402a789baaf4e8a" dependencies = [ "futures-core", "futures-sink", - "indexmap 2.3.0", + "indexmap 2.4.0", "js-sys", "once_cell", "pin-project-lite", @@ -10336,7 +10387,7 @@ dependencies = [ "proc-macro-error", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -10618,7 +10669,7 @@ dependencies = [ "ciborium", "coset", "data-encoding", - "indexmap 2.3.0", + "indexmap 2.4.0", "rand 0.8.5", "serde", "serde_json", @@ -10778,7 +10829,7 @@ dependencies = [ "pest_meta", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -10809,7 +10860,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset 0.4.2", - "indexmap 2.3.0", + "indexmap 2.4.0", ] [[package]] @@ -10862,7 +10913,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -10900,7 +10951,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -10917,9 +10968,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" +checksum = "96c8c490f422ef9a4efd2cb5b42b76c8613d7e7dfc1caf667b8a3350a5acc066" dependencies = [ "atomic-waker", "fastrand 2.1.0", @@ -11021,9 +11072,9 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.2" +version = "3.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" +checksum = "cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511" dependencies = [ "cfg-if", "concurrent-queue", @@ -11031,7 +11082,7 @@ dependencies = [ "pin-project-lite", "rustix 0.38.34", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -11091,11 +11142,11 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.18" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee4364d9f3b902ef14fab8a1ddffb783a1cb6b4bba3bfc1fa3922732c7de97f" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" dependencies = [ - "zerocopy 0.6.6", + "zerocopy", ] [[package]] @@ -11181,7 +11232,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" dependencies = [ "proc-macro2 1.0.86", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -11394,6 +11445,16 @@ dependencies = [ "prost-derive 0.12.6", ] +[[package]] +name = "prost" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13db3d3fde688c61e2446b4d843bc27a7e8af269a69440c0308021dc92333cc" +dependencies = [ + "bytes", + "prost-derive 0.13.1", +] + [[package]] name = "prost-build" version = "0.11.9" @@ -11418,22 +11479,22 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.6" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" +checksum = "5bb182580f71dd070f88d01ce3de9f4da5021db7115d2e1c3605a754153b77c1" dependencies = [ "bytes", "heck 0.5.0", - "itertools 0.12.1", + "itertools 0.13.0", "log", "multimap 0.10.0", "once_cell", "petgraph 0.6.5", "prettyplease 0.2.20", - "prost 0.12.6", - "prost-types 0.12.6", + "prost 0.13.1", + "prost-types 0.13.1", "regex", - "syn 2.0.72", + "syn 2.0.74", "tempfile", ] @@ -11460,7 +11521,20 @@ dependencies = [ "itertools 0.12.1", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", +] + +[[package]] +name = "prost-derive" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18bec9b0adc4eba778b33684b7ba3e7137789434769ee3ce3930463ef904cfca" +dependencies = [ + "anyhow", + "itertools 0.13.0", + "proc-macro2 1.0.86", + "quote 1.0.36", + "syn 2.0.74", ] [[package]] @@ -11482,21 +11556,21 @@ dependencies = [ ] [[package]] -name = "protobuf" -version = "2.28.0" +name = "prost-types" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" +checksum = "cee5168b05f49d4b0ca581206eb14a7b22fafd963efe729ac48eb03266e25cc2" dependencies = [ - "bytes", + "prost 0.13.1", ] [[package]] -name = "protobuf-src" -version = "1.1.0+21.5" +name = "protobuf" +version = "2.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7ac8852baeb3cc6fb83b93646fb93c0ffe5d14bf138c945ceb4b9948ee0e3c1" +checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" dependencies = [ - "autotools", + "bytes", ] [[package]] @@ -11567,17 +11641,18 @@ dependencies = [ [[package]] name = "quinn" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad" +checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156" dependencies = [ "bytes", "futures-io", "pin-project-lite", "quinn-proto", "quinn-udp", - "rustc-hash 1.1.0", + "rustc-hash 2.0.0", "rustls 0.23.12", + "socket2 0.5.7", "thiserror", "tokio", "tracing", @@ -11608,6 +11683,7 @@ dependencies = [ "libc", "once_cell", "socket2 0.5.7", + "tracing", "windows-sys 0.52.0", ] @@ -11780,18 +11856,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "rcgen" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" -dependencies = [ - "pem 1.1.1", - "ring 0.16.20", - "time", - "yasna", -] - [[package]] name = "rcgen" version = "0.13.1" @@ -11813,7 +11877,7 @@ checksum = "a25d631e41bfb5fdcde1d4e2215f62f7f0afa3ff11e26563765bd6ea1d229aeb" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -11889,7 +11953,7 @@ checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -11919,9 +11983,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -11955,6 +12019,12 @@ version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" +[[package]] +name = "regex-syntax" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" + [[package]] name = "regex-syntax" version = "0.8.4" @@ -12029,7 +12099,7 @@ version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" dependencies = [ - "async-compression 0.4.12", + "async-compression", "base64 0.22.1", "bytes", "futures-channel", @@ -12052,7 +12122,7 @@ dependencies = [ "quinn", "rustls 0.23.12", "rustls-native-certs 0.7.1", - "rustls-pemfile 2.1.2", + "rustls-pemfile 2.1.3", "rustls-pki-types", "serde", "serde_json", @@ -12073,9 +12143,9 @@ dependencies = [ [[package]] name = "reqwest-middleware" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39346a33ddfe6be00cbc17a34ce996818b97b230b87229f10114693becca1268" +checksum = "562ceb5a604d3f7c885a792d42c199fd8af239d0a51b2fa6a78aafa092452b04" dependencies = [ "anyhow", "async-trait", @@ -12683,7 +12753,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a88d6d420651b496bdd98684116959239430022a115c1240e6c3993be0b15fba" dependencies = [ "openssl-probe", - "rustls-pemfile 2.1.2", + "rustls-pemfile 2.1.3", "rustls-pki-types", "schannel", "security-framework", @@ -12700,9 +12770,9 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.2" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" dependencies = [ "base64 0.22.1", "rustls-pki-types", @@ -12710,9 +12780,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" [[package]] name = "rustls-webpki" @@ -12876,7 +12946,7 @@ dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", "serde_derive_internals", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -13022,9 +13092,9 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" [[package]] name = "serde" -version = "1.0.204" +version = "1.0.207" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "5665e14a49a4ea1b91029ba7d3bca9f299e1f7cfa194388ccc20f14743e784f2" dependencies = [ "serde_derive", ] @@ -13072,13 +13142,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.207" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "6aea2634c86b0e8ef2cfdc0c340baede54ec27b1e46febd7f80dffb2aa44a00e" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -13089,16 +13159,16 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] name = "serde_json" -version = "1.0.121" +version = "1.0.124" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609" +checksum = "66ad62847a56b3dba58cc891acd13884b9c61138d330c0d7b6181713d4fce38d" dependencies = [ - "indexmap 2.3.0", + "indexmap 2.4.0", "itoa", "memchr", "ryu", @@ -13123,7 +13193,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -13137,9 +13207,9 @@ dependencies = [ [[package]] name = "serde_test" -version = "1.0.176" +version = "1.0.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a2f49ace1498612d14f7e0b8245519584db8299541dfe31a06374a828d620ab" +checksum = "7f901ee573cab6b3060453d2d5f0bae4e6d628c23c0a962ff9b5f1d7c8d4f1ed" dependencies = [ "serde", ] @@ -13182,7 +13252,7 @@ dependencies = [ "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.3.0", + "indexmap 2.4.0", "serde", "serde_derive", "serde_json", @@ -13199,7 +13269,7 @@ dependencies = [ "darling 0.20.10", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -13211,7 +13281,7 @@ dependencies = [ "darling 0.20.10", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -13232,7 +13302,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.3.0", + "indexmap 2.4.0", "itoa", "ryu", "serde", @@ -13271,7 +13341,7 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -13796,6 +13866,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "static_assertions_next" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7beae5182595e9a8b683fa98c4317f956c9a2dec3b9716990d20023cc60c766" + [[package]] name = "str-buf" version = "1.0.6" @@ -13886,7 +13962,7 @@ dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", "rustversion", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -13899,7 +13975,7 @@ dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", "rustversion", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -13935,14 +14011,14 @@ checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142" [[package]] name = "sui" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anemo", "anyhow", "assert_cmd", "async-recursion", "async-trait", - "axum", + "axum 0.7.5", "bcs", "bin-version", "bip32 0.4.0", @@ -13957,7 +14033,7 @@ dependencies = [ "fastcrypto-zkp", "fs_extra", "futures", - "http 0.2.12", + "http 1.1.0", "im", "inquire", "insta", @@ -14006,7 +14082,7 @@ dependencies = [ "sui-package-management", "sui-protocol-config", "sui-replay", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-simulator", "sui-source-validation", "sui-swarm", @@ -14150,13 +14226,13 @@ dependencies = [ [[package]] name = "sui-analytics-indexer" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "arrow 52.2.0", "arrow-array 52.2.0", "async-trait", - "axum", + "axum 0.7.5", "bcs", "byteorder", "bytes", @@ -14174,7 +14250,6 @@ dependencies = [ "object_store 0.10.2", "parquet 52.2.0", "prometheus", - "rocksdb", "serde", "serde_json", "simulacrum", @@ -14198,13 +14273,12 @@ dependencies = [ "tokio-stream", "tracing", "typed-store", - "typed-store-derive", "url", ] [[package]] name = "sui-analytics-indexer-derive" -version = "1.30.1" +version = "1.31.1" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", @@ -14213,7 +14287,7 @@ dependencies = [ [[package]] name = "sui-archival" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "byteorder", @@ -14321,7 +14395,7 @@ dependencies = [ "sui-macros", "sui-network", "sui-protocol-config", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-simulator", "sui-storage", "sui-surfer", @@ -14339,12 +14413,12 @@ dependencies = [ [[package]] name = "sui-bridge" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "arc-swap", "async-trait", - "axum", + "axum 0.7.5", "backoff", "bcs", "bin-version", @@ -14364,7 +14438,6 @@ dependencies = [ "prometheus", "rand 0.8.5", "reqwest 0.12.5", - "rocksdb", "serde", "serde_json", "serde_with 3.9.0", @@ -14374,7 +14447,7 @@ dependencies = [ "sui-json-rpc-api", "sui-json-rpc-types", "sui-keys", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-test-transaction-builder", "sui-types", "tap", @@ -14384,13 +14457,12 @@ dependencies = [ "tokio", "tracing", "typed-store", - "typed-store-derive", "url", ] [[package]] name = "sui-bridge-cli" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "clap", @@ -14407,7 +14479,7 @@ dependencies = [ "sui-config", "sui-json-rpc-types", "sui-keys", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-types", "telemetry-subscribers", "tokio", @@ -14430,13 +14502,14 @@ dependencies = [ "hex-literal 0.3.4", "mysten-metrics", "prometheus", + "rayon", "serde", "serde_yaml 0.8.26", "sui-bridge", "sui-config", "sui-data-ingestion-core", "sui-json-rpc-types", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-test-transaction-builder", "sui-types", "tap", @@ -14448,7 +14521,7 @@ dependencies = [ [[package]] name = "sui-cluster-test" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "async-trait", @@ -14472,7 +14545,7 @@ dependencies = [ "sui-json", "sui-json-rpc-types", "sui-keys", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-swarm", "sui-swarm-config", "sui-test-transaction-builder", @@ -14522,7 +14595,7 @@ dependencies = [ "anyhow", "arc-swap", "async-trait", - "axum", + "axum 0.7.5", "bcs", "bytes", "chrono", @@ -14543,7 +14616,7 @@ dependencies = [ "fs_extra", "futures", "im", - "indexmap 2.3.0", + "indexmap 2.4.0", "itertools 0.10.5", "jsonrpsee", "lru 0.10.1", @@ -14580,7 +14653,6 @@ dependencies = [ "rayon", "reqwest 0.12.5", "roaring", - "rocksdb", "rstest", "scopeguard", "serde", @@ -14621,7 +14693,6 @@ dependencies = [ "tracing", "twox-hash", "typed-store", - "typed-store-derive", "zeroize", ] @@ -14649,7 +14720,7 @@ dependencies = [ [[package]] name = "sui-data-ingestion" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "async-trait", @@ -14711,7 +14782,7 @@ dependencies = [ [[package]] name = "sui-e2e-tests" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "assert_cmd", @@ -14724,7 +14795,7 @@ dependencies = [ "fastcrypto-zkp", "fs_extra", "futures", - "indexmap 2.3.0", + "indexmap 2.4.0", "insta", "jsonrpsee", "move-binary-format", @@ -14755,7 +14826,7 @@ dependencies = [ "sui-node", "sui-protocol-config", "sui-rest-api", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-simulator", "sui-storage", "sui-swarm", @@ -14828,27 +14899,26 @@ dependencies = [ [[package]] name = "sui-faucet" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "async-recursion", "async-trait", - "axum", + "axum 0.7.5", "clap", "eyre", "futures", - "http 0.2.12", + "http 1.1.0", "mysten-metrics", "parking_lot 0.12.3", "prometheus", - "rocksdb", "scopeguard", "serde", "shared-crypto", "sui-config", "sui-json-rpc-types", "sui-keys", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-types", "tap", "telemetry-subscribers", @@ -14861,7 +14931,6 @@ dependencies = [ "tracing", "ttl_cache", "typed-store", - "typed-store-derive", "uuid 1.10.0", ] @@ -14886,7 +14955,7 @@ dependencies = [ [[package]] name = "sui-framework-snapshot" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "bcs", @@ -14903,6 +14972,7 @@ dependencies = [ name = "sui-framework-tests" version = "0.1.0" dependencies = [ + "datatest-stable", "move-bytecode-verifier", "move-bytecode-verifier-meter", "move-cli", @@ -14948,7 +15018,7 @@ dependencies = [ [[package]] name = "sui-graphql-config" -version = "1.30.1" +version = "1.31.1" dependencies = [ "quote 1.0.36", "syn 1.0.109", @@ -14974,7 +15044,8 @@ dependencies = [ "async-graphql-axum", "async-graphql-value", "async-trait", - "axum", + "axum 0.7.5", + "axum-extra", "bcs", "bin-version", "chrono", @@ -14988,8 +15059,8 @@ dependencies = [ "fastcrypto-zkp", "futures", "hex", - "http 0.2.12", - "hyper 0.14.30", + "http 1.1.0", + "hyper 1.4.1", "im", "insta", "itertools 0.10.5", @@ -15025,7 +15096,7 @@ dependencies = [ "sui-package-resolver", "sui-protocol-config", "sui-rest-api", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-swarm-config", "sui-test-transaction-builder", "sui-types", @@ -15048,8 +15119,8 @@ name = "sui-graphql-rpc-client" version = "0.1.0" dependencies = [ "async-graphql", - "axum", - "hyper 0.14.30", + "axum 0.7.5", + "hyper 1.4.1", "reqwest 0.12.5", "serde_json", "sui-graphql-rpc-headers", @@ -15060,16 +15131,16 @@ dependencies = [ name = "sui-graphql-rpc-headers" version = "0.1.0" dependencies = [ - "axum", + "axum 0.7.5", ] [[package]] name = "sui-indexer" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "async-trait", - "axum", + "axum 0.7.5", "backoff", "bcs", "cached", @@ -15108,7 +15179,7 @@ dependencies = [ "sui-package-resolver", "sui-protocol-config", "sui-rest-api", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-test-transaction-builder", "sui-transaction-builder", "sui-types", @@ -15149,7 +15220,7 @@ dependencies = [ "anyhow", "arc-swap", "async-trait", - "axum", + "axum 0.7.5", "bcs", "cached", "chrono", @@ -15157,8 +15228,9 @@ dependencies = [ "eyre", "fastcrypto", "futures", - "hyper 0.14.30", - "indexmap 2.3.0", + "http-body 0.4.6", + "hyper 1.4.1", + "indexmap 2.4.0", "itertools 0.10.5", "jsonrpsee", "mockall", @@ -15222,7 +15294,7 @@ dependencies = [ "anyhow", "async-trait", "bcs", - "hyper 0.14.30", + "hyper 1.4.1", "jsonrpsee", "move-core-types", "move-package", @@ -15241,7 +15313,7 @@ dependencies = [ "sui-open-rpc", "sui-open-rpc-macros", "sui-protocol-config", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-simulator", "sui-swarm-config", "sui-test-transaction-builder", @@ -15302,7 +15374,7 @@ dependencies = [ [[package]] name = "sui-light-client" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "async-trait", @@ -15319,7 +15391,7 @@ dependencies = [ "sui-json-rpc-types", "sui-package-resolver", "sui-rest-api", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-types", "tokio", ] @@ -15336,7 +15408,7 @@ dependencies = [ [[package]] name = "sui-metric-checker" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "backoff", @@ -15357,7 +15429,7 @@ dependencies = [ [[package]] name = "sui-move" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "assert_cmd", @@ -15399,7 +15471,7 @@ dependencies = [ [[package]] name = "sui-move-build" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "datatest-stable", @@ -15423,7 +15495,7 @@ dependencies = [ [[package]] name = "sui-move-lsp" -version = "1.30.1" +version = "1.31.1" dependencies = [ "bin-version", "clap", @@ -15440,7 +15512,7 @@ dependencies = [ "fastcrypto", "fastcrypto-vdf", "fastcrypto-zkp", - "indexmap 2.3.0", + "indexmap 2.4.0", "move-binary-format", "move-core-types", "move-stdlib-natives", @@ -15501,7 +15573,7 @@ dependencies = [ "better_any", "fastcrypto", "fastcrypto-zkp", - "indexmap 2.3.0", + "indexmap 2.4.0", "move-binary-format", "move-core-types", "move-stdlib-natives-v2", @@ -15545,21 +15617,21 @@ dependencies = [ "telemetry-subscribers", "tempfile", "tokio", - "tonic 0.11.0", - "tonic-build 0.11.0", + "tonic 0.12.1", + "tonic-build 0.12.1", "tower", "tracing", ] [[package]] name = "sui-node" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anemo", "anemo-tower", "anyhow", "arc-swap", - "axum", + "axum 0.7.5", "base64 0.21.7", "bcs", "bin-version", @@ -15604,7 +15676,7 @@ dependencies = [ [[package]] name = "sui-open-rpc" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "bcs", @@ -15640,7 +15712,7 @@ dependencies = [ [[package]] name = "sui-oracle" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "bcs", @@ -15660,7 +15732,7 @@ dependencies = [ "sui-json-rpc-types", "sui-keys", "sui-move-build", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-types", "tap", "telemetry-subscribers", @@ -15670,14 +15742,14 @@ dependencies = [ [[package]] name = "sui-package-management" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "move-core-types", "move-package", "move-symbol-pool", "sui-json-rpc-types", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-types", "tracing", ] @@ -15689,7 +15761,7 @@ dependencies = [ "async-trait", "bcs", "eyre", - "hyper 0.14.30", + "hyper 1.4.1", "insta", "lru 0.10.1", "move-binary-format", @@ -15714,7 +15786,7 @@ dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", "sui-enum-compat-util", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -15745,7 +15817,8 @@ name = "sui-proxy" version = "0.0.2" dependencies = [ "anyhow", - "axum", + "axum 0.7.5", + "axum-extra", "axum-server", "bin-version", "bytes", @@ -15753,8 +15826,7 @@ dependencies = [ "const-str", "fastcrypto", "hex", - "http-body 0.4.6", - "hyper 0.14.30", + "hyper 1.4.1", "ipnetwork", "itertools 0.10.5", "mime", @@ -15762,13 +15834,13 @@ dependencies = [ "mysten-metrics", "once_cell", "prometheus", - "prost 0.12.6", - "prost-build 0.12.6", + "prost 0.13.1", + "prost-build 0.13.1", "protobuf", "rand 0.8.5", "reqwest 0.12.5", - "rustls 0.21.12", - "rustls-pemfile 1.0.4", + "rustls 0.23.12", + "rustls-pemfile 2.1.3", "serde", "serde_json", "serde_with 3.9.0", @@ -15793,7 +15865,7 @@ dependencies = [ "bcs", "clap", "futures", - "http 0.2.12", + "http 1.1.0", "jsonrpsee", "lru 0.10.1", "move-binary-format", @@ -15819,7 +15891,7 @@ dependencies = [ "sui-json-rpc-api", "sui-json-rpc-types", "sui-protocol-config", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-storage", "sui-transaction-checks", "sui-types", @@ -15837,7 +15909,7 @@ version = "0.1.0" dependencies = [ "anyhow", "async-trait", - "axum", + "axum 0.7.5", "bcs", "diffy", "fastcrypto", @@ -15863,18 +15935,18 @@ dependencies = [ [[package]] name = "sui-rosetta" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "async-trait", - "axum", + "axum 0.7.5", "axum-extra", "bcs", "clap", "eyre", "fastcrypto", "futures", - "hyper 0.14.30", + "hyper 1.4.1", "move-core-types", "mysten-metrics", "once_cell", @@ -15891,7 +15963,7 @@ dependencies = [ "sui-keys", "sui-move-build", "sui-node", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-swarm-config", "sui-types", "telemetry-subscribers", @@ -15905,7 +15977,7 @@ dependencies = [ [[package]] name = "sui-rpc-loadgen" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "async-trait", @@ -15923,12 +15995,12 @@ dependencies = [ "sui-json-rpc", "sui-json-rpc-types", "sui-keys", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-types", "telemetry-subscribers", "test-cluster", "tokio", - "tonic 0.11.0", + "tonic 0.12.1", "tracing", ] @@ -15954,7 +16026,7 @@ dependencies = [ [[package]] name = "sui-sdk" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "async-recursion", @@ -15990,7 +16062,7 @@ dependencies = [ [[package]] name = "sui-security-watchdog" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "arrow-array 52.2.0", @@ -16037,7 +16109,7 @@ dependencies = [ [[package]] name = "sui-single-node-benchmark" -version = "1.30.1" +version = "1.31.1" dependencies = [ "async-trait", "bcs", @@ -16099,7 +16171,7 @@ dependencies = [ [[package]] name = "sui-source-validation" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "colored", @@ -16116,7 +16188,7 @@ dependencies = [ "rand 0.8.5", "sui-json-rpc-types", "sui-move-build", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-test-transaction-builder", "sui-types", "tar", @@ -16133,12 +16205,12 @@ name = "sui-source-validation-service" version = "0.1.0" dependencies = [ "anyhow", - "axum", + "axum 0.7.5", "bin-version", "clap", "expect-test", "fs_extra", - "hyper 0.14.30", + "hyper 1.4.1", "jsonrpsee", "move-compiler", "move-core-types", @@ -16152,7 +16224,7 @@ dependencies = [ "sui-json-rpc-types", "sui-move", "sui-move-build", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-source-validation", "telemetry-subscribers", "tempfile", @@ -16171,6 +16243,7 @@ version = "0.1.0" dependencies = [ "anyhow", "async-trait", + "axum 0.7.5", "backoff", "base64-url", "bcs", @@ -16182,8 +16255,8 @@ dependencies = [ "eyre", "fastcrypto", "futures", - "hyper 0.14.30", - "hyper-rustls 0.24.2", + "hyper 1.4.1", + "hyper-rustls 0.27.2", "indicatif", "integer-encoding", "itertools 0.10.5", @@ -16201,7 +16274,6 @@ dependencies = [ "pretty_assertions", "prometheus", "reqwest 0.12.5", - "rocksdb", "serde", "serde_json", "sui-config", @@ -16217,20 +16289,19 @@ dependencies = [ "tokio", "tracing", "typed-store", - "typed-store-derive", "url", "zstd 0.12.4", ] [[package]] name = "sui-surfer" -version = "1.30.1" +version = "1.31.1" dependencies = [ "async-trait", "bcs", "clap", "futures", - "indexmap 2.3.0", + "indexmap 2.4.0", "move-binary-format", "move-core-types", "move-package", @@ -16322,38 +16393,38 @@ dependencies = [ "shared-crypto", "sui-genesis-builder", "sui-move-build", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-types", ] [[package]] name = "sui-test-validator" -version = "1.30.1" +version = "1.31.1" [[package]] name = "sui-tls" version = "0.0.0" dependencies = [ "anyhow", - "axum", + "axum 0.7.5", "axum-server", "ed25519 1.5.3", "fastcrypto", "pkcs8 0.9.0", "rand 0.8.5", - "rcgen 0.9.3", + "rcgen", "reqwest 0.12.5", - "rustls 0.21.12", - "rustls-webpki 0.101.7", + "rustls 0.23.12", + "rustls-webpki 0.102.6", "tokio", - "tokio-rustls 0.24.1", + "tokio-rustls 0.26.0", "tower-layer", "x509-parser", ] [[package]] name = "sui-tool" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anemo", "anemo-cli", @@ -16376,7 +16447,6 @@ dependencies = [ "num_cpus", "object_store 0.10.2", "prometheus", - "rocksdb", "ron", "serde", "serde_json", @@ -16389,7 +16459,7 @@ dependencies = [ "sui-network", "sui-protocol-config", "sui-replay", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-snapshot", "sui-storage", "sui-types", @@ -16456,7 +16526,6 @@ dependencies = [ "once_cell", "rand 0.8.5", "regex", - "rocksdb", "serde_json", "simulacrum", "sui-config", @@ -16476,7 +16545,6 @@ dependencies = [ "tempfile", "tokio", "typed-store", - "typed-store-derive", ] [[package]] @@ -16503,7 +16571,7 @@ dependencies = [ "fastcrypto-tbls", "fastcrypto-zkp", "im", - "indexmap 2.3.0", + "indexmap 2.4.0", "itertools 0.10.5", "jsonrpsee", "lru 0.10.1", @@ -16553,7 +16621,7 @@ dependencies = [ "tap", "thiserror", "tokio", - "tonic 0.11.0", + "tonic 0.12.1", "tracing", "typed-store-error", "url", @@ -16643,7 +16711,7 @@ dependencies = [ [[package]] name = "suins-indexer" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "async-trait", @@ -16677,10 +16745,10 @@ dependencies = [ [[package]] name = "suiop-cli" -version = "0.2.5" +version = "1.31.1" dependencies = [ "anyhow", - "axum", + "axum 0.7.5", "base64 0.21.7", "chrono", "clap", @@ -16798,9 +16866,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.72" +version = "2.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "1fceb41e3d546d0bd83421d3409b1460cc7444cd389341a4c880fe7a042cb3d7" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", @@ -16987,14 +17055,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.10.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" dependencies = [ "cfg-if", "fastrand 2.1.0", + "once_cell", "rustix 0.38.34", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -17106,7 +17175,7 @@ dependencies = [ "sui-macros", "sui-node", "sui-protocol-config", - "sui-sdk 1.30.1", + "sui-sdk 1.31.1", "sui-simulator", "sui-swarm", "sui-swarm-config", @@ -17154,7 +17223,7 @@ dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", "subprocess", - "syn 2.0.72", + "syn 2.0.74", "test-fuzz-internal", "toolchain_find", ] @@ -17201,7 +17270,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -17329,7 +17398,7 @@ dependencies = [ "backtrace", "bytes", "libc", - "mio 1.0.1", + "mio 1.0.2", "parking_lot 0.12.3", "pin-project-lite", "signal-hook-registry", @@ -17371,7 +17440,7 @@ source = "git+https://github.com/mystenmark/tokio-madsim-fork.git?rev=e47aafebf9 dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -17382,7 +17451,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -17462,10 +17531,22 @@ dependencies = [ "rustls 0.21.12", "tokio", "tokio-rustls 0.24.1", - "tungstenite", + "tungstenite 0.20.1", "webpki-roots 0.25.4", ] +[[package]] +name = "tokio-tungstenite" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" +dependencies = [ + "futures-util", + "log", + "tokio", + "tungstenite 0.21.0", +] + [[package]] name = "tokio-util" version = "0.7.10" @@ -17515,7 +17596,7 @@ version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" dependencies = [ - "indexmap 2.3.0", + "indexmap 2.4.0", "serde", "serde_spanned", "toml_datetime 0.6.8", @@ -17579,7 +17660,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.3.0", + "indexmap 2.4.0", "serde", "serde_spanned", "toml_datetime 0.6.8", @@ -17592,7 +17673,7 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "indexmap 2.3.0", + "indexmap 2.4.0", "toml_datetime 0.6.8", "winnow 0.5.40", ] @@ -17603,7 +17684,7 @@ version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap 2.3.0", + "indexmap 2.4.0", "serde", "serde_spanned", "toml_datetime 0.6.8", @@ -17618,7 +17699,7 @@ checksum = "3082666a3a6433f7f511c7192923fa1fe07c69332d3c6a2e6bb040b569199d5a" dependencies = [ "async-stream", "async-trait", - "axum", + "axum 0.6.20", "base64 0.21.7", "bytes", "futures-core", @@ -17627,7 +17708,7 @@ dependencies = [ "http 0.2.12", "http-body 0.4.6", "hyper 0.14.30", - "hyper-timeout", + "hyper-timeout 0.4.1", "percent-encoding", "pin-project", "prost 0.11.9", @@ -17650,14 +17731,14 @@ checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" dependencies = [ "async-stream", "async-trait", - "axum", + "axum 0.6.20", "base64 0.21.7", "bytes", "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.30", - "hyper-timeout", + "hyper-timeout 0.4.1", "percent-encoding", "pin-project", "prost 0.12.6", @@ -17671,23 +17752,26 @@ dependencies = [ [[package]] name = "tonic" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13" +checksum = "38659f4a91aba8598d27821589f5db7dddd94601e7a01b1e485a50e5484c7401" dependencies = [ "async-stream", "async-trait", - "axum", - "base64 0.21.7", + "axum 0.7.5", + "base64 0.22.1", "bytes", - "h2 0.3.26", - "http 0.2.12", - "http-body 0.4.6", - "hyper 0.14.30", - "hyper-timeout", + "h2 0.4.5", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-timeout 0.5.1", + "hyper-util", "percent-encoding", "pin-project", - "prost 0.12.6", + "prost 0.13.1", + "socket2 0.5.7", "tokio", "tokio-stream", "tower", @@ -17711,28 +17795,28 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4ef6dd70a610078cb4e338a0f79d06bc759ff1b22d2120c2ff02ae264ba9c2" +checksum = "568392c5a2bd0020723e3f387891176aabafe36fd9fcd074ad309dfa0c8eb964" dependencies = [ "prettyplease 0.2.20", "proc-macro2 1.0.86", - "prost-build 0.12.6", + "prost-build 0.13.1", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] name = "tonic-health" -version = "0.11.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cef6e24bc96871001a7e48e820ab240b3de2201e59b517cf52835df2f1d2350" +checksum = "e1e10e6a96ee08b6ce443487d4368442d328d0e746f3681f81127f7dc41b4955" dependencies = [ "async-stream", - "prost 0.12.6", + "prost 0.13.1", "tokio", "tokio-stream", - "tonic 0.11.0", + "tonic 0.12.1", ] [[package]] @@ -17771,18 +17855,19 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.3.5" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "async-compression 0.3.15", - "base64 0.13.1", - "bitflags 1.3.2", + "async-compression", + "base64 0.21.7", + "bitflags 2.6.0", "bytes", "futures-core", "futures-util", - "http 0.2.12", - "http-body 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", "http-range-header", "httpdate", "iri-string", @@ -17801,15 +17886,15 @@ dependencies = [ [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" @@ -17843,7 +17928,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -18036,6 +18121,25 @@ dependencies = [ "utf-8", ] +[[package]] +name = "tungstenite" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand 0.8.5", + "sha1", + "thiserror", + "url", + "utf-8", +] + [[package]] name = "twox-hash" version = "1.6.3" @@ -18078,6 +18182,7 @@ dependencies = [ "tracing", "typed-store-derive", "typed-store-error", + "typed-store-workspace-hack", "uint", ] @@ -18085,15 +18190,10 @@ dependencies = [ name = "typed-store-derive" version = "0.3.0" dependencies = [ - "eyre", "itertools 0.10.5", "proc-macro2 1.0.86", "quote 1.0.36", - "rocksdb", "syn 1.0.109", - "tempfile", - "tokio", - "typed-store", ] [[package]] @@ -18104,6 +18204,23 @@ dependencies = [ "thiserror", ] +[[package]] +name = "typed-store-workspace-hack" +version = "0.0.0" +dependencies = [ + "cc", + "lazy_static", + "libc", + "memchr", + "nom", + "proc-macro2 1.0.86", + "quote 1.0.36", + "regex", + "regex-syntax 0.7.5", + "syn 2.0.74", + "zstd-sys", +] + [[package]] name = "typenum" version = "1.17.0" @@ -18129,7 +18246,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a615d6c2764852a2e88a4f16e9ce1ea49bb776b5872956309e170d63a042a34f" dependencies = [ "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -18258,9 +18375,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.10.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72139d247e5f97a3eff96229a7ae85ead5328a39efe76f8bf5a06313d505b6ea" +checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" dependencies = [ "base64 0.22.1", "flate2", @@ -18479,26 +18596,27 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", "wasm-bindgen-shared", ] @@ -18527,9 +18645,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" dependencies = [ "cfg-if", "js-sys", @@ -18539,9 +18657,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" dependencies = [ "quote 1.0.36", "wasm-bindgen-macro-support", @@ -18549,22 +18667,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] name = "wasm-encoder" @@ -18754,7 +18872,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9dbe55c8f9d0dbd25d9447a5a889ff90c0cc3feaa7395310d3d826b2c703eaab" dependencies = [ "bitflags 2.6.0", - "indexmap 2.3.0", + "indexmap 2.4.0", "semver", ] @@ -18783,7 +18901,7 @@ dependencies = [ "encoding_rs", "fxprof-processed-profile", "gimli 0.28.1", - "indexmap 2.3.0", + "indexmap 2.4.0", "ittapi", "libc", "log", @@ -18850,7 +18968,7 @@ dependencies = [ "anyhow", "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", "wasmtime-component-util", "wasmtime-wit-bindgen", "wit-parser", @@ -18914,7 +19032,7 @@ dependencies = [ "cpp_demangle 0.3.5", "cranelift-entity 0.105.4", "gimli 0.28.1", - "indexmap 2.3.0", + "indexmap 2.4.0", "log", "object", "rustc-demangle", @@ -18977,7 +19095,7 @@ dependencies = [ "cc", "cfg-if", "encoding_rs", - "indexmap 2.3.0", + "indexmap 2.4.0", "libc", "log", "mach", @@ -19018,7 +19136,7 @@ checksum = "5399c175ddba4a471b9da45105dea3493059d52b2d54860eadb0df04c813948d" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -19079,7 +19197,7 @@ checksum = "6945fc6cfee04ba81016e9723bea77a2b913108e03904a4d901daedf208365f5" dependencies = [ "anyhow", "heck 0.4.1", - "indexmap 2.3.0", + "indexmap 2.4.0", "wit-parser", ] @@ -19122,9 +19240,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" dependencies = [ "js-sys", "wasm-bindgen", @@ -19219,7 +19337,7 @@ dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", "shellexpand 2.1.2", - "syn 2.0.72", + "syn 2.0.74", "witx", ] @@ -19231,7 +19349,7 @@ checksum = "93e43fc332703d1ec3aa86a5ce8bb49e6b95b6c617b90e726d3e70a0f70f48a5" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", "wiggle-generate", ] @@ -19253,11 +19371,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -19322,6 +19440,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -19529,7 +19656,7 @@ checksum = "316b36a9f0005f5aa4b03c39bc3728d045df136f8c13a73b7db4510dec725e08" dependencies = [ "anyhow", "id-arena", - "indexmap 2.3.0", + "indexmap 2.4.0", "log", "semver", "serde", @@ -19586,7 +19713,7 @@ dependencies = [ [[package]] name = "x" -version = "1.30.1" +version = "1.31.1" dependencies = [ "anyhow", "camino", @@ -19626,9 +19753,9 @@ dependencies = [ [[package]] name = "xml-rs" -version = "0.8.20" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" +checksum = "539a77ee7c0de333dcc6da69b177380a0b81e0dacfa4f7344c465a36871ee601" [[package]] name = "xmlparser" @@ -19689,34 +19816,14 @@ dependencies = [ "url", ] -[[package]] -name = "zerocopy" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854e949ac82d619ee9a14c66a1b674ac730422372ccb759ce0c39cabcf2bf8e6" -dependencies = [ - "byteorder", - "zerocopy-derive 0.6.6", -] - [[package]] name = "zerocopy" version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy-derive" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "125139de3f6b9d625c39e2efdd73d41bdac468ccd556556440e322be0e1bbd91" -dependencies = [ - "proc-macro2 1.0.86", - "quote 1.0.36", - "syn 2.0.72", + "byteorder", + "zerocopy-derive", ] [[package]] @@ -19727,7 +19834,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -19747,7 +19854,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2 1.0.86", "quote 1.0.36", - "syn 2.0.72", + "syn 2.0.74", ] [[package]] @@ -19794,7 +19901,7 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" dependencies = [ - "zstd-safe 7.2.0", + "zstd-safe 7.2.1", ] [[package]] @@ -19819,9 +19926,9 @@ dependencies = [ [[package]] name = "zstd-safe" -version = "7.2.0" +version = "7.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa556e971e7b568dc775c136fc9de8c779b1c2fc3a63defaafadffdbd3181afa" +checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059" dependencies = [ "zstd-sys", ] diff --git a/Cargo.toml b/Cargo.toml index a239297a7305d..eec37bc5d4b3f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -170,6 +170,7 @@ members = [ "crates/typed-store", "crates/typed-store-derive", "crates/typed-store-error", + "crates/typed-store-workspace-hack", "crates/x", "narwhal/config", "narwhal/crypto", @@ -199,7 +200,7 @@ members = [ [workspace.package] # This version string will be inherited by sui-core, sui-faucet, sui-node, sui-tools, sui-sdk, sui-move-build, and sui crates. -version = "1.30.1" +version = "1.31.1" [profile.release] # debug = 1 means line charts only, which is minimum needed for good stack traces @@ -242,9 +243,9 @@ arrow = "52" arrow-array = "52" arc-swap = { version = "1.5.1", features = ["serde"] } assert_cmd = "2.0.6" -async-graphql = "6.0.7" -async-graphql-axum = "6.0.7" -async-graphql-value = "6.0.7" +async-graphql = "=7.0.1" +async-graphql-axum = "=7.0.1" +async-graphql-value = "=7.0.1" async-recursion = "1.0.4" async-trait = "0.1.61" atomic_float = "0.1" @@ -254,8 +255,7 @@ aws-sdk-dynamodb = "0.29.0" aws-sdk-s3 = "0.29.0" aws-smithy-http = "0.56" aws-smithy-runtime-api = "0.56" -axum = { version = "0.6.6", default-features = false, features = [ - "headers", +axum = { version = "0.7", default-features = false, features = [ "tokio", "http1", "http2", @@ -266,8 +266,8 @@ axum = { version = "0.6.6", default-features = false, features = [ "query", "ws", ] } -axum-extra = "0.4.2" -axum-server = { version = "0.5.1", default-features = false, features = [ +axum-extra = { version = "0.9", features = ["typed-header"] } +axum-server = { git = "https://github.com/bmwill/axum-server.git", rev = "f44323e271afdd1365fd0c8b0a4c0bbdf4956cb7", version = "0.6", default-features = false, features = [ "tls-rustls", ] } backoff = { version = "0.4.0", features = [ @@ -343,11 +343,12 @@ hdrhistogram = "7.5.1" hex = "0.4.3" hex-literal = "0.3.4" highlight = "all" -http = "0.2.8" -http-body = "0.4.5" +http = "1" +http-body = "1" humantime = "2.1.0" -hyper = "0.14.20" -hyper-rustls = { version = "0.24", features = ["webpki-roots", "http2"] } +hyper = "1" +hyper-util = "0.1.6" +hyper-rustls = { version = "0.27", default-features = false, features = ["webpki-roots", "http2", "ring", "tls12"] } im = "15" impl-trait-for-tuples = "0.2.0" indexmap = { version = "2.1.0", features = ["serde"] } @@ -406,29 +407,21 @@ prometheus-http-query = { version = "0.8", default_features = false, features = prometheus-parse = { git = "https://github.com/asonnino/prometheus-parser.git", rev = "75334db" } proptest = "1.1.0" proptest-derive = "0.3.0" -prost = "0.12.3" -prost-build = "0.12.3" +prost = "0.13" +prost-build = "0.13" protobuf = { version = "2.28", features = ["with-bytes"] } -protobuf-src = "1.1.0" quinn-proto = "0.11" quote = "1.0.23" rand = "0.8.5" rayon = "1.5.3" -rcgen = "0.9.2" +rcgen = "0.13" regex = "1.7.1" reqwest = { version = "0.12", default_features = false, features = [ - "blocking", + "http2", "json", "rustls-tls", ] } roaring = "=0.10.3" -rocksdb = { version = "0.21.0", features = [ - "snappy", - "lz4", - "zstd", - "zlib", - "multi-threaded-cf", -], default-features = false } ron = "0.8.0" rstest = "0.16.0" rusoto_core = { version = "0.48.0", default_features = false, features = [ @@ -440,8 +433,8 @@ rusoto_kms = { version = "0.48.0", default_features = false, features = [ russh = "0.38.0" russh-keys = "0.38.0" rust-version = "1.56.1" -rustls = { version = "0.21.12", features = ["dangerous_configuration"] } -rustls-pemfile = "1.0.2" +rustls = { version = "0.23", default-features = false, features = ["std", "tls12", "ring"] } +rustls-pemfile = "2" rustversion = "1.0.9" rustyline = "9.1.2" rustyline-derive = "0.7.0" @@ -451,10 +444,7 @@ serial_test = "2.0.0" serde = { version = "1.0.144", features = ["derive", "rc"] } serde-name = "0.2.1" serde-reflection = "0.3.6" -serde_json = { version = "1.0.95", features = [ - "preserve_order", - "arbitrary_precision", -] } +serde_json = { version = "1.0.95", features = ["preserve_order"] } serde_repr = "0.1" serde_test = "1.0.147" serde_with = "3.8" @@ -484,7 +474,7 @@ thiserror = "1.0.40" tiny-bip39 = "1.0.0" tokio = "1.36.0" tokio-retry = "0.3" -tokio-rustls = "0.24" +tokio-rustls = { version = "0.26", default-features = false, features = ["tls12", "ring"] } tokio-stream = { version = "0.1.14", features = ["sync", "net"] } tokio-util = "0.7.10" toml = { version = "0.7.4", features = ["preserve_order"] } @@ -492,9 +482,9 @@ toml_edit = { version = "0.19.10" } # NOTE: do not enable the `tls` feature on tonic. It will break custom TLS handling # for self signed certificates. Unit tests under consensus/core and other integration # tests will fail. -tonic = { version = "0.11", features = ["transport"] } -tonic-build = { version = "0.11", features = ["prost", "transport"] } -tonic-health = "0.11" +tonic = { version = "0.12", features = ["transport"] } +tonic-build = { version = "0.12", features = ["prost", "transport"] } +tonic-health = "0.12" tower = { version = "0.4.12", features = [ "full", "util", @@ -502,14 +492,13 @@ tower = { version = "0.4.12", features = [ "load-shed", "limit", ] } -tower-http = { version = "0.3.4", features = [ +tower-http = { version = "0.5", features = [ "cors", "full", "trace", "set-header", "propagate-header", ] } -# tower-http = { version="0.4", features = ["trace"] } tower-layer = "0.3.2" twox-hash = "1.6.3" tracing = "0.1.37" @@ -530,7 +519,7 @@ unescape = "0.1.0" ureq = "2.9.1" url = "2.3.1" uuid = { version = "1.1.2", features = ["v4", "fast-rng"] } -webpki = { version = "0.101.0", package = "rustls-webpki", features = [ +webpki = { version = "0.102", package = "rustls-webpki", features = [ "alloc", "std", ] } @@ -679,7 +668,6 @@ telemetry-subscribers = { path = "crates/telemetry-subscribers" } test-cluster = { path = "crates/test-cluster" } transaction-fuzzer = { path = "crates/transaction-fuzzer" } typed-store = { path = "crates/typed-store" } -typed-store-derive = { path = "crates/typed-store-derive" } typed-store-error = { path = "crates/typed-store-error" } x = { path = "crates/x" } diff --git a/apps/wallet/src/background/accounts/zklogin/utils.ts b/apps/wallet/src/background/accounts/zklogin/utils.ts index 1b937090ed32d..e4234f6334f98 100644 --- a/apps/wallet/src/background/accounts/zklogin/utils.ts +++ b/apps/wallet/src/background/accounts/zklogin/utils.ts @@ -34,7 +34,7 @@ export function prepareZkLogin(currentEpoch: number) { const forceSilentGetProviders: ZkLoginProvider[] = ['twitch']; /** - * This method does a get request to the authorize url and is used as a workarround + * This method does a get request to the authorize url and is used as a workaround * for `forceSilentGetProviders` that they do the silent login/token refresh using * html directives or js code to redirect to the redirect_url (instead of response headers) and that forces the launchWebAuthFlow * to open and close quickly a new window. Which closes the popup window when open but also creates a weird flickering effect. diff --git a/apps/wallet/src/dapp-interface/WalletStandardInterface.ts b/apps/wallet/src/dapp-interface/WalletStandardInterface.ts index 3c74b905dd490..739507c8b94c7 100644 --- a/apps/wallet/src/dapp-interface/WalletStandardInterface.ts +++ b/apps/wallet/src/dapp-interface/WalletStandardInterface.ts @@ -109,7 +109,7 @@ export class SuiWallet implements Wallet { } get icon() { - return 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIiIGhlaWdodD0iNzIiIHZpZXdCb3g9IjAgMCA3MiA3MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjcyIiBoZWlnaHQ9IjcyIiByeD0iMTYiIGZpbGw9IiM2RkJDRjAiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yMC40MjEzIDUyLjc4MzhDMjMuNjQ5NiA1OC4zNzYgMjkuNDMyMSA2MS43MTQyIDM1Ljg4ODggNjEuNzE0MkM0Mi4zNDU1IDYxLjcxNDIgNDguMTI3IDU4LjM3NiA1MS4zNTY0IDUyLjc4MzhDNTQuNTg0OCA0Ny4xOTI2IDU0LjU4NDggNDAuNTE2MyA1MS4zNTY0IDM0LjkyNEwzNy43NTI0IDExLjM2MTVDMzYuOTI0MSA5LjkyNzAxIDM0Ljg1MzUgOS45MjcwMSAzNC4wMjUzIDExLjM2MTVMMjAuNDIxMyAzNC45MjRDMTcuMTkyOSA0MC41MTUyIDE3LjE5MjkgNDcuMTkxNSAyMC40MjEzIDUyLjc4MzhaTTMyLjA1NjYgMjIuNTcxM0wzNC45NTcxIDE3LjU0NzRDMzUuMzcxMiAxNi44MzAxIDM2LjQwNjUgMTYuODMwMSAzNi44MjA2IDE3LjU0NzRMNDcuOTc5MSAzNi44NzQ4QzUwLjAyOTEgNDAuNDI1NCA1MC40MTM5IDQ0LjUzNSA0OS4xMzM1IDQ4LjI5NTRDNDkuMDAwMiA0Ny42ODE5IDQ4LjgxMzggNDcuMDU0MiA0OC41NjI2IDQ2LjQyMDFDNDcuMDIxMyA0Mi41MzA0IDQzLjUzNjMgMzkuNTI4OSAzOC4yMDIzIDM3LjQ5ODJDMzQuNTM1MSAzNi4xMDcxIDMyLjE5NDMgMzQuMDYxMyAzMS4yNDMxIDMxLjQxNzFDMzAuMDE4IDI4LjAwODkgMzEuMjk3NiAyNC4yOTI0IDMyLjA1NjYgMjIuNTcxM1pNMjcuMTEwNyAzMS4xMzc5TDIzLjc5ODYgMzYuODc0OEMyMS4yNzQ4IDQxLjI0NTkgMjEuMjc0OCA0Ni40NjQxIDIzLjc5ODYgNTAuODM1M0MyNi4zMjIzIDU1LjIwNjQgMzAuODQxMyA1Ny44MTUgMzUuODg4OCA1Ny44MTVDMzkuMjQxMyA1Ny44MTUgNDIuMzYxNSA1Ni42NjMzIDQ0LjgxODQgNTQuNjA4OEM0NS4xMzg4IDUzLjgwMjEgNDYuMTMxIDUwLjg0OTIgNDQuOTA1MiA0Ny44MDU4QzQzLjc3MyA0NC45OTU0IDQxLjA0ODIgNDIuNzUxOSAzNi44MDYxIDQxLjEzNkMzMi4wMTEgMzkuMzE3MSAyOC44OTU4IDM2LjQ3NzQgMjcuNTQ4NiAzMi42OTg0QzI3LjM2MzEgMzIuMTc4MSAyNy4yMTg5IDMxLjY1NjggMjcuMTEwNyAzMS4xMzc5WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+' as const; + return 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxyZWN0IHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgZmlsbD0iIzRDQTNGRiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xOC44MzI3IDEyLjM0MTNWMTIuMzQyMkMxOS42NDgyIDEzLjM2NTMgMjAuMTM2IDE0LjY2MTMgMjAuMTM2IDE2LjA3MDVDMjAuMTM2IDE3LjQ3OTggMTkuNjMzNyAxOC44MTQzIDE4Ljc5NTcgMTkuODQ0M0wxOC43MjM1IDE5LjkzM0wxOC43MDQ1IDE5LjgyMDNDMTguNjg4MiAxOS43MjQ1IDE4LjY2OSAxOS42Mjc1IDE4LjY0NyAxOS41M0MxOC4yMjc3IDE3LjY4NzUgMTYuODYxMiAxNi4xMDc1IDE0LjYxMjUgMTQuODI4MkMxMy4wOTQgMTMuOTY2OCAxMi4yMjQ3IDEyLjkyOTIgMTEuOTk2NSAxMS43NTA4QzExLjg0OSAxMC45ODg1IDExLjk1ODcgMTAuMjIzIDEyLjE3MDUgOS41NjcyNUMxMi4zODIyIDguOTExNzUgMTIuNjk3MiA4LjM2MjUgMTIuOTY0NyA4LjAzMkwxMy44Mzk1IDYuOTYyMjVDMTMuOTkzIDYuNzc0NzUgMTQuMjggNi43NzQ3NSAxNC40MzM1IDYuOTYyMjVMMTguODMzIDEyLjM0MTVMMTguODMyNyAxMi4zNDEzWk0yMC4yMTY1IDExLjI3MjVWMTEuMjcyTDE0LjM1MyA0LjEwMjc1QzE0LjI0MSAzLjk2NTc1IDE0LjAzMTUgMy45NjU3NSAxMy45MTk1IDQuMTAyNzVMOC4wNTYgMTEuMjcyM1YxMS4yNzI4TDguMDM3IDExLjI5NjVDNi45NTgyNSAxMi42MzUzIDYuMzEyNSAxNC4zMzY4IDYuMzEyNSAxNi4xODlDNi4zMTI1IDIwLjUwMjggOS44MTUyNSAyNCAxNC4xMzYzIDI0QzE4LjQ1NzIgMjQgMjEuOTYgMjAuNTAyOCAyMS45NiAxNi4xODlDMjEuOTYgMTQuMzM2OCAyMS4zMTQyIDEyLjYzNTMgMjAuMjM1MiAxMS4yOTYzTDIwLjIxNiAxMS4yNzI1SDIwLjIxNjVaTTkuNDU5MjUgMTIuMzE4TDkuOTgzNzUgMTEuNjc2NUw5Ljk5OTUgMTEuNzk1QzEwLjAxMiAxMS44ODg3IDEwLjAyNzIgMTEuOTgzIDEwLjA0NTIgMTIuMDc3OEMxMC4zODQ1IDEzLjg1ODIgMTEuNTk2NyAxNS4zNDI4IDEzLjYyMzUgMTYuNDkyNUMxNS4zODUyIDE3LjQ5NSAxNi40MTEgMTguNjQ4IDE2LjcwNjUgMTkuOTEyNUMxNi44Mjk4IDIwLjQ0MDMgMTYuODUxNyAyMC45NTk1IDE2Ljc5ODUgMjEuNDEzNUwxNi43OTUyIDIxLjQ0MTVMMTYuNzY5NyAyMS40NTRDMTUuOTc0NyAyMS44NDI1IDE1LjA4MDcgMjIuMDYwNSAxNC4xMzYgMjIuMDYwNUMxMC44MjI1IDIyLjA2MDUgOC4xMzYyNSAxOS4zNzg4IDguMTM2MjUgMTYuMDcwNUM4LjEzNjI1IDE0LjY1MDMgOC42MzE1IDEzLjM0NSA5LjQ1OSAxMi4zMTgzTDkuNDU5MjUgMTIuMzE4WiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==' as const; } get chains() { diff --git a/apps/wallet/src/ui/app/components/sui-apps/Banner.tsx b/apps/wallet/src/ui/app/components/sui-apps/Banner.tsx index 423ea49c33961..e7bd0bc026872 100644 --- a/apps/wallet/src/ui/app/components/sui-apps/Banner.tsx +++ b/apps/wallet/src/ui/app/components/sui-apps/Banner.tsx @@ -27,7 +27,11 @@ export function AppsPageBanner() { href={AppsBannerConfig.value?.bannerUrl} onClick={() => ampli.clickedBullsharkQuestsCta({ sourceFlow: 'Banner - Apps tab' })} > - Apps Banner + Apps Banner )} diff --git a/apps/wallet/src/ui/app/pages/accounts/manage/AccountGroup.tsx b/apps/wallet/src/ui/app/pages/accounts/manage/AccountGroup.tsx index f6f251f2b1fd6..c788e69745594 100644 --- a/apps/wallet/src/ui/app/pages/accounts/manage/AccountGroup.tsx +++ b/apps/wallet/src/ui/app/pages/accounts/manage/AccountGroup.tsx @@ -52,7 +52,7 @@ export function getGroupTitle(aGroupAccount: SerializedUIAccount) { : accountTypeToLabel[aGroupAccount?.type] || ''; } -// todo: we probbaly have some duplication here with the various FooterLink / ButtonOrLink +// todo: we probably have some duplication here with the various FooterLink / ButtonOrLink // components - we should look to add these to base components somewhere const FooterLink = forwardRef( ({ children, to, ...props }, ref) => { diff --git a/apps/wallet/src/ui/app/pages/home/interstitial/index.tsx b/apps/wallet/src/ui/app/pages/home/interstitial/index.tsx index 912cdd9ddeb9f..409a878474f70 100644 --- a/apps/wallet/src/ui/app/pages/home/interstitial/index.tsx +++ b/apps/wallet/src/ui/app/pages/home/interstitial/index.tsx @@ -1,8 +1,10 @@ // Copyright (c) Mysten Labs, Inc. // SPDX-License-Identifier: Apache-2.0 +import { ButtonOrLink } from '_app/shared/utils/ButtonOrLink'; import { ampli } from '_src/shared/analytics/ampli'; import ExternalLink from '_src/ui/app/components/external-link'; +import { Text } from '_src/ui/app/shared/text'; import { X32 } from '@mysten/icons'; import { useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; @@ -13,7 +15,7 @@ export type InterstitialConfig = { enabled: boolean; dismissKey?: string; imageUrl?: string; - + buttonText?: string; bannerUrl?: string; }; @@ -23,7 +25,14 @@ interface InterstitialProps extends InterstitialConfig { const setInterstitialDismissed = (dismissKey: string) => localStorage.setItem(dismissKey, 'true'); -function Interstitial({ enabled, dismissKey, imageUrl, bannerUrl, onClose }: InterstitialProps) { +function Interstitial({ + enabled, + dismissKey, + imageUrl, + bannerUrl, + buttonText, + onClose, +}: InterstitialProps) { const navigate = useNavigate(); useEffect(() => { @@ -39,32 +48,41 @@ function Interstitial({ enabled, dismissKey, imageUrl, bannerUrl, onClose }: Int navigate('/apps'); }; + const onClick = () => { + ampli.clickedBullsharkQuestsCta({ sourceFlow: 'Interstitial' }); + closeInterstitial(); + }; + if (!enabled) { return null; } return ( -
- {bannerUrl && ( - { - ampli.clickedBullsharkQuestsCta({ sourceFlow: 'Interstitial' }); - closeInterstitial(); - }} - className="w-full h-full" - > - interstitial-banner - - )} +
+ {bannerUrl && ( + + interstitial-banner + + )} + + + {buttonText || 'Join for a chance to win'} + +
); diff --git a/apps/wallet/src/ui/app/pages/home/nfts/VisualAssets.tsx b/apps/wallet/src/ui/app/pages/home/nfts/VisualAssets.tsx index 6d68b2990c426..d1327c728ac06 100644 --- a/apps/wallet/src/ui/app/pages/home/nfts/VisualAssets.tsx +++ b/apps/wallet/src/ui/app/pages/home/nfts/VisualAssets.tsx @@ -44,7 +44,7 @@ export default function VisualAssets({ items }: { items: SuiObjectData[] }) {
{!isKioskOwnerToken(kioskClient.network, object) && - !bnl.some((item) => item?.objectType !== object.type) ? ( + !bnl.some((item) => item?.objectType === object.type) ? (