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
[Narwhal] additional consensus clean up #3
Open
akichidis
wants to merge
1,791
commits into
mwtian:main
Choose a base branch
from
MystenLabs:narwhal-cleanup-ls-tasos
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.
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 * it seems that cmdk command still does some filtering/sorting (even with shouldFilter=false) and invokes the default scoring functions that with 0x00000 and then adding more 0 delays exponentially until it crashes <img width="971" alt="Screenshot 2023-10-09 at 14 26 59" src="https://github.com/MystenLabs/sui/assets/10210143/1c675d01-a2aa-4ed0-8f3d-dad527ef2372"> * this just uses a custom filter function to avoid using the default one for scoring Before https://github.com/MystenLabs/sui/assets/10210143/81adea75-aa4a-4f60-bb3f-a129f9779819 After https://github.com/MystenLabs/sui/assets/10210143/bcb71aba-b68b-4983-9de0-82b8a09e5342 closes [APPS-1772](https://mysten.atlassian.net/browse/APPS-1772) ## Test Plan How did you test the new or updated feature? --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
…unt (#14138) ## Description | before | after | | -- | -- | | <img width="363" alt="Screenshot 2023-10-06 at 12 34 39" src="https://github.com/MystenLabs/sui/assets/10210143/ffe17b26-3d4f-4b8d-a921-18bad28d102f"> | <img width="363" alt="Screenshot 2023-10-06 at 12 29 17" src="https://github.com/MystenLabs/sui/assets/10210143/4a050a75-dc2e-4835-84c8-bed2d91155ee"> | | <img width="363" alt="Screenshot 2023-10-06 at 12 33 55" src="https://github.com/MystenLabs/sui/assets/10210143/5a99505a-5a86-41a3-aafa-9a669905f701"> | <img width="363" alt="Screenshot 2023-10-06 at 12 33 10" src="https://github.com/MystenLabs/sui/assets/10210143/17809a4e-7dc6-4ab1-8a10-f192156a3d62"> | closes [APPS-1808](https://mysten.atlassian.net/browse/APPS-1808) ## Test Plan How did you test the new or updated feature? --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description * adds support for v1 requests for test faucet closes [APPS-1751](https://mysten.atlassian.net/browse/APPS-1751) ## Test Plan How did you test the new or updated feature? --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description Modifying the sui-benchmark suite in order to allow us to run benchmarks with multiple traffic profiles instead of only one constant rate as we currently do. That will allow us to simulate load of variable traffic (and type of txes etc) instead of constant one. To achieve this the `Bench` cli subcommand was extended to provide all the arguments as vectors allowing us to set multiple "benchmark groups" , where the properties of each benchmark group are all the values of the specified vector position. More information about this on the `options.rs` file. To achieve the above we build workloads for each "benchmark group" and then we initialise all those once. Then a bench workers schedule task has been introduced to coordinate running each benchmark group. Each group is defined to run for a specified `duration`. That allow us to do things like `run with 1K tx/s for 100 seconds, then run with 500 tx/s for 80seconds...` . Similarly we can configure further the groups to run a benchmark like `run with 1K tx/s for 100 seconds with 50% shared & 50% owned transactions , then run with 500 tx/s for 80 seconds with 80% own transactions and 20% adversarial transactions`. Also, the benchmark groups will run in _a round robin fashion_. For example, if we do configure a benchmark with 3 groups, then after the last group is run, it will go again and start from the beginning - first group. That allow us with minimal configuration (just defining a few groups) to run repetitive traffic patterns and test the system's behaviour. If a group is defined with duration `unbounded` then that will run for the rest of the benchmark (so someone needs to be careful with the setup). From a software perspective the `BenchWorker`s created for each group are re-used during the round robin so no need to do any re-setup while running or spend excessive resources . The only thing that is managed is the tasks that are spawn and complete. **Backwards compatibility:** the cli parameter changes are backwards compatible so existing CI jobs won't break. Existing CI jobs will basically run with default settings having only one benchmark group. ## Test Plan An example of running a benchmark test that defines 2 benchmark groups where we want to test spiked traffic: * 1000 tx/sec for 360sec (100% shared objects) * 2000 tx/sec for 120sec (100% shared objects) the **bench** sub-command line parameters look like: ``` --num-of-benchmark-groups 2 \ --in-flight-ratio 30,30 \ --num-workers 24,32 \ --target-qps 1000,2000 \ --shared-counter 100,100 \ --transfer-object 0,0 \ --delegation 0,0 \ --shared-counter-hotness-factor 50,50 \ --batch-payment 0,0 \ --batch-payment-size 100,100 \ --adversarial 0,0 --adversarial-cfg 0-1.0,0-1.0 \ --shared-counter-max-tip 0,0 \ --duration 360s,120s ``` as we can see on the above parameters we can configure all the arguments independently for each benchmark group and those will get respected on each run. on the graph bellow we can see the `input traffic to consensus` is following the benchmark setup alternating between the 2 traffic profiles for the respective defined durations: <img width="716" alt="Screenshot 2023-10-03 at 00 28 59" src="https://github.com/MystenLabs/sui/assets/17335598/86564a64-deac-4738-83b9-ffc7aeea6075"> --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description Changing value of incorrect gas budget to use doc variable. ## Test Plan Local --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
…4169) ## Description * connect inputs accept either of the fields for compatibility but workspace should be used * other UI labels renames * example app use workspace | before | after | | -- | -- | | <img width="359" alt="Screenshot 2023-10-09 at 16 32 37" src="https://github.com/MystenLabs/sui/assets/10210143/fa989234-cb97-4d2b-9675-9d4c33fe88b6"> | <img width="359" alt="Screenshot 2023-10-09 at 16 17 16" src="https://github.com/MystenLabs/sui/assets/10210143/a738b0c0-4186-4bb3-81cb-d61e1fe71dba"> | | <img width="359" alt="Screenshot 2023-10-09 at 16 32 41" src="https://github.com/MystenLabs/sui/assets/10210143/3d77e401-9f38-4a4d-a9e4-dc826b1ddedf"> | <img width="359" alt="Screenshot 2023-10-09 at 16 17 25" src="https://github.com/MystenLabs/sui/assets/10210143/1cb96586-5e4e-4126-9efb-0bf80132e271"> | closes [APPS-1745](https://mysten.atlassian.net/browse/APPS-1745) ## Test Plan How did you test the new or updated feature? --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
Enables export of tracing span data via OTLP. Can be viewed with grafana/tempo: <img width="1169" alt="image" src="https://github.com/MystenLabs/sui/assets/103447440/d2ef596f-e785-47af-b205-e8b1ae6d144a"> Commits: - OTLP tracing - Enable tracing via admin server - Local grafana instance via docker - Add tracing to execution path - Update docs - Update Cargo.lock
## Description This PR adds a new feature flag in the protocol config to enable effects v2 (devnet only at the moment). When effects v2 is enabled, the system will start emitting effects v2 type. This is done inside TemporaryStore, where depending on the feature flag, we call different constructors of TransactionEffects. The previous attempt did not properly gate this change under the feature flag, which is fixed by this PR (see the second commit in this PR). In order to be compatible with effects v1 (under old protocol), we need to reconstruct all the different v1 fields. These code can be cleaned up once we cut a new sui-execution version. ## Test Plan CI --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description Describe the changes or additions included in this PR. ## Test Plan How did you test the new or updated feature? --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description This marks some packages as side-effect free now that we shouldn't have any imports that create side-effects without exporting the references, which makes it work fine in testing. I only marked packages that we are actively developing (which is why I didn't include wallet-kit and suins-toolkit packages) and that I was somewhat familiar with (which is why I didn't include ledger, deepbook, move-binary-format) as being side-effect free. ## Test Plan How did you test the new or updated feature? --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
…e chain / exposing errors / etc. (#14181) ## Description This PR does a little polish on the signing hooks for a few things I noticed were off. The most notable change here is that we're making the `chain` arg optional as we should just infer the active chain from the account. This keeps parity with the wallet-kit implementation ## Test Plan - CI --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
Fixes an issue where data could be missing when using query_transaction when the transaction data itself isn't present on the node, due to pruning, requiring us to fallback to the kvstore.
Added new version for NW `Certificate` which Includes new `AggregateSignatureState`. This holds `AggregateSignatureBytes` but with the added layer to specify if the signature was verified via a leader, verified directly, unverified or unsigned. This will be used to take advantage of the certificate chain that is formed via the DAG by only verifying the leaders of the certificate chain when they are fetched from validators during catchup. This is gated by a protocol feature flag so this PR should have no effect yet. Still testing the [followup PR](ef48f56) which will include the usage of `CertificateV2`, but sharing here to provide more context for these changes.
## Description It seems this optimization is unlikely to come back, so removing the remaining scaffolding. ## Test Plan CI --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description metrics to count sigs, currently we just care about zklogin and multisig ## Test Plan How did you test the new or updated feature? --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description Adds MovePackage type. ~~Seems DB is broken so currently using RPC 1.0~~ More examples and MoveModule will follow in subs PRs as the results are bland otherwise ## Test Plan Manual --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description This PR does a few cleanups for ConsensusHandler: 1. Move all the code that are consensus-independent into the function inside epoch_store. This allows us to get rid of this strange CommitBatch thing, as well as opens up an interface for other code to call (e.g. if we want to benchmark the system with a dummy consensus) 2. Move the tx oredering code into its own file for clarity 3. Insert roots at the end to reduce dup entries. ## Test Plan CI --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description Try to exercise the consensus path in the single node benchmark. There are two modes: noop and direct. ## Test Plan CI --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description Adding a benchmark to measure validator signing transaction performace in the single node benchmark suite. Sample output: ``` cargo run --release --bin sui-single-node-benchmark -- move --component txn-signing 2023-10-10T16:08:05.023632Z INFO sui_single_node_benchmark::benchmark_context: Creating 500001 accounts and 1000002 gas objects 2023-10-10T16:08:06.430838Z INFO sui_single_node_benchmark::benchmark_context: Initializing validator 2023-10-10T16:08:10.306098Z INFO sui_single_node_benchmark::benchmark_context: Programmable Move Transaction Generator: Creating 500001 transactions 2023-10-10T16:08:11.236391Z INFO sui_single_node_benchmark::execution: Sample transaction: SenderSignedData([SenderSignedTransaction { intent_message: IntentMessage { intent: Intent { scope: TransactionData, version: V0, app_id: Sui }, value: V1(TransactionDataV1 { kind: ProgrammableTransaction(ProgrammableTransaction { inputs: [Object(ImmOrOwnedObject((0xff01000000000000000000000000000000000000000000000000000000000000, SequenceNumber(1), o#3Wy9EiapZQKhT8rAyQMyrNNYY16hUSJdqhwetB92C4pu))), Pure([184, 159, 82, 182, 144, 220, 83, 194, 8, 51, 15, 138, 44, 214, 190, 240, 85, 19, 16, 201, 173, 213, 246, 216, 58, 70, 65, 252, 110, 209, 66, 161]), Pure([0, 0, 0, 0, 0, 0, 0, 0])], commands: [MakeMoveVec(None, [Input(0)]), MoveCall(ProgrammableMoveCall { package: 0x22b99c7c24f1fe4e0ba3a3b65b120f85fc3923fcf9111ddc75caa54150604920, module: Identifier("benchmark"), function: Identifier("merge_input_coins"), type_arguments: [], arguments: [Result(0)] }), TransferObjects([Result(1)], Input(1)), MoveCall(ProgrammableMoveCall { package: 0x22b99c7c24f1fe4e0ba3a3b65b120f85fc3923fcf9111ddc75caa54150604920, module: Identifier("benchmark"), function: Identifier("run_computation"), type_arguments: [], arguments: [Input(2)] })] }), sender: 0xb89f52b690dc53c208330f8a2cd6bef0551310c9add5f6d83a4641fc6ed142a1, gas_data: GasData { payment: [(0xff00000000000000000000000000000000000000000000000000000000000000, SequenceNumber(1), o#9tCQKCfifCQzaicSPdBpWyPKVD6fJFcKatKoHn9TyBEn)], owner: 0xb89f52b690dc53c208330f8a2cd6bef0551310c9add5f6d83a4641fc6ed142a1, price: 1000, budget: 5000000000 }, expiration: None }) }, tx_signatures: [Signature(Ed25519SuiSignature(Ed25519SuiSignature([0, 124, 197, 41, 122, 155, 114, 67, 77, 13, 124, 161, 104, 88, 199, 110, 40, 181, 128, 92, 5, 144, 52, 28, 230, 159, 225, 27, 88, 94, 74, 10, 49, 189, 110, 178, 7, 46, 169, 154, 72, 167, 128, 132, 104, 166, 96, 142, 46, 92, 11, 217, 238, 201, 121, 206, 109, 215, 229, 219, 52, 157, 237, 154, 4, 98, 34, 97, 21, 172, 104, 110, 152, 8, 19, 17, 185, 26, 203, 149, 57, 52, 64, 167, 160, 214, 216, 121, 224, 126, 86, 237, 26, 8, 57, 116, 90])))] }]) 2023-10-10T16:08:11.236431Z INFO sui_single_node_benchmark::benchmark_context: Started signing 500001 transactions. You can now attach a profiler 2023-10-10T16:08:23.669227Z INFO sui_single_node_benchmark::execution: Transaction signing finished in 12.432s, TPS=40218.87065637066 ``` ## Test Plan How did you test the new or updated feature? --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes --------- Co-authored-by: Zhe Wu <[email protected]>
## Description https://sui-typescript-docs-git-mh-dapp-kit-wallet-docs-mysten-labs.vercel.app/dapp-kit ## Test Plan How did you test the new or updated feature? --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes --------- Co-authored-by: William Robertson <[email protected]>
## Description Continuation of #14164 This will allow the simulator feed data into indexer etc ## Test Plan N/A --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
) ## Description Modify querying mechanism for epoch.transactionBlockConnection per feedback. Query now completes under 2 seconds (previously would run >10 or forever). Previously, to fetch transactions for an epoch, we made a query for transactions whose checkpoint_sequence_number were between the first and last checkpoint ids of the epoch. Even though this filtering is done on an index, the filer causes some slowness if the distance between the two checkpoints are significant enough since we order the results by tx_sequence_number. This change fetches the first tx_sequence_number from the first checkpoint and the last tx_sequence_number from the last checkpoint, so now the filtering and ordering are both done on tx_sequence_number ## Test Plan manually run same queries --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
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/[email protected] ### Minor Changes - d4d9c92: Upgrade dapp-kit and the scaffold applications to react-query v5 ### Patch Changes - Updated dependencies [d4d9c92] - Updated dependencies [fb0ce34] - Updated dependencies [09c1030] - Updated dependencies [e057809] - Updated dependencies [b9afb55] - @mysten/[email protected] - @mysten/[email protected] ## @mysten/[email protected] ### Minor Changes - d4d9c92: Upgrade dapp-kit and the scaffold applications to react-query v5 - fb0ce34: Add global connection status info and change the hook interface of `useCurrentWallet` to return an object to encapsulate connection info together. To migrate: Before: const currentWallet = useCurrentWallet(); After: const { currentWallet } = useCurrentWallet(); ### Patch Changes - 09c1030: fix pagination in useSuiClientInfiniteQuery - e057809: Fix typing of data for useSuiClientInfiniteQuery - Updated dependencies [b9afb55] - @mysten/[email protected] - @mysten/[email protected] ## @mysten/[email protected] ### Minor Changes - b9afb55: adds "transfer to object" (receivingRef) support ## @mysten/[email protected] ### Patch Changes - Updated dependencies [b9afb55] - @mysten/[email protected] ## @mysten/[email protected] ### Patch Changes - Updated dependencies [b9afb55] - @mysten/[email protected] ## @mysten/[email protected] ### Patch Changes - Updated dependencies [b9afb55] - @mysten/[email protected] ## @mysten/[email protected] ### Patch Changes - Updated dependencies [b9afb55] - @mysten/[email protected] - @mysten/[email protected] ## @mysten/[email protected] ### Patch Changes - Updated dependencies [b9afb55] - @mysten/[email protected] - @mysten/[email protected] - @mysten/[email protected] ## @mysten/[email protected] ### Patch Changes - Updated dependencies [b9afb55] - @mysten/[email protected] ## @mysten/[email protected] ### Patch Changes - Updated dependencies [b9afb55] - @mysten/[email protected] ## @mysten/[email protected] ### Patch Changes - Updated dependencies [d4d9c92] - Updated dependencies [fb0ce34] - Updated dependencies [09c1030] - Updated dependencies [e057809] - Updated dependencies [b9afb55] - @mysten/[email protected] - @mysten/[email protected] Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Description https://mysten.atlassian.net/browse/APPS-1736 - Update to get larger clickable areas on header section ![image](https://github.com/MystenLabs/sui/assets/127577476/35b298b0-6b58-4059-9c4b-7f81543a7041) ## Test Plan How did you test the new or updated feature? --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
…ect stores (#14388) ## Description We want to allow object download without authentication from certain remote stores with free egress i.e. cloudflare, wasabi, etc. This PR adds a new downloader module which allows us to do that for S3, GCS, etc Next step would be to integrate it in sui tool and let users benefit from it. ## Test Plan Added unit test. Also tested with S3 and found it to be working
## Description Support constants in constants. ## Test Plan Added new tests --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [x] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes The error for using const-in-const changed to point at the feature gating.
- Remove allow(dead_code) annotations in a few places - Registr WriteApi which forwards to a fullnode - implements the get_total_transactions api
## Description Extend sui-tool snapshot downloader to download, verify and restore from formal snapshot. Note that if `--verify` is set to true, only protocol versions where `commit_root_state_digest` is true are eligible, as this relies on root state hash commitment at end of epoch. The following tasks are orchestrated: * Performing checkpoint summary sync (with verification) to the end of the target epoch via archival store * Downloading all snapshot object refs * Checksumming all object refs to verify there is no discrepancy between the object store manifest and the contents * Accumulating all object refs and comparing against consensus checkpoint commitment (root state hash). This protects against restoring from a compromised snapshot and ensures that the state after restore is consistent with the network * Downloading and loading into perpetual store the end of epoch live object set contents from the snapshot * Setting other critical state necessary for node to startup and join the network (create committee store, create epoch start configuration, set checkpoint watermarks, etc) ## Test Plan 1. Run the following to perform snapshot restore ``` GCS_SNAPSHOT_SERVICE_ACCOUNT_FILE_PATH=<path> AWS_ARCHIVE_ACCESS_KEY_ID=<key> AWS_ARCHIVE_SECRET_ACCESS_KEY=<key> AWS_ARCHIVE_REGION=us-west-2 sui-tool download-db-snapshot --epoch 125 --genesis /opt/sui/config/genesis.blob --formal --network testnet --path /opt/sui/db/authorities_db/full_node_db --num-parallel-downloads 50 ``` 2. Startup `sui-node` and observe that node is able to execute checkpoints successfully and ultimately reconfig to the next epoch. ``` [00:07:01] ████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ 977 out of 977 .ref files done [03:34:42] ████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ 10670050/10670050(Checkpoint summary download is complete) [00:02:36] ██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ 977 out of 977 ref files checksummed (Checksumming complete) [02:20:05] ██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ 977 out of 977 ref files accumulated (Accumulation complete) [02:20:05] ████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████ 977 out of 977 .obj files done (Objects download complete) 2023-10-11T02:35:15.060244Z INFO sui_archival::reader: Terminating the manifest sync loop 2023-10-11T02:35:15.060334Z INFO sui_tool: Formal snapshot state verification complete! 2023-10-11T02:35:15.468872Z INFO sui_storage::mutex_table: Stopping mutex table cleanup! 2023-10-11T02:35:15.510039Z INFO sui_storage::mutex_table: Stopping mutex table cleanup! 2023-10-11T02:35:19.644477Z INFO sui_tool: Successfully restored state from snapshot at end of epoch 125 ubuntu@fullnode-compat-test-03:/opt/sui/db/authorities_db/full_node_db$ systemctl status sui-node ● sui-node.service - Sui Node Loaded: loaded (/etc/systemd/system/sui-node.service; disabled; vendor preset: enabled) Active: active (running) since Wed 2023-10-11 02:39:26 UTC; 6s ago Main PID: 344206 (sui-node) Tasks: 110 (limit: 308692) Memory: 1.1G (high: 246.0G max: 251.0G swap max: 0B available: 244.8G) CPU: 7.651s CGroup: /system.slice/sui-node.service └─344206 /opt/sui/bin/sui-node --config-path /opt/sui/config/sui-node.yaml ubuntu@fullnode-compat-test-03:/opt/sui/db/authorities_db/full_node_db$ curl -s http://localhost:9184/metrics | grep 'current_epoch ' current_epoch 126 ubuntu@fullnode-compat-test-03:/opt/sui/db/authorities_db/full_node_db$ curl -s http://localhost:9184/metrics | grep 'last_executed_checkpoint ' last_executed_checkpoint 10678488 ubuntu@fullnode-compat-test-03:/opt/sui/db/authorities_db/full_node_db$ curl -s http://localhost:9184/metrics | grep 'last_executed_checkpoint ' last_executed_checkpoint 10679365 # after some time ubuntu@fullnode-compat-test-03:/opt/sui/db/authorities_db/full_node_db$ curl -s http://localhost:9184/metrics | grep 'current_epoch ' current_epoch 129 ``` ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description Simple refactor that splits querying into two parts, building the query and actually executing it. This is done to support making an explain call on the query fragment before every query is actually executed ## Test Plan Manually ran all of our examples --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes --------- Co-authored-by: oxade <[email protected]>
- added support for enums and other remaining types - simplified macro
## Description - Add SUINS name resolver for object page - https://mysten.atlassian.net/browse/APPS-1715 <img width="1409" alt="Screenshot 2023-10-25 at 8 56 14 PM" src="https://github.com/MystenLabs/sui/assets/127577476/27187e1a-b1ee-473c-94ab-801c02d6d975"> ## Test Plan How did you test the new or updated feature? --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description - Fixed bug with OTW checks - Improved init error messages ## Test Plan - Added tests --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [X] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes This release fixes a bug in the Sui mode of the Move compiler that categorized certain structs erroneously as one-time witnesses.
## Description Follow up on small nits on PR that accidentally didn't get landed. ## Test Plan Same as before. --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description add limit on number of variables ## Test Plan manual, unit coming soon --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description - Report unused mutable references - The system is quite exhaustive and reports even locally created mutable references. It piggy-backs on the borrow checker but globally collects usages instead of keeping it in the abstract state. This is done mostly for simplicity - A mutable reference is considered unused if: - It is mutated - It is passed to a function (since freeze removes any subtyping issues) - It is returned - Copies share the same abstract reference ID ## Test Plan - Added new tests --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [X] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes With this change, Move will now suggest switching mutable references `&mut` to immutable ones `&` when the reference is not modified, or passed somewhere where the mutability is required. This can be suppressed for parameters by prefixing the parameter name with an underscore `_`.
## Description Bound the number of fragment definitions ## Test Plan Manual, coming up --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description Remove read-write-set analysis as it's no longer needed. ## Test Plan Make sure existing tests still pass --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description GET request on `{url}/schema` will now return the pretty schema, ## Test Plan Manual --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description This PR enhances our current system overload detection to also include the scenario where the transactions depending on an object are not great in the count, but lengthy in execution. More precisely, we keep track of how long each transaction has been in the execution queue and use this age as a proxy for the hotness of the object when determining whether to reject a transaction or not. I also added a field in the node config to make this threshold configurable and easier to test. We can also move other similar numbers here as well. ## Test Plan Added a test. --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [x] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes Enhance our validators' protection mechanism against congestion to stop accepting transactions when one of the following happens: - There are long-running transactions waiting for execution in a certain object's queue - There are a large number of transactions waiting in a certain object's queue, or in general
## Description This allows easier integration with other consensus algorithms and data structures. The only logic change is to enable LeaderSchedule by default instead of gating on protocol config, which should produce no behavior difference. ## Test Plan CI --- If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process. ### Type of Change (Check all that apply) - [ ] protocol change - [ ] user-visible impact - [ ] breaking change for a client SDKs - [ ] breaking change for FNs (FN binary must upgrade) - [ ] breaking change for validators or node operators (must upgrade binaries) - [ ] breaking change for on-chain data layout - [ ] necessitate either a data wipe or data migration ### Release notes
## Description Move tests are run as part of the Rust tests for the Sui Framework, but they should also be run when there are only Move changes. Surfaced because a recent PR (#14429) Moved some Move tests causing CI to fail on `main`, and this wasn't picked up because diff tests hadn't been run. ## Test Plan CI
mwtian
approved these changes
Oct 27, 2023
…consensus. Clean up tests.
akichidis
force-pushed
the
narwhal-cleanup-ls-tasos
branch
from
October 27, 2023 14:51
7022869
to
f70dff7
Compare
This PR is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days. |
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.
Description
Some additional clean up on top of https://github.com/MystenLabs/sui/pull/14462/files
Test Plan
CI
If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)
Release notes