forked from MystenLabs/sui
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Testnet4 #15
Open
carlosbmamoru
wants to merge
8,940
commits into
main
Choose a base branch
from
testnet4
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Testnet4 #15
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## 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:
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.2.0 ### Minor Changes - fef99d3: Update parallel executor class to handle gasPrice and budgeting to remove extra rpc calls during execution" ## mev-bot@1.0.10 ### Patch Changes - Updated dependencies [fef99d3] - @mysten/sui@1.2.0 ## @mysten/create-dapp@0.3.10 ### Patch Changes - Updated dependencies [fef99d3] - @mysten/sui@1.2.0 - @mysten/dapp-kit@0.14.10 ## @mysten/dapp-kit@0.14.10 ### Patch Changes - Updated dependencies [fef99d3] - @mysten/sui@1.2.0 - @mysten/wallet-standard@0.12.10 - @mysten/zksend@0.9.10 ## @mysten/deepbook@0.8.9 ### Patch Changes - Updated dependencies [fef99d3] - @mysten/sui@1.2.0 ## @mysten/enoki@0.3.9 ### Patch Changes - Updated dependencies [fef99d3] - @mysten/sui@1.2.0 - @mysten/zklogin@0.7.9 ## @mysten/graphql-transport@0.2.9 ### Patch Changes - Updated dependencies [fef99d3] - @mysten/sui@1.2.0 ## @mysten/kiosk@0.9.9 ### Patch Changes - Updated dependencies [fef99d3] - @mysten/sui@1.2.0 ## @mysten/suins-toolkit@0.5.9 ### Patch Changes - Updated dependencies [fef99d3] - @mysten/sui@1.2.0 ## @mysten/wallet-standard@0.12.10 ### Patch Changes - Updated dependencies [fef99d3] - @mysten/sui@1.2.0 ## @mysten/zklogin@0.7.9 ### Patch Changes - Updated dependencies [fef99d3] - @mysten/sui@1.2.0 ## @mysten/zksend@0.9.10 ### Patch Changes - Updated dependencies [fef99d3] - @mysten/sui@1.2.0 - @mysten/wallet-standard@0.12.10 ## escrow-api-demo@1.0.10 ### Patch Changes - Updated dependencies [fef99d3] - @mysten/sui@1.2.0 ## frontend@0.0.11 ### Patch Changes - Updated dependencies [fef99d3] - @mysten/sui@1.2.0 - @mysten/dapp-kit@0.14.10 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
…ystenLabs#18347) ## Description When a field is labeled with `#[serde(default)]` it means that if that field is not present, it is populated using the `Default` impl for the field's type: ```rust #[derive(Serialize, Deserialize, Clone, Debug)] struct Foo { #[serde(default)] bar: Bar, } Foo { bar: Bar::default() } ``` This is not the behaviour we want, however. We want fields that have not been supplied to be populated with their value from the `Default` impl of the type they are part of: ```rust Foo { bar: Foo::default().bar } ``` Implementing this manually requires a lot of boilerplate -- each field needs to have an associated function that returns its default value: ```rust #[derive(Serialize, Deserialize, Clone, Debug)] struct Foo { #[serde(default = "Foo::__default_bar")] bar: Bar, } ``` So this PR introduces an attribute proc macro to perform this transformation: ```rust #[GraphQLConfig] struct Foo { bar: Bar, } ``` It also performs some other related clean-ups: - Moves default values inline into the respective `Default` impls, to prevent them being used in isolation. - Move the documentation for what the field is onto the struct definition, and the documentation for how the default was chosen onto the `Default` impl. - Moved the implementation of `Display` for `Version`. - Got rid of `ConnectionConfig::ci_integration_test_cfg` as it is the same as its `Default` impl now. - Improved various docs about what various configs are. ## Test plan Added a test for reading a `ServiceConfig` from an incomplete/partial TOML: ```sh sui-graphql-rpc$ cargo nextest run -- read_partial_in_service_config ``` --- ## 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: Fix a bug where starting the service using a config with not all fields set would result in the unset fields being zeroed out rather than taking their usual default values (as would happen if no config had been explicitly supplied). - [ ] CLI: - [ ] Rust SDK:
## Description Fixes nonce generation sometimes being off by one 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:
## 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:
## Description as title. ## Test plan tried 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:
## Description 1. emit CommitteeMemberUrlUpdateEvent when a validator updates url 2. add url checks when validator add or update bridge url 3. update a comment: the Blocklist payload contains 20 bytes evm addresses instead of 33 bytes pub keys ## 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:
## 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:
…#18376) ## 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:
## 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:
…8373) ## Description Adding two endpoints for improving image building process visibility: 1. list: show all the images in the AR 2. status: check whether the image is built and stored in AR, if not in AR, show real-time status of the building process ## Test plan list <img width="469" alt="image" src="https://github.com/MystenLabs/sui/assets/147538877/651a1e1c-b4fa-4b99-b343-8a9d1e1e2652"> status ``` suiop ci image status --repo-name infra-metadata-service --image-name go-executor Requested status for repo: infra-metadata-service, image: go-executor, ref: branch:main Image Status: Found Image SHA: 1d01c74ca5cfb3c7103 ``` ``` suiop ci image status --repo-name infra-metadata-service --image-name go-executor --ref-type=commit --ref-val=123 Requested status for repo: infra-metadata-service, image: go-executor, ref: commit:123 Image Status: Not built and image not found Image SHA: 123 ``` 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:
…8392) This reverts commit 1d48056. ## 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:
## 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:
…#18353) ## Description This revises how move analyzer testing is done. ## Test plan New testing format! --- ## 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: Adam Welc <adam@mystenlabs.com>
…tenLabs#18393) ## Description Unblock MystenLabs#18277 by explicitly setting up the correct test scenario for the `test_query_default_page_limit` test. I think we can follow this up with 1. instead of using the same db url, follow sui-graphql-e2e-tests pattern and generate unique db urls for each test 2. this is so that we can run tests in parallel instead of sequentially (which is the case today due to the serial) 3. we can leverage ExecutorCluster.cleanup_resources to cleanup each 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:
## Description Adds a `checkpoint_timestamp_ms` to the watermark task and uses it in a new health check endpoint function. The health endpoint checks for two things - if there is a DB connection, otherwise it returns code 500 - if the last known checkpoint timestamp is within an acceptable buffer. It subtracts the current timestamp from the checkpoint timestamp, and checks if the value is larger than the provided query param `max_checkpoint_lag_ms` or a default value, and it returns code 504, GATEWAY TIMEOUT in that case. How to query this endpoint: `curl -X GET "http://127.0.0.1:8000/health" -i ` Set the check for max checkpoint time lag to 10s. If it returns 503, then the checkpoint is behind. `curl -X GET "http://127.0.0.1:8000/health?max_checkpoint_lag_ms=10000" -i` ## Test plan Added a new test. `cargo nextest run --features pg_integration -- test_health_check` --- ## 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:
## Description This PR checks denylist v2 during execution. At the end of execution, it collects all the coin objects that are written with an address owner, and check whether the address is denied for the coin. ## Test plan I am working on tests separately using the Move branch, since the Move code hasn't been merged yet. --- ## 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: Carlos Baez <cb@mamoru.ai>
## Description Make state accumulator a per epoch component. This also requires that we make checkpoint executor a proper per epoch component (previously it was only instantiated once, but `run_epoch` called once per epoch) since it needs to have a reference to the fresh accumulator after reconfig. Now we actually drop it after the call to `run_epoch` returns. ## Test plan Passed against 120+ seeds: ``` ./scripts/simtest/seed-search.py simtest --test test_simulated_load_reconfig_with_crashes_and_delays ``` --- ## 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: Mark Logan <mark@mystenlabs.com>
## Description Creating Helm charts to deploy RPC2.0 infra. ## Test plan Testing deployments to our Development cluster using the `cg-test-ns` namespace and a sandbox db --- ## 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:
## 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:
…tely (MystenLabs#18265) ## Description Allow inactive StakedSui objects to be withdrawn immediately Implementation for sui-foundation/sips#33 ## Test plan Wrote unit test to make sure the the functionality worked 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: --------- Co-authored-by: Emma Zhong <emmazhongjy@gmail.com>
…18415) ## Description Fix a typo issue in an old execution version ## Test plan Historical replays
…rrent epoch (MystenLabs#18411) This is the first step of a change to remove effects signing from the execution path and adding effects equivocation prevention (necessary for WB cache on validators).
…MystenLabs#18415) (MystenLabs#18419) ## Description Fix a typo issue in an old execution version ## Test plan Historical replays
…enLabs#18342) ## Description 1. Consolidate check_version_and_features_supported with validity_check for all transaction related types. 2. Remove a few redundant checks. 3. Make the error type consistent. ## 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:
## Description - Deny list v2 using config - All APIs are behind public(protected) currently - Types are public but will change before likely before hitting devnet ## Test plan - Added test scenario support and 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:
…ystenLabs#18387) ## Description This fixes a bug that was previously a compiler crash when a match was malformed and counterexample generation occurred. This was due to some changes for parser resilience combined with moving match analysis to typing. ## Test plan Added the repro test, and it now produces the error 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:
## Description This PR is introducing a best practice to recover a node's consensus from amnesia (db wipe out). Currently if a node that has already participated in consensus (proposed blocks etc) crashes and recovers from amnesia it will eventually equivocate during recovery and make the node crash (as per our DagState rules). With this PR: * introduces a mechanism to ask the network peers about the node's highest proposed block in order to use this round as the min proposed one and start proposing after that round to avoid equivocations * guard the fetch of the last own block behind a property that enables/disables that and also defines a timeout to manage and gather peer responses. This has been explicitly chosen in order to (1) avoid unnecessary recovery of last block during normal node start (2) maximise safety. * node will crash if the recovery feature is enabled and it doesn't manage to gather any response. Here we can also decide if we want to introduce some min stake threshold as well. Next steps: * expose the property that enables the last own block recovery to the node's properties/config. Validator operators can optionally enable this when they attempt to recovery from amnesia. ## 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: - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ] - [ ]
Signed-off-by: Carlos Baez <cb@mamoru.ai>
Signed-off-by: Carlos Baez <cb@mamoru.ai>
Signed-off-by: Carlos Baez <cb@mamoru.ai>
Signed-off-by: Carlos Baez <cb@mamoru.ai>
Signed-off-by: Carlos Baez <cb@mamoru.ai>
commit 8832132a579150733d8cd210dd8f3d72320be08d Merge: 4ec3953e3 1bf77fe12 Author: Carlos Baez <cb@mamoru.ai> 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 <lxfind@gmail.com> Date: Mon Aug 12 12:55:12 2024 -0700 Fix fullnode event resolution commit 2cc5cea6d0bc6802d792291696a871a90cb5e9d4 Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Mon Aug 12 21:07:17 2024 +0000 Sui v1.31.1 version bump commit ea010a09195ad185230255ecf1b5c675146ffcf8 Author: Xun Li <lxfind@gmail.com> 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 <eugene@mystenlabs.com> 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 <adam@mystenlabs.com> 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 <williamprincesmith@gmail.com> 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 <adam@mystenlabs.com> 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 <akihidis@gmail.com> 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 <brandon@mystenlabs.com> 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 <bridgerzoske@gmail.com> 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 <brandon@mystenlabs.com> commit e8e6b492a66956ca43e099887e2e94204881cf65 Author: Eugene Boguslavsky <eugene@mystenlabs.com> 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 <eugene@mystenlabs.com> 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 <lxfind@gmail.com> 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 <lxfind@gmail.com> 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 <halfprice@users.noreply.github.com> 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] <github-actions[bot]@users.noreply.github.com> 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 <cameronswords@gmail.com> 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 <aschran@mystenlabs.com> 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 <jk@mystenlabs.com> 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 <adam@mystenlabs.com> 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 <aschran@mystenlabs.com> 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 <tony.lee@mystenlabs.com> 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 <brandon@mystenlabs.com> 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 <brandon@mystenlabs.com> 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 <brandon@mystenlabs.com> 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 <akihidis@gmail.com> 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 <dung.dinhnguyen@digitalavenues.com> Co-authored-by: Todd Nowacki <tmn@mystenlabs.com> 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 <dung.dinhnguyen@digitalavenues.com> Co-authored-by: Todd Nowacki <tmn@mystenlabs.com> 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 <brandon@mystenlabs.com> 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 <patrickkuo@me.com> 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 <brandon@mystenlabs.com> 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] <github-actions[bot]@users.noreply.github.com> commit 0148d85f3b4a0d3bb7ea880c33825cef7fa9dfbe Author: Adam Welc <adam@mystenlabs.com> 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 <johnjosephmartin@icloud.com> 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 <tony.lee@mystenlabs.com> Date: Tue Jul 30 23:04:21 2024 +0100 Deepbook SDK (#18610) commit 3053ad99496f832d5a13ff51b33be55f3e359052 Author: Ashok Menon <ashok@mystenlabs.com> 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 <aschran@mystenlabs.com> Date: Tue Jul 30 12:53:18 2024 -0400 revert ci test log output back to default (#18859) commit 0e3903dd6176f441f39ce88c0af7db298a188383 Author: Brandon Williams <brandon@mystenlabs.com> 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 <emma@mystenlabs.com> 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 <ashok@mystenlabs.com> commit 5056e4f192f6b57f2ed507a6a292a0d85c66a47b Author: Rijnard van Tonder <rvantonder@gmail.com> 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 <csyingyu@126.com> 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 <tmn@mystenlabs.com> 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 <tmn@mystenlabs.com> 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 <tmn@mystenlabs.com> 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 <rvantonder@gmail.com> 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…
commit 12c7c2f2bf0c550d5cde244e93fc8c3ed7299787 Author: Carlos Baez <cb@mamoru.ai> Date: Fri Aug 30 09:51:17 2024 +0200 Merged for v1.32 version Signed-off-by: Carlos Baez <cb@mamoru.ai>
Signed-off-by: Carlos Baez <cb@mamoru.ai>
Signed-off-by: Carlos Baez <cb@mamoru.ai>
Signed-off-by: Carlos Baez <cb@mamoru.ai>
commit 951980dbb74cd18fea916e0ad162f7f22d6785e0 Merge: 57b22f7697 77b18b45c1 Author: Carlos Baez <c@mevton.com> Date: Fri Sep 13 12:21:56 2024 +0200 finish merge Signed-off-by: Carlos Baez <c@mevton.com> commit 77b18b45c195103e25d62fb6cd35ab812b9e7f12 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Sun Sep 8 20:42:23 2024 -0700 Cherry pick 19246 (finalize bridge committee on mainnet in protocol version 58) (#19268) ## Description https://github.com/MystenLabs/sui/pull/19246 ## 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 fafb1429b7afb56431068cfe5a7cce6537d09784 Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Fri Sep 6 11:03:01 2024 -0700 Add debug builds back for all platforms (#19250) ## Description Add debug builds back for all platforms ## Test plan https://github.com/MystenLabs/sui/actions/runs/10741384417/job/29791637040 commit 6c732bf42ca374e9f1c4fa1aa9b43e79c463de7b Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Thu Sep 5 18:16:51 2024 -0700 Sui v1.33.0 Bytecode Framework Snapshot (#19240) ## Description Sui v1.33.0 Bytecode Framework Snapshot ## Test plan 👀 commit 0c02e0735a8d6ec26f95f2f5d62d0c29f20b59ba Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Thu Sep 5 18:12:53 2024 -0700 [CI] do not ignore failures from Split Cluster Check in PRs (#19218) ## Description Currently when the check runs in PR CI, the failure is ignored and bisect does not run. So the workflow succeeds when it shouldn't. For example, https://github.com/MystenLabs/sui/actions/runs/10641580676/job/29502904956#step:3:2268 ## 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 c86143bbfecc0a4cdec48e5917c358562f83450e Author: Bridgerz <bridgerzoske@gmail.com> Date: Thu Sep 5 17:52:53 2024 -0700 Add storage gap variable to the CommitteeUpgradeable contract (#19228) ## Description In the case the `CommitteeUpgradeable` contract needs to include more storage variables, a storage gap variable is needed to reserve storage slots so the child contract state is not overwritten. ## Test plan Contract upgrade unit tests commit 611056816a1e01f482e329b46ac9b3fd8a28a39c Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Thu Sep 5 17:18:15 2024 -0700 [bridge-indexer] batch processing checkpoints and indexing progress metrics (#19179) ## Description This PR does two things: 1. pull checkpoint batches to processed when there are multiple, rather than one-by-one. This improves the efficiency especially for write_process 2. add metrics to check indexing progress. ## Test plan Deployed in production. --- ## 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 fa776a03b4d94079aec74e200d275c340e3325fb Author: Adam Welc <adam@mystenlabs.com> Date: Thu Sep 5 17:12:42 2024 -0700 [trace-view] Added support for stepping back through the trace (#19215) ## Description This PR adds the ability to step back through the trace. The main limitation is that stepping back into or over (previously executed) function calls is not supported. We will add this support after support for viewing variables is added as it will requires snapshotting variable state (which we do not have at the moment). ## Test plan Tested manually that: - viewer correctly steps back within the function and from inside the callee to the caller - viewer correctly stops stepping back at the beginning of the trace - viewer correctly stops stepping back upon encountering previously executed function call commit 2b3991a841ce655bd790abfcbbdc5d2f27e14448 Author: Xun Li <lxfind@gmail.com> Date: Thu Sep 5 16:28:12 2024 -0700 [indexer] Compatibility check using migration records (#19156) ## Description Previously we check DB compatibility by making sure that we could make select query on all columns to the DB based on the locally known schema. This doesn't cover all cases, for instance, there could be tables in the DB that does not exist in the local schema. This PR changes how we do the compatibility check by fully leveraging the migration records. It checks that the migration records in the DB must fully match with the locally known one. It also moves the code to sui-indexer crate, so that we could do this check on the startup of both indexer and graphql server. This does require that from now on we fully respect the migration scripts, and don't do adhoc modifications on the existing migration. ## 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 89737f7ca52a6be1047a02a3ffb9ca319098017b Author: wlmyng <127570466+wlmyng@users.noreply.github.com> Date: Thu Sep 5 14:39:23 2024 -0700 [indexer] Objects Snapshot Processor continuously reads from stream (#19232) ## Description In ci, we saw that the `objects_snapshot_processor` stalls if there are unprocessed checkpoint data that we cannot commit unless we have a continuous stream of checkpoints from `[start_cp, max_allowed_cp]`. To address this, the processor should continue to read from stream whether `unprocessed` is empty or not. ## Test plan Ran indexer manually to observe that `objects_snapshot_processor` doesn't stall --- ## 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 369d44baab028fd3c685fb95ce4a02196e1324eb Author: Todd Nowacki <tmn@mystenlabs.com> Date: Thu Sep 5 14:24:02 2024 -0700 [move stdlib] Add `fun bitwise_not` and `macro fun max_value` (#19126) ## Description - Added a bitwise not function, `fun bitwise_not` to `u*` modules - Added a maximum value macro, `macro fun max_value` to `u*` modules ## 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: - [X] CLI: Move integer modules now have a `bitwise_not` function and a `max_value` macro function. - [ ] Rust SDK: - [ ] REST API: commit 7d0ebb9d8039cf4a5d592ebe842f49770117ca37 Author: Ge Gao <106119108+gegaowp@users.noreply.github.com> Date: Thu Sep 5 17:22:47 2024 -0400 indexer: clean up legacy snapshot codes (#19078) ## Description the legacy method of updating `objects_snapshot` is no longer needed, thus this pr cleans it up ## 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 3b3603cc73a6d9ba28ed9ba3f4f00e0682b509d2 Author: phoenix <51927076+phoenix-o@users.noreply.github.com> Date: Thu Sep 5 17:16:56 2024 -0400 [data ingestion] handle termination in worker pool (#19192) ## 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 262390b27ca7befe9bd3a537aae6ebef9f569348 Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Thu Sep 5 13:41:06 2024 -0700 [rocksdb] add metric for num level 0 files (#19230) ## Description Too many level 0 files can be a trigger to write stall & stop as well ## 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 d275762040247747ef429eda6309ffbef005c28b Author: jk jensen <jk@mystenlabs.com> Date: Thu Sep 5 11:45:36 2024 -0700 [suiop] add interactive incident selection (#19186) ## Description Allow interactive incident review selection with suiop ## Test plan Successful e2e test in #test-notifications --- ## 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 a831de6cd80001dd33e6f7686cb1f29f00dd35b4 Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Thu Sep 5 11:43:11 2024 -0700 Do not build sui in debug mode for macos-arm64 and delete unused software. (#19210) ## Description Do not build sui in debug mode for `macos-arm64` and delete unused software. ``` Filesystem Size Used Avail Capacity Mounted on /dev/disk3s1s1 295Gi 9.6Gi 17Gi 37% / Filesystem Size Used Avail Capacity Mounted on /dev/disk3s1s1 295Gi 9.6Gi 89Gi 10% / ``` ## Test plan https://github.com/MystenLabs/sui/actions/runs/10725603432/job/29743813335 commit 9a3a08502ba0c840b47295a6cc332c93c74343b1 Author: wlmyng <127570466+wlmyng@users.noreply.github.com> Date: Thu Sep 5 10:41:06 2024 -0700 [graphql] Remove usage of legacy objects snapshot processing (#19175) ## Description A separate task is solely responsible for updating `objects_snapshot`, which means the graphql e2e tests, which depend on forcing `objects_snapshot` changes through an update query, also need to obey this. In lieu of the current behavior, we instead configure the snapshot lag per test scenario, and ``` //# advance-clock --duration-ns 1 //# create-checkpoint ``` to get the desired `objects_snapshot` state ## 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 28feff4c36806869f2d34d86db46536cda107e0c Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Sep 5 10:15:44 2024 -0500 indexer: use async connection for SystemPackageTask commit 5a331b4f1f214b9375ce65ce43bed649db68805a Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Sep 5 10:04:29 2024 -0500 indexer: use async connection for get_object commit 277479e483fbf23c074d656784db782fd03203a0 Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Sep 5 09:57:44 2024 -0500 indexer: remove impl ObjectStore for IndexerReader commit 0348913d6b08660e3027179f6cce4b9d7079f5a1 Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Sep 5 09:22:23 2024 -0500 indexer: use async connection for get_object_read commit 8d7bcb2e95d717a06d0f7dfd5b0285ef24ba1645 Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Sep 5 09:18:39 2024 -0500 indexer: use async connection for get_owned_objects commit 21a20469be7e5dc2a0008ebaf7b07abd63e0690e Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Sep 5 09:15:27 2024 -0500 indexer: use async connection for multi_get_objects commit a0e193ba62eb2f90e44c5beaf877d6a2945e6733 Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Sep 5 09:12:27 2024 -0500 indexer: use async connection for query_transaction_blocks commit dc6c4b4569722dde4d4380a6fe3919de6c65ce6d Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Sep 5 09:06:39 2024 -0500 indexer: use async connection for query_events commit 47778a2bd281a4aff635f1b51dda3ef49b9dc65e Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Sep 5 09:00:21 2024 -0500 indexer: use async connection for get_transaction_events commit 76f45f5c0ea63b5dc0389f54aaeed25fa30fe8e3 Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Sep 5 08:56:04 2024 -0500 indexer: use async connection for multi_get_transactions_with_sequence_numbers commit 88ca95177906d5978f48c8aec74732c4cb294a8f Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Sep 5 08:51:36 2024 -0500 indexer: use async connection for multi_get_transactions commit c1c0d255baaa8d5959484404d58830d99cdc94cd Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Sep 5 08:48:41 2024 -0500 indexer: use async connection for get_dynamic_fields commit 4b2777d78560611cd21fa0b53c4a2a45600bb629 Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Sep 5 08:41:20 2024 -0500 indexer: use async connection for get_object_refs commit 3a30a4d5c17e1b5f2bfce425a8f5360fefcf2235 Author: Brandon Williams <brandon@mystenlabs.com> Date: Wed Sep 4 19:37:51 2024 -0500 indexer: use async connection for get_coin_balances commit beec6c0315a6379232af7d97664a281d78edcb62 Author: Brandon Williams <brandon@mystenlabs.com> Date: Wed Sep 4 19:35:16 2024 -0500 indexer: use async connection for get_owned_coins commit ba937ca3f87905be3c08af1eb675aab0a08de1be Author: Brandon Williams <brandon@mystenlabs.com> Date: Wed Sep 4 17:11:30 2024 -0500 indexer: use async connection for get_display_object_by_type commit 58eabc52a3fac08c340f5b8840588724fff7c12c Author: Brandon Williams <brandon@mystenlabs.com> Date: Wed Sep 4 17:05:18 2024 -0500 indexer: use async connection for get_coin_metadata and get_total_supply commit 4eb829150aeef3deb91f4f85d6e8e87faa61918b Author: Brandon Williams <brandon@mystenlabs.com> Date: Wed Sep 4 16:21:06 2024 -0500 indexer: use async connection for get_checkpoints commit 7b45e7aeb14002e27f6c42cce9c48419bd2c1dcf Author: Brandon Williams <brandon@mystenlabs.com> Date: Wed Sep 4 16:18:40 2024 -0500 indexer: use async connection for get_latest_checkpoint commit 373c0ab28ce08ee08aa1c94a3422cfca8371c084 Author: Brandon Williams <brandon@mystenlabs.com> Date: Wed Sep 4 16:14:09 2024 -0500 indexer: use async connection for get_epochs commit 69563730855e2c92c64a191520b6565bbda2eaf0 Author: Brandon Williams <brandon@mystenlabs.com> Date: Wed Sep 4 16:07:08 2024 -0500 indexer: remove unused get_consistent_read_range method commit fb1fcb0653b04b2307d57df6b4387d87b06265db Author: Brandon Williams <brandon@mystenlabs.com> Date: Wed Sep 4 16:03:57 2024 -0500 indexer: use async connection for get_epoch_info commit a95f48deb0bb1ba695dc764b88b6b9638164bc9d Author: Brandon Williams <brandon@mystenlabs.com> Date: Wed Sep 4 15:39:24 2024 -0500 indexer: use async connection for get_checkpoint commit 07248c9f9b092cadf48b626f69cb93979f7efe19 Author: Brandon Williams <brandon@mystenlabs.com> Date: Wed Sep 4 15:09:57 2024 -0500 indexer: use async connection for package resolver commit 728accdb857540d1735a85279c2990b700a61c44 Author: Brandon Williams <brandon@mystenlabs.com> Date: Wed Sep 4 15:09:51 2024 -0500 indexer-writer: instantiate async connection pool commit bd96deea1e0a142b862e96f3c9befb0146ef8670 Author: Brandon Williams <brandon@mystenlabs.com> Date: Wed Sep 4 13:23:29 2024 -0500 indexer-reader: instantiate async connection pool commit 829d03ad52170dd1d833aeb8369e9c74fd28bc2e Author: Brandon Williams <brandon@mystenlabs.com> Date: Wed Sep 4 12:36:48 2024 -0500 indexer: perform database reset via async connection commit 0e78656655529c130e6b680e0962ff6204306713 Author: Andrew Schran <aschran@mystenlabs.com> Date: Thu Sep 5 17:10:00 2024 +0100 Add metric for active time of monitored futures (#19226) commit bb778828e36d53a7d91a27e55109f2f45621badc Author: phoenix <51927076+phoenix-o@users.noreply.github.com> Date: Thu Sep 5 10:43:54 2024 -0400 repair coin index (#19142) temporary PR. This PR introduces a background task to repair the `coin_index` and remove any dangling entries. The PR will be active for one release and will be reverted afterward. The background task works by iterating over a snapshot of the `coin_index`, identifying coins that no longer belong to their respective owners, and populating a list of candidates for removal(some entries might be benign) Once the candidate list is populated, the task makes a second pass over the candidates list. This time it locks the corresponding entries to prevent potential races with concurrent writes. The task then reverifies the eligibility criteria and removes the dangling entries commit 22844ae53bb2f59fdf790fadaa9ad1b7e5a7d94e Author: Jordan Gensler <jordan@mystenlabs.com> Date: Thu Sep 5 08:36:47 2024 -0400 Update zkSend docs (#19170) commit 2d019963d9bfebfcf09940e623ecafd0b6bcfcb8 Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Wed Sep 4 22:24:41 2024 -0700 Revert "Remove RandomnessStateUpdate" from ConsensusTransactionKind (#19217) ## Description It turns out BCS serializes enum purely based on the variant order. The discriminant / tag does not matter. https://github.com/diem/bcs/blob/master/README.md#externally-tagged-enumerations Also revert tagging of the enum since it is no longer useful. ## Test plan SUI_PROTOCOL_CONFIG_CHAIN_OVERRIDE=testnet scripts/compatibility/split-cluster-check.sh origin/testnet a6336e6390b31379c7d41ef0d6fba4f966fad00c --- ## 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 1ebf5f8a395ca00f7cdcfa19e988975d8ccc15a3 Author: Ashok Menon <ashok@mystenlabs.com> Date: Thu Sep 5 01:04:20 2024 +0100 test(graphql): Remove explicit cleanup_resources (#19201) ## Description These were originally added to try and deal with a deadlock issue, which was due to an issue with `inotify` on macOS, fixed by #19195. These calls are safe to remove (also note that if the test failed, they would never be hit, because the assert would cause a panic before they ran). ## Test plan Rebase on top of #19195, run the following on macOS: ``` sui$ cargo nextest run \ -j 1 -p sui-graphql-rpc \ --test e2e_tests \ --features pg_integration ``` This used to intermittently hang, but now succeeds. --- ## 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 e1abe0963b579d69471ce40bd465d63fb80f0f41 Author: Zhe Wu <halfprice@users.noreply.github.com> Date: Wed Sep 4 16:31:30 2024 -0700 Add a metric to track the number of managed files per column family in RocksDb (#19214) We don't add more detailed level to control the cardinality of the metrics. Manually tested in local cluster: <img width="1971" alt="Screenshot 2024-09-04 at 3 11 22 PM" src="https://github.com/user-attachments/assets/968bb0ac-321f-4749-bc13-e5f852c93ea1"> ## 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 bf303ab96cb7c8baeea1a6a78fdb75e32fb99a6b Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com> Date: Wed Sep 4 15:59:56 2024 -0400 Version Packages (#19212) 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.5.0 ### Minor Changes - c53baf2: Redeploy packages Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> commit c53baf24d4759ea88f7f5aaf5a11495047ef058b Author: Tony Lee <tony.lee@mystenlabs.com> Date: Wed Sep 4 15:48:55 2024 -0400 Testnet update after campaign (#19147) ## Description Package updates with latest changes ## Test plan How did you test the new or updated feature? 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 bf8a3ae6387ec3e8dc3abb15d4f4f217bf948130 Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Wed Sep 4 12:11:00 2024 -0700 [Narwhal] remove Narwhal crypto usages from Sui (#19205) ## Description This is another step in removing Narwhal integration with Sui. Narwhal crypto types used in Sui are replaced with the corresponding Sui types. There should be no difference in logic or serialized formats. ## 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 6a0adb5de7f3fb87d3aa23364f200b542e3e8b87 Author: Sadhan Sood <106645797+sadhansood@users.noreply.github.com> Date: Wed Sep 4 11:51:33 2024 -0700 Delete sst files in key range in rocksdb (#19211) ## Description This PR adds a rocksdb endpoint to delete .sst files in key range in rocksdb which is useful to prune data (in certain scenarios) without compaction. commit a22b71b70d6330f33c165198c194e4b716bc953b Author: Andrew Schran <aschran@mystenlabs.com> Date: Wed Sep 4 19:51:19 2024 +0100 add monitored scopes to CheckpointExecutor (#19209) commit aa9dd4221020dc59d7576d938d8e2954671927ae Author: phoenix <51927076+phoenix-o@users.noreply.github.com> Date: Wed Sep 4 09:11:37 2024 -0400 [data ingestion] disable inotify for macos (#19195) ## Description prevents local tests from hanging ## 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 e7437194b6e634660b9c27e7a86b2eb6f2d34d29 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Tue Sep 3 21:03:41 2024 -0700 [bridge] enable bridge on mainnet (#19200) ## Description enable bridge creation on mainnet by setting bridge is true. Before this change, the value true for testnet and devnet, but not mainnet. So this only applies to mainnet. ## Test plan ### Mainnet * expect 56, 57, 58 all have bridge = true * [old 57](https://github.com/MystenLabs/sui/blob/main/crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__Mainnet_version_57.snap) v.s. [new 58](https://github.com/MystenLabs/sui/blob/bb25a072dac4848337c111d4fefeb0256fa36cd8/crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__Mainnet_version_58.snap): https://www.diffchecker.com/AbcQx7DQ/ * [old 56](https://github.com/MystenLabs/sui/blob/main/crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__Mainnet_version_56.snap) v.s. [new 57](https://github.com/MystenLabs/sui/blob/bb25a072dac4848337c111d4fefeb0256fa36cd8/crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__Mainnet_version_57.snap): https://www.diffchecker.com/E3b9mlHd/, notably random_beacon_reduction_lower_bound: 800 in new 57, which was in old 56 * [old 56](https://github.com/MystenLabs/sui/blob/main/crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__Mainnet_version_56.snap) v.s [new 56](https://github.com/MystenLabs/sui/blob/bb25a072dac4848337c111d4fefeb0256fa36cd8/crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__Mainnet_version_56.snap): https://www.diffchecker.com/EkWIOCeQ/ this reverts [@Andrew Schran](https://mysten-labs.slack.com/team/U03TDESBNR0) ’s change of random_beacon_reduction_lower_bound , now back to 1000. ### Testnet * unlike mainnet, bridge has been set to true months ago, so expect no change for this parameter. * [old 57](https://github.com/MystenLabs/sui/blob/main/crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__Testnet_version_57.snap) v.s. [new 58](https://github.com/MystenLabs/sui/blob/bb25a072dac4848337c111d4fefeb0256fa36cd8/crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__Testnet_version_58.snap): https://www.diffchecker.com/bc7A5fVn/, no change * [old 56](https://github.com/MystenLabs/sui/blob/main/crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__Testnet_version_56.snap) vs [new 57](https://github.com/MystenLabs/sui/blob/bb25a072dac4848337c111d4fefeb0256fa36cd8/crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__Testnet_version_57.snap): https://www.diffchecker.com/XaktzhpC/ no change. notably random_beacon_reduction_lower_bound: 800 in new 57, which was in old 56 * [old 56 ](https://github.com/MystenLabs/sui/blob/main/crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__Testnet_version_56.snap)v.s [new 56:](https://github.com/MystenLabs/sui/blob/bb25a072dac4848337c111d4fefeb0256fa36cd8/crates/sui-protocol-config/src/snapshots/sui_protocol_config__test__Testnet_version_56.snap) https://www.diffchecker.com/SeNewiDN/ this reverts [@Andrew Schran](https://mysten-labs.slack.com/team/U03TDESBNR0) ’s change of random_beacon_reduction_lower_bound , now back to 1000. * effectively version 56 is a no-op for 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 4b0d129d0548a7e36dc549c499529087c8999a0a Author: Andrew Schran <aschran@mystenlabs.com> Date: Wed Sep 4 01:30:52 2024 +0100 Add monitored scope for single threaded checkpoint builder (#19197) commit 76995edaa85ea9f41d403da76954a8e047013056 Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Tue Sep 3 17:18:25 2024 -0700 [Docs] update references and metrics post Mysticeti launch (#19198) ## Description Checkpoint rate is now ~4/s post Mysticeti launch. Narwhal and Bullshark are no longer running in Sui and references to them need to be migrated to Mysticeti. ## 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 dfe05bf6411c969327945b41103be49d22b2162d Author: Pika <pzm16@tsinghua.org.cn> Date: Wed Sep 4 07:45:34 2024 +0800 Update swaps.mdx (#19187) fix typo `coin::zer()` --> `coin::zero()` ## 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 04e6b0f3e4de536e68fe757d628ab66fc30aa582 Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com> Date: Tue Sep 3 16:40:23 2024 -0700 Version Packages (#19168) 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.8.0 ### Minor Changes - 569511a: Add data to result of executeTransaction methods on Transaction executor classes ## @mysten/zksend@0.11.0 ### Minor Changes - 4bdef4a: Add support for testnet in Stashed and zkSend SDKs. ### Patch Changes - Updated dependencies [569511a] - @mysten/sui@1.8.0 - @mysten/wallet-standard@0.13.3 ## @mysten/create-dapp@0.3.18 ### Patch Changes - Updated dependencies [569511a] - Updated dependencies [012aefe] - @mysten/sui@1.8.0 - @mysten/dapp-kit@0.14.18 ## @mysten/dapp-kit@0.14.18 ### Patch Changes - 012aefe: Support passing network param through to stashed wallet - Updated dependencies [4bdef4a] - Updated dependencies [569511a] - @mysten/zksend@0.11.0 - @mysten/sui@1.8.0 - @mysten/wallet-standard@0.13.3 ## @mysten/deepbook@0.8.17 ### Patch Changes - Updated dependencies [569511a] - @mysten/sui@1.8.0 ## @mysten/deepbook-v3@0.4.3 ### Patch Changes - Updated dependencies [569511a] - @mysten/sui@1.8.0 ## @mysten/enoki@0.4.1 ### Patch Changes - Updated dependencies [569511a] - @mysten/sui@1.8.0 - @mysten/zklogin@0.7.18 ## @mysten/graphql-transport@0.2.17 ### Patch Changes - Updated dependencies [569511a] - @mysten/sui@1.8.0 ## @mysten/kiosk@0.9.17 ### Patch Changes - Updated dependencies [569511a] - @mysten/sui@1.8.0 ## @mysten/suins-toolkit@0.5.17 ### Patch Changes - Updated dependencies [569511a] - @mysten/sui@1.8.0 ## @mysten/wallet-standard@0.13.3 ### Patch Changes - Updated dependencies [569511a] - @mysten/sui@1.8.0 ## @mysten/zklogin@0.7.18 ### Patch Changes - Updated dependencies [569511a] - @mysten/sui@1.8.0 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> commit 569511aceb344ad31dea30084938bf9ccffa5bc9 Author: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com> Date: Tue Sep 3 16:20:17 2024 -0700 Add data to result of executeTransaction methods on Transaction execu… (#19202) …tor classes ## 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 f351cba7898f7a18ad9dc5a27d0fbefe6eb7dead Author: Adam Welc <adam@mystenlabs.com> Date: Tue Sep 3 16:03:49 2024 -0700 [move-ide] Fixes auto-completion for fields (#19176) ## Description This PR fixes field auto-completion in two ways: - adds support for struct fields (previously only variant fields were being auto-completed) - named fields are now listed in their definition order (which should typically be what a developer wants) - finesses auto-completion formatting (previously all fields where inserted on a single line, and now named fields are inserted on separate lines if there are more than two fields) - adds a no-field auto-completion option (for when a struct or variant is used as a type and not in pack/unpack context) ## Test plan All tests must pass commit e03a8abd7b4a4e3ef22eb405246361349e3cce49 Author: Cam Swords <cameronswords@gmail.com> Date: Tue Sep 3 15:58:14 2024 -0700 [move][move-vm] Add more benchmarks, slightly reorganize the code (#18864) ## Description This adds a few more benchmarks to the current VM benchmark suite, plus reorganizes it slightly ## Test plan `cargo bench` in the directory --- ## 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 8e713e26c9b013955ce19544c345d0626e8fce96 Author: Pankaj Jangid <pankaj.jangid@gmail.com> Date: Wed Sep 4 03:51:36 2024 +0530 Fixed incomplete sentence in the docs (#19160) - Follow the instructions here to run your own Sui Full. + Follow the instructions here to run your own Sui Full Node. --------- Included some commit chatter likely due to rebase Co-authored-by: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> commit 32c7828da902476ff344effe8467b7331bfda508 Author: Pika <pzm16@tsinghua.org.cn> Date: Wed Sep 4 06:20:09 2024 +0800 fix typo in deepbookv3-sdk.mdx doc (#19181) commit fa7419bfcfeffaa816e3232c5d6af5db67dc7ca8 Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Tue Sep 3 15:14:36 2024 -0700 Refactor ConsensusTransactionKind (#19177) ## Description A few small refactors: - Remove the deprecated RandomnessStateUpdate variant - Rename UserTransaction to CertifiedTransaction. UserTransaction will be used for the non-certified variant later. - Tag variants so serialization is unaffected when variants are reordered. Using `repr(u8)` should be compatible with the varint serialization of default tag type. ## Test plan CI. Upgrade tests in simulation and PT. --- ## 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 87ec25b6563bb38c80d8ea378ca824dd4dae9889 Author: Cam Swords <cameronswords@gmail.com> Date: Tue Sep 3 14:03:21 2024 -0700 [move][move-2024] Boolean binop optimizations (#18943) ## Description Optimize boolean binop groups to avoid extra locals during HLIR lowering, helping with metering prices. ## Test plan All tests still 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: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: commit 82bf44e58df032e5a8dd5e452c51a1aa6959f15e Author: Andrew Schran <aschran@mystenlabs.com> Date: Tue Sep 3 19:24:56 2024 +0100 Migrate users of mysten_metrics Histogram to prometheus Histogram (#19124) mysten_metrics variant is difficult to use in Grafana because its precomputation of percentiles makes it impossible to aggregate streams from multiple hosts in a statistically valid way. This keeps a few of the mysten_metrics Histogram versions around to help with the transition of exsiting users. commit dd8e82ccfc6950831a32d9644518e3e0c83ef1e1 Author: Brandon Williams <brandon@mystenlabs.com> Date: Mon Sep 2 16:34:51 2024 -0500 graphql: convert remaining tests to use ephemeral postgres db Convert remaining graphql tests to use an ephemeral pstrgres db enabling them all to be run in parallel. After this patch the graphql-test workflow takes ~7 minutes compared to ~19 minutes it used to take. commit 12890bd598786d8dd53bc1cd10bb0629e13b5bc8 Author: Brandon Williams <brandon@mystenlabs.com> Date: Mon Sep 2 16:03:05 2024 -0500 graphql: convert examples-validation_tests to use temporary db commit 4205ea4115d4149b47d9c3cfed61fe839385de56 Author: Brandon Williams <brandon@mystenlabs.com> Date: Mon Sep 2 15:56:34 2024 -0500 sui-cluster-test: convert tests to use temporary postgres db commit c412c82f07bc7fe6792ae5d0fc22a5acee40b064 Author: Brandon Williams <brandon@mystenlabs.com> Date: Mon Sep 2 15:03:17 2024 -0500 sui-indexer, sui-graphql-e2e-tests: convert tests to use TempDb commit 347c9da11e0dc0b9a62a7ae4bd2150da5b4fe4e8 Author: Brandon Williams <brandon@mystenlabs.com> Date: Mon Sep 2 14:59:05 2024 -0500 indexer: introduce TempDb and LocalDatabase Introduce LocalDatabase, a local instance of a postgres server, as well as TempDb, a way to create ephemeral postgres databases for use in testing enviornments. commit f11d10319305621b3a7200166a2db5c181169c76 Author: Brandon Williams <brandon@mystenlabs.com> Date: Mon Sep 2 14:57:35 2024 -0500 indexer: introduce async postgres connection helpers commit e66bdb5a2e2ec0e935778c76c128a9b881856b86 Author: Ashok Menon <ashok@mystenlabs.com> Date: Tue Sep 3 18:07:57 2024 +0100 feat(graphql): Remove versioning support (#19191) ## Description Removes support for multiple versions from GraphQL, including: - Version parsing - Routing by version - Associated tests - `ServiceConfig.availableVersions` in schema - `[versions].versions` in TOML ServiceConfig This change also removes the only use of some error APIs which have also been cleaned up. The Service now quotes the same version as `sui-node`, etc, so to prevent churn during tests, it has been mocked to a fixed value. ## Test plan ``` 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: Removes support for multiple versions. GraphQL's version now aligns with the `sui-node` version, and it drops support for the `ServiceConfig.availableVersions` query. - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: commit efc47d1ae5b6a9ee2bbf6a535f9478f0dda3808b Author: omahs <73983677+omahs@users.noreply.github.com> Date: Tue Sep 3 18:46:39 2024 +0200 [docs] Fix typos (#19190) [docs] Fix typos commit ceeb4c60687daf7376df8119fb49bc14826f3617 Author: Bridgerz <bridgerzoske@gmail.com> Date: Tue Sep 3 09:40:32 2024 -0700 Reintroduce soldeer dependency management and pin foundry version (#19131) ## 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 fdc8325abfd62013c83fdee06034609ae60f4c7c Author: stefan-mysten <135084671+stefan-mysten@users.noreply.github.com> Date: Sat Aug 31 04:05:56 2024 -0700 [GraphQL] Add a mutation payload size (#18017) ## Description The mutation payload can be a lot higher than a query payload, due to the possibility of passing a large transaction data (e.g., publishing a package). This PR adds a different check for when a mutation is requested, and adds a `max_tx_payload_size` variable that holds the max bytes that can be sent through a GraphQL mutation request. The total sum of `txBytes + signatures` of all GraphQL mutation or `txBytes` in a `dryRunTransactionBlock` query have to be below the `max_tx_payload_size`. The `max_tx_payload_size` is computed based on the `protocol_version -> max_tx_bytes` and a Base64 overhead as follows: `max_tx_bytes * 4 / 3` ## Test plan Added several tests. `cd crates/sui-graphql-rpc` `cargo nextest run --features pg_integration -- test_query test_mutation test_dry_run_transaction test_transaction_dry_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: - [x] GraphQL: Added a `max_tx_payload_size` variable to protect against large transaction queries. The sum of `txBytes + signatures` in all GraphQL mutation `executeTransactionBlock` nodes or `txBytes` in `dryRunTransactionBlock` nodes from a query have to be below the `max_tx_payload_size`. The `max_tx_payload_size` is computed based on the `protocol_version -> max_tx_bytes` and a Base64 overhead as follows: `max_tx_bytes * 4 / 3` Added also a check that the overall query size is not larger than `max_tx_payload_size` + `max_query_payload_size`, where `max_query_payload_size` is the `read` part of the query. - [ ] CLI: - [ ] Rust SDK: --------- Co-authored-by: Ashok Menon <ashok@mystenlabs.com> commit 44ab1f5e7e9f6bccea1ff244c09888fdd19fd02c Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Fri Aug 30 21:52:07 2024 -0700 [bridge-indexer] change live task start point (#19174) ## Description 1. now the live task's starting height is always `get_live_task_starting_checkpoint`. See the comment for more consideration. Previously we used a value in config to determine. 2. add `fn get_live_task_starting_checkpoint` and `fn get_genesis_height` to `DataSource` trait. Therefore each datasource implements their own method to pick these values to determine task ranges, as opposed to we do it on `main.rs` today. 3. clean up `fn build` for `IndexerBuilder` by moving existing parameters to elsewhere. 4. remove unused parameters in indexer config ## Test plan tests and more 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 b9dd8837bbb837229cdc9c6e6d1d1e22901c987f Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Fri Aug 30 15:52:35 2024 -0700 [bridge-indexer] fix duplicated task creation (#19171) ## Description In function `tasks()` we return only incomplete tasks. As a result, when the latest backfill tasks are done and ignored, we mistakenly use an intermediate value as the `latest target checkpoint` and use it to fill gaps. This causes duplicated tasks. This PR fixes it: 1. rename `tasks` to `get_ongoing_tasks` for semantics 2. add `get_largest_backfill_task_target_checkpoint` and use that to determine whether there is a gap 3. simplify `update_tasks` for backfill task creation 4. add some utils functions for testing. ## 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 c661699d3511facf92e30af288c062d3ba39f210 Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Aug 30 16:45:58 2024 -0500 indexer: rework config and cli arguments (#19162) This patch reworks a number of the indexer configs and cli arguments to try and centralize where the configuration for the indexer is loaded. This also cleans up the cli arguments into well defined subcommands instead of using boolean flags for deciding if a jsonrpc or indexer writer service should be started. commit 1f9fbfba5bb728286100a3f9d4d3aa0acb5e9a35 Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Fri Aug 30 14:10:02 2024 -0700 [bridge-indexer] some logs and todos (#19154) ## Description as title ## 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 f64c6ffe4aba85549eb77dac55dfe8657cbc3216 Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Fri Aug 30 13:38:30 2024 -0700 Move release notes validator into its own workflow (#19148) ## Description Move the release notes validator into its own workflow ## Test plan ``` eugene@eugene-dev ~/code/sui/ (ebmifa/fix_release_notes) $ ./scripts/release_notes.py check 19148 Found issues with release notes in 19148: - 'Protocol' is checked but has no release note. ``` ![Screenshot 2024-08-30 at 9 07 27 AM](https://github.com/user-attachments/assets/7665bad5-4b36-4faf-9e41-8195dc935156) ``` eugene@eugene-dev ~/code/sui/ (ebmifa/fix_release_notes) $ ./scripts/release_notes.py generate releases/sui-v1.31.0-release releases/sui-v1.32.0-release ## Protocol #### Sui Protocol Version in this release: `55` https://github.com/MystenLabs/sui/pull/19031: Enable Move enums in mainnet ## Indexer https://github.com/MystenLabs/sui/pull/18899: .... ``` --- ## 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: - [x] Nodes (Validators and Full nodes): and here - [x] Indexer: and here - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: commit 012aefe3c5b9b2bae6c33643932a6bff246c3ad7 Author: Jordan Gensler <jordan@mystenlabs.com> Date: Fri Aug 30 15:46:26 2024 -0400 Stashed wallet dapp-kit (#19169) ## 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 42dbb6253959e1deda9afe4f34c0d717b9d67ccc Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Fri Aug 30 12:14:33 2024 -0700 [Store] disable write stall on fullnodes perpetual db (#19134) ## Description For fullnodes that do not prune the `perpetual` DB, especially `transactions` and `effects` cfs, they can run into write stalls occasionally that makes the fullnode non operational. Since fullnodes have to accept all writes from checkpoints, throttling writes do not seem to make much sense. Write stalling on validators is left enabled. ## Test plan CI Deploy to a few fullnodes. --- ## 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 ddeffaabe0cf0ced3a235912831c62296c73d434 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Fri Aug 30 19:51:41 2024 +0100 Add decode-key command to http_kv_tool (#18990) e.g. `http_kv_tool decode-key -u https://transactions.sui.io/mainnet/cP1pPYHRXroEHhXrsD_uy-kbAcH5lZguUEPfocX0zXsIsR0GAAAAAA/ob` commit 724b54cbb8bcb6046d1ee63ba23823261d594cfb Author: Andrew Schran <aschran@mystenlabs.com> Date: Fri Aug 30 19:26:03 2024 +0100 reduce minimum random beacon shares to 800 (#19165) commit 346775946303e0e432685a7aebbe4ae108ed5e88 Author: Andrew Schran <aschran@mystenlabs.com> Date: Fri Aug 30 19:25:21 2024 +0100 Put back HandleConsensusOutput scope removed in PR #19089 (#19166) commit 4bdef4a070b590f366730a8aba77251b9a867331 Author: Jordan Gensler <jordan@mystenlabs.com> Date: Fri Aug 30 14:13:00 2024 -0400 Add testnet support to stashed (#19167) ## 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 59fe76678b288807f4e54bcd2da13cf777fb0da8 Author: wlmyng <127570466+wlmyng@users.noreply.github.com> Date: Fri Aug 30 10:38:05 2024 -0700 [indexer][graphql] Pruner prunes only epoch-partitioned tables (#19164) ## Description Currently, the pruner assumes that all partitioned tables are partitioned on epoch, which is an issue since `objects_version` is not partitioned by epoch. Modify the pruner so that it will filter out non-epoch-partitioned tables, and otherwise do the same thing. Change `EPOCHS_TO_KEEP` from an env variable to a config, so we can pass in test values through the transactional test runner, and a prune.move test to validate that we prune epoch data without any trouble. ## Test plan prune.move --- ## 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 131004734a2bdd8bf626eee8e7c9e2147f69eb89 Author: Cam Swords <cameronswords@gmail.com> Date: Thu Aug 29 21:22:43 2024 -0700 [move][move-2024] Add match fix for typing around literal switches, plus tests (#19133) ## Description This addresses a bug where `abort` was causing mistyped literal arm binders in match compilation. It also addresses some false-positive dead code complaints that I discovered while fixing the bug up. Longer-term, it would be nice to eliminate temp binders of the form `#%1: _|_ = unreachable` from HLIR generation so that CFGIR can invariantly ensure none exist, catching these sorts of issues, but due to multiple-binding forms `(x, y, z) = (abort 0, abort 1, abort 2)` and the current structure of the pass, that is work left for another day. ## Test plan Several more tests to cover these cases, though still never enough. --- ## 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 070a2c38134a4ff4afaca150218289a3c8927603 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Fri Aug 30 01:58:44 2024 +0100 Improvements to thread stall monitor (#19151) Use a watchdog thread for monitoring thread stalls. This allows us to detect a thread stall while it is still occurring, rather than only after the fact. commit 07f8b22d5615ad2bcb355d32b02317e024987da2 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Fri Aug 30 01:39:57 2024 +0100 Caching resolver for Tonic. (#19152) On some platforms (GKE) the local resolver does not seem to cache aggressively, which results in high variance for requests commit 89f3a3a86719c5f7c64352072cc777f6e7e585b8 Author: Tim Zakian <2895723+tzakian@users.noreply.github.com> Date: Thu Aug 29 17:09:17 2024 -0700 [execution] Update how verifier constants for signing are set (#19094) ## Description Since verifier constants for limits and metering for signing do not need to be protocol versioned, a previous PR moved some of these constants out of the protocol config. This PR takes that one step further by allowing it to be set by the node config instead of being hardcoded into the binary. The default is that these should remain unset in the node config, but this gives the ability to easily change them later on. ## Test plan Make sure existing tests 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: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: commit 63f7e47af0765ca7c6f318bb03e90c2ca6eb399a Author: Adam Welc <adam@mystenlabs.com> Date: Thu Aug 29 17:01:54 2024 -0700 [move-ide] A fix to empty variant autocompletion (#19150) ## Description This fixes a discrepancy in auto-completion behavior between when an identifier starts with a lower-case character and upper-case character. Prior to this PR, the in the following code fragment, auto-completion in `foo` would offer `bar` as a suggestion (even though `bar` starts with lower case and `B` is upper case, but that's VSCode not filtering on capital letters): ``` module test::M1 { fun bar() :u64 { 42 } fun foo(): u64 { B } } ``` It would however not offer the same suggestion in the following code fragment: ``` module test::M1 { fun bar() :u64 { 42 } fun foo(): u64 { b } } ``` The reason for it was that I…
Signed-off-by: Carlos Baez <c@mamoru.ai>
Signed-off-by: Carlos Baez <c@mevton.com>
commit a85ce0b Author: Carlos Baez <c@mevton.com> Date: Thu Oct 17 16:24:08 2024 +0200 Update to version 1.35.1
commit 08e39ad Author: Carlos Baez <c@mevton.com> Date: Tue Oct 22 15:42:51 2024 +0200 Updated mamoru to version 35.2
commit 29aaebf Author: Carlos Baez <c@mamoru.ai> Date: Thu Oct 24 15:30:34 2024 +0200 Updated to testnet 1.36
commit 72994fe5ee4f4d12c31a8a888c4f7c384e765a4b Author: Carlos Baez <c@mamoru.ai> Date: Mon Oct 28 10:25:51 2024 +0100 Squashed commit of the following: commit 3ada97c109cc7ae1b451cb384a1f2cfae49c8d3e Author: Ashok Menon <ashok@mystenlabs.com> Date: Fri Oct 25 23:58:47 2024 +0100 sui-system(v1.36): fix next epoch stake book-keeping (#20036) ## Description Update `next_epoch_stake` when redeeming a fungible staked sui. This value is used as a sanity check that everything matches up at the end of an epoch. ## Test plan ``` sui$ cargo nextest run -p sui-framework-tests ``` ## 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. - [x] Protocol: Protocol bumped to 67, introducing a framework change to fix next_epoch_stake book-keeping while redeeming fungible staked sui. - [ ] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Arun Koshy <arun@mystenlabs.com> Co-authored-by: Sam Blackshear <sam@mystenlabs.com> Co-authored-by: Emma Zhong <emmazhongjy@gmail.com> commit 81da0c70ea1f862a8aed0cafad781a86b0bf65bb Author: Ge Gao <106119108+gegaowp@users.noreply.github.com> Date: Thu Oct 24 18:50:57 2024 -0400 pick: indexer: handle sui safe mode (#20015) (#20025) ## Description title ## 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: ## 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 29ff3e3f53fc7aa590da97d1033265645be1ea1a Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Wed Oct 23 09:12:40 2024 -0700 [cherrypick] Fix logic for end-of-epoch checkpoint when dkg has failed (#19976) If DKG has failed, we might accidentally construct two end of epoch checkpoints. commit 7a166ee0e58d036fbf626ba6bc21a3c2ec92225e Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Tue Oct 22 17:24:48 2024 -0700 [cherrypick] Fix one more possible crash in execution_driver (#19870) Don't even try to execute certs from prior epochs commit a11f7b5d868396e0d23588d3713f6a70a43b293e Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Tue Oct 22 11:05:16 2024 -0700 [cherrypick] Fix rare crash when a transaction executes after its shared object assignments have been deleted. (#19949) Fix rare crash when a transaction executes after its shared object assignments have been deleted. This is only possible if a second execution of the same tx starts concurrently, and the shared version assignments have been deleted as we are checking for object availability in TransactionManager commit bf79606ff4eb7c666629f14157715c1219504fed Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Mon Oct 21 20:23:46 2024 -0700 [cherrypick] Must not wait on notify_read_effects after epoch ends, on a transaction that might be reverted (#19934) Found this crash after adding the delay failpoint seen in this PR. I don't quite understand why that exposed this crash. commit 8d34dfbb45414303cfd448c94bb04dcea0231369 Author: wlmyng <127570466+wlmyng@users.noreply.github.com> Date: Wed Oct 23 10:06:00 2024 -0700 [indexer] committers should read watermark hi directly from table (#1… (#19981) …9980) ## 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 675ea8cf5437e6ade14d6c966ff8ff51a34b5357 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Tue Oct 22 14:47:53 2024 -0700 [cherrypick] Fix possible (but probably rare) race condition (#19951) (#19967) Fix crashes in execution_driver due to inability to execute transactions. -------- We must hold the lock for the object entry while inserting to the `object_by_id_cache`. Otherwise, a surprising bug can occur: 1. A thread executing TX1 can write object (O,1) to the dirty set and then pause. 2. TX2, which reads (O,1) can begin executing, because TransactionManager immediately schedules transactions if their inputs are available. It does not matter that TX1 hasn't finished executing yet. 3. TX2 can write (O,2) to both the dirty set and the object_by_id_cache. 4. The thread executing TX1 can resume and write (O,1) to the object_by_id_cache. Now, any subsequent attempt to get the latest version of O will return (O,1) instead of (O,2). This seems very unlikely, but it may be more likely under the following circumstances: - While a thread is unlikely to pause for so long, moka cache uses optimistic lock-free algorithms that have retry loops. Possibly, under high contention, this code might spin for a surprisingly long time. - Additionally, many concurrent re-executions of the same tx could happen due to the tx finalizer, plus checkpoint executor, consensus, and RPCs from fullnodes. Unfortunately I have not been able to reproduce this bug, so we cannot be sure that this fixes the crashes we've seen. But this is certainly a possible bug. ## 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 a85ea98b9982e1156fedd9bd149ee77483587cf5 Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Tue Oct 22 19:08:14 2024 +0000 Sui v1.36.2 Version Bump commit cf3fee71b907969b9308bfa83802c16b9b29bc70 Author: Brandon Williams <brandon@mystenlabs.com> Date: Mon Oct 21 21:17:57 2024 -0500 Revert "rest: stabalize some checkpoint apis" (#19950) This reverts commit 13c1ec7b2a7a18e304444d63277c20f8f52a1bc2. ## 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: Eugene Boguslavsky <eugene@mystenlabs.com> commit 032ac7d9ad2367b43be0ccd444d18d6d4f0ca001 Author: Brandon Williams <brandon@mystenlabs.com> Date: Mon Oct 21 20:41:26 2024 -0500 1.36 index fix (#19947) ## 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: Eugene Boguslavsky <eugene@mystenlabs.com> commit f4695a93815a8e2ce43f558ef1b0ccf0e96ff51d Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Tue Oct 22 00:37:13 2024 +0000 Sui v1.36.1 Version Bump commit e3e5ac7113a7bff11982ef44492618e9ee133e61 Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Oct 18 17:07:29 2024 -0500 jsonrpc_index: bump coin index version to 1 commit 0bf87c09f2d35a3567f3892ed648671adf656d75 Author: wlmyng <127570466+wlmyng@users.noreply.github.com> Date: Fri Oct 18 17:11:08 2024 -0700 [indexer] align watermarks table schema in live indexer to alt indexe… (#19922) …r (#19908) ## Description Since watermarks table isn't being written to yet, modify the db schema to match alt-indexer. The changes are to rename entity -> pipeline, tx_hi_inclusive -> tx_hi, and pruner_hi_inclusive -> pruner_hi and make it a non-null column. This works out nicely for graphql, since the transactions query implementations expect a half-open interval. Also simplifies pruner logic, since it can write the `reader_lo` as `pruner_hi` after delay, and table pruners will delete between `[table_data, pruner_hi)`. ## 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: ## 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 1c9e15645e107ec85bb933f9ee4d38f070b8db40 Author: wlmyng <127570466+wlmyng@users.noreply.github.com> Date: Fri Oct 18 15:39:20 2024 -0700 [indexer] quick fix for events in descending order without cursor (#1… (#19919) …9902) ## Description This PR fixes a bug where events queries in descending order without a cursor return no results ## 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: ## 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 95dcb93d79d23bc32adc8fd05d70c92e6db82b49 Author: Ge Gao <106119108+gegaowp@users.noreply.github.com> Date: Fri Oct 18 17:21:21 2024 -0400 Pick: indexer handler: limit unprocessed buffer size #19913 (#19917) ## Description without this change, the unprocessed buffer will grow unboundedly until OOM it did not manifest on previous processor b/c it has sleep codes of ``` _ = tokio::time::sleep(std::time::Duration::from_secs(config.sleep_duration)) ``` and `sleep_duration` is 5 seconds. ## Test plan - correctness via the added objects_snapshot test - oom via experiment result on benchmark env with mem usage [link](https://app.datadoghq.com/metric/explorer?fromUser=false&start=1729280070529&end=1729283670529&paused=false#N4Ig7glgJg5gpgFxALlAGwIYE8D2BXJVEADxQEYAaELcqyKBAC1pEbghkcLIF8qo4AMwgA7CAgg4RKUAiwAHOChASAtnADOcAE4RNIKtrgBHPJoQaUAbVBGN8qVoD6gnNtUZCKiOq279VKY6epbINiAiGOrKQdpYZAYgUJ4YThr42gDGSsgg6gi6mZaBZnHKGABuMMiZUggYojoAdOqqblhNeBoY8MAA1ngARnBOkb7yGNnI2vKZALTDIpmMHtp9AAQU67Ui9Y3ao1FwyBp4EHOiAsQ6POuDWOvADlCH6jwgPAC6VK7ueJihcK-VT-DAxUrxD7fEAaORoHKgCbwhAIHJJHAwJyZAEaCCZRJoRpOOSKZTpQlQAlE+hMZQiNweNAffgQeyYLDEhRowkiJRfHh8GHyQkIADCUmEMBQIn+aB4QA) --- ## 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 775f2cb85e6113639f15877127ed66c1f8ad4671 Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Thu Oct 17 19:25:36 2024 -0700 Sui `v1.36.0` Framework Bytecode snapshot (#19904) ## Description Sui `v1.36.0` Framework Bytecode snapshot ## Test plan `cargo run --bin sui-framework-snapshot` commit 3e8d2312106e66e9b24e6acfcbdb721aa1a78651 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Thu Oct 17 18:44:08 2024 -0700 Revert congestion control change, use 3 txn per commit limit. (#19900) commit d239be81239619feefeb9fbc007f6d6c78335961 Author: wlmyng <127570466+wlmyng@users.noreply.github.com> Date: Thu Oct 17 15:51:31 2024 -0700 [indexer][watermarks][3/n] pruner updates watermarks lower bound (#19650) ## Description With the committer writing upper bounds, the pruner can now read from watermarks and determine whether the lower bounds need to be updated. Pruner does this by spawning a separate task, without touching the extant pruning logic (so all things are as is.) It will ignore any entries from watermarks that do not correspond to a `PrunableTable` variant. Part of a stack of PRs for watermarks simplify setting up test indexer: https://github.com/MystenLabs/sui/pull/19663 update pruner config: https://github.com/MystenLabs/sui/pull/19637 committer writes upper bounds https://github.com/MystenLabs/sui/pull/19649 pruner writes lower bounds: https://github.com/MystenLabs/sui/pull/19650 pruner prunes (wip) ## 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 446d7d5f111330bf915f9d5bf4e96ff4cf7aa857 Author: Bridgerz <bridgerzoske@gmail.com> Date: Thu Oct 17 21:57:20 2024 +0100 Fix ViewSuiBridge Bridge CLI command (#19869) ## Description Handle the case where a bridge committee member is no longer a validator. ## Test plan Tested locally. commit 67ac5c85a7df1c897336f987a7080f5887923f9a Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com> Date: Thu Oct 17 13:27:15 2024 -0700 Version Packages (#19898) 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.13.0 ### Minor Changes - 477d2a4: Add new errors to ExecutionFailureStatus enum ## @mysten/create-dapp@0.3.27 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 - @mysten/dapp-kit@0.14.27 ## @mysten/dapp-kit@0.14.27 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 - @mysten/wallet-standard@0.13.8 - @mysten/zksend@0.11.8 ## @mysten/deepbook@0.8.22 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 ## @mysten/deepbook-v3@0.12.1 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 ## @mysten/enoki@0.4.6 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 - @mysten/zklogin@0.7.23 ## @mysten/graphql-transport@0.2.24 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 ## @mysten/kiosk@0.9.22 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 ## @mysten/suins-toolkit@0.5.22 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 ## @mysten/wallet-standard@0.13.8 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 ## @mysten/zklogin@0.7.23 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 ## @mysten/zksend@0.11.8 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 - @mysten/wallet-standard@0.13.8 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> commit 477d2a41ae8c6a2af6afe4a241cdce73cda6aef9 Author: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com> Date: Thu Oct 17 13:12:59 2024 -0700 [ts sdk] Add new errors to ExecutionFailureStatus (#19897) ## 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 c3562a362bc04802e7ae074ab9947fa9697e4488 Author: Andrew Schran <aschran@mystenlabs.com> Date: Thu Oct 17 16:04:36 2024 -0400 Enable signed Discovery messages by default (#19895) ## Description Followup to PR #19587. ## Test plan As tested in first 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: - [x] Nodes (Validators and Full nodes): Adds authentication signatures to Discovery protocol messages. - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: commit 491dcfe38a6d23e6771ebe1a33a674a0dbbe7d05 Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Oct 17 14:30:02 2024 -0500 ci: set log level to error commit a762240611457bf262699713bf3db71004631139 Author: Jonas Lindstrøm <jonas-lj@users.noreply.github.com> Date: Thu Oct 17 20:26:58 2024 +0200 Extend fixed-point numbers module (#19336) ## Description - Deprecated `fixed_point32` - Added `uq32_32` to replace it ## 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: - [X] CLI: Move `fixed_point32` has been deprecated for a new `uq32_32` module - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Todd Nowacki <tmn@mystenlabs.com> commit 0393579cd214511d5af61ba6fe052c42a34ff8a9 Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com> Date: Thu Oct 17 12:03:38 2024 -0400 Version Packages (#19892) 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.12.0 ### Minor Changes - 60f96ee: New stablecoin pool params Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> commit 60f96ee37c2c7c251ab07f495190ef89ad479ed8 Author: Tony Lee <tony.lee@mystenlabs.com> Date: Thu Oct 17 11:28:22 2024 -0400 New Deepbook Pool Params (#19891) ## Description New Deepbook Pool Params ## Test plan How did you test the new or updated feature? Mainnet ## 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 df56cb03c8c04653a43cc076b4450d2cecb32e8e Author: Patrick Kuo <patrickkuo@me.com> Date: Thu Oct 17 12:59:38 2024 +0100 [Rosetta] - serialize total_coin_value to string instead of number to prevent precision lost (#19580) ## Description As titled ## 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: nikos.kitmeridis <nikos.kitmeridis@mystenlabs.com> commit 8adfe733b6977acb879583a1cba354d419d5c707 Author: jk jensen <jk@mystenlabs.com> Date: Wed Oct 16 16:29:58 2024 -0700 [suiop][image] enable q or esc to quit watching (#19881) ## Description Make it so the user can hit 'q' or 'esc' to exit the image watch interface ## Test plan https://github.com/user-attachments/assets/578ab67e-763e-4cd8-a4a7-1ac6006a4004 --- ## 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 6d87bd24f2f5e88757d697a21cc13398f0f932a1 Author: Jort <jordan.jennings@mystenlabs.com> Date: Wed Oct 16 16:01:58 2024 -0700 [move] add return locations to source map (#19885) ## Description store the return loc's in source maps ## 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 6f3ce94e08d727635236980d6332bd91d6d46c78 Author: Tim Zakian <2895723+tzakian@users.noreply.github.com> Date: Wed Oct 16 14:18:48 2024 -0700 [move] Initial trace format and implementation (#18729) (#19858) This PR adds the initial trace format, and the implementation of this trace format in the VM. I've gone through the tracing format with most of you synchronously so won't write out all the details here (but I will take it on to write a spec for the trace format once this is done so other folks can use it when consuming this format). Happy to go through it at any point in real time. Other TODO: right now the `MoveValue`s only support serialize and not deserialize back into Rust so we can only push a trace out from Rust but not consume it. The next thing I'm working on right now is adding support for that, and it may be either an update to this PR, or an additional PR depending on how involved that is... Tests and integration of this into the Move CLI (not the Sui CLI yet) is in the PR above this one. This keeps the tracing largely feature-gated in the VM, and the only additional overhead/change at runtime with `gas-profiling` turned off is the additional argument, but this argument is unused and should be optimized away (and at worst only add essentially no overhead). I kept the `gas-profiling` feature flag and gated the new tracing under it. The plan being to eventually rename that flag at the same time that we update test coverage and gas profiling to use this new tracing format as well (but that's for a couple future PRs!). https://github.com/MystenLabs/sui/pull/19452 is stacked on top of this and cleans up the insertion points of the tracer into the VM. --- 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: ## 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 cbffe5b8522ed7723371cf8fcfa802f47c1178ed Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Wed Oct 16 12:51:13 2024 -0700 Update mac os runner (#19883) ## Description `macos-latest-xl` is being depricated. ![Screenshot 2024-10-16 at 12 44 20 PM](https://github.com/user-attachments/assets/d0f49345-2538-4836-bdbf-9975d6df5299) ## Test plan 👀 commit b78eb1098ee2fcd08fb1576d049c354dd57fc8ca Author: Anastasios Kichidis <akihidis@gmail.com> Date: Wed Oct 16 20:00:19 2024 +0100 [Consensus] fix amnesia recovery boot run (#19774) ## Description Currently if someone recovers their node within epoch `R` with a snapshot that's from epoch `< R-1` , consensus will not start in amnesia recovery mode in epoch R as the boot counter will have already been incremented as node is trying to catch up from earlier epochs. This is problematic as it defies the whole point of the automatic amnesia recovery. Instead on this PR we track consensus participation activity from earlier epochs/run and only then we increment the boot counter. Otherwise we keep the boot counter to `0` so we effectively enforce amnesia recovery until we get to an epoch where the node is able to participate. In this case participate means "able to have performed at least one commit". ## Test plan CI/PT --- ## 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 62f72cdea33c0782f3116dfd194ae81c562a0b43 Author: jk jensen <jk@mystenlabs.com> Date: Wed Oct 16 10:57:07 2024 -0700 [suiop][image] add --watch/-w to continuously query image build (#19872) ## Description Add new arg to continuously query image remote builds ## Test plan https://github.com/user-attachments/assets/a6b3ec5d-605d-48f2-a241-9ade8bfbfbf3 --- ## 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 692f6c6a89b2e32659574fa20828222d289b102d Author: Tim Zakian <2895723+tzakian@users.noreply.github.com> Date: Wed Oct 16 10:55:35 2024 -0700 [move][ir-to-bytecode] Add source locations to `Type` in the Move IR (#19875) ## Description Plumbs in source locations for `Type`s in the Move IR. This will be useful for adding return types to the Move source maps. ## Test plan Make sure existing types 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: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: commit 31b15dde1758a6ba7d7029ecbd74804180f4800c Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Wed Oct 16 08:51:49 2024 -0700 [bridge] remove test-cluster's dependency on sui-bridge crate (#19840) ## Description as title. It also removes the transitive dependency of other crates on sui-bridge. ## Test plan 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 8fec5f8caeaf0d0d5a9d13c776fc8dd80219719e Author: Arun Koshy <97870774+arun-koshy@users.noreply.github.com> Date: Wed Oct 16 01:48:58 2024 -0700 Add known peers for p2p network connection monitor (#19815) ## Description This will enable quinn stats for p2p network --- ## 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 f8e33f58104e6ed0d38e756beb0572e3bc263f10 Author: Arun Koshy <97870774+arun-koshy@users.noreply.github.com> Date: Wed Oct 16 00:58:39 2024 -0700 [consensus] Migrate sui to Mysticeti connection monitor (#19814) ## Description Will follow up to ensure that known peers are set in sui via discovery so that metrics will be updated. Also will be adding TonicConnectionMonitor for Mysticeti to use. --- ## 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 2224cf355dc25d6ded1d9a4b93c6f31939b80a01 Author: Brandon Williams <brandon@mystenlabs.com> Date: Tue Oct 15 20:53:11 2024 -0500 rest: enable resolving of literals (#19857) Improve the format of `UnresolvedTransaction` as well as introduce the ability to resolve un-serialized pure argument literals. Example of JSON payload of an `UnresolvedTransaction`: ``` { "inputs": [ { "object_id": "0x2d7f57570815c43eb485be9018caabd11ac863e9d49b1d9e33b3f4ac40cadc72" }, { "value": 1 }, { "value": "0xc6fc0e38458632b1dd1d60b3a833865268a0faebe36864c71fb9805bd5a116cf" } ], "commands": [ { "command": "split_coins", "coin": { "input": 0 }, "amounts": [ { "input": 1 }, { "input": 1 } ] }, { "command": "transfer_objects", "objects": [ { "result": [ 0, 1 ] }, { "result": [ 0, 0 ] } ], "address": { "input": 2 } } ], "sender": "0xff69fdb72bfc6ff5a337ff01c650fb0ce72447105ff050c2039c6b5b267b04a7" } ``` which is resolved into the following `Transaction`: ``` { "version": "1", "kind": { "kind": "programmable_transaction", "inputs": [ { "type": "immutable_or_owned", "object_id": "0x03517c0699f36a1df2e93b6c18db815d8f247a853465aec9cc48f9ceae4561ca", "version": "1", "digest": "7WyoNoiZQmTj75viHKYhA48tCSJ5CFqA6HtzJ55hehxP" }, { "type": "pure", "value": "AQAAAAAAAAA=" }, { "type": "pure", "value": "JtcBTFgpW/n7HipqY6oz4bka0J8PyUPlSQbjR5lCq0Y=" } ], "commands": [ { "command": "split_coins", "coin": { "input": 0 }, "amounts": [ { "input": 1 }, { "input": 1 } ] }, { "command": "transfer_objects", "objects": [ { "result": [ 0, 1 ] }, { "result": [ 0, 0 ] } ], "address": { "input": 2 } } ] }, "sender": "0xb73663359e72a36122aaf3f08629fa684b667e0fe6e356b119c623c7c9459888", "gas_payment": { "objects": [ { "object_id": "0x94b1bef12a8db7b60fa89ad9bc2966d661a3a1002d921ada981e700648470304", "version": "1", "digest": "9kcUt38E4i8g5DartpUdBxW9m5n1u8AaJLyintWiddd6" }, { "object_id": "0xacc757731db589ef093130e0d6c839e809f9673a51be92667ecbcd486db73995", "version": "1", "digest": "2U3xxN1G9vf4raCGUHz6AejqVMWJCkEBmsbLgqwae5be" }, { "object_id": "0xd0891f6c419f3dd1a531e70779979f3c7aa91d13ae9125ffbae05f3960ee4249", "version": "1", "digest": "DkJRVUKfwV9pZ1NYEydvKwGpJei7YDDRemfRahruBDsQ" }, { "object_id": "0xde8bdc786f18e7d1b9d2ac975acd640952fd3c75303e4f35d0657f90ab7e947e", "version": "1", "digest": "8RJuNzFawuVbFz6zSH1GMeJuwiHfT2ZzfHKHdr6LrJrU" } ], "owner": "0xb73663359e72a36122aaf3f08629fa684b667e0fe6e356b119c623c7c9459888", "price": "1000", "budget": "5952000" }, "expiration": null } ``` commit 6cc663c639ca3fa1421db7021e0af33b0466e1be Author: wlmyng <127570466+wlmyng@users.noreply.github.com> Date: Tue Oct 15 18:42:57 2024 -0700 [indexer][writer] Add first_tx_sequence_number to epochs table to decouple from checkpoints table (#19773) ## Description The `epoch_total_transactions` field on `epochs` table is calculated today from `checkpoints.network_total_transactions`, which is not ideal since the latter is prunable and `epochs` will not be pruned for the foreseeable future. To remove this dependency, we add `first_tx_sequence_number` to the `epochs` table at epoch boundary. That is, the network total transaction count from the final checkpoint of the epoch becomes the first tx sequence number of the new epoch. This also means that at epoch boundary, the current-to-be-previous epoch's `epoch_total_transactions` is derived from the checkpoint's network total transactions - the epoch's `first_tx_sequence_number`. Consequently, this will also help in the pruner implementation, as given an epoch we'd like to know the corresponding cp and tx. This encompasses just the writer change. Before updating the read path, we will need to backfill the instance. ## 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 71f9203abbf9bf0a3a887e1f2157a7caed7bcef2 Author: Brandon Williams <brandon@mystenlabs.com> Date: Tue Oct 15 10:19:36 2024 -0500 jsonrpc: introduce a meta column family for tracking index initialization Introduce a meta column family that is used to track initialization of the Index DB itself as well as the status of the various column families themsevles. commit 814af2a99e0e66bda4fec1748082ce4af7fd3137 Author: Brandon Williams <brandon@mystenlabs.com> Date: Tue Oct 15 10:18:02 2024 -0500 jsonrpc, rest: reduce batch size to 128MB before writting Reduce the minimum batch size to write out during indexing the live object set from 256MB to 128MB, these smaller batch sizes resulted in a small improvement to index initialization. commit d7e977a0ac58b885a98c4967e3e82cce43e720ff Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Oct 11 15:24:26 2024 -0500 jsonrpc: add test for sorted coin balances commit c3371a28c783ff1e54b71c873b98f80b394f30a3 Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Oct 11 14:07:40 2024 -0500 jsonrpc: initialize new coin_index_2 Initialize the new coin_index_2 index and clear the old coin_index column family. commit 47ba7e4684147b91cbf0fa628ce83f4a4b80d3bc Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Oct 11 12:47:08 2024 -0500 jsonrpc: introduce coin_index_2 with coins sorted by balance Introduce a new coin_index_2 index with coins sorted by balance in decreasing value (sorted high to low). commit 6159973ae01f7b74505271d5ae76681f6594fe59 Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Oct 11 10:25:19 2024 -0500 core: factor out parallel live object indexing Factor out the parallel live object indexing, used for initializing the rest indexes, into more general purpose and reusable logic. commit 4ad76b5679ec0e11b635537074b552cc96d584ba Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Oct 11 09:07:27 2024 -0500 jsonrpc: move indexes from sui-storage to sui-core commit 99cebd9469dea1c2bbbd73d4cd6fb8284203a93a Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Oct 11 08:45:29 2024 -0500 db_tool: remove loaded_child_object_versions search match arm commit 455e6c981e2af4da7bcd91e1e6642b3f8a10cb5a Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Tue Oct 15 16:00:17 2024 -0700 Fix node operator doc quote (#19874) ## Description Fix node operator doc quote ## Test plan Before: ![Screenshot 2024-10-15 at 3 31 55 PM](https://github.com/user-attachments/assets/c6aabc7b-328c-4404-be4a-b8b5c124e111) After: ![Screenshot 2024-10-15 at 3 32 00 PM](https://github.com/user-attachments/assets/3ef6d6dc-516a-4771-9a2f-a898610893bb) commit 3be7841e208731a69b8dd7ad5b39fa94f92fe59f Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Tue Oct 15 15:28:22 2024 -0700 Add release info for sui-full-node doc (#19808) ## Description Add release info for sui-full-node doc ## Test plan @ronny-mysten ! --------- Co-authored-by: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> commit ee100a7ed7e4cc6503fb5e7b94349151f24597e0 Author: techdebt-99 <150741822+techdebt-99@users.noreply.github.com> Date: Tue Oct 15 16:21:56 2024 -0600 Update sponsor-txn.mdx (#19873) ## 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 8fa9f571a26f3e3faeec78afca706c8eedb2b283 Author: Zhe Wu <halfprice@users.noreply.github.com> Date: Tue Oct 15 14:31:16 2024 -0700 Use more realistic cap factor in simtest (#19862) ## Description So that we can exercise cap factor is higher and lower than the gas budget. ## Test plan Updating 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 e2c7aa1f4e3d0facbff0af78aad5bda283bc145e Author: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> Date: Tue Oct 15 15:31:04 2024 -0600 [docs] Update dbv3 content (#19867) ## Description DBv3 is now on Mainnet. Makes the sentence removed somewhat pointless. ## 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 25c52c659ff00c0c54834de73760b38b6dbca938 Author: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com> Date: Tue Oct 15 13:57:16 2024 -0700 [gql-transport] fix rawInput for transaction queries (#19866) ## 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 aa2ca1d79fc3de862e398716f044337b6757acc1 Author: Tom Cat <48447545+tx-tomcat@users.noreply.github.com> Date: Wed Oct 16 03:31:17 2024 +0700 [Linter] Redundant ref deref (#16491) ## Description This lint rule detects and reports unnecessary temporary borrow operations followed by a dereference and a local borrow in Move code. It aims to improve code efficiency by suggesting direct usage of expressions without redundant operations. Implementation The lint rule is implemented as follows: A temporary borrow (TempBorrow) Followed by a dereference (Dereference) Where the dereferenced expression is either a BorrowLocal, Borrow, or another TempBorrow ## Test plan Added more use case including false positive, false negative case ## Release notes - [ ] Protocol: - [ ] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: --------- Co-authored-by: jamedzung <dung.dinhnguyen@digitalavenues.com> Co-authored-by: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Co-authored-by: Cameron Swords <cameron.swords@mystenlabs.com> commit 6b231597e707bae887ca038d670ba3aa02775d37 Author: pei-mysten <147538877+pei-mysten@users.noreply.github.com> Date: Tue Oct 15 11:59:35 2024 -0700 [docker] fix dockerfile for kaniko (#19865) ## Description kaniko doesn't like `*` wildcard, so have to be a little bit smarter. ## Test plan had a successfully built from kaniko. I pulled it down and inspected manually, binaries are ther --- ## 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 8aac6c2cfcbc48efd1ccb34ea8cfd28eae99b701 Author: Tony Lee <tony.lee@mystenlabs.com> Date: Tue Oct 15 14:44:56 2024 -0400 Faucet Routes (#19692) ## 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 e510867bd334fdd7b95bf0dab2ea7ce6b49f2409 Author: nikos-terzo <139557324+nikos-terzo@users.noreply.github.com> Date: Tue Oct 15 21:17:19 2024 +0300 Update typescript sdk examples (#19816) ## Description Update Typescript SDK examples in README to work ## Test plan Copy-pasted changed code to a new project depending on '@mysten/sui' and checked for no relevant typescript errors. --- ## 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 4241c352fff0d71b40ec3148e62b558877c82d13 Author: Tim Zakian <2895723+tzakian@users.noreply.github.com> Date: Tue Oct 15 11:06:54 2024 -0700 [move][docgen] Render string constants for error constants (#19823) ## Description This updates how constants annotated with `#[error]` are rendered in docgen. This also adds the `#[error]` annotation on them in the generated documentation. Note that we don't try to render all bytearrays as strings, but only constants with the `#[error]` annotation to avoid rendering normal bytearrays strings. ## Test plan Added a test to make sure we render error-annotated consts as we expect. commit 4357bfa20c4a4eb1675f2f31e32a34b8f5956db2 Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Tue Oct 15 10:35:55 2024 -0700 Remove mysten-tap sui.rb update (#19861) ## Description Remove mysten-tap sui.rb update ## Test plan 👀 commit 1e72cfbe5a269b880245c4de777a8126c4d3557f Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Tue Oct 15 10:07:29 2024 -0700 [db] allow putting larger layer in higher levels (#19854) ## Description A followup to #19770. For cfs larger than 250GB, they need to be able to shard the files. ## Test plan Applied the new setting to other large cfs (transactions, effects) on fullnodes. --- ## 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 34416bfce4f949c7ba07e08a47535f15f59dbf4a Author: Anastasios Kichidis <akihidis@gmail.com> Date: Tue Oct 15 13:26:52 2024 +0100 [Consensus] DagState to evict blocks based on GC round (#19465) ## Description Currently we evict the cached ref entries in DagState whenever we `flush`. At this point we evict the entries for each authority by dropping all the blocks which are `<= evict_round`, where `evict_round = authority_latest_commit_round - CACHED_ROUNDS` . The `CACHED_ROUNDS` here allow us to keep around for a little longer committed blocks. Of course all the blocks that are `> evict_round` are kept. This can work fine so far where we don't use GC , as we expect eventually to include blocks from other peers as weak links - no matter how far back they are - and that will move the `authority_latest_commit_round` and trigger the eviction of their blocks from our memory. Now with GC we don't have those guarantees. It is possible to get to a scenario where even a group of slow nodes that are constantly behind `gc_round`, they keep proposing but their blocks never get committed. Although their blocks should not end up in others DAGs , they will remain in their own and fill up their memory. Overall, the current approach will provide weaker guarantees. This PR is changing the eviction strategy so it's driven by the `gc_round`. Doing though the eviction purely on the `gc_round` will change a lot the semantics of the `DagState` as one of the intentions was to keep recent cached data from each authority. That would also be particularly visible for authorities for which we do not have frequent block proposals, as we could end up always evicting all their blocks if they are behind the `gc_round`. Then this would not allow us to do certain operations we used to do before with cached data(ex get latest cached block per authority). For that reason this PR is changing a bit the semantics of the `CACHED_ROUNDS` and from now on it will be the minimum/desired amount of rounds we want to keep in cache for each of authority. The eviction algorithm will still attempt to clean up records that are `<= gc_round`, but it will also make sure that `CACHED_ROUNDS` worth of data are kept around. Especially for more edge case situation where a node has not produced blocks `> gc_round`, we guarantee to keep `CACHED_ROUNDS` even when all of them are `<= gc_round`, but we'll eventually evict anything before - practically like a moving window. ## Test plan CI/PT --- ## 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 c663b6325e0c2688e3e474165a6c8e7693b6fd11 Author: Carlos Baez <c@mamoru.ai> Date: Tue Oct 29 17:07:01 2024 +0100 Fixed extend calltraces commit 72994fe5ee4f4d12c31a8a888c4f7c384e765a4b Author: Carlos Baez <c@mamoru.ai> Date: Mon Oct 28 10:25:51 2024 +0100 Squashed commit of the following: commit 3ada97c109cc7ae1b451cb384a1f2cfae49c8d3e Author: Ashok Menon <ashok@mystenlabs.com> Date: Fri Oct 25 23:58:47 2024 +0100 sui-system(v1.36): fix next epoch stake book-keeping (#20036) ## Description Update `next_epoch_stake` when redeeming a fungible staked sui. This value is used as a sanity check that everything matches up at the end of an epoch. ## Test plan ``` sui$ cargo nextest run -p sui-framework-tests ``` ## 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. - [x] Protocol: Protocol bumped to 67, introducing a framework change to fix next_epoch_stake book-keeping while redeeming fungible staked sui. - [ ] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Arun Koshy <arun@mystenlabs.com> Co-authored-by: Sam Blackshear <sam@mystenlabs.com> Co-authored-by: Emma Zhong <emmazhongjy@gmail.com> commit 81da0c70ea1f862a8aed0cafad781a86b0bf65bb Author: Ge Gao <106119108+gegaowp@users.noreply.github.com> Date: Thu Oct 24 18:50:57 2024 -0400 pick: indexer: handle sui safe mode (#20015) (#20025) ## Description title ## 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: ## 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 29ff3e3f53fc7aa590da97d1033265645be1ea1a Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Wed Oct 23 09:12:40 2024 -0700 [cherrypick] Fix logic for end-of-epoch checkpoint when dkg has failed (#19976) If DKG has failed, we might accidentally construct two end of epoch checkpoints. commit 7a166ee0e58d036fbf626ba6bc21a3c2ec92225e Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Tue Oct 22 17:24:48 2024 -0700 [cherrypick] Fix one more possible crash in execution_driver (#19870) Don't even try to execute certs from prior epochs commit a11f7b5d868396e0d23588d3713f6a70a43b293e Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Tue Oct 22 11:05:16 2024 -0700 [cherrypick] Fix rare crash when a transaction executes after its shared object assignments have been deleted. (#19949) Fix rare crash when a transaction executes after its shared object assignments have been deleted. This is only possible if a second execution of the same tx starts concurrently, and the shared version assignments have been deleted as we are checking for object availability in TransactionManager commit bf79606ff4eb7c666629f14157715c1219504fed Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Mon Oct 21 20:23:46 2024 -0700 [cherrypick] Must not wait on notify_read_effects after epoch ends, on a transaction that might be reverted (#19934) Found this crash after adding the delay failpoint seen in this PR. I don't quite understand why that exposed this crash. commit 8d34dfbb45414303cfd448c94bb04dcea0231369 Author: wlmyng <127570466+wlmyng@users.noreply.github.com> Date: Wed Oct 23 10:06:00 2024 -0700 [indexer] committers should read watermark hi directly from table (#1… (#19981) …9980) ## 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 675ea8cf5437e6ade14d6c966ff8ff51a34b5357 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Tue Oct 22 14:47:53 2024 -0700 [cherrypick] Fix possible (but probably rare) race condition (#19951) (#19967) Fix crashes in execution_driver due to inability to execute transactions. -------- We must hold the lock for the object entry while inserting to the `object_by_id_cache`. Otherwise, a surprising bug can occur: 1. A thread executing TX1 can write object (O,1) to the dirty set and then pause. 2. TX2, which reads (O,1) can begin executing, because TransactionManager immediately schedules transactions if their inputs are available. It does not matter that TX1 hasn't finished executing yet. 3. TX2 can write (O,2) to both the dirty set and the object_by_id_cache. 4. The thread executing TX1 can resume and write (O,1) to the object_by_id_cache. Now, any subsequent attempt to get the latest version of O will return (O,1) instead of (O,2). This seems very unlikely, but it may be more likely under the following circumstances: - While a thread is unlikely to pause for so long, moka cache uses optimistic lock-free algorithms that have retry loops. Possibly, under high contention, this code might spin for a surprisingly long time. - Additionally, many concurrent re-executions of the same tx could happen due to the tx finalizer, plus checkpoint executor, consensus, and RPCs from fullnodes. Unfortunately I have not been able to reproduce this bug, so we cannot be sure that this fixes the crashes we've seen. But this is certainly a possible bug. ## 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 a85ea98b9982e1156fedd9bd149ee77483587cf5 Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Tue Oct 22 19:08:14 2024 +0000 Sui v1.36.2 Version Bump commit cf3fee71b907969b9308bfa83802c16b9b29bc70 Author: Brandon Williams <brandon@mystenlabs.com> Date: Mon Oct 21 21:17:57 2024 -0500 Revert "rest: stabalize some checkpoint apis" (#19950) This reverts commit 13c1ec7b2a7a18e304444d63277c20f8f52a1bc2. ## 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: Eugene Boguslavsky <eugene@mystenlabs.com> commit 032ac7d9ad2367b43be0ccd444d18d6d4f0ca001 Author: Brandon Williams <brandon@mystenlabs.com> Date: Mon Oct 21 20:41:26 2024 -0500 1.36 index fix (#19947) ## 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: Eugene Boguslavsky <eugene@mystenlabs.com> commit f4695a93815a8e2ce43f558ef1b0ccf0e96ff51d Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Tue Oct 22 00:37:13 2024 +0000 Sui v1.36.1 Version Bump commit e3e5ac7113a7bff11982ef44492618e9ee133e61 Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Oct 18 17:07:29 2024 -0500 jsonrpc_index: bump coin index version to 1 commit 0bf87c09f2d35a3567f3892ed648671adf656d75 Author: wlmyng <127570466+wlmyng@users.noreply.github.com> Date: Fri Oct 18 17:11:08 2024 -0700 [indexer] align watermarks table schema in live indexer to alt indexe… (#19922) …r (#19908) ## Description Since watermarks table isn't being written to yet, modify the db schema to match alt-indexer. The changes are to rename entity -> pipeline, tx_hi_inclusive -> tx_hi, and pruner_hi_inclusive -> pruner_hi and make it a non-null column. This works out nicely for graphql, since the transactions query implementations expect a half-open interval. Also simplifies pruner logic, since it can write the `reader_lo` as `pruner_hi` after delay, and table pruners will delete between `[table_data, pruner_hi)`. ## 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: ## 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 1c9e15645e107ec85bb933f9ee4d38f070b8db40 Author: wlmyng <127570466+wlmyng@users.noreply.github.com> Date: Fri Oct 18 15:39:20 2024 -0700 [indexer] quick fix for events in descending order without cursor (#1… (#19919) …9902) ## Description This PR fixes a bug where events queries in descending order without a cursor return no results ## 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: ## 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 95dcb93d79d23bc32adc8fd05d70c92e6db82b49 Author: Ge Gao <106119108+gegaowp@users.noreply.github.com> Date: Fri Oct 18 17:21:21 2024 -0400 Pick: indexer handler: limit unprocessed buffer size #19913 (#19917) ## Description without this change, the unprocessed buffer will grow unboundedly until OOM it did not manifest on previous processor b/c it has sleep codes of ``` _ = tokio::time::sleep(std::time::Duration::from_secs(config.sleep_duration)) ``` and `sleep_duration` is 5 seconds. ## Test plan - correctness via the added objects_snapshot test - oom via experiment result on benchmark env with mem usage [link](https://app.datadoghq.com/metric/explorer?fromUser=false&start=1729280070529&end=1729283670529&paused=false#N4Ig7glgJg5gpgFxALlAGwIYE8D2BXJVEADxQEYAaELcqyKBAC1pEbghkcLIF8qo4AMwgA7CAgg4RKUAiwAHOChASAtnADOcAE4RNIKtrgBHPJoQaUAbVBGN8qVoD6gnNtUZCKiOq279VKY6epbINiAiGOrKQdpYZAYgUJ4YThr42gDGSsgg6gi6mZaBZnHKGABuMMiZUggYojoAdOqqblhNeBoY8MAA1ngARnBOkb7yGNnI2vKZALTDIpmMHtp9AAQU67Ui9Y3ao1FwyBp4EHOiAsQ6POuDWOvADlCH6jwgPAC6VK7ueJihcK-VT-DAxUrxD7fEAaORoHKgCbwhAIHJJHAwJyZAEaCCZRJoRpOOSKZTpQlQAlE+hMZQiNweNAffgQeyYLDEhRowkiJRfHh8GHyQkIADCUmEMBQIn+aB4QA) --- ## 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 775f2cb85e6113639f15877127ed66c1f8ad4671 Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Thu Oct 17 19:25:36 2024 -0700 Sui `v1.36.0` Framework Bytecode snapshot (#19904) ## Description Sui `v1.36.0` Framework Bytecode snapshot ## Test plan `cargo run --bin sui-framework-snapshot` commit 3e8d2312106e66e9b24e6acfcbdb721aa1a78651 Author: Mark Logan <103447440+mystenmark@users.noreply.github.com> Date: Thu Oct 17 18:44:08 2024 -0700 Revert congestion control change, use 3 txn per commit limit. (#19900) commit d239be81239619feefeb9fbc007f6d6c78335961 Author: wlmyng <127570466+wlmyng@users.noreply.github.com> Date: Thu Oct 17 15:51:31 2024 -0700 [indexer][watermarks][3/n] pruner updates watermarks lower bound (#19650) ## Description With the committer writing upper bounds, the pruner can now read from watermarks and determine whether the lower bounds need to be updated. Pruner does this by spawning a separate task, without touching the extant pruning logic (so all things are as is.) It will ignore any entries from watermarks that do not correspond to a `PrunableTable` variant. Part of a stack of PRs for watermarks simplify setting up test indexer: https://github.com/MystenLabs/sui/pull/19663 update pruner config: https://github.com/MystenLabs/sui/pull/19637 committer writes upper bounds https://github.com/MystenLabs/sui/pull/19649 pruner writes lower bounds: https://github.com/MystenLabs/sui/pull/19650 pruner prunes (wip) ## 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 446d7d5f111330bf915f9d5bf4e96ff4cf7aa857 Author: Bridgerz <bridgerzoske@gmail.com> Date: Thu Oct 17 21:57:20 2024 +0100 Fix ViewSuiBridge Bridge CLI command (#19869) ## Description Handle the case where a bridge committee member is no longer a validator. ## Test plan Tested locally. commit 67ac5c85a7df1c897336f987a7080f5887923f9a Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com> Date: Thu Oct 17 13:27:15 2024 -0700 Version Packages (#19898) 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.13.0 ### Minor Changes - 477d2a4: Add new errors to ExecutionFailureStatus enum ## @mysten/create-dapp@0.3.27 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 - @mysten/dapp-kit@0.14.27 ## @mysten/dapp-kit@0.14.27 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 - @mysten/wallet-standard@0.13.8 - @mysten/zksend@0.11.8 ## @mysten/deepbook@0.8.22 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 ## @mysten/deepbook-v3@0.12.1 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 ## @mysten/enoki@0.4.6 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 - @mysten/zklogin@0.7.23 ## @mysten/graphql-transport@0.2.24 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 ## @mysten/kiosk@0.9.22 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 ## @mysten/suins-toolkit@0.5.22 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 ## @mysten/wallet-standard@0.13.8 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 ## @mysten/zklogin@0.7.23 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 ## @mysten/zksend@0.11.8 ### Patch Changes - Updated dependencies [477d2a4] - @mysten/sui@1.13.0 - @mysten/wallet-standard@0.13.8 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> commit 477d2a41ae8c6a2af6afe4a241cdce73cda6aef9 Author: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com> Date: Thu Oct 17 13:12:59 2024 -0700 [ts sdk] Add new errors to ExecutionFailureStatus (#19897) ## 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 c3562a362bc04802e7ae074ab9947fa9697e4488 Author: Andrew Schran <aschran@mystenlabs.com> Date: Thu Oct 17 16:04:36 2024 -0400 Enable signed Discovery messages by default (#19895) ## Description Followup to PR #19587. ## Test plan As tested in first 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: - [x] Nodes (Validators and Full nodes): Adds authentication signatures to Discovery protocol messages. - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: commit 491dcfe38a6d23e6771ebe1a33a674a0dbbe7d05 Author: Brandon Williams <brandon@mystenlabs.com> Date: Thu Oct 17 14:30:02 2024 -0500 ci: set log level to error commit a762240611457bf262699713bf3db71004631139 Author: Jonas Lindstrøm <jonas-lj@users.noreply.github.com> Date: Thu Oct 17 20:26:58 2024 +0200 Extend fixed-point numbers module (#19336) ## Description - Deprecated `fixed_point32` - Added `uq32_32` to replace it ## 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: - [X] CLI: Move `fixed_point32` has been deprecated for a new `uq32_32` module - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Todd Nowacki <tmn@mystenlabs.com> commit 0393579cd214511d5af61ba6fe052c42a34ff8a9 Author: sui-merge-bot[bot] <114704316+sui-merge-bot[bot]@users.noreply.github.com> Date: Thu Oct 17 12:03:38 2024 -0400 Version Packages (#19892) 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.12.0 ### Minor Changes - 60f96ee: New stablecoin pool params Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> commit 60f96ee37c2c7c251ab07f495190ef89ad479ed8 Author: Tony Lee <tony.lee@mystenlabs.com> Date: Thu Oct 17 11:28:22 2024 -0400 New Deepbook Pool Params (#19891) ## Description New Deepbook Pool Params ## Test plan How did you test the new or updated feature? Mainnet ## 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 df56cb03c8c04653a43cc076b4450d2cecb32e8e Author: Patrick Kuo <patrickkuo@me.com> Date: Thu Oct 17 12:59:38 2024 +0100 [Rosetta] - serialize total_coin_value to string instead of number to prevent precision lost (#19580) ## Description As titled ## 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: nikos.kitmeridis <nikos.kitmeridis@mystenlabs.com> commit 8adfe733b6977acb879583a1cba354d419d5c707 Author: jk jensen <jk@mystenlabs.com> Date: Wed Oct 16 16:29:58 2024 -0700 [suiop][image] enable q or esc to quit watching (#19881) ## Description Make it so the user can hit 'q' or 'esc' to exit the image watch interface ## Test plan https://github.com/user-attachments/assets/578ab67e-763e-4cd8-a4a7-1ac6006a4004 --- ## 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 6d87bd24f2f5e88757d697a21cc13398f0f932a1 Author: Jort <jordan.jennings@mystenlabs.com> Date: Wed Oct 16 16:01:58 2024 -0700 [move] add return locations to source map (#19885) ## Description store the return loc's in source maps ## 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 6f3ce94e08d727635236980d6332bd91d6d46c78 Author: Tim Zakian <2895723+tzakian@users.noreply.github.com> Date: Wed Oct 16 14:18:48 2024 -0700 [move] Initial trace format and implementation (#18729) (#19858) This PR adds the initial trace format, and the implementation of this trace format in the VM. I've gone through the tracing format with most of you synchronously so won't write out all the details here (but I will take it on to write a spec for the trace format once this is done so other folks can use it when consuming this format). Happy to go through it at any point in real time. Other TODO: right now the `MoveValue`s only support serialize and not deserialize back into Rust so we can only push a trace out from Rust but not consume it. The next thing I'm working on right now is adding support for that, and it may be either an update to this PR, or an additional PR depending on how involved that is... Tests and integration of this into the Move CLI (not the Sui CLI yet) is in the PR above this one. This keeps the tracing largely feature-gated in the VM, and the only additional overhead/change at runtime with `gas-profiling` turned off is the additional argument, but this argument is unused and should be optimized away (and at worst only add essentially no overhead). I kept the `gas-profiling` feature flag and gated the new tracing under it. The plan being to eventually rename that flag at the same time that we update test coverage and gas profiling to use this new tracing format as well (but that's for a couple future PRs!). https://github.com/MystenLabs/sui/pull/19452 is stacked on top of this and cleans up the insertion points of the tracer into the VM. --- 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: ## 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 cbffe5b8522ed7723371cf8fcfa802f47c1178ed Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Wed Oct 16 12:51:13 2024 -0700 Update mac os runner (#19883) ## Description `macos-latest-xl` is being depricated. ![Screenshot 2024-10-16 at 12 44 20 PM](https://github.com/user-attachments/assets/d0f49345-2538-4836-bdbf-9975d6df5299) ## Test plan 👀 commit b78eb1098ee2fcd08fb1576d049c354dd57fc8ca Author: Anastasios Kichidis <akihidis@gmail.com> Date: Wed Oct 16 20:00:19 2024 +0100 [Consensus] fix amnesia recovery boot run (#19774) ## Description Currently if someone recovers their node within epoch `R` with a snapshot that's from epoch `< R-1` , consensus will not start in amnesia recovery mode in epoch R as the boot counter will have already been incremented as node is trying to catch up from earlier epochs. This is problematic as it defies the whole point of the automatic amnesia recovery. Instead on this PR we track consensus participation activity from earlier epochs/run and only then we increment the boot counter. Otherwise we keep the boot counter to `0` so we effectively enforce amnesia recovery until we get to an epoch where the node is able to participate. In this case participate means "able to have performed at least one commit". ## Test plan CI/PT --- ## 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 62f72cdea33c0782f3116dfd194ae81c562a0b43 Author: jk jensen <jk@mystenlabs.com> Date: Wed Oct 16 10:57:07 2024 -0700 [suiop][image] add --watch/-w to continuously query image build (#19872) ## Description Add new arg to continuously query image remote builds ## Test plan https://github.com/user-attachments/assets/a6b3ec5d-605d-48f2-a241-9ade8bfbfbf3 --- ## 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 692f6c6a89b2e32659574fa20828222d289b102d Author: Tim Zakian <2895723+tzakian@users.noreply.github.com> Date: Wed Oct 16 10:55:35 2024 -0700 [move][ir-to-bytecode] Add source locations to `Type` in the Move IR (#19875) ## Description Plumbs in source locations for `Type`s in the Move IR. This will be useful for adding return types to the Move source maps. ## Test plan Make sure existing types 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: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: commit 31b15dde1758a6ba7d7029ecbd74804180f4800c Author: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Date: Wed Oct 16 08:51:49 2024 -0700 [bridge] remove test-cluster's dependency on sui-bridge crate (#19840) ## Description as title. It also removes the transitive dependency of other crates on sui-bridge. ## Test plan 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 8fec5f8caeaf0d0d5a9d13c776fc8dd80219719e Author: Arun Koshy <97870774+arun-koshy@users.noreply.github.com> Date: Wed Oct 16 01:48:58 2024 -0700 Add known peers for p2p network connection monitor (#19815) ## Description This will enable quinn stats for p2p network --- ## 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 f8e33f58104e6ed0d38e756beb0572e3bc263f10 Author: Arun Koshy <97870774+arun-koshy@users.noreply.github.com> Date: Wed Oct 16 00:58:39 2024 -0700 [consensus] Migrate sui to Mysticeti connection monitor (#19814) ## Description Will follow up to ensure that known peers are set in sui via discovery so that metrics will be updated. Also will be adding TonicConnectionMonitor for Mysticeti to use. --- ## 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 2224cf355dc25d6ded1d9a4b93c6f31939b80a01 Author: Brandon Williams <brandon@mystenlabs.com> Date: Tue Oct 15 20:53:11 2024 -0500 rest: enable resolving of literals (#19857) Improve the format of `UnresolvedTransaction` as well as introduce the ability to resolve un-serialized pure argument literals. Example of JSON payload of an `UnresolvedTransaction`: ``` { "inputs": [ { "object_id": "0x2d7f57570815c43eb485be9018caabd11ac863e9d49b1d9e33b3f4ac40cadc72" }, { "value": 1 }, { "value": "0xc6fc0e38458632b1dd1d60b3a833865268a0faebe36864c71fb9805bd5a116cf" } ], "commands": [ { "command": "split_coins", "coin": { "input": 0 }, "amounts": [ { "input": 1 }, { "input": 1 } ] }, { "command": "transfer_objects", "objects": [ { "result": [ 0, 1 ] }, { "result": [ 0, 0 ] } ], "address": { "input": 2 } } ], "sender": "0xff69fdb72bfc6ff5a337ff01c650fb0ce72447105ff050c2039c6b5b267b04a7" } ``` which is resolved into the following `Transaction`: ``` { "version": "1", "kind": { "kind": "programmable_transaction", "inputs": [ { "type": "immutable_or_owned", "object_id": "0x03517c0699f36a1df2e93b6c18db815d8f247a853465aec9cc48f9ceae4561ca", "version": "1", "digest": "7WyoNoiZQmTj75viHKYhA48tCSJ5CFqA6HtzJ55hehxP" }, { "type": "pure", "value": "AQAAAAAAAAA=" }, { "type": "pure", "value": "JtcBTFgpW/n7HipqY6oz4bka0J8PyUPlSQbjR5lCq0Y=" } ], "commands": [ { "command": "split_coins", "coin": { "input": 0 }, "amounts": [ { "input": 1 }, { "input": 1 } ] }, { "command": "transfer_objects", "objects": [ { "result": [ 0, 1 ] }, { "result": [ 0, 0 ] } ], "address": { "input": 2 } } ] }, "sender": "0xb73663359e72a36122aaf3f08629fa684b667e0fe6e356b119c623c7c9459888", "gas_payment": { "objects": [ { "object_id": "0x94b1bef12a8db7b60fa89ad9bc2966d661a3a1002d921ada981e700648470304", "version": "1", "digest": "9kcUt38E4i8g5DartpUdBxW9m5n1u8AaJLyintWiddd6" }, { "object_id": "0xacc757731db589ef093130e0d6c839e809f9673a51be92667ecbcd486db73995", "version": "1", "digest": "2U3xxN1G9vf4raCGUHz6AejqVMWJCkEBmsbLgqwae5be" }, { "object_id": "0xd0891f6c419f3dd1a531e70779979f3c7aa91d13ae9125ffbae05f3960ee4249", "version": "1", "digest": "DkJRVUKfwV9pZ1NYEydvKwGpJei7YDDRemfRahruBDsQ" }, { "object_id": "0xde8bdc786f18e7d1b9d2ac975acd640952fd3c75303e4f35d0657f90ab7e947e", "version": "1", "digest": "8RJuNzFawuVbFz6zSH1GMeJuwiHfT2ZzfHKHdr6LrJrU" } ], "owner": "0xb73663359e72a36122aaf3f08629fa684b667e0fe6e356b119c623c7c9459888", "price": "1000", "budget": "5952000" }, "expiration": null } ``` commit 6cc663c639ca3fa1421db7021e0af33b0466e1be Author: wlmyng <127570466+wlmyng@users.noreply.github.com> Date: Tue Oct 15 18:42:57 2024 -0700 [indexer][writer] Add first_tx_sequence_number to epochs table to decouple from checkpoints table (#19773) ## Description The `epoch_total_transactions` field on `epochs` table is calculated today from `checkpoints.network_total_transactions`, which is not ideal since the latter is prunable and `epochs` will not be pruned for the foreseeable future. To remove this dependency, we add `first_tx_sequence_number` to the `epochs` table at epoch boundary. That is, the network total transaction count from the final checkpoint of the epoch becomes the first tx sequence number of the new epoch. This also means that at epoch boundary, the current-to-be-previous epoch's `epoch_total_transactions` is derived from the checkpoint's network total transactions - the epoch's `first_tx_sequence_number`. Consequently, this will also help in the pruner implementation, as given an epoch we'd like to know the corresponding cp and tx. This encompasses just the writer change. Before updating the read path, we will need to backfill the instance. ## 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 71f9203abbf9bf0a3a887e1f2157a7caed7bcef2 Author: Brandon Williams <brandon@mystenlabs.com> Date: Tue Oct 15 10:19:36 2024 -0500 jsonrpc: introduce a meta column family for tracking index initialization Introduce a meta column family that is used to track initialization of the Index DB itself as well as the status of the various column families themsevles. commit 814af2a99e0e66bda4fec1748082ce4af7fd3137 Author: Brandon Williams <brandon@mystenlabs.com> Date: Tue Oct 15 10:18:02 2024 -0500 jsonrpc, rest: reduce batch size to 128MB before writting Reduce the minimum batch size to write out during indexing the live object set from 256MB to 128MB, these smaller batch sizes resulted in a small improvement to index initialization. commit d7e977a0ac58b885a98c4967e3e82cce43e720ff Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Oct 11 15:24:26 2024 -0500 jsonrpc: add test for sorted coin balances commit c3371a28c783ff1e54b71c873b98f80b394f30a3 Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Oct 11 14:07:40 2024 -0500 jsonrpc: initialize new coin_index_2 Initialize the new coin_index_2 index and clear the old coin_index column family. commit 47ba7e4684147b91cbf0fa628ce83f4a4b80d3bc Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Oct 11 12:47:08 2024 -0500 jsonrpc: introduce coin_index_2 with coins sorted by balance Introduce a new coin_index_2 index with coins sorted by balance in decreasing value (sorted high to low). commit 6159973ae01f7b74505271d5ae76681f6594fe59 Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Oct 11 10:25:19 2024 -0500 core: factor out parallel live object indexing Factor out the parallel live object indexing, used for initializing the rest indexes, into more general purpose and reusable logic. commit 4ad76b5679ec0e11b635537074b552cc96d584ba Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Oct 11 09:07:27 2024 -0500 jsonrpc: move indexes from sui-storage to sui-core commit 99cebd9469dea1c2bbbd73d4cd6fb8284203a93a Author: Brandon Williams <brandon@mystenlabs.com> Date: Fri Oct 11 08:45:29 2024 -0500 db_tool: remove loaded_child_object_versions search match arm commit 455e6c981e2af4da7bcd91e1e6642b3f8a10cb5a Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Tue Oct 15 16:00:17 2024 -0700 Fix node operator doc quote (#19874) ## Description Fix node operator doc quote ## Test plan Before: ![Screenshot 2024-10-15 at 3 31 55 PM](https://github.com/user-attachments/assets/c6aabc7b-328c-4404-be4a-b8b5c124e111) After: ![Screenshot 2024-10-15 at 3 32 00 PM](https://github.com/user-attachments/assets/3ef6d6dc-516a-4771-9a2f-a898610893bb) commit 3be7841e208731a69b8dd7ad5b39fa94f92fe59f Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Tue Oct 15 15:28:22 2024 -0700 Add release info for sui-full-node doc (#19808) ## Description Add release info for sui-full-node doc ## Test plan @ronny-mysten ! --------- Co-authored-by: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> commit ee100a7ed7e4cc6503fb5e7b94349151f24597e0 Author: techdebt-99 <150741822+techdebt-99@users.noreply.github.com> Date: Tue Oct 15 16:21:56 2024 -0600 Update sponsor-txn.mdx (#19873) ## 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 8fa9f571a26f3e3faeec78afca706c8eedb2b283 Author: Zhe Wu <halfprice@users.noreply.github.com> Date: Tue Oct 15 14:31:16 2024 -0700 Use more realistic cap factor in simtest (#19862) ## Description So that we can exercise cap factor is higher and lower than the gas budget. ## Test plan Updating 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 e2c7aa1f4e3d0facbff0af78aad5bda283bc145e Author: ronny-mysten <118224482+ronny-mysten@users.noreply.github.com> Date: Tue Oct 15 15:31:04 2024 -0600 [docs] Update dbv3 content (#19867) ## Description DBv3 is now on Mainnet. Makes the sentence removed somewhat pointless. ## 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 25c52c659ff00c0c54834de73760b38b6dbca938 Author: hayes-mysten <135670682+hayes-mysten@users.noreply.github.com> Date: Tue Oct 15 13:57:16 2024 -0700 [gql-transport] fix rawInput for transaction queries (#19866) ## 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 aa2ca1d79fc3de862e398716f044337b6757acc1 Author: Tom Cat <48447545+tx-tomcat@users.noreply.github.com> Date: Wed Oct 16 03:31:17 2024 +0700 [Linter] Redundant ref deref (#16491) ## Description This lint rule detects and reports unnecessary temporary borrow operations followed by a dereference and a local borrow in Move code. It aims to improve code efficiency by suggesting direct usage of expressions without redundant operations. Implementation The lint rule is implemented as follows: A temporary borrow (TempBorrow) Followed by a dereference (Dereference) Where the dereferenced expression is either a BorrowLocal, Borrow, or another TempBorrow ## Test plan Added more use case including false positive, false negative case ## Release notes - [ ] Protocol: - [ ] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: --------- Co-authored-by: jamedzung <dung.dinhnguyen@digitalavenues.com> Co-authored-by: Lu Zhang <8418040+longbowlu@users.noreply.github.com> Co-authored-by: Cameron Swords <cameron.swords@mystenlabs.com> commit 6b231597e707bae887ca038d670ba3aa02775d37 Author: pei-mysten <147538877+pei-mysten@users.noreply.github.com> Date: Tue Oct 15 11:59:35 2024 -0700 [docker] fix dockerfile for kaniko (#19865) ## Description kaniko doesn't like `*` wildcard, so have to be a little bit smarter. ## Test plan had a successfully built from kaniko. I pulled it down and inspected manually, binaries are ther --- ## 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 8aac6c2cfcbc48efd1ccb34ea8cfd28eae99b701 Author: Tony Lee <tony.lee@mystenlabs.com> Date: Tue Oct 15 14:44:56 2024 -0400 Faucet Routes (#19692) ## 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 e510867bd334fdd7b95bf0dab2ea7ce6b49f2409 Author: nikos-terzo <139557324+nikos-terzo@users.noreply.github.com> Date: Tue Oct 15 21:17:19 2024 +0300 Update typescript sdk examples (#19816) ## Description Update Typescript SDK examples in README to work ## Test plan Copy-pasted changed code to a new project depending on '@mysten/sui' and checked for no relevant typescript errors. --- ## 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 4241c352fff0d71b40ec3148e62b558877c82d13 Author: Tim Zakian <2895723+tzakian@users.noreply.github.com> Date: Tue Oct 15 11:06:54 2024 -0700 [move][docgen] Render string constants for error constants (#19823) ## Description This updates how constants annotated with `#[error]` are rendered in docgen. This also adds the `#[error]` annotation on them in the generated documentation. Note that we don't try to render all bytearrays as strings, but only constants with the `#[error]` annotation to avoid rendering normal bytearrays strings. ## Test plan Added a test to make sure we render error-annotated consts as we expect. commit 4357bfa20c4a4eb1675f2f31e32a34b8f5956db2 Author: Eugene Boguslavsky <eugene@mystenlabs.com> Date: Tue Oct 15 10:35:55 2024 -0700 Remove mysten-tap sui.rb update (#19861) ## Description Remove mysten-tap sui.rb update ## Test plan 👀 commit 1e72cfbe5a269b880245c4de777a8126c4d3557f Author: mwtian <81660174+mwtian@users.noreply.github.com> Date: Tue Oct 15 10:07:29 2024 -0700 [db] allow putting larger layer in higher levels (#19854) ## Description A followup to #19770. For cfs larger than 250GB, they need to be able to shard the files. ## Test plan Applied the new setting to other large cfs (transactions, effects) on fullnodes. --- ## 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 34416bfce4f949c7ba07e08a47535f15f59dbf4a Author: Anastasios Kichidis <akihidis@gmail.com> Date: Tue Oct 15 13:26:52 2024 +0100 [Consensus] DagState to evict blocks based on GC round (#19465) ## Description Currently we evict the cached ref entries in DagState whenever we `flush`. At this point we evict the entries for each authority by dropping all the blocks which are `<= evict_round`, where `evict_round = authority_latest_commit_round - CACHED_ROUNDS` . The `CACHED_ROUNDS` here allow us to keep around for a little longer committed blocks. Of course all the blocks that are `> evict_round` are kept. This can work fine so far where we don't use GC , as we expect eventually to include blocks from other peers as weak links - no matter how far back they are - and that will move the `authority_latest_commit_round` and trigger the eviction of their blocks from our memory. Now with GC we don't have those guarantees. It is possible to get to a scenario where even a group of slow nodes that are constantly behind `gc_round`, they keep proposing but their blocks never get committed. Although their blocks should not end up in others DAGs , they will remain in their own and fill up their memory. Overall, the current approach will provide weaker guarantees. This PR is changing the eviction strategy so it's driven by the `gc_round`. Doing though the eviction purely on the `gc_round` will change a lot the semantics of the `DagState` as one of the intentions was to keep recent cached data from each authority. That would also be particularly visible for authorities for which we do not have frequent block proposals, as we could end up always evicting all their blocks if they are behind the `gc_round`. Then this would not allow us to do certain operations we used to do before with cached data(ex get latest cached block per authority). For that reason this PR is changing a bit the semantics of the `CACHED_ROUNDS` and from now on it will be the minimum/desired amount of rounds we want to keep in cache for each of authority. The eviction algorithm will still attempt to clean up records that are `<= gc_round`, but it will also make sure that `CACHED_ROUNDS` worth of data are kept around. Especially for more edge case situation where a node has not produced blocks `> gc_round`, we guarantee to keep `CACHED_ROUNDS` even when all of them are `<= gc_round`, but we'll eventually evict anything before - practically like a moving window. ## Test plan CI/PT --- ## 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: - [ ] Node…
commit 1e7f943 Author: Carlos Baez <c@mamoru.ai> Date: Fri Nov 8 15:03:17 2024 +0100 Updated to v1.37.1
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.