From c7cf03881baaf82e2772cee9109736e797a4ed5e Mon Sep 17 00:00:00 2001 From: DaughterOfMars Date: Wed, 23 Oct 2024 09:37:14 -0400 Subject: [PATCH 01/21] chore(CI): Add nightly build for macOS arm64 (#3166) * chore(CI): Add nightly build for macOS arm64 * remove extra flag * use github runners * refactor to use matrix * add github token env * try ssh-agent action * refactor with release changes * dprint * pin ssh-setup-action * use bundled mysqlclient * dprint * move deps around * dprint * refactor features --- .github/workflows/nightly.yml | 33 +++++++++++++++- Cargo.lock | 54 +++++++++++++++++++++++++++ crates/iota-bridge-indexer/Cargo.toml | 2 +- crates/iota-indexer/Cargo.toml | 4 +- 4 files changed, 89 insertions(+), 4 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 16f72fdf0e7..94307357dfb 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -6,6 +6,7 @@ on: workflow_dispatch: env: + BINARY_LIST_FILE: "./binary-build-list.json" CARGO_TERM_COLOR: always # Disable incremental compilation. # @@ -30,11 +31,39 @@ env: jobs: release: name: build release binaries - runs-on: [self-hosted] + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ + self-hosted, # ubuntu-x86_64 + macos-latest, # macos-arm64 + ] steps: + # TODO: Remove when iota-sim is public https://github.com/iotaledger/iota/issues/2149 + - name: Set up SSH (MacOs only) + if: ${{ matrix.os == 'macos-latest' }} + uses: MrSquaare/ssh-setup-action@2d028b70b5e397cf8314c6eaea229a6c3e34977a # pin@v3 + with: + host: github.com + private-key: ${{ secrets.SSH_PRIVATE_KEY_IOTA_CI }} + private-key-name: github-ppk + + - name: Install postgres (MacOS arm64) + if: ${{ matrix.os == 'macos-latest' }} + shell: bash + env: + PQ_LIB_DIR: "$(brew --prefix libpq)/lib" + LIBRARY_PATH: "/opt/homebrew/lib:$LIBRARY_PATH" + PKG_CONFIG_PATH: "/opt/homebrew/lib/pkgconfig:$PKG_CONFIG_PATH" + PATH: "/opt/homebrew/bin:$PATH" + run: | + brew install postgresql + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # pin@v4 + - name: cargo build uses: actions-rs/cargo@ae10961054e4aa8b4aa7dffede299aaf087aa33b # pin@v1.0.3 with: command: build - args: --all-targets --all-features --release --profile=release + args: --all-targets --all-features --release diff --git a/Cargo.lock b/Cargo.lock index cfdf8c9ad29..79dc02cac9a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2441,6 +2441,15 @@ dependencies = [ "error-code", ] +[[package]] +name = "cmake" +version = "0.1.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a" +dependencies = [ + "cc", +] + [[package]] name = "codespan" version = "0.11.1" @@ -6781,6 +6790,7 @@ dependencies = [ "move-binary-format", "move-bytecode-utils", "move-core-types", + "mysqlclient-sys", "prometheus", "rand 0.8.5", "rayon", @@ -8914,6 +8924,15 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "link-cplusplus" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d240c6f7e1ba3a28b0249f774e6a9dd0175054b52dfbb61b16eb8505c3785c9" +dependencies = [ + "cc", +] + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -10073,12 +10092,25 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" +[[package]] +name = "mysqlclient-src" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cc9eeee452f217e9d234e34f5ba5e53c5fef9c147c98a80311f38358826c695" +dependencies = [ + "cmake", + "link-cplusplus", + "openssl-src", + "openssl-sys", +] + [[package]] name = "mysqlclient-sys" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "478e2040dbc35c73927b77a2be91a496de19deab376a6982ed61e89592434619" dependencies = [ + "mysqlclient-src", "pkg-config", "vcpkg", ] @@ -10690,6 +10722,28 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +[[package]] +name = "openssl-src" +version = "300.3.1+3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91" +dependencies = [ + "cc", +] + +[[package]] +name = "openssl-sys" +version = "0.9.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" +dependencies = [ + "cc", + "libc", + "openssl-src", + "pkg-config", + "vcpkg", +] + [[package]] name = "opentelemetry" version = "0.21.0" diff --git a/crates/iota-bridge-indexer/Cargo.toml b/crates/iota-bridge-indexer/Cargo.toml index e59a123f61e..d57167a44fc 100644 --- a/crates/iota-bridge-indexer/Cargo.toml +++ b/crates/iota-bridge-indexer/Cargo.toml @@ -12,7 +12,7 @@ async-trait.workspace = true backoff.workspace = true bcs.workspace = true clap.workspace = true -diesel = { version = "2.1.4", features = ["postgres", "r2d2", "serde_json"] } +diesel = { workspace = true, features = ["postgres", "r2d2", "serde_json"] } ethers = { version = "2.0", features = ["rustls", "ws"] } futures.workspace = true iota-bridge.workspace = true diff --git a/crates/iota-indexer/Cargo.toml b/crates/iota-indexer/Cargo.toml index 4dd4efdc3e5..56fdc322701 100644 --- a/crates/iota-indexer/Cargo.toml +++ b/crates/iota-indexer/Cargo.toml @@ -18,6 +18,7 @@ diesel = { workspace = true, optional = true } futures.workspace = true itertools.workspace = true jsonrpsee.workspace = true +mysqlclient-sys = { version = "0.4", optional = true } prometheus.workspace = true rayon.workspace = true regex.workspace = true @@ -61,7 +62,8 @@ secrecy = "0.8.0" pg_integration = [] default = ["postgres-feature"] postgres-feature = ["diesel/postgres", "diesel/postgres_backend"] -mysql-feature = ["diesel/mysql", "diesel/mysql_backend"] +mysql-feature = ["diesel/mysql", "diesel/mysql_backend", "dep:mysqlclient-sys"] +bundled-mysql = ["mysqlclient-sys?/bundled"] [dev-dependencies] iota-config.workspace = true From a37807e8de68ffc9d5219e69a3fb6d05d880d19b Mon Sep 17 00:00:00 2001 From: evavirseda Date: Wed, 23 Oct 2024 16:42:41 +0200 Subject: [PATCH 02/21] fix(apps-ui-kit): inconsistent font appearance in some browsers (#3575) * fix: use font-variant-alternates instead of font-feature-settings * fix format --- apps/ui-kit/src/lib/styles/index.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/ui-kit/src/lib/styles/index.css b/apps/ui-kit/src/lib/styles/index.css index 9e631fe05f2..ef470db58fc 100644 --- a/apps/ui-kit/src/lib/styles/index.css +++ b/apps/ui-kit/src/lib/styles/index.css @@ -39,11 +39,11 @@ .text-headline-md, .text-headline-sm, .text-body-ds-lg { - font-feature-settings: 'ss02' on; + font-variant-alternates: 'ss02'; } .text-label-md { - font-feature-settings: 'ss01' on; + font-variant-alternates: 'ss01'; } } From 9e3379ba2befb15d16965177cc348c348c437e7e Mon Sep 17 00:00:00 2001 From: "Ching-Hua (Vivian) Lin" Date: Wed, 23 Oct 2024 22:44:02 +0800 Subject: [PATCH 03/21] fix(e2e-tests): Fix reconfiguration e2e tests and msim compilation (#3514) * fix(e2e-tests): Add removal check in execute_remove_validator_tx * fix(scripts): Set target.'cfg(all())'.rustflags in cargo-simtest e need to use target.'cfg(all())'.rustflags instead of build.rustflags because the latter are ignored if any target flags are set. * chore(scripts): add comment * fix(iota-storage): msim tests compilation * fix(iota-benchmark): msim tests compilation --------- Co-authored-by: muXxer Co-authored-by: miker83z --- crates/iota-benchmark/Cargo.toml | 1 + crates/iota-benchmark/tests/simtest.rs | 3 +-- .../tests/reconfiguration_tests.rs | 23 +++++++++++++++++++ crates/iota-storage/Cargo.toml | 6 ++++- crates/iota-storage/tests/key_value_tests.rs | 3 ++- scripts/simtest/cargo-simtest | 3 ++- 6 files changed, 34 insertions(+), 5 deletions(-) diff --git a/crates/iota-benchmark/Cargo.toml b/crates/iota-benchmark/Cargo.toml index fac389b058c..3fbb08fd9a6 100644 --- a/crates/iota-benchmark/Cargo.toml +++ b/crates/iota-benchmark/Cargo.toml @@ -55,4 +55,5 @@ iota-framework.workspace = true iota-framework-snapshot.workspace = true iota-macros.workspace = true iota-simulator.workspace = true +iota-surfer.workspace = true typed-store.workspace = true diff --git a/crates/iota-benchmark/tests/simtest.rs b/crates/iota-benchmark/tests/simtest.rs index 3785ce9f592..4804e0cf23a 100644 --- a/crates/iota-benchmark/tests/simtest.rs +++ b/crates/iota-benchmark/tests/simtest.rs @@ -677,7 +677,7 @@ mod test { let init_framework = iota_framework_snapshot::load_bytecode_snapshot(starting_version).unwrap(); - let test_cluster = Arc::new( + let test_cluster: Arc = Arc::new( init_test_cluster_builder(4, 15000) .with_protocol_version(ProtocolVersion::new(starting_version)) .with_supported_protocol_versions(SupportedProtocolVersions::new_for_testing( @@ -688,7 +688,6 @@ mod test { SupportedProtocolVersions::new_for_testing(starting_version, max_ver), ) .with_objects(init_framework.into_iter().map(|p| p.genesis_object())) - .with_stake_subsidy_start_epoch(10) .build() .await, ); diff --git a/crates/iota-e2e-tests/tests/reconfiguration_tests.rs b/crates/iota-e2e-tests/tests/reconfiguration_tests.rs index c60e51d5597..7f931fa40ce 100644 --- a/crates/iota-e2e-tests/tests/reconfiguration_tests.rs +++ b/crates/iota-e2e-tests/tests/reconfiguration_tests.rs @@ -913,6 +913,15 @@ async fn add_validator_candidate( } async fn execute_remove_validator_tx(test_cluster: &TestCluster, handle: &IotaNodeHandle) { + let cur_pending_removals = test_cluster.fullnode_handle.iota_node.with(|node| { + node.state() + .get_iota_system_state_object_for_testing() + .unwrap() + .into_iota_system_state_summary() + .pending_removals + .len() + }); + let address = handle.with(|node| node.get_config().iota_address()); let gas = test_cluster .wallet @@ -928,6 +937,20 @@ async fn execute_remove_validator_tx(test_cluster: &TestCluster, handle: &IotaNo .build_and_sign(node.get_config().account_key_pair.keypair()) }); test_cluster.execute_transaction(tx).await; + + // Check that the validator can be found in the removal list now. + test_cluster.fullnode_handle.iota_node.with(|node| { + let system_state = node + .state() + .get_iota_system_state_object_for_testing() + .unwrap(); + let system_state_summary = system_state.into_iota_system_state_summary(); + + assert_eq!( + system_state_summary.pending_removals.len(), + cur_pending_removals + 1 + ); + }); } /// Execute a sequence of transactions to add a validator, including adding diff --git a/crates/iota-storage/Cargo.toml b/crates/iota-storage/Cargo.toml index 482ef821094..febb924b74a 100644 --- a/crates/iota-storage/Cargo.toml +++ b/crates/iota-storage/Cargo.toml @@ -57,9 +57,13 @@ move-bytecode-utils.workspace = true [dev-dependencies] anyhow.workspace = true -axum.workspace = true iota-macros = { workspace = true } iota-test-transaction-builder.workspace = true iota-types = { workspace = true, features = ["test-utils"] } once_cell.workspace = true tempfile.workspace = true + +[target.'cfg(msim)'.dependencies] +axum.workspace = true +iota-simulator.workspace = true +rustls = "0.23" diff --git a/crates/iota-storage/tests/key_value_tests.rs b/crates/iota-storage/tests/key_value_tests.rs index 0ae0ca8dd93..ec2eaf956c3 100644 --- a/crates/iota-storage/tests/key_value_tests.rs +++ b/crates/iota-storage/tests/key_value_tests.rs @@ -427,7 +427,6 @@ async fn test_get_tx_from_fallback() { #[cfg(msim)] mod simtests { use std::{ - net::SocketAddr, sync::Mutex, time::{Duration, Instant}, }; @@ -441,6 +440,8 @@ mod simtests { use iota_macros::sim_test; use iota_simulator::configs::constant_latency_ms; use iota_storage::http_key_value_store::*; + use rustls::crypto::{CryptoProvider, ring}; + use tokio::net::TcpListener; use tracing::info; use super::*; diff --git a/scripts/simtest/cargo-simtest b/scripts/simtest/cargo-simtest index d45c0bec5b6..2a134757e30 100755 --- a/scripts/simtest/cargo-simtest +++ b/scripts/simtest/cargo-simtest @@ -102,8 +102,9 @@ export TMPDIR=$(mktemp -d) root_dir=$(git rev-parse --show-toplevel) export SIMTEST_STATIC_INIT_MOVE=$root_dir"/examples/move/basics" +# we need to use "target.'cfg(all())'.rustflags" instead of "build.rustflags" because the latter are ignored if any "target" flags are set cargo ${CARGO_COMMAND[@]} \ - --config "build.rustflags = [$RUST_FLAGS]" \ + --config "target.'cfg(all())'.rustflags = [$RUST_FLAGS]" \ "${cargo_patch_args[@]}" \ "$@" From 43899dfaad03594be52ece4f8f0df5f652b9d71b Mon Sep 17 00:00:00 2001 From: muXxer Date: Wed, 23 Oct 2024 16:54:14 +0200 Subject: [PATCH 04/21] chore(node): sort dependencies in Cargo.toml files (#3581) --- Cargo.toml | 103 +++++++++--------- consensus/config/Cargo.toml | 5 +- consensus/core/Cargo.toml | 24 ++-- .../Cargo.toml | 3 + crates/iota-analytics-indexer/Cargo.toml | 33 +++--- crates/iota-archival/Cargo.toml | 18 ++- crates/iota-authority-aggregation/Cargo.toml | 7 +- crates/iota-aws-orchestrator/Cargo.toml | 2 + crates/iota-benchmark/Cargo.toml | 28 ++--- crates/iota-bridge-cli/Cargo.toml | 15 ++- crates/iota-bridge-indexer/Cargo.toml | 15 ++- crates/iota-bridge/Cargo.toml | 36 +++--- crates/iota-cluster-test/Cargo.toml | 7 +- crates/iota-config/Cargo.toml | 2 + crates/iota-core/Cargo.toml | 46 ++++---- crates/iota-cost/Cargo.toml | 4 +- crates/iota-data-ingestion-core/Cargo.toml | 18 ++- crates/iota-data-ingestion/Cargo.toml | 20 ++-- crates/iota-e2e-tests/Cargo.toml | 32 +++--- crates/iota-faucet/Cargo.toml | 4 +- crates/iota-framework-snapshot/Cargo.toml | 4 +- crates/iota-framework-tests/Cargo.toml | 6 +- crates/iota-framework/Cargo.toml | 5 +- crates/iota-genesis-builder/Cargo.toml | 13 ++- crates/iota-genesis-common/Cargo.toml | 2 + crates/iota-graphql-e2e-tests/Cargo.toml | 5 +- crates/iota-graphql-rpc-client/Cargo.toml | 5 +- crates/iota-graphql-rpc/Cargo.toml | 40 ++++--- crates/iota-indexer-builder/Cargo.toml | 9 +- crates/iota-indexer/Cargo.toml | 21 ++-- crates/iota-json-rpc-api/Cargo.toml | 14 ++- crates/iota-json-rpc-tests/Cargo.toml | 24 ++-- crates/iota-json-rpc-types/Cargo.toml | 15 +-- crates/iota-json-rpc/Cargo.toml | 20 ++-- crates/iota-json/Cargo.toml | 7 +- crates/iota-keys/Cargo.toml | 7 +- crates/iota-light-client/Cargo.toml | 11 +- crates/iota-macros/Cargo.toml | 5 +- crates/iota-metric-checker/Cargo.toml | 5 +- crates/iota-metrics/Cargo.toml | 5 +- crates/iota-move-build/Cargo.toml | 8 +- crates/iota-move-lsp/Cargo.toml | 2 + crates/iota-move/Cargo.toml | 20 ++-- crates/iota-network/Cargo.toml | 36 +++--- crates/iota-node/Cargo.toml | 8 +- crates/iota-open-rpc/Cargo.toml | 10 +- crates/iota-package-dump/Cargo.toml | 7 +- crates/iota-package-management/Cargo.toml | 3 +- crates/iota-package-resolver/Cargo.toml | 18 ++- crates/iota-protocol-config/Cargo.toml | 7 +- crates/iota-replay/Cargo.toml | 17 +-- crates/iota-rest-api/Cargo.toml | 4 +- crates/iota-rosetta/Cargo.toml | 30 ++--- crates/iota-rpc-loadgen/Cargo.toml | 9 +- crates/iota-sdk/Cargo.toml | 15 ++- crates/iota-simulator/Cargo.toml | 16 +-- crates/iota-single-node-benchmark/Cargo.toml | 28 ++--- crates/iota-snapshot/Cargo.toml | 14 ++- .../iota-source-validation-service/Cargo.toml | 21 ++-- crates/iota-source-validation/Cargo.toml | 14 ++- crates/iota-storage/Cargo.toml | 25 +++-- crates/iota-surfer/Cargo.toml | 23 ++-- crates/iota-swarm-config/Cargo.toml | 4 + crates/iota-swarm/Cargo.toml | 2 + .../iota-test-transaction-builder/Cargo.toml | 5 +- crates/iota-tls/Cargo.toml | 17 ++- crates/iota-tool/Cargo.toml | 17 +-- crates/iota-transaction-builder/Cargo.toml | 3 +- crates/iota-transaction-checks/Cargo.toml | 7 +- .../iota-transactional-test-runner/Cargo.toml | 10 +- crates/iota-types/Cargo.toml | 61 +++++------ .../Cargo.toml | 3 + crates/iota-util-mem/Cargo.toml | 8 +- .../Cargo.toml | 3 + crates/iota/Cargo.toml | 32 +++--- crates/simulacrum/Cargo.toml | 6 +- crates/test-cluster/Cargo.toml | 9 +- crates/transaction-fuzzer/Cargo.toml | 4 +- crates/typed-store-workspace-hack/Cargo.toml | 3 +- crates/typed-store/Cargo.toml | 5 +- docs/examples/rust/Cargo.toml | 4 + examples/custom-indexer/rust/Cargo.toml | 7 +- examples/tic-tac-toe/cli/Cargo.toml | 7 +- iota-execution/Cargo.toml | 18 ++- iota-execution/latest/iota-adapter/Cargo.toml | 24 ++-- .../latest/iota-move-natives/Cargo.toml | 18 +-- .../latest/iota-verifier/Cargo.toml | 8 +- iota-execution/v0/iota-adapter/Cargo.toml | 24 ++-- .../v0/iota-move-natives/Cargo.toml | 18 +-- iota-execution/v0/iota-verifier/Cargo.toml | 8 +- narwhal/config/Cargo.toml | 8 +- narwhal/crypto/Cargo.toml | 3 + narwhal/network/Cargo.toml | 20 ++-- narwhal/test-utils/Cargo.toml | 7 +- narwhal/types/Cargo.toml | 14 ++- nre/bpf/nodefw/nodefw-ebpf/Cargo.toml | 13 ++- nre/bpf/nodefw/nodefw/Cargo.toml | 5 +- sdk/move-bytecode-template/Cargo.toml | 7 +- 98 files changed, 810 insertions(+), 582 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index d362809de14..6fd5380358f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -178,12 +178,12 @@ version = "0.4.0" [profile.release] # debug = 1 means line charts only, which is minimum needed for good stack traces debug = 1 +# Exit process with SIGABRT when any thread panics +panic = 'abort' # Write debug info into a separate file. split-debuginfo = 'packed' # Without stripping, iota binary size would be > 1GB. strip = 'debuginfo' -# Exit process with SIGABRT when any thread panics -panic = 'abort' # Same as release, but build binary with debug symbols (binary size will be ~ 1GB). [profile.release-dbgsym] @@ -202,18 +202,23 @@ strip = 'none' opt-level = 2 [profile.simulator] -inherits = "test" debug = true debug-assertions = true -overflow-checks = true +inherits = "test" # opt-level 1 gives >5x speedup for simulator tests without slowing down build times very much. opt-level = 1 +overflow-checks = true [workspace.lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(msim)', 'cfg(fail_points)'] } # Dependencies that should be kept in sync through the whole workspace [workspace.dependencies] +# external dependencies +# anemo dependencies +anemo = { git = "https://github.com/mystenlabs/anemo.git", rev = "dbb5a074c2d25660525ab5d36d65ff0cb8051949" } +anemo-build = { git = "https://github.com/mystenlabs/anemo.git", rev = "dbb5a074c2d25660525ab5d36d65ff0cb8051949" } +anemo-tower = { git = "https://github.com/mystenlabs/anemo.git", rev = "dbb5a074c2d25660525ab5d36d65ff0cb8051949" } anyhow = "1.0.71" arc-swap = { version = "1.5.1", features = ["serde"] } async-graphql = "=7.0.1" @@ -239,6 +244,7 @@ clap = { version = "4.4", features = ["derive", "wrap_help"] } colored = "2.0.0" comfy-table = "6.1.3" const-str = "0.5.3" +coset = "0.3" criterion = { version = "0.5.0", features = ["async", "async_tokio", "html_reports"] } crossterm = "0.25.0" csv = "1.2.1" @@ -252,6 +258,10 @@ either = "1.8.0" enum_dispatch = "^0.3" expect-test = "1.4.0" eyre = "0.6.8" +fastcrypto = { git = "https://github.com/MystenLabs/fastcrypto", rev = "5f2c63266a065996d53f98156f0412782b468597" } +fastcrypto-tbls = { git = "https://github.com/MystenLabs/fastcrypto", rev = "5f2c63266a065996d53f98156f0412782b468597" } +fastcrypto-vdf = { git = "https://github.com/MystenLabs/fastcrypto", rev = "5f2c63266a065996d53f98156f0412782b468597", features = ["experimental"] } +fastcrypto-zkp = { git = "https://github.com/MystenLabs/fastcrypto", rev = "5f2c63266a065996d53f98156f0412782b468597", package = "fastcrypto-zkp" } fdlimit = "0.2.1" flate2 = "1.0.28" fs_extra = "1.3.0" @@ -284,7 +294,11 @@ num_cpus = "1.15.0" num_enum = "0.7" object_store = { version = "0.10", features = ["aws", "gcp", "azure", "http"] } once_cell = "1.18.0" +p256 = { version = "0.13.2", features = ["ecdsa"] } parking_lot = "0.12.1" +passkey-authenticator = { version = "0.2.0" } +passkey-client = { version = "0.2.0" } +passkey-types = { version = "0.2.0" } pretty_assertions = "1.3.0" proc-macro2 = "1.0.47" prometheus = "0.13.3" @@ -344,50 +358,11 @@ unescape = "0.1.0" url = "2.3.1" uuid = { version = "1.1.2", features = ["v4", "fast-rng"] } -move-abstract-interpreter = { path = "external-crates/move/crates/move-abstract-interpreter" } -move-abstract-stack = { path = "external-crates/move/crates/move-abstract-stack" } -move-analyzer = { path = "external-crates/move/crates/move-analyzer" } -move-binary-format = { path = "external-crates/move/crates/move-binary-format" } -move-bytecode-source-map = { path = "external-crates/move/crates/move-bytecode-source-map" } -move-bytecode-utils = { path = "external-crates/move/crates/move-bytecode-utils" } -move-bytecode-verifier-meter = { path = "external-crates/move/crates/move-bytecode-verifier-meter" } -move-cli = { path = "external-crates/move/crates/move-cli" } -move-command-line-common = { path = "external-crates/move/crates/move-command-line-common" } -move-compiler = { path = "external-crates/move/crates/move-compiler" } -move-core-types = { path = "external-crates/move/crates/move-core-types" } -move-disassembler = { path = "external-crates/move/crates/move-disassembler" } -move-ir-types = { path = "external-crates/move/crates/move-ir-types" } -move-package = { path = "external-crates/move/crates/move-package" } -move-prover = { path = "external-crates/move/crates/move-prover" } -move-stackless-bytecode = { path = "external-crates/move/crates/move-stackless-bytecode" } -move-symbol-pool = { path = "external-crates/move/crates/move-symbol-pool" } -move-transactional-test-runner = { path = "external-crates/move/crates/move-transactional-test-runner" } -move-unit-test = { path = "external-crates/move/crates/move-unit-test" } -move-vm-config = { path = "external-crates/move/crates/move-vm-config" } -move-vm-profiler = { path = "external-crates/move/crates/move-vm-profiler" } -move-vm-test-utils = { path = "external-crates/move/crates/move-vm-test-utils/", features = ["tiered-gas"] } -move-vm-types = { path = "external-crates/move/crates/move-vm-types" } - -coset = "0.3" -fastcrypto = { git = "https://github.com/MystenLabs/fastcrypto", rev = "5f2c63266a065996d53f98156f0412782b468597" } -fastcrypto-tbls = { git = "https://github.com/MystenLabs/fastcrypto", rev = "5f2c63266a065996d53f98156f0412782b468597" } -fastcrypto-vdf = { git = "https://github.com/MystenLabs/fastcrypto", rev = "5f2c63266a065996d53f98156f0412782b468597", features = ["experimental"] } -fastcrypto-zkp = { git = "https://github.com/MystenLabs/fastcrypto", rev = "5f2c63266a065996d53f98156f0412782b468597", package = "fastcrypto-zkp" } -p256 = { version = "0.13.2", features = ["ecdsa"] } -passkey-authenticator = { version = "0.2.0" } -passkey-client = { version = "0.2.0" } -passkey-types = { version = "0.2.0" } - -# anemo dependencies -anemo = { git = "https://github.com/mystenlabs/anemo.git", rev = "dbb5a074c2d25660525ab5d36d65ff0cb8051949" } -anemo-build = { git = "https://github.com/mystenlabs/anemo.git", rev = "dbb5a074c2d25660525ab5d36d65ff0cb8051949" } -anemo-tower = { git = "https://github.com/mystenlabs/anemo.git", rev = "dbb5a074c2d25660525ab5d36d65ff0cb8051949" } - -# core-types with json format for REST api -iota-sdk2 = { package = "iota-rust-sdk", git = "ssh://git@github.com/iotaledger/iota-rust-sdk.git", rev = "46d46d64237e001e8e23f322caecb3211c9a8c97", features = ["hash", "serde", "schemars"] } - +# internal dependencies ### Workspace Members ### bin-version = { path = "crates/bin-version" } +consensus-config = { path = "consensus/config" } +consensus-core = { path = "consensus/core" } iota = { path = "crates/iota" } iota-adapter-transactional-tests = { path = "crates/iota-adapter-transactional-tests" } iota-analytics-indexer = { path = "crates/iota-analytics-indexer" } @@ -405,6 +380,7 @@ iota-data-ingestion = { path = "crates/iota-data-ingestion" } iota-data-ingestion-core = { path = "crates/iota-data-ingestion-core" } iota-e2e-tests = { path = "crates/iota-e2e-tests" } iota-enum-compat-util = { path = "crates/iota-enum-compat-util" } +iota-execution = { path = "iota-execution" } iota-faucet = { path = "crates/iota-faucet" } iota-framework = { path = "crates/iota-framework" } iota-framework-snapshot = { path = "crates/iota-framework-snapshot" } @@ -444,6 +420,8 @@ iota-rest-api = { path = "crates/iota-rest-api" } iota-rosetta = { path = "crates/iota-rosetta" } iota-rpc-loadgen = { path = "crates/iota-rpc-loadgen" } iota-sdk = { path = "crates/iota-sdk" } +# core-types with json format for REST api +iota-sdk2 = { package = "iota-rust-sdk", git = "ssh://git@github.com/iotaledger/iota-rust-sdk.git", rev = "46d46d64237e001e8e23f322caecb3211c9a8c97", features = ["hash", "serde", "schemars"] } iota-simulator = { path = "crates/iota-simulator" } iota-snapshot = { path = "crates/iota-snapshot" } iota-source-validation = { path = "crates/iota-source-validation" } @@ -463,6 +441,31 @@ iota-upgrade-compatibility-transactional-tests = { path = "crates/iota-upgrade-c iota-util-mem = { path = "crates/iota-util-mem" } iota-util-mem-derive = { path = "crates/iota-util-mem-derive" } iota-verifier-transactional-tests = { path = "crates/iota-verifier-transactional-tests" } +move-abstract-interpreter = { path = "external-crates/move/crates/move-abstract-interpreter" } +move-abstract-stack = { path = "external-crates/move/crates/move-abstract-stack" } +move-analyzer = { path = "external-crates/move/crates/move-analyzer" } +move-binary-format = { path = "external-crates/move/crates/move-binary-format" } +move-bytecode-source-map = { path = "external-crates/move/crates/move-bytecode-source-map" } +move-bytecode-utils = { path = "external-crates/move/crates/move-bytecode-utils" } +move-bytecode-verifier-meter = { path = "external-crates/move/crates/move-bytecode-verifier-meter" } +move-cli = { path = "external-crates/move/crates/move-cli" } +move-command-line-common = { path = "external-crates/move/crates/move-command-line-common" } +move-compiler = { path = "external-crates/move/crates/move-compiler" } +move-core-types = { path = "external-crates/move/crates/move-core-types" } +move-disassembler = { path = "external-crates/move/crates/move-disassembler" } +move-ir-types = { path = "external-crates/move/crates/move-ir-types" } +move-package = { path = "external-crates/move/crates/move-package" } +move-prover = { path = "external-crates/move/crates/move-prover" } +move-stackless-bytecode = { path = "external-crates/move/crates/move-stackless-bytecode" } +move-symbol-pool = { path = "external-crates/move/crates/move-symbol-pool" } +move-transactional-test-runner = { path = "external-crates/move/crates/move-transactional-test-runner" } +move-unit-test = { path = "external-crates/move/crates/move-unit-test" } +move-vm-config = { path = "external-crates/move/crates/move-vm-config" } +move-vm-profiler = { path = "external-crates/move/crates/move-vm-profiler" } +move-vm-test-utils = { path = "external-crates/move/crates/move-vm-test-utils/", features = ["tiered-gas"] } +move-vm-types = { path = "external-crates/move/crates/move-vm-types" } +narwhal-network = { path = "narwhal/network" } +narwhal-types = { path = "narwhal/types" } prometheus-closure-metric = { path = "crates/prometheus-closure-metric" } shared-crypto = { path = "crates/shared-crypto" } simulacrum = { path = "crates/simulacrum" } @@ -473,12 +476,4 @@ typed-store = { path = "crates/typed-store" } typed-store-derive = { path = "crates/typed-store-derive" } typed-store-error = { path = "crates/typed-store-error" } -consensus-config = { path = "consensus/config" } -consensus-core = { path = "consensus/core" } - -narwhal-network = { path = "narwhal/network" } -narwhal-types = { path = "narwhal/types" } - -iota-execution = { path = "iota-execution" } - [patch.crates-io] diff --git a/consensus/config/Cargo.toml b/consensus/config/Cargo.toml index fbe597ef8bd..6844eeea8d6 100644 --- a/consensus/config/Cargo.toml +++ b/consensus/config/Cargo.toml @@ -10,10 +10,13 @@ publish = false workspace = true [dependencies] +# external dependencies fastcrypto.workspace = true -iota-network-stack.workspace = true rand.workspace = true serde.workspace = true + +# internal dependencies +iota-network-stack.workspace = true shared-crypto.workspace = true [dev-dependencies] diff --git a/consensus/core/Cargo.toml b/consensus/core/Cargo.toml index ad8d3a7d4f2..7e829f86b1d 100644 --- a/consensus/core/Cargo.toml +++ b/consensus/core/Cargo.toml @@ -10,6 +10,7 @@ publish = false workspace = true [dependencies] +# external dependencies anyhow.workspace = true arc-swap.workspace = true async-trait.workspace = true @@ -17,7 +18,6 @@ base64.workspace = true bcs.workspace = true bytes.workspace = true cfg-if.workspace = true -consensus-config.workspace = true dashmap.workspace = true enum_dispatch.workspace = true fastcrypto.workspace = true @@ -26,12 +26,6 @@ http.workspace = true hyper.workspace = true hyper-rustls.workspace = true hyper-util = "0.1.6" -iota-common.workspace = true -iota-macros.workspace = true -iota-metrics.workspace = true -iota-network-stack.workspace = true -iota-protocol-config.workspace = true -iota-tls.workspace = true itertools.workspace = true nom = "7.1.3" parking_lot.workspace = true @@ -41,7 +35,6 @@ quinn-proto.workspace = true rand.workspace = true rustls.workspace = true serde.workspace = true -shared-crypto.workspace = true strum_macros.workspace = true tap.workspace = true thiserror.workspace = true @@ -53,12 +46,25 @@ tonic.workspace = true tower.workspace = true tower-http.workspace = true tracing.workspace = true + +# internal dependencies +consensus-config.workspace = true +iota-common.workspace = true +iota-macros.workspace = true +iota-metrics.workspace = true +iota-network-stack.workspace = true +iota-protocol-config.workspace = true +iota-tls.workspace = true +shared-crypto.workspace = true typed-store.workspace = true [dev-dependencies] +# external dependencies rstest.workspace = true -telemetry-subscribers.workspace = true tempfile.workspace = true +# internal dependencies +telemetry-subscribers.workspace = true + [build-dependencies] tonic-build.workspace = true diff --git a/crates/iota-adapter-transactional-tests/Cargo.toml b/crates/iota-adapter-transactional-tests/Cargo.toml index a546e561583..e83a36b63e7 100644 --- a/crates/iota-adapter-transactional-tests/Cargo.toml +++ b/crates/iota-adapter-transactional-tests/Cargo.toml @@ -8,7 +8,10 @@ publish = false description = "Transactional tests for Iota Adapter" [dev-dependencies] +# external dependencies datatest-stable.workspace = true + +# internal dependencies iota-transactional-test-runner.workspace = true [[test]] diff --git a/crates/iota-analytics-indexer/Cargo.toml b/crates/iota-analytics-indexer/Cargo.toml index 6b883ae3f7a..ff66e098bc5 100644 --- a/crates/iota-analytics-indexer/Cargo.toml +++ b/crates/iota-analytics-indexer/Cargo.toml @@ -7,6 +7,7 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true arrow = "53.1" arrow-array = "53.1" @@ -21,19 +22,6 @@ csv.workspace = true eyre.workspace = true fastcrypto = { workspace = true, features = ["copy_key"] } gcp-bigquery-client = "=0.18.0" -iota-analytics-indexer-derive.workspace = true -iota-config.workspace = true -iota-data-ingestion-core.workspace = true -iota-indexer.workspace = true -iota-json-rpc-types.workspace = true -iota-metrics.workspace = true -iota-package-resolver.workspace = true -iota-rest-api.workspace = true -iota-storage.workspace = true -iota-types.workspace = true -move-binary-format.workspace = true -move-bytecode-utils.workspace = true -move-core-types.workspace = true num_enum.workspace = true object_store.workspace = true parquet = "53.1" @@ -43,15 +31,30 @@ serde_json.workspace = true snowflake-api = "0.10" strum.workspace = true tap = "1.0" -telemetry-subscribers.workspace = true tempfile.workspace = true thiserror.workspace = true tokio = { workspace = true, features = ["full"] } tokio-stream.workspace = true tracing.workspace = true -typed-store.workspace = true url.workspace = true +# internal dependencies +iota-analytics-indexer-derive.workspace = true +iota-config.workspace = true +iota-data-ingestion-core.workspace = true +iota-indexer.workspace = true +iota-json-rpc-types.workspace = true +iota-metrics.workspace = true +iota-package-resolver.workspace = true +iota-rest-api.workspace = true +iota-storage.workspace = true +iota-types.workspace = true +move-binary-format.workspace = true +move-bytecode-utils.workspace = true +move-core-types.workspace = true +telemetry-subscribers.workspace = true +typed-store.workspace = true + [dev-dependencies] simulacrum.workspace = true diff --git a/crates/iota-archival/Cargo.toml b/crates/iota-archival/Cargo.toml index 523ab480c95..4b0e33368ef 100644 --- a/crates/iota-archival/Cargo.toml +++ b/crates/iota-archival/Cargo.toml @@ -7,15 +7,13 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true byteorder.workspace = true bytes.workspace = true fastcrypto = { workspace = true, features = ["copy_key"] } futures.workspace = true indicatif.workspace = true -iota-config.workspace = true -iota-storage.workspace = true -iota-types = { workspace = true, features = ["test-utils"] } num_enum.workspace = true object_store.workspace = true prometheus.workspace = true @@ -25,17 +23,25 @@ serde_json = "1.0.95" tokio = { workspace = true, features = ["full"] } tracing.workspace = true +# internal dependencies +iota-config.workspace = true +iota-storage.workspace = true +iota-types = { workspace = true, features = ["test-utils"] } + [dev-dependencies] +# external dependencies ed25519-consensus.workspace = true fastcrypto = { workspace = true } +more-asserts.workspace = true +tempfile.workspace = true +tokio = { workspace = true, features = ["test-util"] } + +# internal dependencies iota-macros.workspace = true iota-swarm-config.workspace = true -more-asserts.workspace = true move-binary-format.workspace = true move-core-types.workspace = true move-package.workspace = true -tempfile.workspace = true -tokio = { workspace = true, features = ["test-util"] } [target.'cfg(msim)'.dependencies] iota-simulator.workspace = true diff --git a/crates/iota-authority-aggregation/Cargo.toml b/crates/iota-authority-aggregation/Cargo.toml index 692e6310889..d3806d75bbf 100644 --- a/crates/iota-authority-aggregation/Cargo.toml +++ b/crates/iota-authority-aggregation/Cargo.toml @@ -7,8 +7,11 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies futures.workspace = true -iota-metrics.workspace = true -iota-types.workspace = true tokio.workspace = true tracing.workspace = true + +# internal dependencies +iota-metrics.workspace = true +iota-types.workspace = true diff --git a/crates/iota-aws-orchestrator/Cargo.toml b/crates/iota-aws-orchestrator/Cargo.toml index f2a487f2bce..9f1feb3fb82 100644 --- a/crates/iota-aws-orchestrator/Cargo.toml +++ b/crates/iota-aws-orchestrator/Cargo.toml @@ -7,6 +7,7 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies async-trait.workspace = true aws-config = "1.5.6" aws-runtime = "1.4" @@ -28,6 +29,7 @@ serde_json.workspace = true thiserror.workspace = true tokio = { workspace = true, features = ["full"] } +# internal dependencies iota-config = { path = "../iota-config" } iota-metrics.workspace = true iota-swarm-config = { path = "../iota-swarm-config" } diff --git a/crates/iota-benchmark/Cargo.toml b/crates/iota-benchmark/Cargo.toml index 3fbb08fd9a6..4a8bc1dbe07 100644 --- a/crates/iota-benchmark/Cargo.toml +++ b/crates/iota-benchmark/Cargo.toml @@ -10,6 +10,7 @@ publish = false workspace = true [dependencies] +# external dependencies anyhow = { workspace = true, features = ["backtrace"] } async-trait.workspace = true bcs.workspace = true @@ -20,17 +21,6 @@ fastcrypto-zkp.workspace = true futures.workspace = true hdrhistogram.workspace = true indicatif.workspace = true -iota-config.workspace = true -iota-core.workspace = true -iota-json-rpc-types.workspace = true -iota-keys.workspace = true -iota-network.workspace = true -iota-protocol-config.workspace = true -iota-sdk.workspace = true -iota-storage.workspace = true -iota-swarm-config.workspace = true -iota-test-transaction-builder.workspace = true -iota-types.workspace = true itertools.workspace = true prometheus.workspace = true rand.workspace = true @@ -40,14 +30,26 @@ serde.workspace = true serde_json.workspace = true strum.workspace = true strum_macros.workspace = true -telemetry-subscribers.workspace = true +sysinfo = "0.31" tokio = { workspace = true, features = ["full"] } tokio-util.workspace = true tracing.workspace = true +# internal dependencies +iota-config.workspace = true +iota-core.workspace = true +iota-json-rpc-types.workspace = true +iota-keys.workspace = true iota-metrics.workspace = true +iota-network.workspace = true +iota-protocol-config.workspace = true +iota-sdk.workspace = true +iota-storage.workspace = true +iota-swarm-config.workspace = true +iota-test-transaction-builder.workspace = true +iota-types.workspace = true move-core-types.workspace = true -sysinfo = "0.31" +telemetry-subscribers.workspace = true test-cluster.workspace = true [target.'cfg(msim)'.dependencies] diff --git a/crates/iota-bridge-cli/Cargo.toml b/crates/iota-bridge-cli/Cargo.toml index 32e36839dfc..878cf6ef25d 100644 --- a/crates/iota-bridge-cli/Cargo.toml +++ b/crates/iota-bridge-cli/Cargo.toml @@ -7,11 +7,20 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true clap.workspace = true ethers = "2.0" fastcrypto.workspace = true futures.workspace = true +reqwest.workspace = true +serde.workspace = true +serde_json.workspace = true +serde_with.workspace = true +tokio.workspace = true +tracing.workspace = true + +# internal dependencies iota-bridge.workspace = true iota-config.workspace = true iota-json-rpc-types.workspace = true @@ -19,11 +28,5 @@ iota-keys.workspace = true iota-sdk.workspace = true iota-types.workspace = true move-core-types.workspace = true -reqwest.workspace = true -serde.workspace = true -serde_json.workspace = true -serde_with.workspace = true shared-crypto.workspace = true telemetry-subscribers.workspace = true -tokio.workspace = true -tracing.workspace = true diff --git a/crates/iota-bridge-indexer/Cargo.toml b/crates/iota-bridge-indexer/Cargo.toml index d57167a44fc..a4c53387246 100644 --- a/crates/iota-bridge-indexer/Cargo.toml +++ b/crates/iota-bridge-indexer/Cargo.toml @@ -7,6 +7,7 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true backoff.workspace = true @@ -15,6 +16,14 @@ clap.workspace = true diesel = { workspace = true, features = ["postgres", "r2d2", "serde_json"] } ethers = { version = "2.0", features = ["rustls", "ws"] } futures.workspace = true +prometheus.workspace = true +serde.workspace = true +serde_yaml.workspace = true +tap.workspace = true +tokio = { workspace = true, features = ["full"] } +tracing.workspace = true + +# internal dependencies iota-bridge.workspace = true iota-config.workspace = true iota-data-ingestion-core.workspace = true @@ -23,13 +32,7 @@ iota-json-rpc-types.workspace = true iota-metrics.workspace = true iota-sdk.workspace = true iota-types.workspace = true -prometheus.workspace = true -serde.workspace = true -serde_yaml.workspace = true -tap.workspace = true telemetry-subscribers.workspace = true -tokio = { workspace = true, features = ["full"] } -tracing.workspace = true [dev-dependencies] iota-test-transaction-builder.workspace = true diff --git a/crates/iota-bridge/Cargo.toml b/crates/iota-bridge/Cargo.toml index ff55bf537c0..29502b14320 100644 --- a/crates/iota-bridge/Cargo.toml +++ b/crates/iota-bridge/Cargo.toml @@ -7,30 +7,20 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true arc-swap.workspace = true async-trait.workspace = true axum.workspace = true backoff.workspace = true bcs.workspace = true -bin-version.workspace = true clap.workspace = true enum_dispatch.workspace = true ethers = "2.0" eyre.workspace = true fastcrypto.workspace = true futures.workspace = true -iota-authority-aggregation.workspace = true -iota-config.workspace = true -iota-json-rpc-api.workspace = true -iota-json-rpc-types.workspace = true -iota-keys.workspace = true -iota-metrics.workspace = true -iota-sdk.workspace = true -iota-test-transaction-builder.workspace = true -iota-types.workspace = true lru.workspace = true -move-core-types.workspace = true num_enum.workspace = true once_cell.workspace = true prometheus.workspace = true @@ -39,20 +29,36 @@ reqwest.workspace = true serde.workspace = true serde_json.workspace = true serde_with.workspace = true -shared-crypto.workspace = true tap.workspace = true -telemetry-subscribers.workspace = true tempfile.workspace = true tokio = { workspace = true, features = ["full"] } tracing.workspace = true -typed-store.workspace = true url.workspace = true +# internal dependencies +bin-version.workspace = true +iota-authority-aggregation.workspace = true +iota-config.workspace = true +iota-json-rpc-api.workspace = true +iota-json-rpc-types.workspace = true +iota-keys.workspace = true +iota-metrics.workspace = true +iota-sdk.workspace = true +iota-test-transaction-builder.workspace = true +iota-types.workspace = true +move-core-types.workspace = true +shared-crypto.workspace = true +telemetry-subscribers.workspace = true +typed-store.workspace = true + [dev-dependencies] +# external dependencies hex-literal = "0.3.4" +maplit = "1.0.2" + +# internal dependencies iota-config.workspace = true iota-json-rpc-types = { workspace = true, features = ["test-utils"] } iota-test-transaction-builder.workspace = true iota-types = { workspace = true, features = ["test-utils"] } -maplit = "1.0.2" test-cluster.workspace = true diff --git a/crates/iota-cluster-test/Cargo.toml b/crates/iota-cluster-test/Cargo.toml index e0dc78d043b..21fb3652d75 100644 --- a/crates/iota-cluster-test/Cargo.toml +++ b/crates/iota-cluster-test/Cargo.toml @@ -7,6 +7,7 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow = { workspace = true, features = ["backtrace"] } async-trait.workspace = true clap.workspace = true @@ -19,12 +20,12 @@ prometheus.workspace = true regex.workspace = true reqwest.workspace = true serde_json.workspace = true -shared-crypto.workspace = true tempfile.workspace = true tokio = { workspace = true, features = ["full"] } tracing.workspace = true uuid.workspace = true +# internal dependencies iota-config.workspace = true iota-core.workspace = true iota-faucet.workspace = true @@ -39,9 +40,9 @@ iota-swarm.workspace = true iota-swarm-config.workspace = true iota-test-transaction-builder.workspace = true iota-types.workspace = true -telemetry-subscribers.workspace = true - move-core-types.workspace = true +shared-crypto.workspace = true +telemetry-subscribers.workspace = true test-cluster.workspace = true [features] diff --git a/crates/iota-config/Cargo.toml b/crates/iota-config/Cargo.toml index ad226f6c7e1..3e8f0e0ab8d 100644 --- a/crates/iota-config/Cargo.toml +++ b/crates/iota-config/Cargo.toml @@ -10,6 +10,7 @@ publish = false workspace = true [dependencies] +# external dependencies anemo.workspace = true anyhow = { workspace = true, features = ["backtrace"] } bcs.workspace = true @@ -27,6 +28,7 @@ serde_with.workspace = true serde_yaml.workspace = true tracing.workspace = true +# internal dependencies consensus-config.workspace = true iota-genesis-common.workspace = true iota-keys.workspace = true diff --git a/crates/iota-core/Cargo.toml b/crates/iota-core/Cargo.toml index b04a8c9a666..92103862792 100644 --- a/crates/iota-core/Cargo.toml +++ b/crates/iota-core/Cargo.toml @@ -10,6 +10,8 @@ publish = false workspace = true [dependencies] +# external dependencies +anemo.workspace = true anyhow = { workspace = true, features = ["backtrace"] } arc-swap.workspace = true async-trait.workspace = true @@ -17,14 +19,15 @@ axum.workspace = true bcs.workspace = true bytes.workspace = true chrono.workspace = true -consensus-config.workspace = true -consensus-core.workspace = true count-min-sketch = "0.1.7" dashmap.workspace = true diffy = { version = "0.3", default-features = false } either.workspace = true enum_dispatch.workspace = true eyre.workspace = true +fastcrypto.workspace = true +fastcrypto-tbls.workspace = true +fastcrypto-zkp.workspace = true futures.workspace = true im.workspace = true indexmap.workspace = true @@ -32,6 +35,7 @@ itertools.workspace = true jsonrpsee.workspace = true lru.workspace = true mockall.workspace = true +nonempty.workspace = true num_cpus.workspace = true object_store.workspace = true once_cell.workspace = true @@ -54,24 +58,14 @@ tokio = { workspace = true, features = ["full", "tracing", "test-util"] } tokio-stream.workspace = true tracing.workspace = true twox-hash = "1.6" +zeroize = "1.6" -anemo.workspace = true -fastcrypto.workspace = true -fastcrypto-tbls.workspace = true -fastcrypto-zkp.workspace = true -iota-common.workspace = true -iota-network-stack.workspace = true -move-binary-format.workspace = true -move-bytecode-utils.workspace = true -move-core-types.workspace = true -move-package.workspace = true -move-symbol-pool.workspace = true -telemetry-subscribers.workspace = true -typed-store.workspace = true -typed-store-derive.workspace = true - +# internal dependencies +consensus-config.workspace = true +consensus-core.workspace = true iota-archival.workspace = true iota-authority-aggregation.workspace = true +iota-common.workspace = true iota-config.workspace = true iota-execution = { path = "../../iota-execution" } iota-framework.workspace = true @@ -81,18 +75,26 @@ iota-macros.workspace = true iota-metrics.workspace = true iota-move-build.workspace = true iota-network.workspace = true +iota-network-stack.workspace = true iota-protocol-config.workspace = true iota-simulator.workspace = true iota-storage.workspace = true iota-swarm-config.workspace = true iota-transaction-checks.workspace = true iota-types.workspace = true +move-binary-format.workspace = true +move-bytecode-utils.workspace = true +move-core-types.workspace = true +move-package.workspace = true +move-symbol-pool.workspace = true narwhal-types.workspace = true -nonempty.workspace = true shared-crypto.workspace = true -zeroize = "1.6" +telemetry-subscribers.workspace = true +typed-store.workspace = true +typed-store-derive.workspace = true [dev-dependencies] +# external dependencies clap.workspace = true criterion.workspace = true expect-test.workspace = true @@ -104,16 +106,18 @@ rstest.workspace = true serde-reflection.workspace = true serde_yaml.workspace = true -move-symbol-pool.workspace = true - +# internal dependencies iota-move.workspace = true iota-test-transaction-builder.workspace = true iota-types = { workspace = true, features = ["test-utils"] } +move-symbol-pool.workspace = true [target.'cfg(not(target_env = "msvc"))'.dev-dependencies] +# external dependencies pprof = { version = "0.13", features = ["cpp", "frame-pointer"] } test-fuzz.workspace = true +# internal dependencies iota-macros.workspace = true iota-protocol-config.workspace = true diff --git a/crates/iota-cost/Cargo.toml b/crates/iota-cost/Cargo.toml index bdf35072d8e..7558a4dfbde 100644 --- a/crates/iota-cost/Cargo.toml +++ b/crates/iota-cost/Cargo.toml @@ -7,18 +7,20 @@ license = "Apache-2.0" publish = false [dev-dependencies] +# external dependencies anyhow.workspace = true bcs.workspace = true insta.workspace = true -iota-types.workspace = true serde.workspace = true strum.workspace = true tokio = { workspace = true, features = ["full"] } +# internal dependencies iota-config.workspace = true iota-json-rpc-types.workspace = true iota-move-build.workspace = true iota-swarm-config.workspace = true iota-test-transaction-builder.workspace = true +iota-types.workspace = true move-disassembler.workspace = true test-cluster.workspace = true diff --git a/crates/iota-data-ingestion-core/Cargo.toml b/crates/iota-data-ingestion-core/Cargo.toml index f3a4be34dd7..8387e5f6dc0 100644 --- a/crates/iota-data-ingestion-core/Cargo.toml +++ b/crates/iota-data-ingestion-core/Cargo.toml @@ -7,16 +7,12 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true backoff.workspace = true bcs.workspace = true futures.workspace = true -iota-metrics.workspace = true -iota-protocol-config.workspace = true -iota-rest-api.workspace = true -iota-storage.workspace = true -iota-types.workspace = true notify.workspace = true object_store.workspace = true prometheus.workspace = true @@ -28,6 +24,16 @@ tokio = { workspace = true, features = ["full"] } tracing.workspace = true url.workspace = true +# internal dependencies +iota-metrics.workspace = true +iota-protocol-config.workspace = true +iota-rest-api.workspace = true +iota-storage.workspace = true +iota-types.workspace = true + [dev-dependencies] -iota-types = { workspace = true, features = ["test-utils"] } +# external dependencies rand.workspace = true + +# internal dependencies +iota-types = { workspace = true, features = ["test-utils"] } diff --git a/crates/iota-data-ingestion/Cargo.toml b/crates/iota-data-ingestion/Cargo.toml index 985690eaa7d..2f998e650cc 100644 --- a/crates/iota-data-ingestion/Cargo.toml +++ b/crates/iota-data-ingestion/Cargo.toml @@ -7,6 +7,7 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true aws-config = "1.5.6" @@ -18,23 +19,28 @@ bcs.workspace = true byteorder.workspace = true bytes.workspace = true futures.workspace = true -iota-archival.workspace = true -iota-data-ingestion-core.workspace = true -iota-metrics.workspace = true -iota-storage.workspace = true -iota-types.workspace = true notify.workspace = true object_store.workspace = true prometheus.workspace = true serde.workspace = true serde_json.workspace = true serde_yaml.workspace = true -telemetry-subscribers.workspace = true tokio = { workspace = true, features = ["full"] } tracing.workspace = true url.workspace = true +# internal dependencies +iota-archival.workspace = true +iota-data-ingestion-core.workspace = true +iota-metrics.workspace = true +iota-storage.workspace = true +iota-types.workspace = true +telemetry-subscribers.workspace = true + [dev-dependencies] -iota-types = { workspace = true, features = ["test-utils"] } +# external dependencies rand.workspace = true tempfile.workspace = true + +# internal dependencies +iota-types = { workspace = true, features = ["test-utils"] } diff --git a/crates/iota-e2e-tests/Cargo.toml b/crates/iota-e2e-tests/Cargo.toml index ef2152346a4..719e58dac5c 100644 --- a/crates/iota-e2e-tests/Cargo.toml +++ b/crates/iota-e2e-tests/Cargo.toml @@ -12,31 +12,34 @@ workspace = true [dependencies] [dev-dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true bcs.workspace = true +bip32.workspace = true clap.workspace = true +coset.workspace = true +fastcrypto.workspace = true +fastcrypto-zkp.workspace = true fs_extra.workspace = true futures.workspace = true indexmap.workspace = true insta.workspace = true jsonrpsee.workspace = true +p256.workspace = true +passkey-authenticator.workspace = true +passkey-client.workspace = true +passkey-types.workspace = true prometheus.workspace = true rand.workspace = true serde.workspace = true serde_json.workspace = true tempfile.workspace = true -test-cluster.workspace = true tokio.workspace = true tracing.workspace = true +url.workspace = true -fastcrypto.workspace = true -fastcrypto-zkp.workspace = true -move-binary-format.workspace = true -move-core-types.workspace = true -move-package.workspace = true -telemetry-subscribers.workspace = true - +# internal dependencies iota.workspace = true iota-bridge.workspace = true iota-config.workspace = true @@ -62,12 +65,9 @@ iota-swarm-config.workspace = true iota-test-transaction-builder.workspace = true iota-tool.workspace = true iota-types.workspace = true +move-binary-format.workspace = true +move-core-types.workspace = true +move-package.workspace = true shared-crypto.workspace = true - -bip32.workspace = true -coset.workspace = true -p256.workspace = true -passkey-authenticator.workspace = true -passkey-client.workspace = true -passkey-types.workspace = true -url.workspace = true +telemetry-subscribers.workspace = true +test-cluster.workspace = true diff --git a/crates/iota-faucet/Cargo.toml b/crates/iota-faucet/Cargo.toml index 2b9997226f7..90a4b8a57c0 100644 --- a/crates/iota-faucet/Cargo.toml +++ b/crates/iota-faucet/Cargo.toml @@ -7,7 +7,9 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true +async-recursion.workspace = true async-trait.workspace = true axum.workspace = true clap.workspace = true @@ -29,7 +31,7 @@ tracing.workspace = true ttl_cache = "0.5.1" uuid.workspace = true -async-recursion.workspace = true +# internal dependencies iota-config.workspace = true iota-json-rpc-types.workspace = true iota-keys.workspace = true diff --git a/crates/iota-framework-snapshot/Cargo.toml b/crates/iota-framework-snapshot/Cargo.toml index a19368f4de0..c6b4cee58cd 100644 --- a/crates/iota-framework-snapshot/Cargo.toml +++ b/crates/iota-framework-snapshot/Cargo.toml @@ -8,12 +8,14 @@ publish = false description = "Tool to create a bytecode snapshot of the current iota-framework" [dependencies] +# external dependencies anyhow.workspace = true bcs.workspace = true -bin-version.workspace = true serde.workspace = true serde_json.workspace = true +# internal dependencies +bin-version.workspace = true iota-framework.workspace = true iota-protocol-config.workspace = true iota-types.workspace = true diff --git a/crates/iota-framework-tests/Cargo.toml b/crates/iota-framework-tests/Cargo.toml index 7bf58f88535..17fa82809a8 100644 --- a/crates/iota-framework-tests/Cargo.toml +++ b/crates/iota-framework-tests/Cargo.toml @@ -15,19 +15,19 @@ name = "move_tests" harness = false [dev-dependencies] +# external dependencies datatest-stable.workspace = true prometheus.workspace = true +# internal dependencies +iota-adapter = { path = "../../iota-execution/latest/iota-adapter", package = "iota-adapter-latest" } iota-framework.workspace = true iota-move = { workspace = true, features = ["unit_test"] } iota-move-build.workspace = true iota-protocol-config.workspace = true iota-types.workspace = true - -iota-adapter = { path = "../../iota-execution/latest/iota-adapter", package = "iota-adapter-latest" } iota-verifier = { path = "../../iota-execution/latest/iota-verifier", package = "iota-verifier-latest" } move-bytecode-verifier = { path = "../../external-crates/move/crates/move-bytecode-verifier" } - move-bytecode-verifier-meter.workspace = true move-cli.workspace = true move-package.workspace = true diff --git a/crates/iota-framework/Cargo.toml b/crates/iota-framework/Cargo.toml index 786f44b5d65..9657612ff55 100644 --- a/crates/iota-framework/Cargo.toml +++ b/crates/iota-framework/Cargo.toml @@ -8,17 +8,19 @@ publish = false description = "Move framework for iota platform" [dependencies] +# external dependencies bcs.workspace = true once_cell.workspace = true serde.workspace = true tracing.workspace = true +# internal dependencies iota-types.workspace = true - move-binary-format.workspace = true move-core-types.workspace = true [dev-dependencies] +# external dependencies anyhow.workspace = true bcs.workspace = true capitalize = "0.3.4" @@ -26,6 +28,7 @@ regex.workspace = true serde_json.workspace = true tempfile.workspace = true +# internal dependencies iota-move-build.workspace = true move-binary-format.workspace = true move-compiler.workspace = true diff --git a/crates/iota-genesis-builder/Cargo.toml b/crates/iota-genesis-builder/Cargo.toml index 99ec243dd84..30b67e5cd94 100644 --- a/crates/iota-genesis-builder/Cargo.toml +++ b/crates/iota-genesis-builder/Cargo.toml @@ -10,6 +10,7 @@ publish = false workspace = true [dependencies] +# external dependencies anyhow.workspace = true bcs.workspace = true bigdecimal = "0.4" @@ -18,7 +19,6 @@ clap.workspace = true fastcrypto.workspace = true flate2.workspace = true fs_extra = "1.3" -iota-sdk = { version = "1.1", default-features = false, features = ["irc_27", "irc_30", "std"] } itertools.workspace = true packable = { version = "0.8", default-features = false, features = ["io"] } prefix-hex = "0.7" @@ -33,13 +33,13 @@ serde.workspace = true serde_json.workspace = true serde_with.workspace = true serde_yaml.workspace = true -shared-crypto.workspace = true tempfile.workspace = true thiserror.workspace = true tokio.workspace = true tracing.workspace = true tracing-subscriber = "0.3" +# internal dependencies iota-adapter-v0 = { path = "../../iota-execution/v0/iota-adapter/" } iota-config.workspace = true iota-execution.workspace = true @@ -49,22 +49,27 @@ iota-genesis-common.workspace = true iota-move-build.workspace = true iota-move-natives-v0 = { path = "../../iota-execution/v0/iota-move-natives" } iota-protocol-config.workspace = true +iota-sdk = { version = "1.1", default-features = false, features = ["irc_27", "irc_30", "std"] } iota-types.workspace = true move-binary-format.workspace = true move-compiler.workspace = true move-core-types.workspace = true move-package.workspace = true move-vm-runtime-v0 = { path = "../../external-crates/move/move-execution/v0/crates/move-vm-runtime" } +shared-crypto.workspace = true [target.'cfg(msim)'.dependencies] iota-simulator.workspace = true [dev-dependencies] -iota-swarm-config.workspace = true -iota-types = { workspace = true, features = ["test-utils"] } +# external dependencies tempfile.workspace = true tokio = { workspace = true, features = ["macros"] } +# internal dependencies +iota-swarm-config.workspace = true +iota-types = { workspace = true, features = ["test-utils"] } + [features] test-outputs = ["iota-sdk/client"] diff --git a/crates/iota-genesis-common/Cargo.toml b/crates/iota-genesis-common/Cargo.toml index f4b6cbc2e96..13f22b1e239 100644 --- a/crates/iota-genesis-common/Cargo.toml +++ b/crates/iota-genesis-common/Cargo.toml @@ -10,8 +10,10 @@ publish = false workspace = true [dependencies] +# external dependencies prometheus.workspace = true +# internal dependencies iota-execution.workspace = true iota-protocol-config.workspace = true iota-types.workspace = true diff --git a/crates/iota-graphql-e2e-tests/Cargo.toml b/crates/iota-graphql-e2e-tests/Cargo.toml index d5b950351f9..a1be716fdff 100644 --- a/crates/iota-graphql-e2e-tests/Cargo.toml +++ b/crates/iota-graphql-e2e-tests/Cargo.toml @@ -11,10 +11,13 @@ description = "End to end tests for Iota GraphQL" workspace = true [dev-dependencies] +# external dependencies datatest-stable.workspace = true +tokio.workspace = true + +# internal dependencies iota-graphql-rpc.workspace = true iota-transactional-test-runner.workspace = true -tokio.workspace = true [[test]] name = "tests" diff --git a/crates/iota-graphql-rpc-client/Cargo.toml b/crates/iota-graphql-rpc-client/Cargo.toml index 671e0375ad7..0e2c3c4fdae 100644 --- a/crates/iota-graphql-rpc-client/Cargo.toml +++ b/crates/iota-graphql-rpc-client/Cargo.toml @@ -7,10 +7,13 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies async-graphql = { workspace = true, features = ["dataloader", "apollo_tracing", "tracing", "opentelemetry"] } axum.workspace = true hyper.workspace = true -iota-graphql-rpc-headers.workspace = true reqwest.workspace = true serde_json.workspace = true thiserror.workspace = true + +# internal dependencies +iota-graphql-rpc-headers.workspace = true diff --git a/crates/iota-graphql-rpc/Cargo.toml b/crates/iota-graphql-rpc/Cargo.toml index 3ea2770bf04..5cdddb177de 100644 --- a/crates/iota-graphql-rpc/Cargo.toml +++ b/crates/iota-graphql-rpc/Cargo.toml @@ -7,6 +7,7 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true async-graphql = { workspace = true, features = ["dataloader", "apollo_tracing", "tracing", "opentelemetry"] } async-graphql-axum = "=7.0.1" @@ -14,7 +15,9 @@ async-graphql-value = "=7.0.1" async-trait.workspace = true axum.workspace = true axum-extra.workspace = true -bin-version.workspace = true +# TODO: put these behind feature flag to prevent leakage +# Used for dummy data +bcs.workspace = true chrono.workspace = true clap.workspace = true const-str.workspace = true @@ -29,16 +32,8 @@ http.workspace = true http-body-util = "0.1.2" hyper.workspace = true im.workspace = true -iota-metrics.workspace = true -iota-network-stack.workspace = true -iota-sdk.workspace = true -iota-types.workspace = true itertools.workspace = true lru.workspace = true -move-binary-format.workspace = true -move-core-types.workspace = true -move-disassembler.workspace = true -move-ir-types.workspace = true once_cell.workspace = true prometheus.workspace = true regex.workspace = true @@ -47,10 +42,8 @@ serde.workspace = true serde_json.workspace = true serde_with.workspace = true serde_yaml.workspace = true -shared-crypto.workspace = true similar.workspace = true tap.workspace = true -telemetry-subscribers.workspace = true tempfile.workspace = true thiserror.workspace = true tokio = { workspace = true, features = ["rt-multi-thread"] } @@ -61,35 +54,46 @@ tower-http.workspace = true tracing.workspace = true uuid.workspace = true +# internal dependencies +bin-version.workspace = true iota-graphql-config.workspace = true iota-graphql-rpc-client.workspace = true iota-graphql-rpc-headers.workspace = true - -# TODO: put these behind feature flag to prevent leakage -# Used for dummy data -bcs.workspace = true iota-indexer = { workspace = true, default-features = true } iota-json-rpc.workspace = true iota-json-rpc-types.workspace = true +iota-metrics.workspace = true +iota-network-stack.workspace = true iota-package-resolver.workspace = true iota-protocol-config.workspace = true iota-rest-api.workspace = true +iota-sdk.workspace = true iota-swarm-config.workspace = true +iota-types.workspace = true +move-binary-format.workspace = true move-bytecode-utils.workspace = true +move-core-types.workspace = true +move-disassembler.workspace = true +move-ir-types.workspace = true +shared-crypto.workspace = true +telemetry-subscribers.workspace = true test-cluster.workspace = true [dev-dependencies] +# external dependencies expect-test.workspace = true hyper.workspace = true insta.workspace = true -iota-framework.workspace = true -iota-test-transaction-builder.workspace = true rand.workspace = true serde_json.workspace = true serial_test = "2.0.0" -simulacrum.workspace = true tower.workspace = true +# internal dependencies +iota-framework.workspace = true +iota-test-transaction-builder.workspace = true +simulacrum.workspace = true + [features] default = ["pg_backend", "postgres-feature"] postgres-feature = ["diesel/postgres", "diesel/postgres_backend"] diff --git a/crates/iota-indexer-builder/Cargo.toml b/crates/iota-indexer-builder/Cargo.toml index 590dd3666a4..095bbce7bae 100644 --- a/crates/iota-indexer-builder/Cargo.toml +++ b/crates/iota-indexer-builder/Cargo.toml @@ -7,14 +7,17 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true -iota-data-ingestion-core.workspace = true -iota-metrics.workspace = true -iota-types.workspace = true prometheus.workspace = true tokio = { workspace = true, features = ["full"] } tracing.workspace = true +# internal dependencies +iota-data-ingestion-core.workspace = true +iota-metrics.workspace = true +iota-types.workspace = true + [dev-dependencies] telemetry-subscribers.workspace = true diff --git a/crates/iota-indexer/Cargo.toml b/crates/iota-indexer/Cargo.toml index 56fdc322701..cf8bfb7be1d 100644 --- a/crates/iota-indexer/Cargo.toml +++ b/crates/iota-indexer/Cargo.toml @@ -7,14 +7,19 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true axum.workspace = true backoff.workspace = true bcs.workspace = true +cached.workspace = true chrono.workspace = true clap.workspace = true diesel = { workspace = true, optional = true } +diesel_migrations = "2.0.0" +downcast = "0.11.0" +fastcrypto = { workspace = true, features = ["copy_key"] } futures.workspace = true itertools.workspace = true jsonrpsee.workspace = true @@ -22,6 +27,7 @@ mysqlclient-sys = { version = "0.4", optional = true } prometheus.workspace = true rayon.workspace = true regex.workspace = true +secrecy = "0.8.0" serde.workspace = true serde_json.workspace = true serde_with.workspace = true @@ -33,7 +39,7 @@ tokio-util = { workspace = true, features = ["rt"] } tracing.workspace = true url.workspace = true -fastcrypto = { workspace = true, features = ["copy_key"] } +# internal dependencies iota-data-ingestion-core.workspace = true iota-json.workspace = true iota-json-rpc.workspace = true @@ -47,16 +53,10 @@ iota-rest-api.workspace = true iota-sdk.workspace = true iota-transaction-builder.workspace = true iota-types.workspace = true -telemetry-subscribers.workspace = true - move-binary-format.workspace = true move-bytecode-utils.workspace = true move-core-types.workspace = true - -cached.workspace = true -diesel_migrations = "2.0.0" -downcast = "0.11.0" -secrecy = "0.8.0" +telemetry-subscribers.workspace = true [features] pg_integration = [] @@ -66,12 +66,15 @@ mysql-feature = ["diesel/mysql", "diesel/mysql_backend", "dep:mysqlclient-sys"] bundled-mysql = ["mysqlclient-sys?/bundled"] [dev-dependencies] +# external dependencies +rand.workspace = true + +# internal dependencies iota-config.workspace = true iota-genesis-builder.workspace = true iota-keys.workspace = true iota-move-build.workspace = true iota-swarm-config.workspace = true -rand.workspace = true simulacrum.workspace = true [[bin]] diff --git a/crates/iota-json-rpc-api/Cargo.toml b/crates/iota-json-rpc-api/Cargo.toml index 4e666db7af7..1075408aff0 100644 --- a/crates/iota-json-rpc-api/Cargo.toml +++ b/crates/iota-json-rpc-api/Cargo.toml @@ -7,20 +7,22 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true fastcrypto.workspace = true -iota-json.workspace = true -iota-json-rpc-types.workspace = true -iota-metrics.workspace = true -iota-open-rpc.workspace = true -iota-open-rpc-macros.workspace = true -iota-types.workspace = true jsonrpsee.workspace = true once_cell.workspace = true prometheus.workspace = true tap.workspace = true tracing.workspace = true +# internal dependencies +iota-json.workspace = true +iota-json-rpc-types.workspace = true +iota-metrics.workspace = true +iota-open-rpc.workspace = true +iota-open-rpc-macros.workspace = true +iota-types.workspace = true # NOTE: It's important to keep the above dependency list short. # This and the iota-sdk crate are widely used to develop on Iota and it's valuable # to not have to pull in the entire iota repo for it. diff --git a/crates/iota-json-rpc-tests/Cargo.toml b/crates/iota-json-rpc-tests/Cargo.toml index 508fd452f83..58eff438d68 100644 --- a/crates/iota-json-rpc-tests/Cargo.toml +++ b/crates/iota-json-rpc-tests/Cargo.toml @@ -12,6 +12,19 @@ workspace = true [dependencies] [dev-dependencies] +# external dependencies +anyhow.workspace = true +async-trait.workspace = true +bcs.workspace = true +hyper.workspace = true +jsonrpsee.workspace = true +prometheus.workspace = true +rand.workspace = true +reqwest.workspace = true +tokio = { workspace = true, features = ["full"] } +tracing.workspace = true + +# internal dependencies iota-config.workspace = true iota-core.workspace = true iota-json.workspace = true @@ -33,14 +46,3 @@ move-core-types.workspace = true move-package.workspace = true telemetry-subscribers.workspace = true test-cluster.workspace = true - -anyhow.workspace = true -async-trait.workspace = true -bcs.workspace = true -hyper.workspace = true -jsonrpsee.workspace = true -prometheus.workspace = true -rand.workspace = true -reqwest.workspace = true -tokio = { workspace = true, features = ["full"] } -tracing.workspace = true diff --git a/crates/iota-json-rpc-types/Cargo.toml b/crates/iota-json-rpc-types/Cargo.toml index 5994f57b481..364acf02a42 100644 --- a/crates/iota-json-rpc-types/Cargo.toml +++ b/crates/iota-json-rpc-types/Cargo.toml @@ -7,14 +7,12 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true bcs.workspace = true colored.workspace = true enum_dispatch.workspace = true fastcrypto.workspace = true -iota-enum-compat-util.workspace = true -iota-macros.workspace = true -iota-protocol-config.workspace = true itertools.workspace = true json_to_table.workspace = true schemars.workspace = true @@ -24,14 +22,17 @@ serde_with.workspace = true tabled.workspace = true tracing.workspace = true -move-binary-format.workspace = true -move-bytecode-utils.workspace = true -move-core-types.workspace = true - +# internal dependencies +iota-enum-compat-util.workspace = true iota-json.workspace = true +iota-macros.workspace = true iota-metrics.workspace = true iota-package-resolver.workspace = true +iota-protocol-config.workspace = true iota-types.workspace = true +move-binary-format.workspace = true +move-bytecode-utils.workspace = true +move-core-types.workspace = true [dev-dependencies] iota-types = { workspace = true, features = ["test-utils"] } diff --git a/crates/iota-json-rpc/Cargo.toml b/crates/iota-json-rpc/Cargo.toml index aad50c71402..538552407eb 100644 --- a/crates/iota-json-rpc/Cargo.toml +++ b/crates/iota-json-rpc/Cargo.toml @@ -7,11 +7,13 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true arc-swap.workspace = true async-trait.workspace = true axum.workspace = true bcs.workspace = true +cached.workspace = true eyre.workspace = true fastcrypto.workspace = true futures.workspace = true @@ -20,15 +22,12 @@ hyper.workspace = true indexmap.workspace = true itertools.workspace = true jsonrpsee.workspace = true -move-binary-format.workspace = true -move-bytecode-utils.workspace = true -move-core-types.workspace = true -move-package.workspace = true once_cell.workspace = true prometheus.workspace = true serde.workspace = true serde_json.workspace = true signature.workspace = true +tap.workspace = true thiserror.workspace = true tokio = { workspace = true, features = ["full"] } tokio-util = { workspace = true, features = ["rt"] } @@ -36,9 +35,7 @@ tower.workspace = true tower-http.workspace = true tracing.workspace = true -tap.workspace = true - -cached.workspace = true +# internal dependencies iota-config.workspace = true iota-core.workspace = true iota-json.workspace = true @@ -51,11 +48,18 @@ iota-protocol-config.workspace = true iota-storage.workspace = true iota-transaction-builder.workspace = true iota-types.workspace = true +move-binary-format.workspace = true +move-bytecode-utils.workspace = true +move-core-types.workspace = true +move-package.workspace = true shared-crypto.workspace = true typed-store-error.workspace = true [dev-dependencies] +# external dependencies expect-test.workspace = true -iota-types = { workspace = true, features = ["test-utils"] } mockall.workspace = true + +# internal dependencies +iota-types = { workspace = true, features = ["test-utils"] } telemetry-subscribers.workspace = true diff --git a/crates/iota-json/Cargo.toml b/crates/iota-json/Cargo.toml index 5dd3653df8a..dbb3d323f8f 100644 --- a/crates/iota-json/Cargo.toml +++ b/crates/iota-json/Cargo.toml @@ -7,6 +7,7 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true bcs.workspace = true fastcrypto.workspace = true @@ -14,13 +15,17 @@ schemars.workspace = true serde.workspace = true serde_json.workspace = true +# internal dependencies iota-types.workspace = true move-binary-format.workspace = true move-bytecode-utils.workspace = true move-core-types.workspace = true [dev-dependencies] +# external dependencies +test-fuzz.workspace = true + +# internal dependencies iota-framework.workspace = true iota-move-build.workspace = true iota-types = { workspace = true, features = ["test-utils"] } -test-fuzz.workspace = true diff --git a/crates/iota-keys/Cargo.toml b/crates/iota-keys/Cargo.toml index a624707c552..d8aa7d381a5 100644 --- a/crates/iota-keys/Cargo.toml +++ b/crates/iota-keys/Cargo.toml @@ -7,18 +7,21 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true bip32.workspace = true fastcrypto = { workspace = true, features = ["copy_key"] } -iota-types.workspace = true rand.workspace = true regex.workspace = true serde.workspace = true serde_json.workspace = true -shared-crypto.workspace = true signature.workspace = true slip10_ed25519 = "0.1" tiny-bip39 = "1.0" +# internal dependencies +iota-types.workspace = true +shared-crypto.workspace = true + [dev-dependencies] tempfile.workspace = true diff --git a/crates/iota-light-client/Cargo.toml b/crates/iota-light-client/Cargo.toml index da88b93f4f5..0def8e35755 100644 --- a/crates/iota-light-client/Cargo.toml +++ b/crates/iota-light-client/Cargo.toml @@ -14,11 +14,18 @@ name = "iota-light-client" path = "src/main.rs" [dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true bcs.workspace = true bytes.workspace = true clap.workspace = true +serde.workspace = true +serde_json.workspace = true +serde_yaml.workspace = true +tokio = { workspace = true, features = ["full"] } + +# internal dependencies iota-config.workspace = true iota-json.workspace = true iota-json-rpc-types.workspace = true @@ -28,7 +35,3 @@ iota-sdk.workspace = true iota-types.workspace = true move-binary-format.workspace = true move-core-types.workspace = true -serde.workspace = true -serde_json.workspace = true -serde_yaml.workspace = true -tokio = { workspace = true, features = ["full"] } diff --git a/crates/iota-macros/Cargo.toml b/crates/iota-macros/Cargo.toml index 3a526304494..8d3cd2b60ed 100644 --- a/crates/iota-macros/Cargo.toml +++ b/crates/iota-macros/Cargo.toml @@ -10,7 +10,10 @@ publish = false workspace = true [dependencies] +# external dependencies futures.workspace = true -iota-proc-macros.workspace = true once_cell.workspace = true tracing.workspace = true + +# internal dependencies +iota-proc-macros.workspace = true diff --git a/crates/iota-metric-checker/Cargo.toml b/crates/iota-metric-checker/Cargo.toml index 92daf3f8225..f8fbb663efe 100644 --- a/crates/iota-metric-checker/Cargo.toml +++ b/crates/iota-metric-checker/Cargo.toml @@ -7,6 +7,7 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true backoff.workspace = true base64.workspace = true @@ -19,6 +20,8 @@ reqwest.workspace = true serde.workspace = true serde_yaml = "0.8.26" strum.workspace = true -telemetry-subscribers.workspace = true tokio = { workspace = true, features = ["full"] } tracing.workspace = true + +# internal dependencies +telemetry-subscribers.workspace = true diff --git a/crates/iota-metrics/Cargo.toml b/crates/iota-metrics/Cargo.toml index 72b5f0ee330..c45c1a8ada7 100644 --- a/crates/iota-metrics/Cargo.toml +++ b/crates/iota-metrics/Cargo.toml @@ -10,6 +10,7 @@ publish = false workspace = true [dependencies] +# external dependencies async-trait.workspace = true axum.workspace = true dashmap.workspace = true @@ -17,10 +18,12 @@ futures.workspace = true once_cell.workspace = true parking_lot.workspace = true prometheus.workspace = true -prometheus-closure-metric.workspace = true scopeguard.workspace = true simple-server-timing-header = "0.1.1" tap.workspace = true tokio.workspace = true tracing.workspace = true uuid.workspace = true + +# internal dependencies +prometheus-closure-metric.workspace = true diff --git a/crates/iota-move-build/Cargo.toml b/crates/iota-move-build/Cargo.toml index 8612615ab4b..5ddcd6b91f3 100644 --- a/crates/iota-move-build/Cargo.toml +++ b/crates/iota-move-build/Cargo.toml @@ -8,20 +8,20 @@ publish = false description = "Logic for building Iota Move Packages" [dependencies] +# external dependencies anyhow.workspace = true fastcrypto.workspace = true serde-reflection.workspace = true tempfile.workspace = true -iota-verifier = { path = "../../iota-execution/latest/iota-verifier", package = "iota-verifier-latest" } -move-bytecode-verifier = { path = "../../external-crates/move/crates/move-bytecode-verifier" } - +# internal dependencies iota-package-management.workspace = true iota-protocol-config.workspace = true iota-types.workspace = true - +iota-verifier = { path = "../../iota-execution/latest/iota-verifier", package = "iota-verifier-latest" } move-binary-format.workspace = true move-bytecode-utils.workspace = true +move-bytecode-verifier = { path = "../../external-crates/move/crates/move-bytecode-verifier" } move-command-line-common.workspace = true move-compiler.workspace = true move-core-types.workspace = true diff --git a/crates/iota-move-lsp/Cargo.toml b/crates/iota-move-lsp/Cargo.toml index 13dc661e611..43516e1bb00 100644 --- a/crates/iota-move-lsp/Cargo.toml +++ b/crates/iota-move-lsp/Cargo.toml @@ -7,7 +7,9 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies clap = { version = "4.1.4", features = ["derive"] } +# internal dependencies bin-version.workspace = true move-analyzer.workspace = true diff --git a/crates/iota-move/Cargo.toml b/crates/iota-move/Cargo.toml index 89773bdb53f..7f793eb9524 100644 --- a/crates/iota-move/Cargo.toml +++ b/crates/iota-move/Cargo.toml @@ -7,8 +7,9 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true -bin-version.workspace = true +better_any = "0.1.1" clap.workspace = true colored.workspace = true const-str.workspace = true @@ -17,9 +18,15 @@ once_cell = { workspace = true, optional = true } prometheus.workspace = true serde_json.workspace = true serde_yaml.workspace = true +tokio = { workspace = true, features = ["full"] } tracing.workspace = true +# internal dependencies +bin-version.workspace = true +iota-move-build.workspace = true iota-move-natives = { path = "../../iota-execution/latest/iota-move-natives", package = "iota-move-natives-latest", optional = true } +iota-protocol-config.workspace = true +iota-types.workspace = true move-binary-format.workspace = true move-cli.workspace = true move-compiler.workspace = true @@ -29,25 +36,20 @@ move-package.workspace = true move-unit-test.workspace = true move-vm-runtime = { path = "../../external-crates/move/crates/move-vm-runtime" } telemetry-subscribers.workspace = true -tokio = { workspace = true, features = ["full"] } - -better_any = "0.1.1" -iota-move-build.workspace = true -iota-protocol-config.workspace = true -iota-types.workspace = true [target.'cfg(not(target_env = "msvc"))'.dependencies] jemalloc-ctl = "^0.5" [dev-dependencies] +# external dependencies futures.workspace = true rand.workspace = true tempfile.workspace = true -move-package.workspace = true - +# internal dependencies iota-macros.workspace = true iota-metrics.workspace = true +move-package.workspace = true [package.metadata.cargo-udeps.ignore] normal = ["jemalloc-ctl"] diff --git a/crates/iota-network/Cargo.toml b/crates/iota-network/Cargo.toml index 85effdc0930..24098d9e430 100644 --- a/crates/iota-network/Cargo.toml +++ b/crates/iota-network/Cargo.toml @@ -7,43 +7,47 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anemo.workspace = true anemo-tower.workspace = true -dashmap.workspace = true -governor.workspace = true -serde.workspace = true -tonic.workspace = true -tower.workspace = true - -iota-archival.workspace = true -iota-config.workspace = true -iota-macros.workspace = true -iota-storage.workspace = true -iota-types.workspace = true - anyhow.workspace = true arc-swap.workspace = true bcs.workspace = true bytes.workspace = true +dashmap.workspace = true fastcrypto.workspace = true fastcrypto-tbls.workspace = true futures.workspace = true -iota-metrics.workspace = true -iota-network-stack.workspace = true +governor.workspace = true prometheus.workspace = true rand.workspace = true +serde.workspace = true tap.workspace = true tokio = { workspace = true, features = ["full"] } +tonic.workspace = true +tower.workspace = true tracing.workspace = true +# internal dependencies +iota-archival.workspace = true +iota-config.workspace = true +iota-macros.workspace = true +iota-metrics.workspace = true +iota-network-stack.workspace = true +iota-storage.workspace = true +iota-types.workspace = true + [build-dependencies] anemo-build.workspace = true tonic-build.workspace = true [dev-dependencies] +# external dependencies ed25519-consensus.workspace = true +tempfile = "3.3.0" +tokio = { workspace = true, features = ["test-util"] } + +# internal dependencies iota-macros.workspace = true iota-swarm-config.workspace = true telemetry-subscribers.workspace = true -tempfile = "3.3.0" -tokio = { workspace = true, features = ["test-util"] } diff --git a/crates/iota-node/Cargo.toml b/crates/iota-node/Cargo.toml index 7011b77a81a..cf25f696c41 100644 --- a/crates/iota-node/Cargo.toml +++ b/crates/iota-node/Cargo.toml @@ -10,6 +10,7 @@ publish = false workspace = true [dependencies] +# external dependencies anemo.workspace = true anemo-tower.workspace = true anyhow.workspace = true @@ -17,9 +18,10 @@ arc-swap.workspace = true axum.workspace = true base64.workspace = true bcs.workspace = true -bin-version.workspace = true clap.workspace = true const-str.workspace = true +fastcrypto.workspace = true +fastcrypto-zkp.workspace = true futures.workspace = true git-version.workspace = true humantime.workspace = true @@ -33,8 +35,8 @@ tower.workspace = true tracing.workspace = true url.workspace = true -fastcrypto.workspace = true -fastcrypto-zkp.workspace = true +# internal dependencies +bin-version.workspace = true iota-archival.workspace = true iota-common.workspace = true iota-config.workspace = true diff --git a/crates/iota-open-rpc/Cargo.toml b/crates/iota-open-rpc/Cargo.toml index 20102d6fb8a..4c09e4be5f6 100644 --- a/crates/iota-open-rpc/Cargo.toml +++ b/crates/iota-open-rpc/Cargo.toml @@ -16,20 +16,22 @@ serde_json.workspace = true versions = "4.1.0" [dev-dependencies] +# external dependencies anyhow.workspace = true bcs.workspace = true clap.workspace = true fastcrypto = { workspace = true } +pretty_assertions.workspace = true +rand.workspace = true +tokio = { workspace = true, features = ["full"] } + +# internal dependencies iota-json.workspace = true iota-json-rpc.workspace = true iota-json-rpc-api.workspace = true iota-json-rpc-types.workspace = true iota-protocol-config.workspace = true iota-types = { workspace = true, features = ["test-utils"] } -pretty_assertions.workspace = true -rand.workspace = true -tokio = { workspace = true, features = ["full"] } - move-core-types.workspace = true [[example]] diff --git a/crates/iota-package-dump/Cargo.toml b/crates/iota-package-dump/Cargo.toml index 50b49e2223c..03501b7bb7a 100644 --- a/crates/iota-package-dump/Cargo.toml +++ b/crates/iota-package-dump/Cargo.toml @@ -7,16 +7,19 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true bcs.workspace = true cynic = { version = "3.7.3", features = ["http-reqwest"] } fastcrypto.workspace = true -iota-types.workspace = true -move-core-types.workspace = true reqwest.workspace = true serde.workspace = true serde_json.workspace = true tracing.workspace = true +# internal dependencies +iota-types.workspace = true +move-core-types.workspace = true + [build-dependencies] cynic-codegen = "=3.7.3" diff --git a/crates/iota-package-management/Cargo.toml b/crates/iota-package-management/Cargo.toml index 2df891bb7e2..d08c5d68871 100644 --- a/crates/iota-package-management/Cargo.toml +++ b/crates/iota-package-management/Cargo.toml @@ -10,14 +10,15 @@ publish = false path = "src/lib.rs" [dependencies] +# external dependencies anyhow.workspace = true thiserror.workspace = true tracing.workspace = true +# internal dependencies iota-json-rpc-types.workspace = true iota-sdk.workspace = true iota-types.workspace = true - move-core-types.workspace = true move-package.workspace = true move-symbol-pool.workspace = true diff --git a/crates/iota-package-resolver/Cargo.toml b/crates/iota-package-resolver/Cargo.toml index 09ed2725bd6..e66462ed79b 100644 --- a/crates/iota-package-resolver/Cargo.toml +++ b/crates/iota-package-resolver/Cargo.toml @@ -7,25 +7,31 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies async-trait.workspace = true bcs.workspace = true eyre.workspace = true -iota-types.workspace = true lru.workspace = true +serde.workspace = true +thiserror.workspace = true +tokio.workspace = true + +# internal dependencies +iota-types.workspace = true move-binary-format.workspace = true # TODO: `move-command-line-common` is used for `ErrorBitset`. We should # refactor the crate into a `move-utils` at some point and use that instead # here once we do. move-command-line-common.workspace = true move-core-types.workspace = true -serde.workspace = true -thiserror.workspace = true -tokio.workspace = true [dev-dependencies] +# external dependencies hyper.workspace = true insta.workspace = true -iota-move-build.workspace = true -move-compiler.workspace = true serde_json.workspace = true tower.workspace = true + +# internal dependencies +iota-move-build.workspace = true +move-compiler.workspace = true diff --git a/crates/iota-protocol-config/Cargo.toml b/crates/iota-protocol-config/Cargo.toml index 33d277b6476..37d84dcaf96 100644 --- a/crates/iota-protocol-config/Cargo.toml +++ b/crates/iota-protocol-config/Cargo.toml @@ -10,13 +10,16 @@ publish = false workspace = true [dependencies] +# external dependencies clap.workspace = true -iota-protocol-config-macros.workspace = true -move-vm-config.workspace = true schemars.workspace = true serde.workspace = true serde_with.workspace = true tracing.workspace = true +# internal dependencies +iota-protocol-config-macros.workspace = true +move-vm-config.workspace = true + [target.'cfg(not(msim))'.dev-dependencies] insta.workspace = true diff --git a/crates/iota-replay/Cargo.toml b/crates/iota-replay/Cargo.toml index e382ea96e1b..6e105fc4b7f 100644 --- a/crates/iota-replay/Cargo.toml +++ b/crates/iota-replay/Cargo.toml @@ -7,6 +7,7 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true async-recursion.workspace = true async-trait.workspace = true @@ -19,25 +20,21 @@ lru.workspace = true parking_lot.workspace = true prometheus.workspace = true rand.workspace = true +regex.workspace = true serde.workspace = true serde_json.workspace = true serde_with.workspace = true serde_yaml.workspace = true shellexpand.workspace = true similar.workspace = true +tabled.workspace = true tempfile.workspace = true thiserror.workspace = true -tracing.workspace = true - -move-binary-format.workspace = true -move-bytecode-utils.workspace = true -move-core-types.workspace = true -move-vm-config.workspace = true -regex.workspace = true -tabled.workspace = true tokio.workspace = true tokio-util.workspace = true +tracing.workspace = true +# internal dependencies iota-config.workspace = true iota-core.workspace = true iota-execution.workspace = true @@ -49,4 +46,8 @@ iota-sdk.workspace = true iota-storage.workspace = true iota-transaction-checks.workspace = true iota-types.workspace = true +move-binary-format.workspace = true +move-bytecode-utils.workspace = true +move-core-types.workspace = true +move-vm-config.workspace = true shared-crypto.workspace = true diff --git a/crates/iota-rest-api/Cargo.toml b/crates/iota-rest-api/Cargo.toml index 3c83b20b68f..01a2340dc7c 100644 --- a/crates/iota-rest-api/Cargo.toml +++ b/crates/iota-rest-api/Cargo.toml @@ -6,10 +6,12 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true axum = { workspace = true, features = ["matched-path"] } bcs.workspace = true +fastcrypto.workspace = true iota-sdk2.workspace = true itertools.workspace = true mime = "0.3" @@ -27,7 +29,7 @@ thiserror.workspace = true tokio.workspace = true url.workspace = true -fastcrypto.workspace = true +# internal dependencies iota-network-stack.workspace = true iota-protocol-config.workspace = true iota-types.workspace = true diff --git a/crates/iota-rosetta/Cargo.toml b/crates/iota-rosetta/Cargo.toml index ab7e85dd113..527414d417a 100644 --- a/crates/iota-rosetta/Cargo.toml +++ b/crates/iota-rosetta/Cargo.toml @@ -7,6 +7,7 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true axum.workspace = true @@ -17,18 +18,9 @@ eyre.workspace = true fastcrypto.workspace = true futures.workspace = true hyper.workspace = true -iota-config.workspace = true -iota-json-rpc-types.workspace = true -iota-keys.workspace = true -iota-metrics.workspace = true -iota-node.workspace = true -iota-sdk.workspace = true -iota-swarm-config.workspace = true -iota-types.workspace = true once_cell.workspace = true serde.workspace = true serde_json.workspace = true -shared-crypto.workspace = true signature.workspace = true strum.workspace = true strum_macros.workspace = true @@ -36,17 +28,29 @@ tempfile.workspace = true thiserror.workspace = true tokio.workspace = true tracing.workspace = true -typed-store.workspace = true +# internal dependencies +iota-config.workspace = true +iota-json-rpc-types.workspace = true +iota-keys.workspace = true +iota-metrics.workspace = true +iota-node.workspace = true +iota-sdk.workspace = true +iota-swarm-config.workspace = true +iota-types.workspace = true move-core-types.workspace = true - +shared-crypto.workspace = true telemetry-subscribers.workspace = true +typed-store.workspace = true [dev-dependencies] -iota-move-build.workspace = true -iota-sdk.workspace = true +# external dependencies rand.workspace = true reqwest.workspace = true signature = { version = "1.6.0", features = ["rand-preview"] } tempfile.workspace = true + +# internal dependencies +iota-move-build.workspace = true +iota-sdk.workspace = true test-cluster.workspace = true diff --git a/crates/iota-rpc-loadgen/Cargo.toml b/crates/iota-rpc-loadgen/Cargo.toml index 0adfa317cb8..632eafb6cb9 100644 --- a/crates/iota-rpc-loadgen/Cargo.toml +++ b/crates/iota-rpc-loadgen/Cargo.toml @@ -7,6 +7,7 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true clap.workspace = true @@ -15,18 +16,18 @@ dirs.workspace = true futures.workspace = true itertools.workspace = true serde.workspace = true +serde_json.workspace = true +shellexpand.workspace = true +strum.workspace = true tokio = { workspace = true, features = ["full"] } tracing.workspace = true -shellexpand.workspace = true - +# internal dependencies iota-json-rpc-types.workspace = true iota-keys.workspace = true iota-sdk.workspace = true iota-types = { workspace = true, features = ["test-utils"] } -serde_json.workspace = true shared-crypto.workspace = true -strum.workspace = true telemetry-subscribers.workspace = true [[bin]] diff --git a/crates/iota-sdk/Cargo.toml b/crates/iota-sdk/Cargo.toml index 885698531b4..6acd1cfdc8c 100644 --- a/crates/iota-sdk/Cargo.toml +++ b/crates/iota-sdk/Cargo.toml @@ -7,23 +7,27 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true base64.workspace = true bcs.workspace = true clap.workspace = true colored.workspace = true +fastcrypto.workspace = true futures.workspace = true futures-core = "0.3.21" jsonrpsee.workspace = true reqwest.workspace = true +rustls.workspace = true serde.workspace = true serde_json.workspace = true serde_with.workspace = true thiserror.workspace = true tokio.workspace = true +tracing.workspace = true -fastcrypto.workspace = true +# internal dependencies iota-config.workspace = true iota-json.workspace = true iota-json-rpc-api.workspace = true @@ -32,20 +36,20 @@ iota-keys.workspace = true iota-transaction-builder.workspace = true iota-types.workspace = true move-core-types.workspace = true -rustls.workspace = true shared-crypto.workspace = true -tracing.workspace = true - # NOTE: It's important to keep the above dependency list short. # This and the iota-json-rpc-api crate are widely used to develop on Iota and it's valuable # to not have to pull in the entire iota repo for it. [dev-dependencies] +# external dependencies dirs.workspace = true -iota-move-build.workspace = true rand.workspace = true tempfile.workspace = true +# internal dependencies +iota-move-build.workspace = true + [[example]] name = "coin_read_api" path = "examples/coin_read_api.rs" @@ -70,7 +74,6 @@ path = "examples/json_rpc_errors.rs" name = "utils" path = "examples/utils.rs" crate-type = ["staticlib"] - # Read API folder [[example]] diff --git a/crates/iota-simulator/Cargo.toml b/crates/iota-simulator/Cargo.toml index 0aa42ac7756..a96c9dcd8b8 100644 --- a/crates/iota-simulator/Cargo.toml +++ b/crates/iota-simulator/Cargo.toml @@ -10,23 +10,25 @@ publish = false workspace = true [dependencies] -move-package.workspace = true - +# external dependencies anemo.workspace = true anemo-tower.workspace = true bcs.workspace = true fastcrypto = { workspace = true, features = ["copy_key"] } -iota-framework.workspace = true -iota-move-build.workspace = true -iota-types.workspace = true lru.workspace = true -narwhal-network.workspace = true rand.workspace = true serde.workspace = true -telemetry-subscribers.workspace = true tempfile.workspace = true tower.workspace = true tracing.workspace = true +# internal dependencies +iota-framework.workspace = true +iota-move-build.workspace = true +iota-types.workspace = true +move-package.workspace = true +narwhal-network.workspace = true +telemetry-subscribers.workspace = true + [target.'cfg(msim)'.dependencies] msim.workspace = true diff --git a/crates/iota-single-node-benchmark/Cargo.toml b/crates/iota-single-node-benchmark/Cargo.toml index 08497ab0208..1a997bf0427 100644 --- a/crates/iota-single-node-benchmark/Cargo.toml +++ b/crates/iota-single-node-benchmark/Cargo.toml @@ -6,6 +6,21 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies +async-trait.workspace = true +bcs.workspace = true +clap.workspace = true +fs_extra.workspace = true +futures.workspace = true +once_cell.workspace = true +prometheus.workspace = true +serde.workspace = true +serde_json.workspace = true +strum.workspace = true +tokio = { workspace = true, features = ["full", "tracing", "test-util"] } +tracing.workspace = true + +# internal dependencies iota-config.workspace = true iota-core = { workspace = true, features = ["test-utils"] } iota-move-build.workspace = true @@ -18,20 +33,7 @@ move-bytecode-utils.workspace = true move-core-types.workspace = true move-package.workspace = true move-symbol-pool.workspace = true - -async-trait.workspace = true -bcs.workspace = true -clap.workspace = true -fs_extra.workspace = true -futures.workspace = true -once_cell.workspace = true -prometheus.workspace = true -serde.workspace = true -serde_json.workspace = true -strum.workspace = true telemetry-subscribers.workspace = true -tokio = { workspace = true, features = ["full", "tracing", "test-util"] } -tracing.workspace = true [dev-dependencies] iota-macros.workspace = true diff --git a/crates/iota-snapshot/Cargo.toml b/crates/iota-snapshot/Cargo.toml index dfe6850239d..e52716185b9 100644 --- a/crates/iota-snapshot/Cargo.toml +++ b/crates/iota-snapshot/Cargo.toml @@ -5,10 +5,10 @@ authors = ["IOTA Foundation "] edition = "2021" license = "Apache-2.0" publish = false - # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +# external dependencies anyhow.workspace = true bcs.workspace = true byteorder.workspace = true @@ -17,11 +17,6 @@ fastcrypto = { workspace = true, features = ["copy_key"] } futures.workspace = true indicatif.workspace = true integer-encoding.workspace = true -iota-config.workspace = true -iota-core.workspace = true -iota-protocol-config.workspace = true -iota-storage.workspace = true -iota-types.workspace = true num_enum.workspace = true object_store.workspace = true prometheus.workspace = true @@ -31,5 +26,12 @@ tokio = { workspace = true, features = ["full"] } tokio-stream.workspace = true tracing.workspace = true +# internal dependencies +iota-config.workspace = true +iota-core.workspace = true +iota-protocol-config.workspace = true +iota-storage.workspace = true +iota-types.workspace = true + [dev-dependencies] tempfile.workspace = true diff --git a/crates/iota-source-validation-service/Cargo.toml b/crates/iota-source-validation-service/Cargo.toml index 2c7dfc3b1ec..861edf99d63 100644 --- a/crates/iota-source-validation-service/Cargo.toml +++ b/crates/iota-source-validation-service/Cargo.toml @@ -14,41 +14,44 @@ path = "src/main.rs" name = "iota-source-validation-service" [dependencies] +# external dependencies anyhow = { version = "1.0.64", features = ["backtrace"] } +axum.workspace = true clap.workspace = true +const-str.workspace = true +git-version.workspace = true hyper.workspace = true jsonrpsee.workspace = true +prometheus.workspace = true serde = { version = "1.0.144", features = ["derive"] } tempfile = "3.3.0" tokio = { workspace = true, features = ["macros", "rt-multi-thread"] } toml = { version = "0.7.4", features = ["preserve_order"] } +tower.workspace = true +tower-http.workspace = true tracing = "0.1.36" url = "2.3.1" +# internal dependencies +bin-version.workspace = true +iota-metrics.workspace = true iota-move.workspace = true iota-move-build.workspace = true iota-sdk.workspace = true iota-source-validation.workspace = true - -axum.workspace = true -bin-version.workspace = true -const-str.workspace = true -git-version.workspace = true -iota-metrics.workspace = true move-compiler.workspace = true move-core-types.workspace = true move-package.workspace = true move-symbol-pool.workspace = true -prometheus.workspace = true telemetry-subscribers.workspace = true -tower.workspace = true -tower-http.workspace = true [dev-dependencies] +# external dependencies expect-test = "1.4.0" fs_extra = "1.3.0" reqwest.workspace = true +# internal dependencies iota.workspace = true iota-json-rpc-types.workspace = true iota-move = { workspace = true, features = ["all"] } diff --git a/crates/iota-source-validation/Cargo.toml b/crates/iota-source-validation/Cargo.toml index 3345176fd78..245de80978e 100644 --- a/crates/iota-source-validation/Cargo.toml +++ b/crates/iota-source-validation/Cargo.toml @@ -10,18 +10,23 @@ publish = false path = "src/lib.rs" [dependencies] +# external dependencies anyhow.workspace = true colored.workspace = true +flate2.workspace = true futures.workspace = true +tar = "0.4" +tempfile.workspace = true thiserror.workspace = true tracing.workspace = true +ureq = "2.9.1" +# internal dependencies iota-json-rpc-types.workspace = true iota-move-build.workspace = true iota-package-management.workspace = true iota-sdk.workspace = true iota-types.workspace = true - move-binary-format.workspace = true move-bytecode-source-map = { path = "../../external-crates/move/crates/move-bytecode-source-map" } move-command-line-common.workspace = true @@ -30,17 +35,14 @@ move-core-types.workspace = true move-package.workspace = true move-symbol-pool.workspace = true -flate2.workspace = true -tar = "0.4" -tempfile.workspace = true -ureq = "2.9.1" - [dev-dependencies] +# external dependencies expect-test.workspace = true rand.workspace = true tempfile.workspace = true tokio = { workspace = true, features = ["macros", "test-util"] } tracing.workspace = true +# internal dependencies iota-test-transaction-builder.workspace = true test-cluster.workspace = true diff --git a/crates/iota-storage/Cargo.toml b/crates/iota-storage/Cargo.toml index febb924b74a..61bddb1328c 100644 --- a/crates/iota-storage/Cargo.toml +++ b/crates/iota-storage/Cargo.toml @@ -10,6 +10,7 @@ publish = false workspace = true [dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true backoff.workspace = true @@ -19,6 +20,7 @@ byteorder.workspace = true bytes.workspace = true chrono.workspace = true clap = "4.3.2" +eyre.workspace = true fastcrypto.workspace = true futures.workspace = true hyper.workspace = true @@ -26,6 +28,7 @@ hyper-rustls.workspace = true indicatif.workspace = true integer-encoding.workspace = true itertools.workspace = true +lru.workspace = true num_enum.workspace = true object_store.workspace = true parking_lot.workspace = true @@ -35,35 +38,39 @@ reqwest.workspace = true serde.workspace = true serde_json.workspace = true tap.workspace = true -telemetry-subscribers.workspace = true tempfile.workspace = true tokio = { workspace = true, features = ["full", "tracing"] } tracing.workspace = true url.workspace = true zstd = "0.13" -eyre.workspace = true +# internal dependencies iota-config.workspace = true iota-json-rpc-types.workspace = true iota-metrics.workspace = true iota-protocol-config.workspace = true iota-types.workspace = true -lru.workspace = true -move-core-types.workspace = true -typed-store.workspace = true - move-binary-format.workspace = true move-bytecode-utils.workspace = true +move-core-types.workspace = true +telemetry-subscribers.workspace = true +typed-store.workspace = true [dev-dependencies] +# external dependencies anyhow.workspace = true +once_cell.workspace = true +tempfile.workspace = true + +# internal dependencies iota-macros = { workspace = true } iota-test-transaction-builder.workspace = true iota-types = { workspace = true, features = ["test-utils"] } -once_cell.workspace = true -tempfile.workspace = true [target.'cfg(msim)'.dependencies] +# external dependencies axum.workspace = true -iota-simulator.workspace = true rustls = "0.23" + +# internal dependencies +iota-simulator.workspace = true diff --git a/crates/iota-surfer/Cargo.toml b/crates/iota-surfer/Cargo.toml index 21b61d11bc5..e0012406013 100644 --- a/crates/iota-surfer/Cargo.toml +++ b/crates/iota-surfer/Cargo.toml @@ -7,14 +7,7 @@ license = "Apache-2.0" publish = false [dependencies] -iota-core.workspace = true -iota-json-rpc-types.workspace = true -iota-move-build.workspace = true -iota-protocol-config.workspace = true -iota-swarm-config.workspace = true -iota-types.workspace = true -test-cluster.workspace = true - +# external dependencies async-trait.workspace = true bcs.workspace = true clap.workspace = true @@ -24,13 +17,23 @@ rand.workspace = true tokio = { workspace = true, features = ["full", "tracing", "test-util"] } tracing.workspace = true +# internal dependencies +iota-core.workspace = true +iota-json-rpc-types.workspace = true +iota-move-build.workspace = true +iota-protocol-config.workspace = true +iota-swarm-config.workspace = true +iota-types.workspace = true move-binary-format.workspace = true move-core-types.workspace = true telemetry-subscribers.workspace = true +test-cluster.workspace = true [dev-dependencies] -iota-macros.workspace = true -iota-simulator.workspace = true +# external dependencies prometheus.workspace = true +# internal dependencies +iota-macros.workspace = true +iota-simulator.workspace = true move-package.workspace = true diff --git a/crates/iota-swarm-config/Cargo.toml b/crates/iota-swarm-config/Cargo.toml index 7c0018444b4..184c38b6bd2 100644 --- a/crates/iota-swarm-config/Cargo.toml +++ b/crates/iota-swarm-config/Cargo.toml @@ -10,6 +10,7 @@ publish = false workspace = true [dependencies] +# external dependencies anemo.workspace = true anyhow.workspace = true bcs.workspace = true @@ -22,6 +23,7 @@ serde_yaml.workspace = true tempfile.workspace = true tracing.workspace = true +# internal dependencies iota-config.workspace = true iota-genesis-builder.workspace = true iota-macros.workspace = true @@ -34,7 +36,9 @@ shared-crypto.workspace = true iota-simulator.workspace = true [dev-dependencies] +# external dependencies insta.workspace = true tempfile.workspace = true +# internal dependencies iota-execution.workspace = true diff --git a/crates/iota-swarm/Cargo.toml b/crates/iota-swarm/Cargo.toml index 78c1931e285..e69ed6612ad 100644 --- a/crates/iota-swarm/Cargo.toml +++ b/crates/iota-swarm/Cargo.toml @@ -10,6 +10,7 @@ publish = false workspace = true [dependencies] +# external dependencies anyhow.workspace = true futures.workspace = true prometheus.workspace = true @@ -20,6 +21,7 @@ tokio = { workspace = true, features = ["full"] } tonic-health.workspace = true tracing.workspace = true +# internal dependencies iota-config.workspace = true iota-macros.workspace = true iota-metrics.workspace = true diff --git a/crates/iota-test-transaction-builder/Cargo.toml b/crates/iota-test-transaction-builder/Cargo.toml index c4677bd8370..b3cf1f4d923 100644 --- a/crates/iota-test-transaction-builder/Cargo.toml +++ b/crates/iota-test-transaction-builder/Cargo.toml @@ -7,12 +7,13 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies bcs.workspace = true +# internal dependencies iota-genesis-builder.workspace = true iota-move-build.workspace = true iota-sdk.workspace = true iota-types.workspace = true -shared-crypto.workspace = true - move-core-types.workspace = true +shared-crypto.workspace = true diff --git a/crates/iota-tls/Cargo.toml b/crates/iota-tls/Cargo.toml index b57b9abed5f..25a602741b1 100644 --- a/crates/iota-tls/Cargo.toml +++ b/crates/iota-tls/Cargo.toml @@ -9,24 +9,21 @@ description = "tools for rustls-based certificate generation and verification" [dependencies] anyhow.workspace = true +# Axum support +axum.workspace = true +axum-server = { git = "https://github.com/bmwill/axum-server.git", rev = "f44323e271afdd1365fd0c8b0a4c0bbdf4956cb7", version = "0.6", default-features = false, features = ["tls-rustls"] } ed25519 = { version = "2.2", features = ["pkcs8", "alloc", "zeroize"] } +fastcrypto.workspace = true pkcs8 = { version = "0.10", features = ["std"] } rcgen = "0.13" -rustls.workspace = true -webpki = { version = "0.102", package = "rustls-webpki", features = ["alloc", "std"] } -x509-parser = "0.14.0" - -fastcrypto.workspace = true - # reqwest support reqwest.workspace = true - -# Axum support -axum.workspace = true -axum-server = { git = "https://github.com/bmwill/axum-server.git", rev = "f44323e271afdd1365fd0c8b0a4c0bbdf4956cb7", version = "0.6", default-features = false, features = ["tls-rustls"] } +rustls.workspace = true tokio.workspace = true tokio-rustls.workspace = true tower-layer = "0.3.2" +webpki = { version = "0.102", package = "rustls-webpki", features = ["alloc", "std"] } +x509-parser = "0.14.0" [dev-dependencies] rand.workspace = true diff --git a/crates/iota-tool/Cargo.toml b/crates/iota-tool/Cargo.toml index f9408d81254..92e9e719bda 100644 --- a/crates/iota-tool/Cargo.toml +++ b/crates/iota-tool/Cargo.toml @@ -7,17 +7,20 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies +anemo.workspace = true +anemo-cli = { git = "https://github.com/mystenlabs/anemo.git", rev = "dbb5a074c2d25660525ab5d36d65ff0cb8051949" } anyhow.workspace = true bcs.workspace = true clap.workspace = true colored.workspace = true comfy-table.workspace = true eyre.workspace = true +fastcrypto.workspace = true futures.workspace = true hex.workspace = true indicatif.workspace = true itertools.workspace = true -move-core-types.workspace = true num_cpus.workspace = true object_store.workspace = true prometheus.workspace = true @@ -27,15 +30,10 @@ serde_json.workspace = true strum.workspace = true strum_macros.workspace = true tempfile.workspace = true -tracing.workspace = true - -anemo.workspace = true -anemo-cli = { git = "https://github.com/mystenlabs/anemo.git", rev = "dbb5a074c2d25660525ab5d36d65ff0cb8051949" } -fastcrypto.workspace = true -telemetry-subscribers.workspace = true tokio = { workspace = true, features = ["full"] } -typed-store.workspace = true +tracing.workspace = true +# internal dependencies bin-version.workspace = true iota-archival.workspace = true iota-config.workspace = true @@ -48,3 +46,6 @@ iota-sdk.workspace = true iota-snapshot.workspace = true iota-storage.workspace = true iota-types.workspace = true +move-core-types.workspace = true +telemetry-subscribers.workspace = true +typed-store.workspace = true diff --git a/crates/iota-transaction-builder/Cargo.toml b/crates/iota-transaction-builder/Cargo.toml index 9062c9102c6..7023993b4c5 100644 --- a/crates/iota-transaction-builder/Cargo.toml +++ b/crates/iota-transaction-builder/Cargo.toml @@ -7,15 +7,16 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true bcs.workspace = true futures.workspace = true +# internal dependencies iota-json.workspace = true iota-json-rpc-types.workspace = true iota-protocol-config.workspace = true iota-types.workspace = true move-binary-format.workspace = true - move-core-types.workspace = true diff --git a/crates/iota-transaction-checks/Cargo.toml b/crates/iota-transaction-checks/Cargo.toml index 05fa14dbb78..cb4829109e4 100644 --- a/crates/iota-transaction-checks/Cargo.toml +++ b/crates/iota-transaction-checks/Cargo.toml @@ -7,11 +7,14 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies fastcrypto-zkp.workspace = true +once_cell.workspace = true +tracing.workspace = true + +# internal dependencies iota-config.workspace = true iota-execution.workspace = true iota-macros.workspace = true iota-protocol-config.workspace = true iota-types.workspace = true -once_cell.workspace = true -tracing.workspace = true diff --git a/crates/iota-transactional-test-runner/Cargo.toml b/crates/iota-transactional-test-runner/Cargo.toml index 202e12c1ce4..5909b1d6e46 100644 --- a/crates/iota-transactional-test-runner/Cargo.toml +++ b/crates/iota-transactional-test-runner/Cargo.toml @@ -11,6 +11,7 @@ description = "Move framework for Iota platform" workspace = true [dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true bcs.workspace = true @@ -25,13 +26,10 @@ rand.workspace = true regex.workspace = true rocksdb.workspace = true serde_json.workspace = true -simulacrum.workspace = true -telemetry-subscribers.workspace = true tempfile.workspace = true tokio.workspace = true -typed-store.workspace = true -typed-store-derive.workspace = true +# internal dependencies iota-config.workspace = true iota-core = { workspace = true, features = ["test-utils"] } iota-framework.workspace = true @@ -54,6 +52,10 @@ move-stdlib = { path = "../../external-crates/move/crates/move-stdlib" } move-symbol-pool.workspace = true move-transactional-test-runner = { path = "../../external-crates/move/crates/move-transactional-test-runner" } move-vm-runtime = { path = "../../external-crates/move/crates/move-vm-runtime" } +simulacrum.workspace = true +telemetry-subscribers.workspace = true +typed-store.workspace = true +typed-store-derive.workspace = true [target.'cfg(msim)'.dependencies] msim.workspace = true diff --git a/crates/iota-types/Cargo.toml b/crates/iota-types/Cargo.toml index f85e31c6353..5f7d713c009 100644 --- a/crates/iota-types/Cargo.toml +++ b/crates/iota-types/Cargo.toml @@ -10,31 +10,28 @@ publish = false workspace = true [dependencies] +# external dependencies anemo.workspace = true anyhow.workspace = true async-trait.workspace = true bcs.workspace = true +better_any.workspace = true bincode.workspace = true byteorder.workspace = true chrono.workspace = true -consensus-config.workspace = true derivative.workspace = true +derive_more = "0.99.17" enum_dispatch.workspace = true eyre.workspace = true +fastcrypto = { workspace = true, features = ["copy_key"] } +fastcrypto-tbls.workspace = true +fastcrypto-zkp.workspace = true hex.workspace = true im.workspace = true indexmap.workspace = true -iota-stardust-sdk = { version = "1.1", default-features = false, features = ["irc_27", "irc_30", "std"], package = "iota-sdk" } +iota-sdk2.workspace = true itertools.workspace = true -move-binary-format.workspace = true -move-bytecode-utils.workspace = true -move-command-line-common.workspace = true -move-core-types.workspace = true -move-disassembler.workspace = true -move-ir-types.workspace = true -move-vm-profiler.workspace = true -move-vm-test-utils.workspace = true -move-vm-types.workspace = true +lru.workspace = true nonempty.workspace = true num-bigint = { version = "0.4", default-features = false, features = ["rand"] } num-rational = "0.4" @@ -42,7 +39,11 @@ num-traits = "0.2.18" num_enum.workspace = true once_cell.workspace = true packable = { version = "0.8", default-features = false, features = ["io"] } +parking_lot.workspace = true +passkey-types.workspace = true prometheus.workspace = true +proptest = { workspace = true, optional = true } +proptest-derive = { workspace = true, optional = true } rand.workspace = true roaring.workspace = true schemars.workspace = true @@ -59,40 +60,37 @@ thiserror.workspace = true tonic.workspace = true tracing.workspace = true +# internal dependencies +consensus-config.workspace = true iota-enum-compat-util.workspace = true iota-macros.workspace = true iota-metrics.workspace = true iota-network-stack.workspace = true iota-protocol-config.workspace = true -parking_lot.workspace = true +iota-stardust-sdk = { version = "1.1", default-features = false, features = ["irc_27", "irc_30", "std"], package = "iota-sdk" } +move-binary-format.workspace = true +move-bytecode-utils.workspace = true +move-command-line-common.workspace = true +move-core-types.workspace = true +move-disassembler.workspace = true +move-ir-types.workspace = true +move-vm-profiler.workspace = true +move-vm-test-utils.workspace = true +move-vm-types.workspace = true shared-crypto.workspace = true - -fastcrypto = { workspace = true, features = ["copy_key"] } -fastcrypto-tbls.workspace = true -fastcrypto-zkp.workspace = true -passkey-types.workspace = true - -better_any.workspace = true -derive_more = "0.99.17" -lru.workspace = true -proptest = { workspace = true, optional = true } -proptest-derive = { workspace = true, optional = true } typed-store-error.workspace = true -iota-sdk2.workspace = true - [dev-dependencies] +async-trait.workspace = true bincode.workspace = true +coset.workspace = true criterion.workspace = true expect-test.workspace = true -proptest.workspace = true -serde_yaml.workspace = true - -async-trait.workspace = true -coset.workspace = true p256.workspace = true passkey-authenticator.workspace = true passkey-client.workspace = true +proptest.workspace = true +serde_yaml.workspace = true tokio.workspace = true url.workspace = true @@ -103,9 +101,10 @@ harness = false [features] default = [] test-utils = [] + gas-profiler = [ "move-vm-profiler/gas-profiler", - "move-vm-types/gas-profiler", "move-vm-test-utils/gas-profiler", + "move-vm-types/gas-profiler", ] fuzzing = ["move-core-types/fuzzing", "dep:proptest-derive", "dep:proptest"] diff --git a/crates/iota-upgrade-compatibility-transactional-tests/Cargo.toml b/crates/iota-upgrade-compatibility-transactional-tests/Cargo.toml index f409562271e..9dc55b3714c 100644 --- a/crates/iota-upgrade-compatibility-transactional-tests/Cargo.toml +++ b/crates/iota-upgrade-compatibility-transactional-tests/Cargo.toml @@ -8,9 +8,12 @@ publish = false description = "Transactional tests for package upgrade compatibility checking" [dev-dependencies] +# external dependencies anyhow.workspace = true datatest-stable.workspace = true insta.workspace = true + +# internal dependencies iota-move-build.workspace = true move-binary-format.workspace = true move-command-line-common.workspace = true diff --git a/crates/iota-util-mem/Cargo.toml b/crates/iota-util-mem/Cargo.toml index 83f3d4e4917..45c0c7d8d87 100644 --- a/crates/iota-util-mem/Cargo.toml +++ b/crates/iota-util-mem/Cargo.toml @@ -10,6 +10,7 @@ rust-version = "1.56.1" description = "Collection of memory related utilities" [dependencies] +# external dependencies cfg-if.workspace = true ed25519-consensus.workspace = true fastcrypto = { workspace = true } @@ -17,13 +18,14 @@ fastcrypto-tbls.workspace = true hashbrown = { version = "0.12", optional = true } impl-trait-for-tuples = "0.2.0" indexmap.workspace = true -iota-util-mem-derive.workspace = true -roaring.workspace = true - once_cell.workspace = true parking_lot = { workspace = true, optional = true } +roaring.workspace = true smallvec = { workspace = true, optional = true } +# internal dependencies +iota-util-mem-derive.workspace = true + [features] default = ["std", "hashbrown", "smallvec", "estimate-heapsize"] std = ["parking_lot"] diff --git a/crates/iota-verifier-transactional-tests/Cargo.toml b/crates/iota-verifier-transactional-tests/Cargo.toml index a32520bfa50..4e1b638658a 100644 --- a/crates/iota-verifier-transactional-tests/Cargo.toml +++ b/crates/iota-verifier-transactional-tests/Cargo.toml @@ -8,7 +8,10 @@ publish = false description = "Transactional tests for Iota Verifier" [dev-dependencies] +# external dependencies datatest-stable.workspace = true + +# internal dependencies iota-transactional-test-runner.workspace = true [[test]] diff --git a/crates/iota/Cargo.toml b/crates/iota/Cargo.toml index 522907e63a4..0aa47c1d54f 100644 --- a/crates/iota/Cargo.toml +++ b/crates/iota/Cargo.toml @@ -10,6 +10,7 @@ publish = false workspace = true [dependencies] +# external dependencies anemo.workspace = true anyhow.workspace = true async-recursion.workspace = true @@ -18,11 +19,14 @@ aws-config = "1.5" aws-sdk-kms = "1.44.0" axum.workspace = true bcs.workspace = true -bin-version.workspace = true bip32.workspace = true camino.workspace = true clap.workspace = true +colored.workspace = true +csv.workspace = true diesel = { workspace = true, optional = true } +fastcrypto.workspace = true +fastcrypto-zkp.workspace = true futures.workspace = true http.workspace = true im.workspace = true @@ -39,17 +43,22 @@ rustyline-derive = "0.10" serde.workspace = true serde_json.workspace = true serde_yaml.workspace = true +shell-words = "1.1.0" signature.workspace = true tabled.workspace = true tap.workspace = true +tempfile.workspace = true thiserror.workspace = true tokio = { workspace = true, features = ["full"] } tower.workspace = true tower-http.workspace = true tracing.workspace = true +unescape.workspace = true url.workspace = true uuid.workspace = true +# internal dependencies +bin-version.workspace = true iota-bridge.workspace = true iota-config.workspace = true iota-execution = { path = "../../iota-execution" } @@ -71,43 +80,34 @@ iota-swarm.workspace = true iota-swarm-config.workspace = true iota-transaction-builder.workspace = true iota-types.workspace = true -move-binary-format.workspace = true -shared-crypto.workspace = true - -fastcrypto.workspace = true -fastcrypto-zkp.workspace = true - -colored.workspace = true -shell-words = "1.1.0" -unescape.workspace = true - -telemetry-subscribers.workspace = true -tempfile.workspace = true - -csv.workspace = true move-analyzer.workspace = true +move-binary-format.workspace = true move-bytecode-verifier-meter.workspace = true move-command-line-common.workspace = true move-core-types.workspace = true move-package.workspace = true move-vm-config.workspace = true move-vm-profiler.workspace = true +shared-crypto.workspace = true +telemetry-subscribers.workspace = true [target.'cfg(not(msim))'.dev-dependencies] datatest-stable.workspace = true [dev-dependencies] +# external dependencies assert_cmd = "2.0.6" expect-test.workspace = true fs_extra.workspace = true insta.workspace = true prometheus.workspace = true +serde_json.workspace = true shlex = "1.3.0" +# internal dependencies iota-macros.workspace = true iota-simulator.workspace = true iota-test-transaction-builder.workspace = true -serde_json.workspace = true test-cluster.workspace = true [target.'cfg(msim)'.dependencies] diff --git a/crates/simulacrum/Cargo.toml b/crates/simulacrum/Cargo.toml index 2c469e25d0f..1218a2c8dea 100644 --- a/crates/simulacrum/Cargo.toml +++ b/crates/simulacrum/Cargo.toml @@ -7,19 +7,19 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true async-trait.workspace = true bcs.workspace = true fastcrypto.workspace = true futures.workspace = true -move-binary-format.workspace = true -move-core-types.workspace = true once_cell.workspace = true prometheus.workspace = true rand.workspace = true serde.workspace = true tracing.workspace = true +# internal dependencies iota-config.workspace = true iota-execution.workspace = true iota-framework.workspace = true @@ -30,7 +30,9 @@ iota-storage.workspace = true iota-swarm-config.workspace = true iota-transaction-checks.workspace = true iota-types.workspace = true +move-binary-format.workspace = true move-bytecode-utils.workspace = true +move-core-types.workspace = true shared-crypto.workspace = true [dev-dependencies] diff --git a/crates/test-cluster/Cargo.toml b/crates/test-cluster/Cargo.toml index 1725b1ec49c..8daa823b3d3 100644 --- a/crates/test-cluster/Cargo.toml +++ b/crates/test-cluster/Cargo.toml @@ -10,21 +10,23 @@ publish = false workspace = true [dependencies] +# external dependencies anyhow.workspace = true bcs.workspace = true fastcrypto.workspace = true futures.workspace = true -iota-genesis-builder.workspace = true jsonrpsee.workspace = true prometheus.workspace = true rand.workspace = true tokio = { workspace = true, features = ["full", "tracing", "test-util"] } tracing.workspace = true +# internal dependencies iota-bridge.workspace = true iota-config.workspace = true iota-core = { workspace = true, features = ["test-utils"] } iota-framework.workspace = true +iota-genesis-builder.workspace = true iota-json-rpc.workspace = true iota-json-rpc-api.workspace = true iota-json-rpc-types.workspace = true @@ -39,9 +41,12 @@ iota-types = { workspace = true, features = ["test-utils"] } move-binary-format.workspace = true [target.'cfg(msim)'.dependencies] -iota-simulator.workspace = true +# external dependencies fastcrypto-zkp.workspace = true +# internal dependencies +iota-simulator.workspace = true + [dev-dependencies] iota-json-rpc-api.workspace = true iota-macros.workspace = true diff --git a/crates/transaction-fuzzer/Cargo.toml b/crates/transaction-fuzzer/Cargo.toml index 2d9479d8787..97b1df784d4 100644 --- a/crates/transaction-fuzzer/Cargo.toml +++ b/crates/transaction-fuzzer/Cargo.toml @@ -11,7 +11,7 @@ description = "Tool to fuzz the system with randomly generated transactions" workspace = true [dependencies] -move-core-types.workspace = true +# external dependencies once_cell.workspace = true proptest.workspace = true proptest-derive.workspace = true @@ -19,10 +19,12 @@ rand.workspace = true tokio = { workspace = true, features = ["full"] } tracing.workspace = true +# internal dependencies iota-core = { workspace = true, features = ["test-utils"] } iota-move-build.workspace = true iota-protocol-config.workspace = true iota-types = { workspace = true, features = ["fuzzing"] } +move-core-types.workspace = true [dev-dependencies] iota-types = { workspace = true, features = ["test-utils"] } diff --git a/crates/typed-store-workspace-hack/Cargo.toml b/crates/typed-store-workspace-hack/Cargo.toml index 4cd14d055cf..b6d7587f629 100644 --- a/crates/typed-store-workspace-hack/Cargo.toml +++ b/crates/typed-store-workspace-hack/Cargo.toml @@ -4,7 +4,6 @@ # # This was generated using `cargo hakari` plus `cargo tree` to select only the # dependencies that were relevant for rocksdb. - [package] name = "typed-store-workspace-hack" version = "0.0.0" @@ -17,5 +16,5 @@ libc = { version = "0.2", features = ["extra_traits"] } memchr = { version = "2" } [build-dependencies] -memchr = { version = "2" } libc = { version = "0.2", features = ["extra_traits"] } +memchr = { version = "2" } diff --git a/crates/typed-store/Cargo.toml b/crates/typed-store/Cargo.toml index c17b46328a2..48389f44d0b 100644 --- a/crates/typed-store/Cargo.toml +++ b/crates/typed-store/Cargo.toml @@ -9,6 +9,7 @@ repository = "https://github.com/mystenlabs/mysten-infra" description = "a typed database interface" [dependencies] +# external dependencies async-trait.workspace = true bcs.workspace = true bincode.workspace = true @@ -16,7 +17,6 @@ collectable = "0.0.2" eyre.workspace = true fdlimit.workspace = true hdrhistogram.workspace = true -iota-macros.workspace = true itertools.workspace = true once_cell.workspace = true ouroboros = "0.18" @@ -28,6 +28,9 @@ tap.workspace = true thiserror.workspace = true tokio = { workspace = true, features = ["full", "test-util"] } tracing.workspace = true + +# internal dependencies +iota-macros.workspace = true typed-store-derive.workspace = true typed-store-error.workspace = true diff --git a/docs/examples/rust/Cargo.toml b/docs/examples/rust/Cargo.toml index f5cc22ef190..b395318ce83 100644 --- a/docs/examples/rust/Cargo.toml +++ b/docs/examples/rust/Cargo.toml @@ -7,8 +7,10 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies anyhow.workspace = true +# internal dependencies iota-keys.workspace = true iota-move-build.workspace = true iota-sdk.workspace = true @@ -16,11 +18,13 @@ move-binary-format = { workspace = true, features = ["fuzzing"] } shared-crypto.workspace = true [dev-dependencies] +# external dependencies bcs.workspace = true bip32.workspace = true serde_json.workspace = true tokio.workspace = true +# internal dependencies move-core-types.workspace = true [[example]] diff --git a/examples/custom-indexer/rust/Cargo.toml b/examples/custom-indexer/rust/Cargo.toml index 7072c6efe89..d7fd5328ab2 100644 --- a/examples/custom-indexer/rust/Cargo.toml +++ b/examples/custom-indexer/rust/Cargo.toml @@ -4,13 +4,16 @@ version = "0.1.0" edition = "2021" [dependencies] +# external dependencies anyhow = "1.0.86" async-trait = "0.1.81" -iota_data_ingestion_core = { git = "https://github.com/iotaledger/iota", package = "iota-data-ingestion-core" } -iota_types = { git = "https://github.com/iotaledger/iota", package = "iota-types" } prometheus = "0.13.3" tokio = { version = "1.38.0", features = ["full"] } +# internal dependencies +iota_data_ingestion_core = { git = "https://github.com/iotaledger/iota", package = "iota-data-ingestion-core" } +iota_types = { git = "https://github.com/iotaledger/iota", package = "iota-types" } + [[bin]] name = "local_reader" path = "local_reader.rs" diff --git a/examples/tic-tac-toe/cli/Cargo.toml b/examples/tic-tac-toe/cli/Cargo.toml index af418ff537c..dba1dbe5795 100644 --- a/examples/tic-tac-toe/cli/Cargo.toml +++ b/examples/tic-tac-toe/cli/Cargo.toml @@ -4,15 +4,18 @@ version = "0.1.0" edition = "2021" [dependencies] +# external dependencies anyhow = "1.0.86" bcs = "0.1.6" clap = { version = "4.5", features = ["derive", "env", "wrap_help"] } dirs = "5.0.1" fastcrypto = "0.1.8" +serde = { version = "1.0.203", features = ["derive"] } +tokio = { version = "1.38.0", features = ["time"] } + +# internal dependencies iota-keys = { path = "../../../crates/iota-keys" } iota-sdk = { path = "../../../crates/iota-sdk" } iota-types = { path = "../../../crates/iota-types" } move-core-types = { path = "../../../external-crates/move/crates/move-core-types" } -serde = { version = "1.0.203", features = ["derive"] } shared-crypto = { path = "../../../crates/shared-crypto" } -tokio = { version = "1.38.0", features = ["time"] } diff --git a/iota-execution/Cargo.toml b/iota-execution/Cargo.toml index d5547420922..c6b1c4f9c78 100644 --- a/iota-execution/Cargo.toml +++ b/iota-execution/Cargo.toml @@ -8,25 +8,22 @@ publish = false description = "Multiplexer to choose between multiple versions of iota and move execution crates." [dependencies] -iota-protocol-config.workspace = true -iota-types.workspace = true - -move-binary-format.workspace = true -move-bytecode-verifier-meter.workspace = true -move-vm-config.workspace = true - iota-adapter-latest = { path = "latest/iota-adapter" } iota-adapter-v0 = { path = "v0/iota-adapter" } # iota-adapter-$CUT = { path = "$CUT/iota-adapter" } iota-move-natives-latest = { path = "latest/iota-move-natives" } iota-move-natives-v0 = { path = "v0/iota-move-natives" } +iota-protocol-config.workspace = true +iota-types.workspace = true # iota-move-natives-$CUT = { path = "$CUT/iota-move-natives" } iota-verifier-latest = { path = "latest/iota-verifier" } iota-verifier-v0 = { path = "v0/iota-verifier" } +move-binary-format.workspace = true # iota-verifier-$CUT = { path = "$CUT/iota-verifier" } - move-bytecode-verifier-latest = { path = "../external-crates/move/crates/move-bytecode-verifier", package = "move-bytecode-verifier" } +move-bytecode-verifier-meter.workspace = true move-bytecode-verifier-v0 = { path = "../external-crates/move/move-execution/v0/crates/move-bytecode-verifier" } +move-vm-config.workspace = true # move-bytecode-verifier-$CUT = { path = "../external-crates/move/move-execution/$CUT/crates/move-bytecode-verifier" } move-vm-runtime-latest = { path = "../external-crates/move/crates/move-vm-runtime", package = "move-vm-runtime" } move-vm-runtime-v0 = { path = "../external-crates/move/move-execution/v0/crates/move-vm-runtime" } @@ -38,10 +35,11 @@ petgraph = "0.6" [features] default = [] + gas-profiler = [ "iota-adapter-latest/gas-profiler", - # "iota-adapter-$CUT/gas-profiler", + "move-vm-config/gas-profiler", "move-vm-runtime-latest/gas-profiler", + # "iota-adapter-$CUT/gas-profiler", # "move-vm-runtime-$CUT/gas-profiler", - "move-vm-config/gas-profiler", ] diff --git a/iota-execution/latest/iota-adapter/Cargo.toml b/iota-execution/latest/iota-adapter/Cargo.toml index 9b72b0fadd6..452e5c1dd45 100644 --- a/iota-execution/latest/iota-adapter/Cargo.toml +++ b/iota-execution/latest/iota-adapter/Cargo.toml @@ -11,36 +11,36 @@ description = "Adapter and accompanying CLI for local iota development" workspace = true [dependencies] +# external dependencies anyhow = { workspace = true, features = ["backtrace"] } bcs.workspace = true leb128.workspace = true +parking_lot.workspace = true serde.workspace = true tracing.workspace = true +# internal dependencies +iota-macros.workspace = true iota-metrics.workspace = true +iota-move-natives = { path = "../iota-move-natives", package = "iota-move-natives-latest" } +iota-protocol-config.workspace = true +iota-types.workspace = true +iota-verifier = { path = "../iota-verifier", package = "iota-verifier-latest" } move-binary-format.workspace = true move-bytecode-utils.workspace = true +move-bytecode-verifier = { path = "../../../external-crates/move/crates/move-bytecode-verifier" } move-bytecode-verifier-meter.workspace = true move-core-types.workspace = true move-vm-config.workspace = true -move-vm-types.workspace = true - -iota-move-natives = { path = "../iota-move-natives", package = "iota-move-natives-latest" } -iota-verifier = { path = "../iota-verifier", package = "iota-verifier-latest" } -move-bytecode-verifier = { path = "../../../external-crates/move/crates/move-bytecode-verifier" } move-vm-profiler = { path = "../../../external-crates/move/crates/move-vm-profiler" } move-vm-runtime = { path = "../../../external-crates/move/crates/move-vm-runtime" } - -iota-macros.workspace = true -iota-protocol-config.workspace = true -iota-types.workspace = true -parking_lot.workspace = true +move-vm-types.workspace = true [features] gas-profiler = [ "iota-types/gas-profiler", - "move-vm-runtime/gas-profiler", + "move-vm-config/gas-profiler", "move-vm-profiler/gas-profiler", + "move-vm-runtime/gas-profiler", "move-vm-types/gas-profiler", - "move-vm-config/gas-profiler", ] diff --git a/iota-execution/latest/iota-move-natives/Cargo.toml b/iota-execution/latest/iota-move-natives/Cargo.toml index 0f4049a0d13..d48954d4cac 100644 --- a/iota-execution/latest/iota-move-natives/Cargo.toml +++ b/iota-execution/latest/iota-move-natives/Cargo.toml @@ -8,22 +8,22 @@ publish = false description = "Move framework for iota platform" [dependencies] +# external dependencies bcs.workspace = true better_any.workspace = true +fastcrypto.workspace = true +fastcrypto-vdf.workspace = true +fastcrypto-zkp.workspace = true indexmap.workspace = true rand = { workspace = true, features = ["small_rng"] } smallvec.workspace = true +tracing.workspace = true -fastcrypto.workspace = true -fastcrypto-vdf.workspace = true -fastcrypto-zkp.workspace = true +# internal dependencies +iota-protocol-config.workspace = true +iota-types.workspace = true move-binary-format.workspace = true move-core-types.workspace = true -move-vm-types.workspace = true - move-stdlib-natives = { path = "../../../external-crates/move/crates/move-stdlib-natives" } move-vm-runtime = { path = "../../../external-crates/move/crates/move-vm-runtime" } - -iota-protocol-config.workspace = true -iota-types.workspace = true -tracing.workspace = true +move-vm-types.workspace = true diff --git a/iota-execution/latest/iota-verifier/Cargo.toml b/iota-execution/latest/iota-verifier/Cargo.toml index fd231247596..ac4c84687a3 100644 --- a/iota-execution/latest/iota-verifier/Cargo.toml +++ b/iota-execution/latest/iota-verifier/Cargo.toml @@ -8,14 +8,12 @@ publish = false description = "Move framework for Iota platform" [dependencies] +iota-protocol-config.workspace = true +iota-types.workspace = true +move-abstract-interpreter = { path = "../../../external-crates/move/crates/move-abstract-interpreter" } move-abstract-stack.workspace = true move-binary-format.workspace = true move-bytecode-utils.workspace = true move-bytecode-verifier-meter.workspace = true move-core-types.workspace = true move-vm-config.workspace = true - -move-abstract-interpreter = { path = "../../../external-crates/move/crates/move-abstract-interpreter" } - -iota-protocol-config.workspace = true -iota-types.workspace = true diff --git a/iota-execution/v0/iota-adapter/Cargo.toml b/iota-execution/v0/iota-adapter/Cargo.toml index 9ffc2f4693f..03405276c34 100644 --- a/iota-execution/v0/iota-adapter/Cargo.toml +++ b/iota-execution/v0/iota-adapter/Cargo.toml @@ -11,36 +11,36 @@ description = "Adapter and accompanying CLI for local iota development" workspace = true [dependencies] +# external dependencies anyhow = { workspace = true, features = ["backtrace"] } bcs.workspace = true leb128.workspace = true +parking_lot.workspace = true serde.workspace = true tracing.workspace = true +# internal dependencies +iota-macros.workspace = true iota-metrics.workspace = true +iota-move-natives = { path = "../iota-move-natives", package = "iota-move-natives-v0" } +iota-protocol-config.workspace = true +iota-types.workspace = true +iota-verifier = { path = "../iota-verifier", package = "iota-verifier-v0" } move-binary-format.workspace = true move-bytecode-utils.workspace = true +move-bytecode-verifier = { path = "../../../external-crates/move/move-execution/v0/crates/move-bytecode-verifier", package = "move-bytecode-verifier-v0" } move-bytecode-verifier-meter.workspace = true move-core-types.workspace = true move-vm-config.workspace = true -move-vm-types.workspace = true - -iota-move-natives = { path = "../iota-move-natives", package = "iota-move-natives-v0" } -iota-verifier = { path = "../iota-verifier", package = "iota-verifier-v0" } -move-bytecode-verifier = { path = "../../../external-crates/move/move-execution/v0/crates/move-bytecode-verifier", package = "move-bytecode-verifier-v0" } move-vm-profiler = { path = "../../../external-crates/move/crates/move-vm-profiler" } move-vm-runtime = { path = "../../../external-crates/move/move-execution/v0/crates/move-vm-runtime", package = "move-vm-runtime-v0" } - -iota-macros.workspace = true -iota-protocol-config.workspace = true -iota-types.workspace = true -parking_lot.workspace = true +move-vm-types.workspace = true [features] gas-profiler = [ "iota-types/gas-profiler", - "move-vm-runtime/gas-profiler", + "move-vm-config/gas-profiler", "move-vm-profiler/gas-profiler", + "move-vm-runtime/gas-profiler", "move-vm-types/gas-profiler", - "move-vm-config/gas-profiler", ] diff --git a/iota-execution/v0/iota-move-natives/Cargo.toml b/iota-execution/v0/iota-move-natives/Cargo.toml index e3d5fb96e76..d493f43d646 100644 --- a/iota-execution/v0/iota-move-natives/Cargo.toml +++ b/iota-execution/v0/iota-move-natives/Cargo.toml @@ -8,22 +8,22 @@ publish = false description = "Move framework for iota platform" [dependencies] +# external dependencies bcs.workspace = true better_any.workspace = true +fastcrypto.workspace = true +fastcrypto-vdf.workspace = true +fastcrypto-zkp.workspace = true indexmap.workspace = true rand = { workspace = true, features = ["small_rng"] } smallvec.workspace = true +tracing.workspace = true -fastcrypto.workspace = true -fastcrypto-vdf.workspace = true -fastcrypto-zkp.workspace = true +# internal dependencies +iota-protocol-config.workspace = true +iota-types.workspace = true move-binary-format.workspace = true move-core-types.workspace = true -move-vm-types.workspace = true - move-stdlib-natives = { path = "../../../external-crates/move/move-execution/v0/crates/move-stdlib-natives", package = "move-stdlib-natives-v0" } move-vm-runtime = { path = "../../../external-crates/move/move-execution/v0/crates/move-vm-runtime", package = "move-vm-runtime-v0" } - -iota-protocol-config.workspace = true -iota-types.workspace = true -tracing.workspace = true +move-vm-types.workspace = true diff --git a/iota-execution/v0/iota-verifier/Cargo.toml b/iota-execution/v0/iota-verifier/Cargo.toml index b8684bf36b2..bc6a55ecdef 100644 --- a/iota-execution/v0/iota-verifier/Cargo.toml +++ b/iota-execution/v0/iota-verifier/Cargo.toml @@ -8,14 +8,12 @@ publish = false description = "Move framework for Iota platform" [dependencies] +iota-protocol-config.workspace = true +iota-types.workspace = true +move-abstract-interpreter = { path = "../../../external-crates/move/move-execution/v0/crates/move-abstract-interpreter", package = "move-abstract-interpreter-v0" } move-abstract-stack.workspace = true move-binary-format.workspace = true move-bytecode-utils.workspace = true move-bytecode-verifier-meter.workspace = true move-core-types.workspace = true move-vm-config.workspace = true - -move-abstract-interpreter = { path = "../../../external-crates/move/move-execution/v0/crates/move-abstract-interpreter", package = "move-abstract-interpreter-v0" } - -iota-protocol-config.workspace = true -iota-types.workspace = true diff --git a/narwhal/config/Cargo.toml b/narwhal/config/Cargo.toml index 7b2d7aaf0dd..e4739ddf598 100644 --- a/narwhal/config/Cargo.toml +++ b/narwhal/config/Cargo.toml @@ -7,21 +7,25 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies +fastcrypto.workspace = true match_opt = "0.1" +rand.workspace = true serde.workspace = true serde_json.workspace = true thiserror.workspace = true tracing.workspace = true +# internal dependencies crypto = { path = "../crypto", package = "narwhal-crypto" } -fastcrypto.workspace = true iota-network-stack.workspace = true iota-util-mem.workspace = true -rand.workspace = true [dev-dependencies] +# external dependencies insta.workspace = true rand.workspace = true tempfile.workspace = true +# internal dependencies test-utils = { path = "../test-utils", package = "narwhal-test-utils" } diff --git a/narwhal/crypto/Cargo.toml b/narwhal/crypto/Cargo.toml index 35dbbc2b4e9..96db44d300c 100644 --- a/narwhal/crypto/Cargo.toml +++ b/narwhal/crypto/Cargo.toml @@ -7,9 +7,12 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies bcs.workspace = true fastcrypto.workspace = true serde.workspace = true + +# internal dependencies shared-crypto.workspace = true [features] diff --git a/narwhal/network/Cargo.toml b/narwhal/network/Cargo.toml index 3924c7066bc..484693383b4 100644 --- a/narwhal/network/Cargo.toml +++ b/narwhal/network/Cargo.toml @@ -7,26 +7,28 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies +anemo.workspace = true +anemo-tower.workspace = true +anyhow.workspace = true async-trait.workspace = true +axum.workspace = true bytes.workspace = true -crypto = { path = "../crypto", package = "narwhal-crypto" } dashmap.workspace = true futures.workspace = true -iota-common.workspace = true -iota-metrics.workspace = true parking_lot.workspace = true prometheus.workspace = true quinn-proto.workspace = true rand = { workspace = true, features = ["small_rng"] } tokio = { workspace = true, features = ["rt", "net", "sync", "macros", "time"] } +tower.workspace = true tracing.workspace = true -types = { path = "../types", package = "narwhal-types" } -anemo.workspace = true -anemo-tower.workspace = true -anyhow.workspace = true -axum.workspace = true -tower.workspace = true +# internal dependencies +crypto = { path = "../crypto", package = "narwhal-crypto" } +iota-common.workspace = true +iota-metrics.workspace = true +types = { path = "../types", package = "narwhal-types" } [dev-dependencies] bincode.workspace = true diff --git a/narwhal/test-utils/Cargo.toml b/narwhal/test-utils/Cargo.toml index 5d45146475b..ad0e8d8de09 100644 --- a/narwhal/test-utils/Cargo.toml +++ b/narwhal/test-utils/Cargo.toml @@ -7,6 +7,9 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies +anemo.workspace = true +fastcrypto.workspace = true fdlimit.workspace = true indexmap.workspace = true once_cell.workspace = true @@ -16,11 +19,9 @@ tokio = { workspace = true, features = ["sync", "rt", "macros"] } tonic.workspace = true tracing.workspace = true +# internal dependencies config = { path = "../config", package = "narwhal-config" } crypto = { path = "../crypto", package = "narwhal-crypto" } -fastcrypto.workspace = true iota-network-stack.workspace = true iota-protocol-config.workspace = true types = { path = "../types", package = "narwhal-types" } - -anemo.workspace = true diff --git a/narwhal/types/Cargo.toml b/narwhal/types/Cargo.toml index ec23ea093a9..3f8057f66be 100644 --- a/narwhal/types/Cargo.toml +++ b/narwhal/types/Cargo.toml @@ -7,13 +7,17 @@ license = "Apache-2.0" publish = false [dependencies] +# external dependencies +anyhow.workspace = true base64.workspace = true bcs.workspace = true bytes.workspace = true derive_builder = "0.12.0" enum_dispatch.workspace = true +fastcrypto.workspace = true futures.workspace = true indexmap.workspace = true +once_cell.workspace = true proptest.workspace = true proptest-derive.workspace = true prost.workspace = true @@ -26,21 +30,21 @@ tokio = { workspace = true, features = ["sync", "rt", "macros"] } tonic.workspace = true tracing.workspace = true -anyhow.workspace = true +# internal dependencies config = { path = "../config", package = "narwhal-config" } crypto = { path = "../crypto", package = "narwhal-crypto" } -fastcrypto.workspace = true -once_cell.workspace = true - iota-common.workspace = true iota-network-stack.workspace = true iota-util-mem.workspace = true [dev-dependencies] +# external dependencies criterion.workspace = true -iota-metrics.workspace = true prometheus.workspace = true serde_test = "1.0.147" + +# internal dependencies +iota-metrics.workspace = true test-utils = { path = "../test-utils", package = "narwhal-test-utils" } [build-dependencies] diff --git a/nre/bpf/nodefw/nodefw-ebpf/Cargo.toml b/nre/bpf/nodefw/nodefw-ebpf/Cargo.toml index 879ef22e7e1..fa27dbb0894 100644 --- a/nre/bpf/nodefw/nodefw-ebpf/Cargo.toml +++ b/nre/bpf/nodefw/nodefw-ebpf/Cargo.toml @@ -4,10 +4,13 @@ version = "0.1.0" edition = "2021" [dependencies] +# external dependencies aya-bpf = { git = "https://github.com/aya-rs/aya" } aya-log-ebpf = { git = "https://github.com/aya-rs/aya" } memoffset = "0.9" network-types = "0.0.5" + +# internal dependencies nodefw-common = { path = "../nodefw-common" } [[bin]] @@ -15,20 +18,20 @@ name = "nodefw" path = "src/main.rs" [profile.dev] -opt-level = 3 +codegen-units = 1 debug = false debug-assertions = false -overflow-checks = false +incremental = false lto = true +opt-level = 3 +overflow-checks = false panic = "abort" -incremental = false -codegen-units = 1 rpath = false [profile.release] +codegen-units = 1 lto = true panic = "abort" -codegen-units = 1 [workspace] members = [] diff --git a/nre/bpf/nodefw/nodefw/Cargo.toml b/nre/bpf/nodefw/nodefw/Cargo.toml index 8cbec064e15..7e97fe50696 100644 --- a/nre/bpf/nodefw/nodefw/Cargo.toml +++ b/nre/bpf/nodefw/nodefw/Cargo.toml @@ -5,6 +5,7 @@ edition = "2021" publish = false [dependencies] +# external dependencies anyhow = "1" axum = { version = "0.7", default-features = false, features = ["headers", "tokio", "http1", "http2", "json", "matched-path", "original-uri", "form", "query"] } axum-server = { version = "0.6", default-features = false } @@ -16,7 +17,6 @@ http-body = "0.4" libc = "0.2" log = "0.4" nix = { version = "0.29", features = ["time"] } -nodefw-common = { path = "../nodefw-common", features = ["user"] } serde.workspace = true serde_json = { workspace = true, features = ["preserve_order", "arbitrary_precision"] } tokio = { version = "1.25", features = ["macros", "rt", "rt-multi-thread", "net", "signal", "time"] } @@ -25,6 +25,9 @@ tower = { version = "0.4.12", features = ["full", "util", "timeout", "load-shed" tower-http = { version = "0.3.4", features = ["cors", "full", "trace", "set-header", "propagate-header"] } tracing = "0.1.37" +# internal dependencies +nodefw-common = { path = "../nodefw-common", features = ["user"] } + [[bin]] name = "nodefw" path = "src/main.rs" diff --git a/sdk/move-bytecode-template/Cargo.toml b/sdk/move-bytecode-template/Cargo.toml index 207db2bbdd3..5728535a27f 100644 --- a/sdk/move-bytecode-template/Cargo.toml +++ b/sdk/move-bytecode-template/Cargo.toml @@ -9,13 +9,16 @@ repository = "https://github.com/iotaledger/iota.git" description = "WASM variant of the move-binary-format which allows bytecode templates" [dependencies] +# external dependencies hex = "0.4" -move-binary-format = { path = "../../external-crates/move/crates/move-binary-format", features = ["wasm"] } -move-core-types = { path = "../../external-crates/move/crates/move-core-types", default-features = false } serde = { version = "1.0", default-features = false } serde-wasm-bindgen = "0.6" serde_json = "1.0" wasm-bindgen = "0.2" +# internal dependencies +move-binary-format = { path = "../../external-crates/move/crates/move-binary-format", features = ["wasm"] } +move-core-types = { path = "../../external-crates/move/crates/move-core-types", default-features = false } + [lib] crate-type = ["cdylib"] From 100ded3ae4990197bc228687bd461b73561d386b Mon Sep 17 00:00:00 2001 From: Thibault Martinez Date: Wed, 23 Oct 2024 17:06:55 +0200 Subject: [PATCH 05/21] chore(*): remove last Error variant suffixes (#3570) --- crates/iota-analytics-indexer/src/errors.rs | 4 +- crates/iota-analytics-indexer/src/main.rs | 2 +- .../iota-aws-orchestrator/src/client/aws.rs | 13 ++-- crates/iota-aws-orchestrator/src/error.rs | 14 ++-- crates/iota-aws-orchestrator/src/monitor.rs | 4 +- .../src/eth_bridge_indexer.rs | 4 +- crates/iota-bridge/src/action_executor.rs | 2 +- .../src/client/bridge_authority_aggregator.rs | 16 ++--- .../iota-bridge/src/client/bridge_client.rs | 2 +- crates/iota-bridge/src/error.rs | 18 ++--- crates/iota-bridge/src/eth_client.rs | 30 ++++---- crates/iota-bridge/src/events.rs | 6 +- crates/iota-bridge/src/iota_client.rs | 15 ++-- .../src/iota_transaction_builder.rs | 14 ++-- crates/iota-bridge/src/storage.rs | 30 +++----- crates/iota-cluster-test/src/helper.rs | 2 +- crates/iota-core/src/authority_server.rs | 10 +-- .../src/unit_tests/authority_tests.rs | 4 +- .../src/unit_tests/transaction_tests.rs | 8 +-- .../unit_tests/transfer_to_object_tests.rs | 2 +- crates/iota-faucet/src/errors.rs | 6 +- .../iota-faucet/src/faucet/simple_faucet.rs | 8 +-- .../iota-faucet/src/faucet/write_ahead_log.rs | 8 +-- crates/iota-graphql-rpc-client/src/lib.rs | 2 +- .../iota-graphql-rpc-client/src/response.rs | 2 +- crates/iota-indexer/src/apis/indexer_api.rs | 2 +- crates/iota-indexer/src/apis/read_api.rs | 2 +- crates/iota-json-rpc/src/authority_state.rs | 8 +-- crates/iota-json-rpc/src/bridge_api.rs | 2 +- crates/iota-json-rpc/src/error.rs | 68 +++++++++---------- crates/iota-json-rpc/src/governance_api.rs | 4 +- crates/iota-json-rpc/src/indexer_api.rs | 6 +- crates/iota-json-rpc/src/lib.rs | 4 +- crates/iota-json-rpc/src/move_utils.rs | 2 +- crates/iota-json-rpc/src/read_api.rs | 22 +++--- crates/iota-package-resolver/src/error.rs | 2 +- crates/iota-package-resolver/src/lib.rs | 2 +- crates/iota-rosetta/src/construction.rs | 6 +- crates/iota-rosetta/src/errors.rs | 24 +++---- crates/iota-rosetta/src/operations.rs | 6 +- crates/iota-rosetta/src/state.rs | 2 +- crates/iota-transaction-checks/src/lib.rs | 10 +-- crates/iota-types/src/base_types.rs | 4 +- crates/iota-types/src/bridge.rs | 8 +-- crates/iota-types/src/error.rs | 22 +++--- crates/iota-types/src/object.rs | 2 +- .../src/span_latency_prom.rs | 4 +- crates/typed-store-error/src/errors.rs | 6 +- crates/typed-store/src/rocks/errors.rs | 6 +- crates/typed-store/src/rocks/keys.rs | 2 +- crates/typed-store/src/rocks/mod.rs | 18 ++--- crates/typed-store/src/rocks/safe_iter.rs | 2 +- crates/typed-store/src/rocks/tests.rs | 6 +- crates/typed-store/src/rocks/values.rs | 2 +- 54 files changed, 236 insertions(+), 244 deletions(-) diff --git a/crates/iota-analytics-indexer/src/errors.rs b/crates/iota-analytics-indexer/src/errors.rs index 97c5268e902..d412a22c713 100644 --- a/crates/iota-analytics-indexer/src/errors.rs +++ b/crates/iota-analytics-indexer/src/errors.rs @@ -7,7 +7,7 @@ use thiserror::Error; #[derive(Debug, Error)] pub enum AnalyticsIndexerError { #[error("Generic error: `{0}`")] - GenericError(String), + Generic(String), #[error("Failed to retrieve the current directory.")] - CurrentDirError, + CurrentDir, } diff --git a/crates/iota-analytics-indexer/src/main.rs b/crates/iota-analytics-indexer/src/main.rs index d06c838ae82..3e08ce16efc 100644 --- a/crates/iota-analytics-indexer/src/main.rs +++ b/crates/iota-analytics-indexer/src/main.rs @@ -35,7 +35,7 @@ async fn main() -> Result<()> { let remote_store_url = config.remote_store_url.clone(); let processor = make_analytics_processor(config, metrics) .await - .map_err(|e| AnalyticsIndexerError::GenericError(e.to_string()))?; + .map_err(|e| AnalyticsIndexerError::Generic(e.to_string()))?; let watermark = processor.last_committed_checkpoint().unwrap_or_default() + 1; let reader_options = ReaderOptions { diff --git a/crates/iota-aws-orchestrator/src/client/aws.rs b/crates/iota-aws-orchestrator/src/client/aws.rs index a9be62e9c8a..3d4c0efd0ef 100644 --- a/crates/iota-aws-orchestrator/src/client/aws.rs +++ b/crates/iota-aws-orchestrator/src/client/aws.rs @@ -32,7 +32,7 @@ where T: Debug + std::error::Error + Send + Sync + 'static, { fn from(e: SdkError) -> Self { - Self::RequestError(format!("{:?}", e.into_source())) + Self::Request(format!("{:?}", e.into_source())) } } @@ -147,7 +147,7 @@ impl AwsClient { response .images() .first() - .ok_or_else(|| CloudProviderError::RequestError("Cannot find image id".into()))? + .ok_or_else(|| CloudProviderError::Request("Cannot find image id".into()))? .image_id .clone() .ok_or_else(|| { @@ -310,9 +310,10 @@ impl ServerProviderClient for AwsClient { let region = region.into(); let testbed_id = &self.settings.testbed_id; - let client = self.clients.get(®ion).ok_or_else(|| { - CloudProviderError::RequestError(format!("Undefined region {region:?}")) - })?; + let client = self + .clients + .get(®ion) + .ok_or_else(|| CloudProviderError::Request(format!("Undefined region {region:?}")))?; // Create a security group (if needed). self.create_security_group(client).await?; @@ -359,7 +360,7 @@ impl ServerProviderClient for AwsClient { async fn delete_instance(&self, instance: Instance) -> CloudProviderResult<()> { let client = self.clients.get(&instance.region).ok_or_else(|| { - CloudProviderError::RequestError(format!("Undefined region {:?}", instance.region)) + CloudProviderError::Request(format!("Undefined region {:?}", instance.region)) })?; client diff --git a/crates/iota-aws-orchestrator/src/error.rs b/crates/iota-aws-orchestrator/src/error.rs index 856ddc27d39..d5373eac284 100644 --- a/crates/iota-aws-orchestrator/src/error.rs +++ b/crates/iota-aws-orchestrator/src/error.rs @@ -37,7 +37,7 @@ pub type CloudProviderResult = Result; #[derive(thiserror::Error, Debug)] pub enum CloudProviderError { #[error("Failed to send server request: {0}")] - RequestError(String), + Request(String), #[error("Unexpected response: {0}")] UnexpectedResponse(String), @@ -84,10 +84,10 @@ pub type MonitorResult = Result; #[derive(thiserror::Error, Debug)] pub enum MonitorError { #[error(transparent)] - SshError(#[from] SshError), + Ssh(#[from] SshError), #[error("Failed to start Grafana: {0}")] - GrafanaError(String), + Grafana(String), } pub type TestbedResult = Result; @@ -95,17 +95,17 @@ pub type TestbedResult = Result; #[derive(thiserror::Error, Debug)] pub enum TestbedError { #[error(transparent)] - SettingsError(#[from] SettingsError), + Settings(#[from] SettingsError), #[error(transparent)] - CloudProviderError(#[from] CloudProviderError), + CloudProvider(#[from] CloudProviderError), #[error(transparent)] - SshError(#[from] SshError), + Ssh(#[from] SshError), #[error("Not enough instances: missing {0} instances")] InsufficientCapacity(usize), #[error(transparent)] - MonitorError(#[from] MonitorError), + Monitor(#[from] MonitorError), } diff --git a/crates/iota-aws-orchestrator/src/monitor.rs b/crates/iota-aws-orchestrator/src/monitor.rs index 2ce01cf57b3..3a3da4f7a43 100644 --- a/crates/iota-aws-orchestrator/src/monitor.rs +++ b/crates/iota-aws-orchestrator/src/monitor.rs @@ -255,7 +255,7 @@ impl LocalGrafana { let mut file = path.clone(); file.push(format!("instance-{}.yml", i)); fs::write(&file, Self::datasource(&instance, i)).map_err(|e| { - MonitorError::GrafanaError(format!("Failed to write grafana datasource ({e})")) + MonitorError::Grafana(format!("Failed to write grafana datasource ({e})")) })?; } @@ -266,7 +266,7 @@ impl LocalGrafana { .arg("grafana") .arg("-q") .spawn() - .map_err(|e| MonitorError::GrafanaError(e.to_string()))?; + .map_err(|e| MonitorError::Grafana(e.to_string()))?; Ok(()) } diff --git a/crates/iota-bridge-indexer/src/eth_bridge_indexer.rs b/crates/iota-bridge-indexer/src/eth_bridge_indexer.rs index fc3b2fd8764..2a602de49b4 100644 --- a/crates/iota-bridge-indexer/src/eth_bridge_indexer.rs +++ b/crates/iota-bridge-indexer/src/eth_bridge_indexer.rs @@ -83,14 +83,14 @@ impl Datasource for EthSubscriptionDatasource { let raw_log = RawEthLog { block_number: log .block_number - .ok_or(BridgeError::ProviderError( + .ok_or(BridgeError::Provider( "Provider returns log without block_number".into(), )) .unwrap() .as_u64(), tx_hash: log .transaction_hash - .ok_or(BridgeError::ProviderError( + .ok_or(BridgeError::Provider( "Provider returns log without transaction_hash".into(), )) .unwrap(), diff --git a/crates/iota-bridge/src/action_executor.rs b/crates/iota-bridge/src/action_executor.rs index 0709f8061d0..be81c44ed10 100644 --- a/crates/iota-bridge/src/action_executor.rs +++ b/crates/iota-bridge/src/action_executor.rs @@ -1410,7 +1410,7 @@ mod tests { mock.add_iota_event_response( iota_tx_digest, iota_tx_event_index, - Err(BridgeError::RestAPIError("small issue".into())), + Err(BridgeError::RestAPI("small issue".into())), ); } } diff --git a/crates/iota-bridge/src/client/bridge_authority_aggregator.rs b/crates/iota-bridge/src/client/bridge_authority_aggregator.rs index e22f2678fd0..d06cb842565 100644 --- a/crates/iota-bridge/src/client/bridge_authority_aggregator.rs +++ b/crates/iota-bridge/src/client/bridge_authority_aggregator.rs @@ -252,7 +252,7 @@ async fn request_sign_bridge_action_into_certification( state.total_ok_stake, state.validity_threshold, ); - BridgeError::AuthoritySignatureAggregationTooManyError(format!( + BridgeError::AuthoritySignatureAggregationTooManyErrors(format!( "Failed to get enough signatures, bad stake: {}, blocklisted stake: {}, good stake: {}, validity threshold: {}", state.total_bad_stake, state.committee.total_blocklisted_stake(), @@ -397,7 +397,7 @@ mod tests { mock3.add_iota_event_response( iota_tx_digest, iota_tx_event_index, - Err(BridgeError::RestAPIError("".into())), + Err(BridgeError::RestAPI("".into())), ); agg.request_committee_signatures(action.clone()) .await @@ -407,7 +407,7 @@ mod tests { mock2.add_iota_event_response( iota_tx_digest, iota_tx_event_index, - Err(BridgeError::RestAPIError("".into())), + Err(BridgeError::RestAPI("".into())), ); agg.request_committee_signatures(action.clone()) .await @@ -417,7 +417,7 @@ mod tests { mock1.add_iota_event_response( iota_tx_digest, iota_tx_event_index, - Err(BridgeError::RestAPIError("".into())), + Err(BridgeError::RestAPI("".into())), ); let err = agg .request_committee_signatures(action.clone()) @@ -425,7 +425,7 @@ mod tests { .unwrap_err(); assert!(matches!( err, - BridgeError::AuthoritySignatureAggregationTooManyError(_) + BridgeError::AuthoritySignatureAggregationTooManyErrors(_) )); } @@ -504,7 +504,7 @@ mod tests { mock3.add_iota_event_response( iota_tx_digest, iota_tx_event_index, - Err(BridgeError::RestAPIError("".into())), + Err(BridgeError::RestAPI("".into())), ); let err = agg .request_committee_signatures(action.clone()) @@ -512,7 +512,7 @@ mod tests { .unwrap_err(); assert!(matches!( err, - BridgeError::AuthoritySignatureAggregationTooManyError(_) + BridgeError::AuthoritySignatureAggregationTooManyErrors(_) )); // if mock 3 returns duplicated signature (by authority 2), `BridgeClient` will @@ -528,7 +528,7 @@ mod tests { .unwrap_err(); assert!(matches!( err, - BridgeError::AuthoritySignatureAggregationTooManyError(_) + BridgeError::AuthoritySignatureAggregationTooManyErrors(_) )); } diff --git a/crates/iota-bridge/src/client/bridge_client.rs b/crates/iota-bridge/src/client/bridge_client.rs index d58e9a461ab..cd65afb4891 100644 --- a/crates/iota-bridge/src/client/bridge_client.rs +++ b/crates/iota-bridge/src/client/bridge_client.rs @@ -214,7 +214,7 @@ impl BridgeClient { .await?; if !resp.status().is_success() { let error_status = format!("{:?}", resp.error_for_status_ref()); - return Err(BridgeError::RestAPIError(format!( + return Err(BridgeError::RestAPI(format!( "request_sign_bridge_action failed with status {:?}: {:?}", error_status, resp.text().await? diff --git a/crates/iota-bridge/src/error.rs b/crates/iota-bridge/src/error.rs index 2858068daf5..928bf74b8b0 100644 --- a/crates/iota-bridge/src/error.rs +++ b/crates/iota-bridge/src/error.rs @@ -23,17 +23,17 @@ pub enum BridgeError { // Found BridgeEvent but not BridgeAction BridgeEventNotActionable, // Failure to serialize - BridgeSerializationError(String), + BridgeSerialization(String), // Internal Bridge error - InternalError(String), + Internal(String), // Authority signature duplication AuthoritySignatureDuplication(String), // Too many errors when aggregating authority signatures - AuthoritySignatureAggregationTooManyError(String), + AuthoritySignatureAggregationTooManyErrors(String), // Transient Ethereum provider error - TransientProviderError(String), + TransientProvider(String), // Ethereum provider error - ProviderError(String), + Provider(String), // TokenId is unknown UnknownTokenId(u8), // Invalid BridgeCommittee @@ -54,10 +54,10 @@ pub enum BridgeError { MismatchedAction, // Action is not a governance action ActionIsNotGovernanceAction(BridgeAction), - // Client requested an non-approved governace action + // Client requested an non-approved governance action GovernanceActionIsNotApproved, // Authority has invalid url - AuthoirtyUrlInvalid, + AuthorityUrlInvalid, // Action is not token transfer ActionIsNotTokenTransferAction, // Iota transaction failure due to generic error @@ -65,9 +65,9 @@ pub enum BridgeError { // Zero value bridge transfer should not be allowed ZeroValueBridgeTransfer(String), // Storage Error - StorageError(String), + Storage(String), // Rest API Error - RestAPIError(String), + RestAPI(String), // Uncategorized error Generic(String), } diff --git a/crates/iota-bridge/src/eth_client.rs b/crates/iota-bridge/src/eth_client.rs index 4a0b21fffcd..f70d5d138f0 100644 --- a/crates/iota-bridge/src/eth_client.rs +++ b/crates/iota-bridge/src/eth_client.rs @@ -79,7 +79,7 @@ where .await .map_err(BridgeError::from)? .ok_or(BridgeError::TxNotFound)?; - let receipt_block_num = receipt.block_number.ok_or(BridgeError::ProviderError( + let receipt_block_num = receipt.block_number.ok_or(BridgeError::Provider( "Provider returns log without block_number".into(), ))?; // TODO: save the latest finalized block id so we don't have to query it every @@ -116,10 +116,10 @@ where self.provider .request("eth_getBlockByNumber", ("finalized", false)) .await; - let block = block?.ok_or(BridgeError::TransientProviderError( + let block = block?.ok_or(BridgeError::TransientProvider( "Provider fails to return last finalized block".into(), ))?; - let number = block.number.ok_or(BridgeError::TransientProviderError( + let number = block.number.ok_or(BridgeError::TransientProvider( "Provider returns block without number".into(), ))?; Ok(number.as_u64()) @@ -153,7 +153,7 @@ where // Safeguard check that all events are emitted from requested contract address if logs.iter().any(|log| log.address != address) { - return Err(BridgeError::ProviderError(format!( + return Err(BridgeError::Provider(format!( "Provider returns logs from different contract address (expected: {:?}): {:?}", address, logs ))); @@ -204,11 +204,11 @@ where logs.into_iter().map( |log| { if log.address != address { - return Err(BridgeError::ProviderError(format!("Provider returns logs from different contract address (expected: {:?}): {:?}", address, log))); + return Err(BridgeError::Provider(format!("Provider returns logs from different contract address (expected: {:?}): {:?}", address, log))); } Ok(RawEthLog { - block_number: log.block_number.ok_or(BridgeError::ProviderError("Provider returns log without block_number".into()))?.as_u64(), - tx_hash: log.transaction_hash.ok_or(BridgeError::ProviderError("Provider returns log without transaction_hash".into()))?, + block_number: log.block_number.ok_or(BridgeError::Provider("Provider returns log without block_number".into()))?.as_u64(), + tx_hash: log.transaction_hash.ok_or(BridgeError::Provider("Provider returns log without transaction_hash".into()))?, log, })} ).collect::, _>>() @@ -221,15 +221,15 @@ where async fn get_log_tx_details(&self, log: ethers::types::Log) -> BridgeResult { let block_number = log .block_number - .ok_or(BridgeError::ProviderError( + .ok_or(BridgeError::Provider( "Provider returns log without block_number".into(), ))? .as_u64(); - let tx_hash = log.transaction_hash.ok_or(BridgeError::ProviderError( + let tx_hash = log.transaction_hash.ok_or(BridgeError::Provider( "Provider returns log without transaction_hash".into(), ))?; // This is the log index in the block, rather than transaction. - let log_index = log.log_index.ok_or(BridgeError::ProviderError( + let log_index = log.log_index.ok_or(BridgeError::Provider( "Provider returns log without log_index".into(), ))?; @@ -241,16 +241,16 @@ where .get_transaction_receipt(tx_hash) .await .map_err(BridgeError::from)? - .ok_or(BridgeError::ProviderError(format!( + .ok_or(BridgeError::Provider(format!( "Provide cannot find eth transaction for log: {:?})", log )))?; - let receipt_block_num = receipt.block_number.ok_or(BridgeError::ProviderError( + let receipt_block_num = receipt.block_number.ok_or(BridgeError::Provider( "Provider returns log without block_number".into(), ))?; if receipt_block_num.as_u64() != block_number { - return Err(BridgeError::ProviderError(format!( + return Err(BridgeError::Provider(format!( "Provider returns receipt with different block number from log. Receipt: {:?}, Log: {:?}", receipt, log ))); @@ -263,7 +263,7 @@ where if receipt_log.log_index == Some(log_index) { // make sure the topics and data match if receipt_log.topics != log.topics || receipt_log.data != log.data { - return Err(BridgeError::ProviderError(format!( + return Err(BridgeError::Provider(format!( "Provider returns receipt with different log from log. Receipt: {:?}, Log: {:?}", receipt, log ))); @@ -271,7 +271,7 @@ where log_index_in_tx = Some(idx); } } - let log_index_in_tx = log_index_in_tx.ok_or(BridgeError::ProviderError(format!( + let log_index_in_tx = log_index_in_tx.ok_or(BridgeError::Provider(format!( "Couldn't find matching log: {:?} in transaction {}", log, tx_hash )))?; diff --git a/crates/iota-bridge/src/events.rs b/crates/iota-bridge/src/events.rs index 32ff091fda7..101db3aca1c 100644 --- a/crates/iota-bridge/src/events.rs +++ b/crates/iota-bridge/src/events.rs @@ -150,7 +150,7 @@ impl TryFrom for TokenRegistrationEvent { fn try_from(event: MoveTokenRegistrationEvent) -> BridgeResult { let type_name = parse_iota_type_tag(&format!("0x{}", event.type_name)).map_err(|e| { - BridgeError::InternalError(format!( + BridgeError::Internal(format!( "Failed to parse TypeTag: {e}, type name: {}", event.type_name )) @@ -189,7 +189,7 @@ impl TryFrom for NewTokenEvent { fn try_from(event: MoveNewTokenEvent) -> BridgeResult { let type_name = parse_iota_type_tag(&format!("0x{}", event.type_name)).map_err(|e| { - BridgeError::InternalError(format!( + BridgeError::Internal(format!( "Failed to parse TypeTag: {e}, type name: {}", event.type_name )) @@ -393,7 +393,7 @@ macro_rules! declare_events { // Unwrap safe: we inited above $( if &event.type_ == $variant.get().unwrap() { - let event_struct: $event_struct = bcs::from_bytes(&event.bcs).map_err(|e| BridgeError::InternalError(format!("Failed to deserialize event to {}: {:?}", stringify!($event_struct), e)))?; + let event_struct: $event_struct = bcs::from_bytes(&event.bcs).map_err(|e| BridgeError::Internal(format!("Failed to deserialize event to {}: {:?}", stringify!($event_struct), e)))?; return Ok(Some(IotaBridgeEvent::$variant(event_struct.try_into()?))); } )* diff --git a/crates/iota-bridge/src/iota_client.rs b/crates/iota-bridge/src/iota_client.rs index adbd550ceeb..63da0c725c8 100644 --- a/crates/iota-bridge/src/iota_client.rs +++ b/crates/iota-bridge/src/iota_client.rs @@ -159,7 +159,7 @@ where self.inner .get_bridge_summary() .await - .map_err(|e| BridgeError::InternalError(format!("Can't get bridge committee: {e}"))) + .map_err(|e| BridgeError::Internal(format!("Can't get bridge committee: {e}"))) } pub async fn is_bridge_paused(&self) -> BridgeResult { @@ -182,7 +182,7 @@ where parse_iota_type_tag(&format!("0x{name}")) .map(|name| (id, name)) .map_err(|e| { - BridgeError::InternalError(format!( + BridgeError::Internal(format!( "Failed to retrieve token id mapping: {e}, type name: {name}" )) }) @@ -208,7 +208,7 @@ where None } }) - .ok_or(BridgeError::InternalError( + .ok_or(BridgeError::Internal( "Error encountered when retrieving token notional values.".into(), )) }) @@ -216,10 +216,11 @@ where } pub async fn get_bridge_committee(&self) -> BridgeResult { - let bridge_summary = - self.inner.get_bridge_summary().await.map_err(|e| { - BridgeError::InternalError(format!("Can't get bridge committee: {e}")) - })?; + let bridge_summary = self + .inner + .get_bridge_summary() + .await + .map_err(|e| BridgeError::Internal(format!("Can't get bridge committee: {e}")))?; let move_type_bridge_committee = bridge_summary.committee; let mut authorities = vec![]; diff --git a/crates/iota-bridge/src/iota_transaction_builder.rs b/crates/iota-bridge/src/iota_transaction_builder.rs index c957dcfedb9..550f5d83d74 100644 --- a/crates/iota-bridge/src/iota_transaction_builder.rs +++ b/crates/iota-bridge/src/iota_transaction_builder.rs @@ -141,14 +141,14 @@ fn build_token_bridge_approve_transaction( let source_chain = builder.pure(source_chain as u8).unwrap(); let seq_num = builder.pure(seq_num).unwrap(); let sender = builder.pure(sender.clone()).map_err(|e| { - BridgeError::BridgeSerializationError(format!( + BridgeError::BridgeSerialization(format!( "Failed to serialize sender: {:?}. Err: {:?}", sender, e )) })?; let target_chain = builder.pure(target_chain as u8).unwrap(); let target = builder.pure(target.clone()).map_err(|e| { - BridgeError::BridgeSerializationError(format!( + BridgeError::BridgeSerialization(format!( "Failed to serialize target: {:?}. Err: {:?}", target, e )) @@ -181,7 +181,7 @@ fn build_token_bridge_approve_transaction( sig_bytes.push(sig.as_bytes().to_vec()); } let arg_signatures = builder.pure(sig_bytes.clone()).map_err(|e| { - BridgeError::BridgeSerializationError(format!( + BridgeError::BridgeSerialization(format!( "Failed to serialize signatures: {:?}. Err: {:?}", sig_bytes, e )) @@ -256,7 +256,7 @@ fn build_emergency_op_approve_transaction( sig_bytes.push(sig.as_bytes().to_vec()); } let arg_signatures = builder.pure(sig_bytes.clone()).map_err(|e| { - BridgeError::BridgeSerializationError(format!( + BridgeError::BridgeSerialization(format!( "Failed to serialize signatures: {:?}. Err: {:?}", sig_bytes, e )) @@ -323,7 +323,7 @@ fn build_committee_blocklist_approve_transaction( sig_bytes.push(sig.as_bytes().to_vec()); } let arg_signatures = builder.pure(sig_bytes.clone()).map_err(|e| { - BridgeError::BridgeSerializationError(format!( + BridgeError::BridgeSerialization(format!( "Failed to serialize signatures: {:?}. Err: {:?}", sig_bytes, e )) @@ -386,7 +386,7 @@ fn build_limit_update_approve_transaction( sig_bytes.push(sig.as_bytes().to_vec()); } let arg_signatures = builder.pure(sig_bytes.clone()).map_err(|e| { - BridgeError::BridgeSerializationError(format!( + BridgeError::BridgeSerialization(format!( "Failed to serialize signatures: {:?}. Err: {:?}", sig_bytes, e )) @@ -449,7 +449,7 @@ fn build_asset_price_update_approve_transaction( sig_bytes.push(sig.as_bytes().to_vec()); } let arg_signatures = builder.pure(sig_bytes.clone()).map_err(|e| { - BridgeError::BridgeSerializationError(format!( + BridgeError::BridgeSerialization(format!( "Failed to serialize signatures: {:?}. Err: {:?}", sig_bytes, e )) diff --git a/crates/iota-bridge/src/storage.rs b/crates/iota-bridge/src/storage.rs index e86cc923c16..13a4e4c9b20 100644 --- a/crates/iota-bridge/src/storage.rs +++ b/crates/iota-bridge/src/storage.rs @@ -44,11 +44,11 @@ impl BridgeOrchestratorTables { actions.iter().map(|a| (a.digest(), a)), ) .map_err(|e| { - BridgeError::StorageError(format!("Couldn't insert into pending_actions: {:?}", e)) + BridgeError::Storage(format!("Couldn't insert into pending_actions: {:?}", e)) })?; batch .write() - .map_err(|e| BridgeError::StorageError(format!("Couldn't write batch: {:?}", e))) + .map_err(|e| BridgeError::Storage(format!("Couldn't write batch: {:?}", e))) } pub(crate) fn remove_pending_actions( @@ -59,11 +59,11 @@ impl BridgeOrchestratorTables { batch .delete_batch(&self.pending_actions, actions) .map_err(|e| { - BridgeError::StorageError(format!("Couldn't delete from pending_actions: {:?}", e)) + BridgeError::Storage(format!("Couldn't delete from pending_actions: {:?}", e)) })?; batch .write() - .map_err(|e| BridgeError::StorageError(format!("Couldn't write batch: {:?}", e))) + .map_err(|e| BridgeError::Storage(format!("Couldn't write batch: {:?}", e))) } pub(crate) fn update_iota_event_cursor( @@ -76,14 +76,11 @@ impl BridgeOrchestratorTables { batch .insert_batch(&self.iota_syncer_cursors, [(module, cursor)]) .map_err(|e| { - BridgeError::StorageError(format!( - "Couldn't insert into iota_syncer_cursors: {:?}", - e - )) + BridgeError::Storage(format!("Couldn't insert into iota_syncer_cursors: {:?}", e)) })?; batch .write() - .map_err(|e| BridgeError::StorageError(format!("Couldn't write batch: {:?}", e))) + .map_err(|e| BridgeError::Storage(format!("Couldn't write batch: {:?}", e))) } pub(crate) fn update_eth_event_cursor( @@ -96,14 +93,11 @@ impl BridgeOrchestratorTables { batch .insert_batch(&self.eth_syncer_cursors, [(contract_address, cursor)]) .map_err(|e| { - BridgeError::StorageError(format!( - "Couldn't insert into eth_syncer_cursors: {:?}", - e - )) + BridgeError::Storage(format!("Couldn't insert into eth_syncer_cursors: {:?}", e)) })?; batch .write() - .map_err(|e| BridgeError::StorageError(format!("Couldn't write batch: {:?}", e))) + .map_err(|e| BridgeError::Storage(format!("Couldn't write batch: {:?}", e))) } pub fn get_all_pending_actions(&self) -> HashMap { @@ -116,9 +110,7 @@ impl BridgeOrchestratorTables { ) -> BridgeResult>> { self.iota_syncer_cursors .multi_get(identifiers) - .map_err(|e| { - BridgeError::StorageError(format!("Couldn't get iota_syncer_cursors: {:?}", e)) - }) + .map_err(|e| BridgeError::Storage(format!("Couldn't get iota_syncer_cursors: {:?}", e))) } pub fn get_eth_event_cursors( @@ -127,9 +119,7 @@ impl BridgeOrchestratorTables { ) -> BridgeResult>> { self.eth_syncer_cursors .multi_get(contract_addresses) - .map_err(|e| { - BridgeError::StorageError(format!("Couldn't get iota_syncer_cursors: {:?}", e)) - }) + .map_err(|e| BridgeError::Storage(format!("Couldn't get iota_syncer_cursors: {:?}", e))) } } diff --git a/crates/iota-cluster-test/src/helper.rs b/crates/iota-cluster-test/src/helper.rs index e5190830e00..c25a6854e8e 100644 --- a/crates/iota-cluster-test/src/helper.rs +++ b/crates/iota-cluster-test/src/helper.rs @@ -145,7 +145,7 @@ impl ObjectChecker { } Ok(CheckerResultObject::new(None, Some(object))) } - (None, Some(IotaObjectResponseError::DisplayError { error })) => { + (None, Some(IotaObjectResponseError::Display { error })) => { panic!("Display Error: {error:?}"); } (None, None) | (None, Some(IotaObjectResponseError::Unknown)) => { diff --git a/crates/iota-core/src/authority_server.rs b/crates/iota-core/src/authority_server.rs index 32f20608195..b773a09feb3 100644 --- a/crates/iota-core/src/authority_server.rs +++ b/crates/iota-core/src/authority_server.rs @@ -800,14 +800,14 @@ impl ValidatorService { fp_ensure!( certificate.contains_shared_object(), IotaError::UserInput { - error: UserInputError::NoSharedObjectError { digest: tx_digest } + error: UserInputError::NoSharedObject { digest: tx_digest } } .into() ); fp_ensure!( !self.state.is_tx_already_executed(&tx_digest)?, IotaError::UserInput { - error: UserInputError::AlreadyExecutedError { digest: tx_digest } + error: UserInputError::AlreadyExecuted { digest: tx_digest } } .into() ); @@ -815,7 +815,7 @@ impl ValidatorService { fp_ensure!( gas == certificate.gas_price(), IotaError::UserInput { - error: UserInputError::GasPriceMismatchError { + error: UserInputError::GasPriceMismatch { digest: tx_digest, expected: gas, actual: certificate.gas_price() @@ -836,7 +836,7 @@ impl ValidatorService { fp_ensure!( !epoch_store.is_any_tx_certs_consensus_message_processed(certificates.iter())?, IotaError::UserInput { - error: UserInputError::CeritificateAlreadyProcessed + error: UserInputError::CertificateAlreadyProcessed } .into() ); @@ -857,7 +857,7 @@ impl ValidatorService { let request = request.into_inner(); let certificates = NonEmpty::from_vec(request.certificates) - .ok_or_else(|| IotaError::NoCertificateProvidedError)?; + .ok_or_else(|| IotaError::NoCertificateProvided)?; for certificate in &certificates { // We need to check this first because we haven't verified the cert signature. certificate.validity_check(epoch_store.protocol_config(), epoch_store.epoch())?; diff --git a/crates/iota-core/src/unit_tests/authority_tests.rs b/crates/iota-core/src/unit_tests/authority_tests.rs index d7819094874..bec934b8984 100644 --- a/crates/iota-core/src/unit_tests/authority_tests.rs +++ b/crates/iota-core/src/unit_tests/authority_tests.rs @@ -3031,7 +3031,7 @@ async fn test_invalid_mutable_clock_parameter() { assert_eq!( UserInputError::try_from(e).unwrap(), - UserInputError::ImmutableParameterExpectedError { + UserInputError::ImmutableParameterExpected { object_id: IOTA_CLOCK_OBJECT_ID } ); @@ -3134,7 +3134,7 @@ async fn test_invalid_randomness_parameter() { }; assert_eq!( UserInputError::try_from(e).unwrap(), - UserInputError::ImmutableParameterExpectedError { + UserInputError::ImmutableParameterExpected { object_id: IOTA_RANDOMNESS_STATE_OBJECT_ID } ); diff --git a/crates/iota-core/src/unit_tests/transaction_tests.rs b/crates/iota-core/src/unit_tests/transaction_tests.rs index 3db9b4d7bca..b054488bb08 100644 --- a/crates/iota-core/src/unit_tests/transaction_tests.rs +++ b/crates/iota-core/src/unit_tests/transaction_tests.rs @@ -1864,7 +1864,7 @@ async fn test_handle_soft_bundle_certificates_errors() { assert!(response.is_err()); assert_matches!( response.unwrap_err(), - IotaError::NoCertificateProvidedError { .. } + IotaError::NoCertificateProvided { .. } ); } @@ -1954,7 +1954,7 @@ async fn test_handle_soft_bundle_certificates_errors() { .await; assert!(response.is_err()); assert_matches!(response.unwrap_err(), IotaError::UserInput { - error: UserInputError::NoSharedObjectError { .. }, + error: UserInputError::NoSharedObject { .. }, }); } @@ -2038,7 +2038,7 @@ async fn test_handle_soft_bundle_certificates_errors() { .await; assert!(response.is_err()); assert_matches!(response.unwrap_err(), IotaError::UserInput { - error: UserInputError::GasPriceMismatchError { .. }, + error: UserInputError::GasPriceMismatch { .. }, }); } @@ -2124,7 +2124,7 @@ async fn test_handle_soft_bundle_certificates_errors() { .await; assert!(response.is_err()); assert_matches!(response.unwrap_err(), IotaError::UserInput { - error: UserInputError::CeritificateAlreadyProcessed { .. }, + error: UserInputError::CertificateAlreadyProcessed { .. }, }); } } diff --git a/crates/iota-core/src/unit_tests/transfer_to_object_tests.rs b/crates/iota-core/src/unit_tests/transfer_to_object_tests.rs index 5a6d2285689..9fab1b9a0ee 100644 --- a/crates/iota-core/src/unit_tests/transfer_to_object_tests.rs +++ b/crates/iota-core/src/unit_tests/transfer_to_object_tests.rs @@ -466,7 +466,7 @@ async fn test_tto_invalid_receiving_arguments() { ), ( Box::new(|_: ObjectRef| shared.0), - Box::new(|err| matches!(err, UserInputError::NotSharedObjectError)), + Box::new(|err| matches!(err, UserInputError::NotSharedObject)), ), ( Box::new(|_: ObjectRef| object_owned.0), diff --git a/crates/iota-faucet/src/errors.rs b/crates/iota-faucet/src/errors.rs index 95cbdf82b9a..0eafd5e1214 100644 --- a/crates/iota-faucet/src/errors.rs +++ b/crates/iota-faucet/src/errors.rs @@ -7,10 +7,10 @@ use thiserror::Error; #[derive(Error, Debug, PartialEq, Eq)] pub enum FaucetError { #[error("Faucet cannot read objects from fullnode: {0}")] - FullnodeReadingError(String), + FullnodeReading(String), #[error("Failed to parse transaction response {0}")] - ParseTransactionResponseError(String), + ParseTransactionResponse(String), #[error( "Gas coin `{0}` does not have sufficient balance and has been removed from gas coin pool" @@ -18,7 +18,7 @@ pub enum FaucetError { GasCoinWithInsufficientBalance(String), #[error("Faucet does not have enough balance")] - InsuffientBalance, + InsufficientBalance, #[error("Gas coin `{0}` is not valid and has been removed from gas coin pool")] InvalidGasCoin(String), diff --git a/crates/iota-faucet/src/faucet/simple_faucet.rs b/crates/iota-faucet/src/faucet/simple_faucet.rs index 7d4ec875a9e..7d7ef222e83 100644 --- a/crates/iota-faucet/src/faucet/simple_faucet.rs +++ b/crates/iota-faucet/src/faucet/simple_faucet.rs @@ -537,7 +537,7 @@ impl SimpleFaucet { GasCoinResponse::UnknownGasCoin(coin_id) => { self.recycle_gas_coin(coin_id, uuid).await; - Err(FaucetError::FullnodeReadingError(format!( + Err(FaucetError::FullnodeReading(format!( "unknown gas coin {coin_id:?}" ))) } @@ -666,7 +666,7 @@ impl SimpleFaucet { .read_api() .get_reference_gas_price() .await - .map_err(|e| FaucetError::FullnodeReadingError(format!("Error fetch gas price {e:?}"))) + .map_err(|e| FaucetError::FullnodeReading(format!("Error fetch gas price {e:?}"))) } async fn build_pay_iota_txn( @@ -701,7 +701,7 @@ impl SimpleFaucet { let created = res .effects .ok_or_else(|| { - FaucetError::ParseTransactionResponseError(format!( + FaucetError::ParseTransactionResponse(format!( "effects field missing for txn {}", res.digest )) @@ -765,7 +765,7 @@ impl SimpleFaucet { let created = res .effects .ok_or_else(|| { - FaucetError::ParseTransactionResponseError(format!( + FaucetError::ParseTransactionResponse(format!( "effects field missing for txn {}", res.digest )) diff --git a/crates/iota-faucet/src/faucet/write_ahead_log.rs b/crates/iota-faucet/src/faucet/write_ahead_log.rs index 73c348899b1..1af4016aa72 100644 --- a/crates/iota-faucet/src/faucet/write_ahead_log.rs +++ b/crates/iota-faucet/src/faucet/write_ahead_log.rs @@ -62,7 +62,7 @@ impl WriteAheadLog { if self.log.contains_key(&coin)? { // Don't permit multiple writes against the same coin // TODO: Use a better error type than `TypedStoreError`. - return Err(TypedStoreError::SerializationError(format!( + return Err(TypedStoreError::Serialization(format!( "Duplicate WAL entry for coin {coin:?}", ))); } @@ -83,7 +83,7 @@ impl WriteAheadLog { pub(crate) fn reclaim(&self, coin: ObjectID) -> Result, TypedStoreError> { match self.log.get(&coin) { Ok(entry) => Ok(entry), - Err(TypedStoreError::SerializationError(_)) => { + Err(TypedStoreError::Serialization(_)) => { // Remove bad log from the store, so we don't crash on start up, this can happen // if we update the WAL Entry and have some leftover Entry from // the WAL. @@ -124,7 +124,7 @@ impl WriteAheadLog { "Attempted to set inflight a coin that was not in the WAL." ); - return Err(TypedStoreError::RocksDBError(format!( + return Err(TypedStoreError::RocksDB(format!( "Coin object {coin:?} not found in WAL." ))); } @@ -203,7 +203,7 @@ mod tests { // Second write fails because it tries to write to the same coin assert!(matches!( wal.reserve(uuid, coin.0, recv1, tx1), - Err(TypedStoreError::SerializationError(_)), + Err(TypedStoreError::Serialization(_)), )); } diff --git a/crates/iota-graphql-rpc-client/src/lib.rs b/crates/iota-graphql-rpc-client/src/lib.rs index 00ca675d9dd..7fd6ca3ea38 100644 --- a/crates/iota-graphql-rpc-client/src/lib.rs +++ b/crates/iota-graphql-rpc-client/src/lib.rs @@ -47,5 +47,5 @@ pub enum ClientError { var_val_curr: serde_json::Value, }, #[error(transparent)] - InnerClientError(#[from] reqwest::Error), + InnerClient(#[from] reqwest::Error), } diff --git a/crates/iota-graphql-rpc-client/src/response.rs b/crates/iota-graphql-rpc-client/src/response.rs index efad365a358..2100a1aac94 100644 --- a/crates/iota-graphql-rpc-client/src/response.rs +++ b/crates/iota-graphql-rpc-client/src/response.rs @@ -29,7 +29,7 @@ impl GraphqlResponse { let remote_address = resp.remote_addr(); let http_version = resp.version(); let status = resp.status(); - let full_response: Response = resp.json().await.map_err(ClientError::InnerClientError)?; + let full_response: Response = resp.json().await.map_err(ClientError::InnerClient)?; Ok(Self { headers, diff --git a/crates/iota-indexer/src/apis/indexer_api.rs b/crates/iota-indexer/src/apis/indexer_api.rs index 47ef8a46c82..5527fa4830e 100644 --- a/crates/iota-indexer/src/apis/indexer_api.rs +++ b/crates/iota-indexer/src/apis/indexer_api.rs @@ -111,7 +111,7 @@ async fn construct_object_response( )), Err(e) => Ok(IotaObjectResponse::new( Some(IotaObjectData::new(object_ref, o, layout, options, None)?), - Some(IotaObjectResponseError::DisplayError { + Some(IotaObjectResponseError::Display { error: e.to_string(), }), )), diff --git a/crates/iota-indexer/src/apis/read_api.rs b/crates/iota-indexer/src/apis/read_api.rs index 15b35ecc24a..8f3cc82a980 100644 --- a/crates/iota-indexer/src/apis/read_api.rs +++ b/crates/iota-indexer/src/apis/read_api.rs @@ -88,7 +88,7 @@ impl ReadApiServer for ReadApi { IotaObjectData::new(object_ref, o, layout, options, None) .map_err(internal_error)?, ), - Some(IotaObjectResponseError::DisplayError { + Some(IotaObjectResponseError::Display { error: e.to_string(), }), )); diff --git a/crates/iota-json-rpc/src/authority_state.rs b/crates/iota-json-rpc/src/authority_state.rs index 1c05539f794..38aaeb4c307 100644 --- a/crates/iota-json-rpc/src/authority_state.rs +++ b/crates/iota-json-rpc/src/authority_state.rs @@ -653,9 +653,9 @@ impl ObjectProvider for (Arc, Arc = Result; #[non_exhaustive] pub enum Error { #[error(transparent)] - IotaError(IotaError), + Iota(IotaError), #[error(transparent)] - InternalError(#[from] anyhow::Error), + Internal(#[from] anyhow::Error), #[error("Deserialization error: {0}")] - BcsError(#[from] bcs::Error), + Bcs(#[from] bcs::Error), #[error("Unexpected error: {0}")] - UnexpectedError(String), + Unexpected(String), #[error(transparent)] - RPCServerError(#[from] RpcError), + RPCServer(#[from] RpcError), #[error(transparent)] - RPCRegisterMethodError(#[from] RegisterMethodError), + RPCRegisterMethod(#[from] RegisterMethodError), #[error(transparent)] InvalidHeaderValue(#[from] InvalidHeaderValue), #[error(transparent)] - UserInputError(#[from] UserInputError), + UserInput(#[from] UserInputError), #[error(transparent)] - EncodingError(#[from] eyre::Report), + Encoding(#[from] eyre::Report), #[error(transparent)] - TokioJoinError(#[from] JoinError), + TokioJoin(#[from] JoinError), #[error(transparent)] - QuorumDriverError(#[from] QuorumDriverError), + QuorumDriver(#[from] QuorumDriverError), #[error(transparent)] - FastCryptoError(#[from] FastCryptoError), + FastCrypto(#[from] FastCryptoError), #[error(transparent)] - IotaObjectResponseError(#[from] IotaObjectResponseError), + IotaObjectResponse(#[from] IotaObjectResponseError), #[error(transparent)] - IotaRpcInputError(#[from] IotaRpcInputError), + IotaRpcInput(#[from] IotaRpcInputError), // TODO(wlmyng): convert StateReadError::Internal message to generic internal error message. #[error(transparent)] - StateReadError(#[from] StateReadError), + StateRead(#[from] StateReadError), #[error("Unsupported Feature: {0}")] UnsupportedFeature(String), @@ -82,13 +82,13 @@ pub enum Error { impl From for Error { fn from(e: IotaError) -> Self { match e { - IotaError::UserInput { error } => Self::UserInputError(error), - IotaError::IotaObjectResponse { error } => Self::IotaObjectResponseError(error), + IotaError::UserInput { error } => Self::UserInput(error), + IotaError::IotaObjectResponse { error } => Self::IotaObjectResponse(error), IotaError::UnsupportedFeature { error } => Self::UnsupportedFeature(error), IotaError::IndexStoreNotAvailable => Self::UnsupportedFeature( "Required indexes are not available on this node".to_string(), ), - other => Self::IotaError(other), + other => Self::Iota(other), } } } @@ -97,14 +97,14 @@ impl From for RpcError { /// `InvalidParams`/`INVALID_PARAMS_CODE` for client errors. fn from(e: Error) -> RpcError { match e { - Error::UserInputError(_) | Error::UnsupportedFeature(_) => RpcError::Call( + Error::UserInput(_) | Error::UnsupportedFeature(_) => RpcError::Call( ErrorObject::owned::<()>(ErrorCode::InvalidRequest.code(), e.to_string(), None), ), - Error::IotaObjectResponseError(err) => match err { + Error::IotaObjectResponse(err) => match err { IotaObjectResponseError::NotExists { .. } | IotaObjectResponseError::DynamicFieldNotFound { .. } | IotaObjectResponseError::Deleted { .. } - | IotaObjectResponseError::DisplayError { .. } => { + | IotaObjectResponseError::Display { .. } => { RpcError::Call(ErrorObject::owned::<()>( ErrorCode::InvalidParams.code(), err.to_string(), @@ -117,12 +117,12 @@ impl From for RpcError { None, )), }, - Error::IotaRpcInputError(err) => RpcError::Call(ErrorObject::owned::<()>( + Error::IotaRpcInput(err) => RpcError::Call(ErrorObject::owned::<()>( ErrorCode::InvalidParams.code(), err.to_string(), None, )), - Error::IotaError(iota_error) => match iota_error { + Error::Iota(iota_error) => match iota_error { IotaError::TransactionNotFound { .. } | IotaError::TransactionsNotFound { .. } | IotaError::TransactionEventsNotFound { .. } => { @@ -138,7 +138,7 @@ impl From for RpcError { None, )), }, - Error::StateReadError(err) => match err { + Error::StateRead(err) => match err { StateReadError::Client(_) => RpcError::Call(ErrorObject::owned::<()>( ErrorCode::InvalidParams.code(), err.to_string(), @@ -153,7 +153,7 @@ impl From for RpcError { RpcError::Call(error_object) } }, - Error::QuorumDriverError(err) => { + Error::QuorumDriver(err) => { match err { QuorumDriverError::InvalidUserSignature(err) => { let inner_error_str = match err { @@ -324,13 +324,13 @@ pub enum IotaRpcInputError { Bcs(#[from] bcs::Error), #[error(transparent)] - FastCryptoError(#[from] FastCryptoError), + FastCrypto(#[from] FastCryptoError), #[error(transparent)] Anyhow(#[from] anyhow::Error), #[error(transparent)] - UserInputError(#[from] UserInputError), + UserInput(#[from] UserInputError), } impl From for RpcError { @@ -379,7 +379,7 @@ mod tests { error: "Test inner invalid signature".to_string(), }); - let rpc_error: RpcError = Error::QuorumDriverError(quorum_driver_error).into(); + let rpc_error: RpcError = Error::QuorumDriver(quorum_driver_error).into(); let error_object = error_object_from_rpc(rpc_error); let expected_code = expect!["-32002"]; @@ -394,7 +394,7 @@ mod tests { fn test_timeout_before_finality() { let quorum_driver_error = QuorumDriverError::TimeoutBeforeFinality; - let rpc_error: RpcError = Error::QuorumDriverError(quorum_driver_error).into(); + let rpc_error: RpcError = Error::QuorumDriver(quorum_driver_error).into(); let error_object = error_object_from_rpc(rpc_error); let expected_code = expect!["-32050"]; @@ -410,7 +410,7 @@ mod tests { total_attempts: 10, }; - let rpc_error: RpcError = Error::QuorumDriverError(quorum_driver_error).into(); + let rpc_error: RpcError = Error::QuorumDriver(quorum_driver_error).into(); let error_object = error_object_from_rpc(rpc_error); let expected_code = expect!["-32050"]; @@ -440,7 +440,7 @@ mod tests { retried_tx_success: Some(true), }; - let rpc_error: RpcError = Error::QuorumDriverError(quorum_driver_error).into(); + let rpc_error: RpcError = Error::QuorumDriver(quorum_driver_error).into(); let error_object = error_object_from_rpc(rpc_error); let expected_code = expect!["-32002"]; @@ -483,7 +483,7 @@ mod tests { ], }; - let rpc_error: RpcError = Error::QuorumDriverError(quorum_driver_error).into(); + let rpc_error: RpcError = Error::QuorumDriver(quorum_driver_error).into(); let error_object = error_object_from_rpc(rpc_error); let expected_code = expect!["-32002"]; @@ -516,7 +516,7 @@ mod tests { ], }; - let rpc_error: RpcError = Error::QuorumDriverError(quorum_driver_error).into(); + let rpc_error: RpcError = Error::QuorumDriver(quorum_driver_error).into(); let error_object = error_object_from_rpc(rpc_error); let expected_code = expect!["-32002"]; @@ -532,7 +532,7 @@ mod tests { let quorum_driver_error = QuorumDriverError::QuorumDriverInternal(IotaError::UnexpectedMessage); - let rpc_error: RpcError = Error::QuorumDriverError(quorum_driver_error).into(); + let rpc_error: RpcError = Error::QuorumDriver(quorum_driver_error).into(); let error_object = error_object_from_rpc(rpc_error); let expected_code = expect!["-32603"]; @@ -548,7 +548,7 @@ mod tests { errors: vec![(IotaError::UnexpectedMessage, 0, vec![])], }; - let rpc_error: RpcError = Error::QuorumDriverError(quorum_driver_error).into(); + let rpc_error: RpcError = Error::QuorumDriver(quorum_driver_error).into(); let error_object = error_object_from_rpc(rpc_error); let expected_code = expect!["-32050"]; diff --git a/crates/iota-json-rpc/src/governance_api.rs b/crates/iota-json-rpc/src/governance_api.rs index 071a9b588d4..2f7070a78e8 100644 --- a/crates/iota-json-rpc/src/governance_api.rs +++ b/crates/iota-json-rpc/src/governance_api.rs @@ -320,7 +320,7 @@ impl GovernanceReadApi { .find_object_lt_or_eq_version(&object_id, &version.one_before().unwrap()) .await? else { - Err(IotaRpcInputError::UserInputError( + Err(IotaRpcInputError::UserInput( UserInputError::ObjectNotFound { object_id, version: None, @@ -329,7 +329,7 @@ impl GovernanceReadApi { }; stakes.push((o, false)); } - ObjectRead::NotExists(id) => Err(IotaRpcInputError::UserInputError( + ObjectRead::NotExists(id) => Err(IotaRpcInputError::UserInput( UserInputError::ObjectNotFound { object_id: id, version: None, diff --git a/crates/iota-json-rpc/src/indexer_api.rs b/crates/iota-json-rpc/src/indexer_api.rs index f5b6ed1cb0d..956ea396b36 100644 --- a/crates/iota-json-rpc/src/indexer_api.rs +++ b/crates/iota-json-rpc/src/indexer_api.rs @@ -182,7 +182,7 @@ impl IndexerApiServer for IndexerApi { self.read_api .multi_get_objects(object_ids, Some(options)) .await - .map_err(|e| Error::InternalError(anyhow!(e)))? + .map_err(|e| Error::Internal(anyhow!(e)))? } false => objects .into_iter() @@ -252,7 +252,7 @@ impl IndexerApiServer for IndexerApi { self.read_api .multi_get_transaction_blocks(digests, Some(opts)) .await - .map_err(|e| Error::InternalError(anyhow!(e)))? + .map_err(|e| Error::Internal(anyhow!(e)))? }; self.metrics @@ -399,7 +399,7 @@ impl IndexerApiServer for IndexerApi { self.read_api .get_object(id, Some(IotaObjectDataOptions::full_content())) .await - .map_err(|e| Error::InternalError(anyhow!(e))) + .map_err(|e| Error::Internal(anyhow!(e))) } else { Ok(IotaObjectResponse::new_with_error( IotaObjectResponseError::DynamicFieldNotFound { parent_object_id }, diff --git a/crates/iota-json-rpc/src/lib.rs b/crates/iota-json-rpc/src/lib.rs index 34a704b5ba8..4332692fac1 100644 --- a/crates/iota-json-rpc/src/lib.rs +++ b/crates/iota-json-rpc/src/lib.rs @@ -228,11 +228,11 @@ impl JsonRpcServerBuilder { let listener = tokio::net::TcpListener::bind(listen_address) .await .map_err(|e| { - Error::UnexpectedError(format!("invalid listen address {listen_address}: {e}")) + Error::Unexpected(format!("invalid listen address {listen_address}: {e}")) })?; let addr = listener.local_addr().map_err(|e| { - Error::UnexpectedError(format!("invalid listen address {listen_address}: {e}")) + Error::Unexpected(format!("invalid listen address {listen_address}: {e}")) })?; let fut = async move { diff --git a/crates/iota-json-rpc/src/move_utils.rs b/crates/iota-json-rpc/src/move_utils.rs index a2d9a4b48b0..dc6b83ea36a 100644 --- a/crates/iota-json-rpc/src/move_utils.rs +++ b/crates/iota-json-rpc/src/move_utils.rs @@ -336,7 +336,7 @@ mod tests { let mut mock_internal = MockMoveUtilsInternalTrait::new(); let error_string = format!("No module found with module name {module_name}"); let expected_error = - Error::IotaRpcInputError(IotaRpcInputError::GenericNotFound(error_string.clone())); + Error::IotaRpcInput(IotaRpcInputError::GenericNotFound(error_string.clone())); mock_internal .expect_get_move_module() .return_once(move |_package, _module_name| Err(expected_error)); diff --git a/crates/iota-json-rpc/src/read_api.rs b/crates/iota-json-rpc/src/read_api.rs index ac0b3f67017..7fa809d3832 100644 --- a/crates/iota-json-rpc/src/read_api.rs +++ b/crates/iota-json-rpc/src/read_api.rs @@ -287,7 +287,7 @@ impl ReadApi { .multi_get_checkpoints_summaries(&unique_checkpoint_numbers) .await .map_err(|e| { - Error::UnexpectedError(format!("Failed to fetch checkpoint summaries by these checkpoint ids: {unique_checkpoint_numbers:?} with error: {e:?}")) + Error::Unexpected(format!("Failed to fetch checkpoint summaries by these checkpoint ids: {unique_checkpoint_numbers:?} with error: {e:?}")) })? .into_iter() .map(|c| c.map(|checkpoint| checkpoint.timestamp_ms)); @@ -333,7 +333,7 @@ impl ReadApi { .multi_get_events(&event_digests_list) .await .map_err(|e| { - Error::UnexpectedError(format!("Failed to call multi_get_events for transactions {digests:?} with event digests {event_digests_list:?}: {e:?}")) + Error::Unexpected(format!("Failed to call multi_get_events for transactions {digests:?} with event digests {event_digests_list:?}: {e:?}")) })? .into_iter(); @@ -518,7 +518,7 @@ impl ReadApiServer for ReadApi { Some(IotaObjectData::new( object_ref, o, layout, options, None, )?), - Some(IotaObjectResponseError::DisplayError { + Some(IotaObjectResponseError::Display { error: e.to_string(), }), )); @@ -575,7 +575,7 @@ impl ReadApiServer for ReadApi { .collect(); let objects = objects_result.map_err(|err| { - Error::UnexpectedError(format!("Failed to fetch objects with error: {}", err)) + Error::Unexpected(format!("Failed to fetch objects with error: {}", err)) })?; self.metrics @@ -622,7 +622,7 @@ impl ReadApiServer for ReadApi { get_display_fields(self, &self.transaction_kv_store, &o, &layout) .await .map_err(|e| { - Error::UnexpectedError(format!( + Error::Unexpected(format!( "Unable to render object at version {version}: {e}" )) })?, @@ -933,7 +933,7 @@ impl ReadApiServer for ReadApi { .map_err( |e| { error!("Failed to get transaction events for event digest {event_digest:?} with error: {e:?}"); - Error::StateReadError(e.into()) + Error::StateRead(e.into()) })? .data .into_iter() @@ -949,7 +949,7 @@ impl ReadApiServer for ReadApi { ) }) .collect::, _>>() - .map_err(Error::IotaError)? + .map_err(Error::Iota)? } else { Vec::new() }; @@ -1124,7 +1124,7 @@ pub enum ObjectDisplayError { Bcs(#[from] bcs::Error), #[error(transparent)] - StateReadError(#[from] StateReadError), + StateRead(#[from] StateReadError), } async fn get_display_fields( @@ -1224,7 +1224,7 @@ pub fn get_rendered_fields( .collect::>() .join("; "); let error = if !error_string.is_empty() { - Some(IotaObjectResponseError::DisplayError { + Some(IotaObjectResponseError::Display { error: anyhow!("{error_string}").to_string(), }) } else { @@ -1301,7 +1301,7 @@ fn get_value_from_move_struct( Err(anyhow!("Field value {var_name} cannot be found in struct"))?; } } else { - Err(Error::UnexpectedError(format!( + Err(Error::Unexpected(format!( "Unexpected move struct type for field {var_name}" )))?; } @@ -1318,7 +1318,7 @@ fn get_value_from_move_struct( } } _ => { - Err(Error::UnexpectedError(format!( + Err(Error::Unexpected(format!( "Unexpected move value type for field {var_name}" )))?; } diff --git a/crates/iota-package-resolver/src/error.rs b/crates/iota-package-resolver/src/error.rs index 2c413581dff..20aad460413 100644 --- a/crates/iota-package-resolver/src/error.rs +++ b/crates/iota-package-resolver/src/error.rs @@ -79,7 +79,7 @@ pub enum Error { UnexpectedSigner, #[error("Unexpected error: {0}")] - UnexpectedError(Arc), + Unexpected(Arc), #[error("Type layout nesting exceeded limit of {0}")] ValueNesting(usize), diff --git a/crates/iota-package-resolver/src/lib.rs b/crates/iota-package-resolver/src/lib.rs index d36d9fb8a60..1fad3258d85 100644 --- a/crates/iota-package-resolver/src/lib.rs +++ b/crates/iota-package-resolver/src/lib.rs @@ -1672,7 +1672,7 @@ impl<'l> ResolutionContext<'l> { ) // This error is unexpected because the only reason it would fail is because of a // type parameter arity mismatch, which we check for above. - .map_err(|e| Error::UnexpectedError(Arc::new(e)))? + .map_err(|e| Error::Unexpected(Arc::new(e)))? } }) } diff --git a/crates/iota-rosetta/src/construction.rs b/crates/iota-rosetta/src/construction.rs index 2db80b6a8ae..5ba2870a290 100644 --- a/crates/iota-rosetta/src/construction.rs +++ b/crates/iota-rosetta/src/construction.rs @@ -160,7 +160,7 @@ pub async fn submit( .dry_run_transaction_block(tx_data) .await?; if let IotaExecutionStatus::Failure { error } = dry_run.effects.status() { - return Err(Error::TransactionDryRunError(error.clone())); + return Err(Error::TransactionDryRun(error.clone())); }; let response = context @@ -181,7 +181,7 @@ pub async fn submit( .expect("Execute transaction should return effects") .status() { - return Err(Error::TransactionExecutionError(error.to_string())); + return Err(Error::TransactionExecution(error.to_string())); } Ok(TransactionIdentifierResponse { @@ -333,7 +333,7 @@ pub async fn metadata( let effects = dry_run.effects; if let IotaExecutionStatus::Failure { error } = effects.status() { - return Err(Error::TransactionDryRunError(error.to_string())); + return Err(Error::TransactionDryRun(error.to_string())); } effects.gas_cost_summary().computation_cost + effects.gas_cost_summary().storage_cost } diff --git a/crates/iota-rosetta/src/errors.rs b/crates/iota-rosetta/src/errors.rs index df97bcd213e..8cda43d91b5 100644 --- a/crates/iota-rosetta/src/errors.rs +++ b/crates/iota-rosetta/src/errors.rs @@ -42,39 +42,39 @@ pub enum Error { #[error("Missing metadata")] MissingMetadata, #[error("{0}")] - MalformedOperationError(String), + MalformedOperation(String), #[error("Unsupported operation: {0:?}")] UnsupportedOperation(OperationType), #[error("Data error: {0}")] - DataError(String), + Data(String), #[error("Block not found, index: {index:?}, hash: {hash:?}")] BlockNotFound { index: Option, hash: Option, }, #[error("Public key deserialization error: {0:?}")] - PublicKeyDeserializationError(PublicKey), + PublicKeyDeserialization(PublicKey), #[error("Error executing transaction: {0}")] - TransactionExecutionError(String), + TransactionExecution(String), #[error("{0}")] - TransactionDryRunError(String), + TransactionDryRun(String), #[error(transparent)] - InternalError(#[from] anyhow::Error), + Internal(#[from] anyhow::Error), #[error(transparent)] - BCSSerializationError(#[from] bcs::Error), + BCSSerialization(#[from] bcs::Error), #[error(transparent)] - CryptoError(#[from] FastCryptoError), + Crypto(#[from] FastCryptoError), #[error(transparent)] - IotaError(#[from] IotaError), + Iota(#[from] IotaError), #[error(transparent)] - IotaRpcError(#[from] iota_sdk::error::Error), + IotaRpc(#[from] iota_sdk::error::Error), #[error(transparent)] - EncodingError(#[from] eyre::Report), + Encoding(#[from] eyre::Report), #[error(transparent)] - DBError(#[from] TypedStoreError), + DB(#[from] TypedStoreError), #[error(transparent)] JsonExtractorRejection(#[from] JsonRejection), diff --git a/crates/iota-rosetta/src/operations.rs b/crates/iota-rosetta/src/operations.rs index 498200fd4bd..e2810e19b79 100644 --- a/crates/iota-rosetta/src/operations.rs +++ b/crates/iota-rosetta/src/operations.rs @@ -146,7 +146,7 @@ impl Operations { .filter(|op| op.type_ == OperationType::Stake) .collect::>(); if ops.len() != 1 { - return Err(Error::MalformedOperationError( + return Err(Error::MalformedOperation( "Delegation should only have one operation.".into(), )); } @@ -163,7 +163,7 @@ impl Operations { // Total issued IOTA is less than u64, safe to cast. let amount = if let Some(amount) = op.amount { if amount.value.is_positive() { - return Err(Error::MalformedOperationError( + return Err(Error::MalformedOperation( "Stake amount should be negative.".into(), )); } @@ -192,7 +192,7 @@ impl Operations { .filter(|op| op.type_ == OperationType::WithdrawStake) .collect::>(); if ops.len() != 1 { - return Err(Error::MalformedOperationError( + return Err(Error::MalformedOperation( "Delegation should only have one operation.".into(), )); } diff --git a/crates/iota-rosetta/src/state.rs b/crates/iota-rosetta/src/state.rs index 74a68214730..e2ad16d078d 100644 --- a/crates/iota-rosetta/src/state.rs +++ b/crates/iota-rosetta/src/state.rs @@ -138,7 +138,7 @@ impl CheckpointBlockProvider { // previous digest should only be None for genesis block. if checkpoint.previous_digest.is_none() && index != 0 { - return Err(Error::DataError(format!( + return Err(Error::Data(format!( "Previous digest is None for checkpoint [{index}], digest: [{hash:?}]" ))); } diff --git a/crates/iota-transaction-checks/src/lib.rs b/crates/iota-transaction-checks/src/lib.rs index 8ff8f2d3ac8..54f8dfb18ba 100644 --- a/crates/iota-transaction-checks/src/lib.rs +++ b/crates/iota-transaction-checks/src/lib.rs @@ -304,7 +304,7 @@ mod checked { .into() ) } - Owner::Shared { .. } => fp_bail!(UserInputError::NotSharedObjectError.into()), + Owner::Shared { .. } => fp_bail!(UserInputError::NotSharedObject.into()), Owner::Immutable => fp_bail!( UserInputError::MutableParameterExpected { object_id: *object_id @@ -484,7 +484,7 @@ mod checked { Owner::Shared { .. } => { // This object is a mutable shared object. However the transaction // specifies it as an owned object. This is inconsistent. - return Err(UserInputError::NotSharedObjectError); + return Err(UserInputError::NotSharedObject); } }; } @@ -498,7 +498,7 @@ mod checked { if system_transaction { return Ok(()); } else { - return Err(UserInputError::ImmutableParameterExpectedError { + return Err(UserInputError::ImmutableParameterExpected { object_id: IOTA_CLOCK_OBJECT_ID, }); } @@ -525,7 +525,7 @@ mod checked { if system_transaction { return Ok(()); } else { - return Err(UserInputError::ImmutableParameterExpectedError { + return Err(UserInputError::ImmutableParameterExpected { object_id: IOTA_RANDOMNESS_STATE_OBJECT_ID, }); } @@ -542,7 +542,7 @@ mod checked { match object.owner { Owner::AddressOwner(_) | Owner::ObjectOwner(_) | Owner::Immutable => { // When someone locks an object as shared it must be shared already. - return Err(UserInputError::NotSharedObjectError); + return Err(UserInputError::NotSharedObject); } Owner::Shared { initial_shared_version: actual_initial_shared_version, diff --git a/crates/iota-types/src/base_types.rs b/crates/iota-types/src/base_types.rs index f91adc7bc41..edd5270892a 100644 --- a/crates/iota-types/src/base_types.rs +++ b/crates/iota-types/src/base_types.rs @@ -1187,7 +1187,7 @@ impl ObjectID { /// Parse the ObjectID from byte array or buffer. pub fn from_bytes>(bytes: T) -> Result { <[u8; Self::LENGTH]>::try_from(bytes.as_ref()) - .map_err(|_| ObjectIDParseError::TryFromSliceError) + .map_err(|_| ObjectIDParseError::TryFromSlice) .map(ObjectID::new) } @@ -1393,7 +1393,7 @@ pub enum ObjectIDParseError { HexLiteralPrefixMissing, #[error("Could not convert from bytes slice")] - TryFromSliceError, + TryFromSlice, } impl From for AccountAddress { diff --git a/crates/iota-types/src/bridge.rs b/crates/iota-types/src/bridge.rs index 1b4ab876840..9feff077939 100644 --- a/crates/iota-types/src/bridge.rs +++ b/crates/iota-types/src/bridge.rs @@ -254,12 +254,12 @@ impl BridgeTrait for BridgeInnerV1 { .into_iter() .map(|e| { let source = BridgeChainId::try_from(e.key.source).map_err(|_e| { - IotaError::GenericBridgeError { + IotaError::GenericBridge { error: format!("Unrecognized chain id: {}", e.key.source), } })?; let destination = BridgeChainId::try_from(e.key.destination).map_err(|_e| { - IotaError::GenericBridgeError { + IotaError::GenericBridge { error: format!("Unrecognized chain id: {}", e.key.destination), } })?; @@ -287,12 +287,12 @@ impl BridgeTrait for BridgeInnerV1 { .into_iter() .map(|e| { let source = BridgeChainId::try_from(e.key.source).map_err(|_e| { - IotaError::GenericBridgeError { + IotaError::GenericBridge { error: format!("Unrecognized chain id: {}", e.key.source), } })?; let destination = BridgeChainId::try_from(e.key.destination).map_err(|_e| { - IotaError::GenericBridgeError { + IotaError::GenericBridge { error: format!("Unrecognized chain id: {}", e.key.destination), } })?; diff --git a/crates/iota-types/src/error.rs b/crates/iota-types/src/error.rs index 9d361d409df..bb89bc3444d 100644 --- a/crates/iota-types/src/error.rs +++ b/crates/iota-types/src/error.rs @@ -115,7 +115,7 @@ pub enum UserInputError { #[error("Dependent package not found on-chain: {package_id:?}")] DependentPackageNotFound { package_id: ObjectID }, #[error("Mutable parameter provided, immutable parameter expected")] - ImmutableParameterExpectedError { object_id: ObjectID }, + ImmutableParameterExpected { object_id: ObjectID }, #[error("Size limit exceeded: {limit} is {value}")] SizeLimitExceeded { limit: String, value: String }, #[error( @@ -143,7 +143,7 @@ pub enum UserInputError { IncorrectUserSignature { error: String }, #[error("Object used as shared is not shared")] - NotSharedObjectError, + NotSharedObject, #[error("The transaction inputs contain duplicated ObjectRef's")] DuplicateObjectRefInput, @@ -214,7 +214,7 @@ pub enum UserInputError { #[error( "Attempt to transfer object {object_id} that does not have public transfer. Object transfer must be done instead using a distinct Move function call" )] - TransferObjectWithoutPublicTransferError { object_id: ObjectID }, + TransferObjectWithoutPublicTransfer { object_id: ObjectID }, #[error( "TransferObjects, MergeCoin, and Publish cannot have empty arguments. \ @@ -281,18 +281,18 @@ pub enum UserInputError { )] TooManyTransactionsInSoftBundle { limit: u64 }, #[error("Transaction {:?} in Soft Bundle contains no shared objects", digest)] - NoSharedObjectError { digest: TransactionDigest }, + NoSharedObject { digest: TransactionDigest }, #[error("Transaction {:?} in Soft Bundle has already been executed", digest)] - AlreadyExecutedError { digest: TransactionDigest }, + AlreadyExecuted { digest: TransactionDigest }, #[error("At least one certificate in Soft Bundle has already been processed")] - CeritificateAlreadyProcessed, + CertificateAlreadyProcessed, #[error( "Gas price for transaction {:?} in Soft Bundle mismatch: want {:?}, have {:?}", digest, expected, actual )] - GasPriceMismatchError { + GasPriceMismatch { digest: TransactionDigest, expected: u64, actual: u64, @@ -337,7 +337,7 @@ pub enum IotaObjectResponseError { #[error("Unknown Error")] Unknown, #[error("Display Error: {:?}", error)] - DisplayError { error: String }, + Display { error: String }, // TODO: also integrate IotaPastObjectResponse (VersionNotFound, VersionTooHigh) } @@ -541,7 +541,7 @@ pub enum IotaError { GenericAuthority { error: String }, #[error("Generic Bridge Error: {error:?}")] - GenericBridgeError { error: String }, + GenericBridge { error: String }, #[error("Failed to dispatch subscription: {error:?}")] FailedToDispatchSubscription { error: String }, @@ -611,7 +611,7 @@ pub enum IotaError { Rpc(String, String), #[error("Method not allowed")] - InvalidRpcMethodError, + InvalidRpcMethod, // TODO: We should fold this into UserInputError::Unsupported. #[error("Use of disabled feature: {:?}", error)] @@ -671,7 +671,7 @@ pub enum IotaError { TooManyRequests, #[error("The request did not contain a certificate")] - NoCertificateProvidedError, + NoCertificateProvided, } #[repr(u64)] diff --git a/crates/iota-types/src/object.rs b/crates/iota-types/src/object.rs index a183d03d4ef..62000c6c304 100644 --- a/crates/iota-types/src/object.rs +++ b/crates/iota-types/src/object.rs @@ -177,7 +177,7 @@ impl MoveObject { pub fn id_opt(contents: &[u8]) -> Result { if ID_END_INDEX > contents.len() { - return Err(ObjectIDParseError::TryFromSliceError); + return Err(ObjectIDParseError::TryFromSlice); } ObjectID::try_from(&contents[0..ID_END_INDEX]) } diff --git a/crates/telemetry-subscribers/src/span_latency_prom.rs b/crates/telemetry-subscribers/src/span_latency_prom.rs index 4fd35fad21d..79c4d48c0b0 100644 --- a/crates/telemetry-subscribers/src/span_latency_prom.rs +++ b/crates/telemetry-subscribers/src/span_latency_prom.rs @@ -36,12 +36,12 @@ pub struct PrometheusSpanLatencyLayer { pub enum PrometheusSpanError { /// num_buckets must be positive >= 1 ZeroOrNegativeNumBuckets, - PromError(prometheus::Error), + Prometheus(prometheus::Error), } impl From for PrometheusSpanError { fn from(err: prometheus::Error) -> Self { - Self::PromError(err) + Self::Prometheus(err) } } diff --git a/crates/typed-store-error/src/errors.rs b/crates/typed-store-error/src/errors.rs index 5af49e1f1dd..77c8b1c833e 100644 --- a/crates/typed-store-error/src/errors.rs +++ b/crates/typed-store-error/src/errors.rs @@ -9,9 +9,9 @@ use thiserror::Error; #[derive(Error, Debug, Serialize, Deserialize, PartialEq, Eq, Hash, Clone, Ord, PartialOrd)] pub enum TypedStoreError { #[error("rocksdb error: {0}")] - RocksDBError(String), + RocksDB(String), #[error("(de)serialization error: {0}")] - SerializationError(String), + Serialization(String), #[error("the column family {0} was not registered with the database")] UnregisteredColumn(String), #[error("a batch operation can't operate across databases")] @@ -19,5 +19,5 @@ pub enum TypedStoreError { #[error("Metric reporting thread failed with error")] MetricsReporting, #[error("Transaction should be retried")] - RetryableTransactionError, + RetryableTransaction, } diff --git a/crates/typed-store/src/rocks/errors.rs b/crates/typed-store/src/rocks/errors.rs index 2dbce48f1d5..d0dc230fffa 100644 --- a/crates/typed-store/src/rocks/errors.rs +++ b/crates/typed-store/src/rocks/errors.rs @@ -82,13 +82,13 @@ impl From for BincodeErrorDef { } pub fn typed_store_err_from_bincode_err(err: bincode::Error) -> TypedStoreError { - TypedStoreError::SerializationError(format!("{err}")) + TypedStoreError::Serialization(format!("{err}")) } pub fn typed_store_err_from_bcs_err(err: bcs::Error) -> TypedStoreError { - TypedStoreError::SerializationError(format!("{err}")) + TypedStoreError::Serialization(format!("{err}")) } pub fn typed_store_err_from_rocks_err(err: RocksError) -> TypedStoreError { - TypedStoreError::RocksDBError(format!("{err}")) + TypedStoreError::RocksDB(format!("{err}")) } diff --git a/crates/typed-store/src/rocks/keys.rs b/crates/typed-store/src/rocks/keys.rs index 51742562634..a50a52160ef 100644 --- a/crates/typed-store/src/rocks/keys.rs +++ b/crates/typed-store/src/rocks/keys.rs @@ -38,7 +38,7 @@ impl<'a, K: DeserializeOwned> Iterator for Keys<'a, K> { } else { match self.db_iter.status() { Ok(_) => None, - Err(err) => Some(Err(TypedStoreError::RocksDBError(format!("{err}")))), + Err(err) => Some(Err(TypedStoreError::RocksDB(format!("{err}")))), } } } diff --git a/crates/typed-store/src/rocks/mod.rs b/crates/typed-store/src/rocks/mod.rs index d131d1bea4f..619ab943cf1 100644 --- a/crates/typed-store/src/rocks/mod.rs +++ b/crates/typed-store/src/rocks/mod.rs @@ -161,7 +161,7 @@ macro_rules! retry_transaction { loop { let status = $transaction; match status { - Err(TypedStoreError::RetryableTransactionError) => { + Err(TypedStoreError::RetryableTransaction) => { retries += 1; // Randomized delay to help racing transactions get out of each other's way. let delay = { @@ -409,7 +409,7 @@ impl RocksDB { .map_err(typed_store_err_from_rocks_err)?; Ok(()) } - _ => Err(TypedStoreError::RocksDBError( + _ => Err(TypedStoreError::RocksDB( "using invalid batch type for the database".to_string(), )), }; @@ -495,7 +495,7 @@ impl RocksDB { } pub fn flush(&self) -> Result<(), TypedStoreError> { - delegate_call!(self.flush()).map_err(|e| TypedStoreError::RocksDBError(e.into_string())) + delegate_call!(self.flush()).map_err(|e| TypedStoreError::RocksDB(e.into_string())) } pub fn snapshot(&self) -> RocksDBSnapshot<'_> { @@ -518,7 +518,7 @@ impl RocksDB { }; checkpoint .create_checkpoint(path) - .map_err(|e| TypedStoreError::RocksDBError(e.to_string()))?; + .map_err(|e| TypedStoreError::RocksDB(e.to_string()))?; Ok(()) } @@ -916,7 +916,7 @@ impl DBMap { pub fn flush(&self) -> Result<(), TypedStoreError> { self.rocksdb .flush_cf(&self.cf()) - .map_err(|e| TypedStoreError::RocksDBError(e.into_string())) + .map_err(|e| TypedStoreError::RocksDB(e.into_string())) } pub fn set_options(&self, opts: &[(&str, &str)]) -> Result<(), rocksdb::Error> { @@ -931,7 +931,7 @@ impl DBMap { match rocksdb.property_int_value_cf(cf, property_name) { Ok(Some(value)) => Ok(value.try_into().unwrap()), Ok(None) => Ok(0), - Err(e) => Err(TypedStoreError::RocksDBError(e.into_string())), + Err(e) => Err(TypedStoreError::RocksDB(e.into_string())), } } @@ -969,7 +969,7 @@ impl DBMap { &self.opts.readopts(), ) .into_iter() - .map(|r| r.map_err(|e| TypedStoreError::RocksDBError(e.into_string()))) + .map(|r| r.map_err(|e| TypedStoreError::RocksDB(e.into_string()))) .collect(); let entries = results?; let entry_size = entries @@ -1682,7 +1682,7 @@ impl<'a> DBTransaction<'a> { let key_buf = be_fix_int_ser(key)?; self.transaction .get_cf_opt(&db.cf(), key_buf, &db.opts.readopts()) - .map_err(|e| TypedStoreError::RocksDBError(e.to_string())) + .map_err(|e| TypedStoreError::RocksDB(e.to_string())) .map(|res| res.and_then(|bytes| bcs::from_bytes::(&bytes).ok())) } @@ -1765,7 +1765,7 @@ impl<'a> DBTransaction<'a> { self.transaction.commit().map_err(|e| match e.kind() { // empirically, this is what you get when there is a write conflict. it is not // documented whether this is the only time you can get this error. - ErrorKind::Busy | ErrorKind::TryAgain => TypedStoreError::RetryableTransactionError, + ErrorKind::Busy | ErrorKind::TryAgain => TypedStoreError::RetryableTransaction, _ => typed_store_err_from_rocks_err(e), })?; Ok(()) diff --git a/crates/typed-store/src/rocks/safe_iter.rs b/crates/typed-store/src/rocks/safe_iter.rs index 9de5fbe66ba..f38ca5e6909 100644 --- a/crates/typed-store/src/rocks/safe_iter.rs +++ b/crates/typed-store/src/rocks/safe_iter.rs @@ -89,7 +89,7 @@ impl<'a, K: DeserializeOwned, V: DeserializeOwned> Iterator for SafeIter<'a, K, } else { match self.db_iter.status() { Ok(_) => None, - Err(err) => Some(Err(TypedStoreError::RocksDBError(format!("{err}")))), + Err(err) => Some(Err(TypedStoreError::RocksDB(format!("{err}")))), } } } diff --git a/crates/typed-store/src/rocks/tests.rs b/crates/typed-store/src/rocks/tests.rs index 773bedb9445..8aa3aef5771 100644 --- a/crates/typed-store/src/rocks/tests.rs +++ b/crates/typed-store/src/rocks/tests.rs @@ -1172,7 +1172,7 @@ async fn test_transaction_snapshot() { db.insert(&key, &"1".to_string()).unwrap(); assert!(matches!( tx1.commit(), - Err(TypedStoreError::RetryableTransactionError) + Err(TypedStoreError::RetryableTransaction) )); assert_eq!(db.get(&key).unwrap().unwrap(), "1".to_string()); @@ -1184,7 +1184,7 @@ async fn test_transaction_snapshot() { .unwrap(); assert!(matches!( tx1.commit(), - Err(TypedStoreError::RetryableTransactionError) + Err(TypedStoreError::RetryableTransaction) )); let mut tx1 = db.transaction().expect("failed to initiate transaction"); @@ -1209,7 +1209,7 @@ async fn test_transaction_snapshot() { tx1.commit().expect("failed to commit"); assert!(matches!( tx2.commit(), - Err(TypedStoreError::RetryableTransactionError) + Err(TypedStoreError::RetryableTransaction) )); // IMPORTANT: a race is still possible if one tx commits before the other diff --git a/crates/typed-store/src/rocks/values.rs b/crates/typed-store/src/rocks/values.rs index be008265ae3..0dfa38d9ed0 100644 --- a/crates/typed-store/src/rocks/values.rs +++ b/crates/typed-store/src/rocks/values.rs @@ -39,7 +39,7 @@ impl<'a, V: DeserializeOwned> Iterator for Values<'a, V> { } else { match self.db_iter.status() { Ok(_) => None, - Err(err) => Some(Err(TypedStoreError::RocksDBError(format!("{err}")))), + Err(err) => Some(Err(TypedStoreError::RocksDB(format!("{err}")))), } } } From 32016aa0f7da5c9f4909fa02d6fcd66da2ea341f Mon Sep 17 00:00:00 2001 From: Hans Moog <3293976+hmoog@users.noreply.github.com> Date: Wed, 23 Oct 2024 16:15:00 +0100 Subject: [PATCH 06/21] chore(core-node)!: Cleanup Narwhal related fields in IOTA Framework codebase (Move and Rust) (#3151) * renamed narwhal_primary_address and narwhal_worker_address * fixed rustfmt remarks * fixed more rustfmt remarks * renamed additional files * cleaned up comments in move * started removing worker_address * Make PubKey naming more sane. * More renames * Continue renaming, including missed renames. * Continue renaming in Move files * Revert incorrect format * Cleanup some yaml files * Fix cargo fmt issues * addressed fmt issues * Fix rustfmt * Cleanup naming * addressed fmt issues * addressed clippy errors * Update crates/iota-config/src/node.rs Co-authored-by: Thoralf-M <46689931+Thoralf-M@users.noreply.github.com> * Remove unused consensus parameter. * Address review comments. * Address review comments and rename missed occurrences. * Remove worker address from iptables.yaml * Add a comment explaining `primary_address` field. * Address review comments and missed renames * Fix dprint * Another round of missed renames * Yet another round of missed renames * Update manifest.json * Fix docs * Regenerate all snapshots * generated auto-generated files * Revert graphql auto-generated changes and generate files script * Update crates/iota-framework/packages/iota-system/sources/validator.move * fix(iota-graphql-{rpc,e2e-tests}): restore tests (#3572) * fix(iota-graphql-e2e-tests): update baselines and source files * fix(iota-graphql-rpc): update schema snapshot * chore(iota-framework-snapshot): update manifest * fix(iota-graphql-e2e-tests): update baselines and source files * chore(iota-graphql-e2e-tests): comment digest resolution in event_connection tests * chore(swarm-config): re-generated snapshots --------- Co-authored-by: Hans Moog Co-authored-by: Piotr Macek <4007944+piotrm50@users.noreply.github.com> Co-authored-by: Thoralf-M <46689931+Thoralf-M@users.noreply.github.com> Co-authored-by: Alexander Sporn Co-authored-by: Konstantinos Demartinos --- consensus/config/src/committee.rs | 9 +- crates/iota-benchmark/src/benchmark_setup.rs | 2 +- crates/iota-bridge-cli/src/main.rs | 10 +- .../data/fullnode-template-with-path.yaml | 8 +- crates/iota-config/src/node.rs | 49 +- crates/iota-config/src/test_gateway.yml | 250 ------- .../src/authority/authority_test_utils.rs | 2 +- .../src/authority/test_authority_builder.rs | 4 +- crates/iota-core/src/consensus_manager/mod.rs | 2 +- crates/iota-core/src/epoch/randomness.rs | 8 +- crates/iota-core/src/test_utils.rs | 22 +- .../src/unit_tests/authority_tests.rs | 4 +- .../src/unit_tests/mysticeti_manager_tests.rs | 4 +- .../src/unit_tests/pay_iota_tests.rs | 2 +- .../base/sources/genesis.move | 15 +- .../base/sources/validator.move | 20 +- .../deep_upgrade/sources/genesis.move | 15 +- .../deep_upgrade/sources/validator.move | 15 +- .../safe_mode/sources/genesis.move | 15 +- .../safe_mode/sources/validator.move | 15 +- .../shallow_upgrade/sources/genesis.move | 15 +- .../shallow_upgrade/sources/validator.move | 15 +- ...000000000000000000000000000000000000000003 | Bin 43662 -> 42933 bytes crates/iota-framework-snapshot/manifest.json | 2 +- .../packages/iota-system/sources/genesis.move | 15 +- .../iota-system/sources/iota_system.move | 75 +- .../sources/iota_system_state_inner.move | 75 +- .../iota-system/sources/validator.move | 199 ++---- .../tests/governance_test_utils.move | 3 - .../iota-system/tests/iota_system_tests.move | 93 +-- .../tests/validator_set_tests.move | 1 - .../iota-system/tests/validator_tests.move | 134 +--- .../packages_compiled/iota-system | Bin 43565 -> 42836 bytes crates/iota-framework/published_api.txt | 48 +- .../build_genesis_without_migration.rs | 2 +- .../examples/build_stardust_genesis.rs | 2 +- .../build_stardust_genesis_from_s3.rs | 2 +- crates/iota-genesis-builder/src/lib.rs | 30 +- .../src/validator_info.rs | 60 +- .../tests/available_range/available_range.exp | 16 +- .../tests/call/dynamic_fields.exp | 76 +- .../tests/call/simple.exp | 60 +- .../tests/consistency/balances.exp | 28 +- .../checkpoints/transaction_blocks.exp | 36 +- .../tests/consistency/coins.exp | 244 +++---- .../consistency/dynamic_fields/deleted_df.exp | 78 +-- .../dynamic_fields/deleted_dof.exp | 18 +- .../dof_add_reclaim_transfer.exp | 20 +- .../dof_add_reclaim_transfer_reclaim_add.exp | 24 +- .../dynamic_fields/dynamic_fields.exp | 372 ++++------ .../dynamic_fields/immutable_dof.exp | 22 +- .../consistency/dynamic_fields/mutated_df.exp | 30 +- .../dynamic_fields/mutated_dof.exp | 30 +- .../consistency/dynamic_fields/nested_dof.exp | 32 +- .../consistency/epochs/transaction_blocks.exp | 216 +++--- .../tests/consistency/object_at_version.exp | 16 +- .../tests/consistency/objects_pagination.exp | 277 ++++---- .../consistency/objects_pagination_single.exp | 150 ++-- .../consistency/performance/many_objects.exp | 132 ++-- .../tests/consistency/staked_iota.exp | 36 +- .../tests/consistency/tx_address_objects.exp | 650 +++++++++--------- .../tests/epoch/chain_identifier.exp | 2 +- .../tests/epoch/epoch.exp | 10 +- .../tests/epoch/system_state.exp | 18 +- .../tests/errors/clever_errors.exp | 40 +- .../tests/errors/clever_errors_in_macros.exp | 6 +- .../event_connection/event_connection.exp | 24 +- .../event_connection/nested_emit_event.exp | 6 +- .../tests/event_connection/no_filter.exp | 4 +- .../tests/event_connection/pagination.exp | 18 +- .../tests/event_connection/tx_digest.exp | 185 ++++- .../tests/event_connection/tx_digest.move | 56 +- .../tests/event_connection/type_filter.exp | 16 +- .../event_connection/type_param_filter.exp | 40 +- .../event_connection/type_param_filter.move | 4 +- .../tests/limits/directives.exp | 4 +- .../tests/limits/output_node_estimation.exp | 26 +- .../tests/objects/coin.exp | 34 +- .../tests/objects/data.exp | 246 +++---- .../tests/objects/display.exp | 18 +- .../tests/objects/enum_data.exp | 328 ++++----- .../tests/objects/filter_by_type.exp | 26 +- .../tests/objects/pagination.exp | 63 +- .../tests/objects/public_transfer.exp | 4 +- .../tests/objects/received.exp | 2 +- .../tests/objects/staked_iota.exp | 24 +- .../tests/owner/downcasts.exp | 2 +- .../tests/owner/root_version.exp | 32 +- .../tests/packages/datatypes.exp | 4 +- .../tests/packages/enums.exp | 32 +- .../tests/packages/friends.exp | 30 +- .../tests/packages/functions.exp | 48 +- .../tests/packages/modules.exp | 48 +- .../tests/packages/structs.exp | 72 +- .../tests/packages/types.exp | 2 +- .../tests/packages/versioning.exp | 64 +- .../balance_changes.exp | 14 +- .../dependencies.exp | 61 +- .../tests/transactions/at_checkpoint.exp | 12 +- .../tests/transactions/errors.exp | 4 +- .../tests/transactions/filters/kind.exp | 20 +- .../tests/transactions/programmable.exp | 166 ++--- .../tests/transactions/random.exp | 2 +- .../transactions/scan_limit/alternating.exp | 18 +- .../transactions/scan_limit/both_cursors.exp | 8 +- .../transactions/scan_limit/equal/first.exp | 24 +- .../transactions/scan_limit/equal/last.exp | 20 +- .../transactions/scan_limit/ge_page/first.exp | 20 +- .../transactions/scan_limit/ge_page/last.exp | 16 +- .../transactions/scan_limit/le_page/first.exp | 30 +- .../transactions/scan_limit/le_page/last.exp | 30 +- .../tests/transactions/scan_limit/require.exp | 82 +-- .../tests/transactions/shared.exp | 16 +- .../tests/transactions/system.exp | 320 ++++----- crates/iota-graphql-rpc/schema.graphql | 5 +- .../iota-graphql-rpc/src/types/validator.rs | 13 +- .../src/types/validator_credentials.rs | 5 +- .../snapshot_tests__schema_sdl_export.snap | 5 +- .../examples/index_genesis_transaction.rs | 2 +- .../iota-json-rpc-types/src/iota_extended.rs | 2 +- crates/iota-node/src/lib.rs | 16 +- crates/iota-open-rpc/spec/openrpc.json | 42 +- crates/iota-rest-api/openapi/openapi.json | 27 +- crates/iota-rest-api/src/system.rs | 36 +- crates/iota-rosetta/src/network.rs | 2 +- .../iota-swarm-config/src/genesis_config.rs | 53 +- .../src/network_config_builder.rs | 18 +- .../src/node_config_builder.rs | 20 +- crates/iota-swarm-config/src/test_utils.rs | 4 +- .../iota-swarm-config/tests/snapshot_tests.rs | 16 +- ...ests__network_config_snapshot_matches.snap | 35 +- ..._populated_genesis_snapshot_matches-2.snap | 38 +- crates/iota-swarm/src/memory/container-sim.rs | 2 +- crates/iota-swarm/src/memory/container.rs | 4 +- crates/iota-swarm/src/memory/node.rs | 2 +- crates/iota-swarm/src/memory/swarm.rs | 10 +- .../iota-test-transaction-builder/src/lib.rs | 5 +- crates/iota-tool/src/commands.rs | 2 +- crates/iota-tool/src/lib.rs | 2 +- crates/iota-types/src/committee.rs | 2 +- crates/iota-types/src/crypto.rs | 14 +- .../epoch_start_iota_system_state.rs | 42 +- .../iota_system_state_inner_v1.rs | 123 ++-- .../iota_system_state_inner_v2.rs | 9 +- .../iota_system_state_summary.rs | 28 +- .../simtest_iota_system_state_inner.rs | 53 +- crates/iota/genesis.md | 19 +- crates/iota/src/fire_drill.rs | 57 +- .../iota/src/generate_genesis_checkpoint.rs | 15 +- crates/iota/src/genesis_ceremony.rs | 85 +-- crates/iota/src/keytool.rs | 16 +- crates/iota/src/validator_commands.rs | 102 ++- crates/shared-crypto/src/intent.rs | 2 +- crates/simulacrum/src/store/in_mem_store.rs | 4 +- .../genesis/compose-validators.yaml | 16 +- .../configs/genesis-template.yaml | 16 +- .../transaction-auth/intent-signing.mdx | 6 +- .../transaction-auth/signatures.mdx | 6 +- docs/content/references/cli/ceremony.mdx | 14 +- docs/content/references/cli/keytool.mdx | 4 +- docs/content/references/cli/validator.mdx | 18 +- .../json/node-operators/validator-tools.json | 6 +- .../roles/iota-node/tasks/iptables.yaml | 12 +- nre/config/validator.yaml | 5 +- nre/docker/README.md | 6 +- nre/systemd/README.md | 4 +- nre/validator_tasks.md | 111 ++- nre/validator_tool.md | 9 +- 168 files changed, 3380 insertions(+), 3996 deletions(-) delete mode 100644 crates/iota-config/src/test_gateway.yml diff --git a/consensus/config/src/committee.rs b/consensus/config/src/committee.rs index ab3b33d2471..9b809a614cc 100644 --- a/consensus/config/src/committee.rs +++ b/consensus/config/src/committee.rs @@ -138,11 +138,14 @@ pub struct Authority { pub address: Multiaddr, /// The authority's hostname, for metrics and logging. pub hostname: String, - /// The authority's public key as Iota identity. + /// The public key bytes corresponding to the private key that the validator + /// holds to sign transactions. pub authority_key: AuthorityPublicKey, - /// The authority's public key for verifying blocks. + /// The public key bytes corresponding to the private key that the validator + /// holds to sign consensus blocks. pub protocol_key: ProtocolPublicKey, - /// The authority's public key for TLS and as network identity. + /// The public key bytes corresponding to the private key that the validator + /// uses to establish TLS connections. pub network_key: NetworkPublicKey, } diff --git a/crates/iota-benchmark/src/benchmark_setup.rs b/crates/iota-benchmark/src/benchmark_setup.rs index a78a0df57ef..24f3bb660f1 100644 --- a/crates/iota-benchmark/src/benchmark_setup.rs +++ b/crates/iota-benchmark/src/benchmark_setup.rs @@ -114,7 +114,7 @@ impl Env { for v in cluster.swarm.config().validator_configs() { eprintln!( "Metric address for validator {}: {}", - v.protocol_public_key().concise(), + v.authority_public_key().concise(), v.metrics_address ); } diff --git a/crates/iota-bridge-cli/src/main.rs b/crates/iota-bridge-cli/src/main.rs index d608ae39e11..ed90c1d7c2e 100644 --- a/crates/iota-bridge-cli/src/main.rs +++ b/crates/iota-bridge-cli/src/main.rs @@ -295,10 +295,10 @@ async fn main() -> anyhow::Result<()> { .active_validators .into_iter() .map(|summary| { - let protocol_key = - AuthorityPublicKeyBytes::from_bytes(&summary.protocol_pubkey_bytes) + let authority_key = + AuthorityPublicKeyBytes::from_bytes(&summary.authority_pubkey_bytes) .unwrap(); - (summary.iota_address, (protocol_key, summary.name)) + (summary.iota_address, (authority_key, summary.name)) }) .collect::>(); let mut authorities = vec![]; @@ -326,8 +326,8 @@ async fn main() -> anyhow::Result<()> { }; let url = url.to_string(); - let (protocol_key, name) = names.get(&iota_address).unwrap(); - let stake = stakes.get(protocol_key).unwrap(); + let (authority_key, name) = names.get(&iota_address).unwrap(); + let stake = stakes.get(authority_key).unwrap(); authorities.push((name, iota_address, pubkey, eth_address, url, stake)); } let total_stake = authorities diff --git a/crates/iota-config/data/fullnode-template-with-path.yaml b/crates/iota-config/data/fullnode-template-with-path.yaml index 806288b783c..12854a33135 100644 --- a/crates/iota-config/data/fullnode-template-with-path.yaml +++ b/crates/iota-config/data/fullnode-template-with-path.yaml @@ -23,11 +23,11 @@ authority-store-pruning-config: max-transactions-in-batch: 1000 pruning-run-delay-seconds: 60 -protocol-key-pair: - path: "protocol.key" +authority-key-pair: + path: "authority.key" network-key-pair: path: "network.key" account-key-pair: path: "account.key" -worker-key-pair: - path: "worker.key" +protocol-key-pair: + path: "protocol.key" diff --git a/crates/iota-config/src/node.rs b/crates/iota-config/src/node.rs index 0d652818528..147e8b5d036 100644 --- a/crates/iota-config/src/node.rs +++ b/crates/iota-config/src/node.rs @@ -51,12 +51,18 @@ pub const DEFAULT_COMMISSION_RATE: u64 = 200; #[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "kebab-case")] pub struct NodeConfig { + /// The public key bytes corresponding to the private key that the validator + /// holds to sign transactions. #[serde(default = "default_authority_key_pair")] - pub protocol_key_pair: AuthorityKeyPairWithPath, + pub authority_key_pair: AuthorityKeyPairWithPath, + /// The public key bytes corresponding to the private key that the validator + /// holds to sign consensus blocks. #[serde(default = "default_key_pair")] - pub worker_key_pair: KeyPairWithPath, + pub protocol_key_pair: KeyPairWithPath, #[serde(default = "default_key_pair")] pub account_key_pair: KeyPairWithPath, + /// The public key bytes corresponding to the private key that the validator + /// uses to establish TLS connections. #[serde(default = "default_key_pair")] pub network_key_pair: KeyPairWithPath, pub db_path: PathBuf, @@ -367,15 +373,15 @@ fn is_true(value: &bool) -> bool { impl Config for NodeConfig {} impl NodeConfig { - pub fn protocol_key_pair(&self) -> &AuthorityKeyPair { - self.protocol_key_pair.authority_keypair() + pub fn authority_key_pair(&self) -> &AuthorityKeyPair { + self.authority_key_pair.authority_keypair() } - pub fn worker_key_pair(&self) -> &NetworkKeyPair { - match self.worker_key_pair.keypair() { + pub fn protocol_key_pair(&self) -> &NetworkKeyPair { + match self.protocol_key_pair.keypair() { IotaKeyPair::Ed25519(kp) => kp, other => panic!( - "invalid keypair type: {:?}, only Ed25519 is allowed for worker key", + "invalid keypair type: {:?}, only Ed25519 is allowed for protocol key", other ), } @@ -391,8 +397,8 @@ impl NodeConfig { } } - pub fn protocol_public_key(&self) -> AuthorityPublicKeyBytes { - self.protocol_key_pair().public().into() + pub fn authority_public_key(&self) -> AuthorityPublicKeyBytes { + self.authority_key_pair().public().into() } pub fn db_path(&self) -> PathBuf { @@ -503,16 +509,10 @@ pub struct ConsensusConfig { /// estimates. pub submit_delay_step_override_millis: Option, - pub address: Multiaddr, - pub parameters: Option, } impl ConsensusConfig { - pub fn address(&self) -> &Multiaddr { - &self.address - } - pub fn db_path(&self) -> &Path { &self.db_path } @@ -1169,17 +1169,18 @@ mod tests { #[test] fn load_key_pairs_to_node_config() { - let protocol_key_pair: AuthorityKeyPair = + let authority_key_pair: AuthorityKeyPair = get_key_pair_from_rng(&mut StdRng::from_seed([0; 32])).1; - let worker_key_pair: NetworkKeyPair = + let protocol_key_pair: NetworkKeyPair = get_key_pair_from_rng(&mut StdRng::from_seed([0; 32])).1; let network_key_pair: NetworkKeyPair = get_key_pair_from_rng(&mut StdRng::from_seed([0; 32])).1; - write_authority_keypair_to_file(&protocol_key_pair, PathBuf::from("protocol.key")).unwrap(); + write_authority_keypair_to_file(&authority_key_pair, PathBuf::from("authority.key")) + .unwrap(); write_keypair_to_file( - &IotaKeyPair::Ed25519(worker_key_pair.copy()), - PathBuf::from("worker.key"), + &IotaKeyPair::Ed25519(protocol_key_pair.copy()), + PathBuf::from("protocol.key"), ) .unwrap(); write_keypair_to_file( @@ -1191,16 +1192,16 @@ mod tests { const TEMPLATE: &str = include_str!("../data/fullnode-template-with-path.yaml"); let template: NodeConfig = serde_yaml::from_str(TEMPLATE).unwrap(); assert_eq!( - template.protocol_key_pair().public(), - protocol_key_pair.public() + template.authority_key_pair().public(), + authority_key_pair.public() ); assert_eq!( template.network_key_pair().public(), network_key_pair.public() ); assert_eq!( - template.worker_key_pair().public(), - worker_key_pair.public() + template.protocol_key_pair().public(), + protocol_key_pair.public() ); } } diff --git a/crates/iota-config/src/test_gateway.yml b/crates/iota-config/src/test_gateway.yml deleted file mode 100644 index db5ee5ac1ee..00000000000 --- a/crates/iota-config/src/test_gateway.yml +++ /dev/null @@ -1,250 +0,0 @@ -epoch: 0 -validator_set: - - name: validator-9 - account-key: AD0iV/PbGVBoPExdB+4wfprZLoS9N4ltb00p1MNnlm71 - protocol-key: getJQ17IvK3nYcHAOLZ1PDeQt5dNcxGGkCooW9AYo0fUNEu1C3Uo264SZBiEqhqUD3QcR018SpZkYYEntPS/B/I8QGRJFBa55O1GSGGNscJ3rOOArqGKM4cOBaJUF2nH - worker-key: RXzQ+WNIIcodae0f1AaRVg3qvzbySW4EYBUVf68VdzA= - network-key: OD73hNLl2wBqBrmcxG00r77V7Kgdi2fu4YpnoEJDyPs= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/ny2-iotaval-1.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/ny2-iotaval-1.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/ny2-iotaval-1.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-14 - account-key: APxJHKslYpWYWmMIlpKfzBTj9K5I84diueoJ4sWHwjmS - protocol-key: hUY69ZxcvuOaoY9AoazvEAsum2bS/61LZU7d88h/baYO5rBXFod3UeYC+wr0J51qF6JUpOaNk/E2OIFSbI1GoLUxu0AxIfe23ph+BLD3CbttFMbpqZa7Zza6DOHpjyok - worker-key: IrjezuU/lXLkyXkAUvWbKBGPLH5GCrJqCRYKTVc9nao= - network-key: pu7Q7oXG6GiRfoEcR7azVoWUVQC10gY7MLi3xVoYa0g= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/mh1-iotaval-2.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/mh1-iotaval-2.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/mh1-iotaval-2.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-13 - account-key: AF7odQ5Mwj8PBN/7LYTqyB/gS1OywSBOcKuCS/+VNyLd - protocol-key: iBNb7x9vyRov6hR/y0671JJ3gYTGWjDtSO8BLZ0FjZQkkQ3peXhjQZnVUe7VO8CnGN630twyg6zfBwS8CL51rV0UbsEJ0ZOn/4uwR/rq8PwMdod+Wf84AkGhbrZ0AUh4 - worker-key: H2uJQcpeBVF/cn5VBR3re7HZugsooxv2TeGfoctO6GE= - network-key: tgVQjD8k8ymbIdWYhi8VxjMw9FInsfh8xLd+4xhOIOE= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/mh1-iotaval-1.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/mh1-iotaval-1.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/mh1-iotaval-1.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-17 - account-key: AO6lcah9+F9DfVBwE5+30kmi8pkw7nHPeolO0LNIJUQi - protocol-key: iJOovXaLrS4FvmlpMnkCk0oEY79HrBPLxY+21WhK2sKsaTsAgjL4KnyXVbrb7nTOAm0z6CkdzT+hMmMw1E7csmK8dV8VjKpgaR66oMxcGDM2Rbu0XhqIx7uH3DpwYezp - worker-key: jdsdCfcvGNs5XxGk+jwNbOF6caMnaWvCGKOp0b4QslI= - network-key: qqL4hLWUa7bitFYj0k1uosnmKEEslk/o8shtOOJriWY= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/ty6-iotaval-1.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/ty6-iotaval-1.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/ty6-iotaval-1.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-10 - account-key: AEM7kl/d6VlBG1IgY+lHdxzudYT6ZhtXiYBh3kCxLZCq - protocol-key: iic7mlIKCwVxaqej7btkXo045aJYw6hgqpHZT+n25aqICuYCkc0PUXzZ2qSGTrUgDkhcyLKUpMPXjNCPw7AV3M+B+dPuKf6BVVo4Enj4KJe5SnoNOYRE7Ll01K9KfbWU - worker-key: +Ukw2HM7IYXyIxp9F2ZbBZMAQpIMN24fhzArm41CJy0= - network-key: IXFQDgUFO6XD+eqnCHf4aAR2HVdqKKM/7l13nlFIk+w= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/ny2-iotaval-2.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/ny2-iotaval-2.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/ny2-iotaval-2.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-7 - account-key: ALO4VmUJME24oEDq0tzE7MRi+83HZE3UCuLTVPIE4ZQK - protocol-key: krpOBB6E7P0N4jsUHBGFPSHX0UPoS6uFR1I/kKND+em8+cgrujsm31oygHdrKhUeDjq4UWUtCyxLoCczGLO/F1VUooI/J3iqzjN1RvkG7CiFriuU0L9GF7/l64U01DwN - worker-key: knT4d0Du6/s0qQWtIeAHI25gRjTXHQe4g0SK56LGtLw= - network-key: ZtPhPziNESJSElsa2y7GZWkc97kKPMrJTq1UldpxUoU= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/dal2-iotaval-3.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/dal2-iotaval-3.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/dal2-iotaval-3.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-8 - account-key: AJN7LZADOBBRulSlRjE0HJs3YR8I3WPwg2ejh4HbDmIS - protocol-key: ky1saTSmEpWC/F4MKypOBzJaNaqxHk7gTWkhDnJP0NMZG0vniS+3YIGtg/MsHPQXAVJkmj/rq9AgGNN/xxmUXd7iB/6xnldUSRfHDberjd9lr6zlG+oEtj9nmpLNA/Wd - worker-key: feBqPOJotxyv+jWKWvYGWw6/ISzP2dms9jhiy4Nbj4Q= - network-key: yfVmqGTyP3tutFvvrvklhafUJUCTmik+6u6zBRV3Vb4= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/ny2-iotaval-0.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/ny2-iotaval-0.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/ny2-iotaval-0.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-4 - account-key: ACfae1xB9WlL4aSAEbIeTzHSK70s6pUFK4MWerGsas0i - protocol-key: lwDow31chV6Qb3bqcHN5EjFVRf6MVttV94z4d4y5srrEz/Ljax/6RV3rHR65OfU1ExK8K5bX1gZ6q8pZgVUTPjWrRt3G8P1aD8hw0gXFFYeE3Wx2+Y4P4r8H4LMcqriZ - worker-key: XpdNknObin/NdNWpBISwDdJxhSlyBVZ85Vn9AnVzxtY= - network-key: 7b8+yXq6rdRw7eToBWfCnYoDBPxDvTVeW6xyiK5u4HM= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/dal2-iotaval-0.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/dal2-iotaval-0.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/dal2-iotaval-0.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-18 - account-key: AE6+TGtd9SgOFPJh7sswMd8YDf7G080NeGYwzuIS3/zM - protocol-key: l/fjESkdgYtdwiEnTNEEltgjImpW5k5CIwnq3YHSAlXW2wATYAf+U0CwYHIbFelxC4XpuDZJTMUDp/B1q7lbMms/EuUmHvP59uz3ysNMERt0w+kDDIcdN45yPhJJOTwq - worker-key: Qn3hFtZnGKB5NKeLsjAzb0+N6Nar2UpLeiUYcOBAaAs= - network-key: y3wT8cSNLo+flMsvseffK5fJC72J12ZrT6Tjy6wzQkM= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/ty6-iotaval-2.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/ty6-iotaval-2.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/ty6-iotaval-2.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-2 - account-key: AGhrMVMiJ67VCxth8gWXNFOLnFuNkIMjV0GK3EFBfaio - protocol-key: pGmknQNryWXOmxfNJ1L2IpVplX0kcjMpeHAcuRbxv6rlJt1N+96RWegxtf38mLWQFt2b+S8diM25yMFn4ox2YzAHShhhISz8ZzB38WPScV3xXGG0F5KyPXk0sLM1/vjx - worker-key: qolNIcgY6rYX64P5O4oF9ugXl3hPi6yUyZlV1SPjt+M= - network-key: Qn8Zhwld5x22fE1GwIg6Hain9iVRi+iam1RDgp8mvhk= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/la2-iotaval-2.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/la2-iotaval-2.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/la2-iotaval-2.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-11 - account-key: AK6LecW3y0UyqzCHu3lUgffRyhGrxEQPjaHRxCilP6Rp - protocol-key: pVydcYoBSOHxVnw2mOg8YXJyqpDYP+ksefqghJwr3OChJNTa3A2NkDaCRKGcvRm6DPiaqBu8qBUSAfjWE4KHfQIllc7qkWYsRfKi0RYQ3zTFYSjal93Am/cAI1q6QX59 - worker-key: PqUDf04k2xNSqR0u2pmaU7L23hIt8gO6B3NoYPsR+RA= - network-key: x/0p4eV6ZQOyRGv9K9hiiaN7TvSfk2AvCttMAVpOoMk= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/ny2-iotaval-3.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/ny2-iotaval-3.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/ny2-iotaval-3.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-16 - account-key: AImuNvQVTUSNUQrsBSi7dzT+a+wVsSQM5fQMfdQ1CTZ0 - protocol-key: qBvUTaWiYjKIledSoTM8rwt4C7dqCVFuUPyQBNDOOSa109JlgUafHGEIeOHrrUlCEnAwTiXs+s2JlwmyegQzJp2ECnbz4JRPzFqbBhS7VDJ7UfydXbq4KDt12q8yb5v4 - worker-key: XFw5/sTtKHd47+vpj7uvt+FkAyOq1FnvGS/7be6suoA= - network-key: EEqhzNCQ6/nPfCW7jLMKQS2TGb2dY2CHAme8mlEZGKY= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/ty6-iotaval-0.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/ty6-iotaval-0.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/ty6-iotaval-0.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-15 - account-key: AFDDthZ/GakRrsI2QZJ8gQFEt+fJvKwpJJoYm+p/NW07 - protocol-key: q5U/HPqV6OsFbc5gzr+FPRfBGqyHqO683epGiQ535TOEYRkSi3wZFFUdDfWId7ORD5EIYWj7ZtA4C8uPrP3XsbIQogNizEyDu3CwytSwtcTa4/bIvc8HK/0KoDnPNOG2 - worker-key: ydUPJzWYwe3RdAUo5zMZvyAattOKn+wfxwdrQTRpxqA= - network-key: rU4e5yh97eNS5nCaa7EbbqnJVMcHehybdtBlIZjSHdU= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/mh1-iotaval-3.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/mh1-iotaval-3.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/mh1-iotaval-3.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-5 - account-key: ALaZN89Ud2dli3QScggR+9+2CqSkct2f7qMXQ1osFaBd - protocol-key: rA3xsZLdYP8f1Jhdy/qaAZJTZ1XGza6P167xhffC9qd/ThVdV0K/Pg0t9g5TpYHoEygnvMO8oPyJA2+zwbutgCTRaM1z573NN3mtbjK57R+S7aqwZiN2kI7aoymX9oHs - worker-key: EgpJ/Hdk6X+H8jXxurlwR1EiIlDkryVCQ4HMrk72INQ= - network-key: twXGi96O3XWKERXGzu1Y03Rl6uUr+1Tqx9kGuGV+Gew= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/dal2-iotaval-1.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/dal2-iotaval-1.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/dal2-iotaval-1.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-19 - account-key: AFhY6i8XnpRoImndz7kj+M6mjIpZz1248oyO5Ou/ajG8 - protocol-key: rewCDjFrQpvCurd4M6cl1/icgJsGKombV1OAd0iyskXN4WqXZiP/V7xy7fNZfciwD2k0nl8uQCaLEPXsO/zBL0ZGr2n274JYVm8j4gOekJcUpdAQ3LWPqDh3pRsxBVE+ - worker-key: 7J91jtn+//gCHUPIi8Std5hhSFLs9snJhPbnHPueudc= - network-key: 3PKKDx6y6CzV0+eK9G3WvH/queuZe3byCYIOTYIkyiQ= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/ty6-iotaval-3.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/ty6-iotaval-3.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/ty6-iotaval-3.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-12 - account-key: AAYmiOgJnOyXfMPEwP49TUUUTw4dlIA/8IXeKEv8M4RK - protocol-key: sfQG62p+A88facvLw+lXcDh6TtSaeaRa3D8dhMJpLWgJZ4NRl2JFSaUlYHWwP+zVGSdbyLGm72426wv5cKnVkHM8cxhNvpZRq370bYHTfTAb34WJ2mxHiqx5pChHJp4E - worker-key: UEtOxAHp/invOWPV8Uuls3/46iLdKFJIGEb2zhJIsNs= - network-key: ibWn5j/N9BqepJXTWioH47A2u//ASB3Xug50e7jmJ80= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/mh1-iotaval-0.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/mh1-iotaval-0.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/mh1-iotaval-0.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-3 - account-key: AIyUji/hvun9TdRLQXpN8UNgn3sIjSosETJWkPSwDzHr - protocol-key: tH2JgU9S5IFnC17arEV0dn2sRlZmgaHpOAVQvIJfvXAnZTOLDwHzepPbFpp3i9g+DzUyeKWSh06N7jILNze8jdhLeZ1fumbu07GgmpL2vdYR3Qbxg64DpsKLPMeNi3V1 - worker-key: NM/63ks+HTfHnPSRKU7Yh9I0c5qTm1ajr4akXpBR5V0= - network-key: 5VuCiFi9kAK7QlsZBuymT9xsIG/sPoFcmjHoGn/CPgs= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/la2-iotaval-3.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/la2-iotaval-3.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/la2-iotaval-3.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-1 - account-key: AG+M0+OIB31YRR/FQKdzt7aP4qUPBQSMyCWK+Da9Zmax - protocol-key: tlb8KVZRWWJZQ6TmpE+5ZL05Vb0TTnCMbJ+kWX5GtcnpaeRiFqlUKiYM5npZCCWyFx8f1VwW5gfg8OejVRlo+weJr50yphZdA53GkbJiOWxSY58DSNTQINB/lEdOAeJQ - worker-key: xplIPV8w5ahH8UaWChJcPrkSVZAGtKwMXCWdT8lSaPU= - network-key: pZdlHJfW9hxT415bG8kusy7m4TDfW0gkNMsx3MVs73o= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/la2-iotaval-1.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/la2-iotaval-1.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/la2-iotaval-1.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-6 - account-key: AGq4caYZr20U1EM7WkRo6CYVuKfjWmda1b5AGdgaSN2s - protocol-key: t/ueFnCtZPsfXozjLmRwefOht+pyelCaTgctHqOomF5gd0MuXdDSvOCAH3yWiaIVBskY54766sEG0antAeAtJHRwKXHGo99RR5nRRxUbekTvq7T05TTpQxW1pi4Cr/5O - worker-key: MM7hhssxwhocxsg8ZrEYXjMggQsrWaiQzCZpkwv7ya8= - network-key: q1+yp6neJ0VYGcRFDDfarMM6XN+CwiNVmqfc7IElUNY= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/dal2-iotaval-2.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/dal2-iotaval-2.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/dal2-iotaval-2.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http - - name: validator-0 - account-key: APlYeKnmB0RcPB5cYaII7aAvjjAt19cVt3d9eJBCQwjX - protocol-key: uQWpdXdUDiw5/MSyB56qIUZoCOApbKzuXE9MkgjekQsn6PPSLEIydbr16TVKm8ifADeZUnFeIQ39VwT3LBveXXS8ncRoBddREyR/S19AXGWigynhjLi5hNGCfFO+FWHS - worker-key: 6zvKuVVIhIgczd4Gf3AhWzdJyINtK8yxoVLxlUw3kSU= - network-key: 2tgtZR/dK2E9rEfdenqmLKxjqjH0jJV7CcT4ywRA6uw= - stake: 1 - delegation: 0 - gas-price: 1 - network-address: /dns/la2-iotaval-0.testnet.iota.io/tcp/8080/http - narwhal-primary-address: /dns/la2-iotaval-0.testnet.iota.io/udp/8081 - narwhal-worker-address: /dns/la2-iotaval-0.testnet.iota.io/udp/8082 - narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http -send_timeout: - secs: 30 - nanos: 0 -recv_timeout: - secs: 30 - nanos: 0 -buffer_size: 650000 -db_folder_path: /data/gateway_client_db diff --git a/crates/iota-core/src/authority/authority_test_utils.rs b/crates/iota-core/src/authority/authority_test_utils.rs index 619d521344a..79de7005656 100644 --- a/crates/iota-core/src/authority/authority_test_utils.rs +++ b/crates/iota-core/src/authority/authority_test_utils.rs @@ -225,7 +225,7 @@ pub async fn init_state_with_objects>( iota_swarm_config::network_config_builder::ConfigBuilder::new(&dir).build(); let genesis = network_config.genesis; let keypair = network_config.validator_configs[0] - .protocol_key_pair() + .authority_key_pair() .copy(); init_state_with_objects_and_committee(objects, &genesis, &keypair).await } diff --git a/crates/iota-core/src/authority/test_authority_builder.rs b/crates/iota-core/src/authority/test_authority_builder.rs index 9ffc52e95d6..2da75600f44 100644 --- a/crates/iota-core/src/authority/test_authority_builder.rs +++ b/crates/iota-core/src/authority/test_authority_builder.rs @@ -139,7 +139,7 @@ impl<'a> TestAuthorityBuilder<'a> { pub fn with_network_config(self, config: &'a NetworkConfig, node_idx: usize) -> Self { self.with_genesis_and_keypair( &config.genesis, - config.validator_configs()[node_idx].protocol_key_pair(), + config.validator_configs()[node_idx].authority_key_pair(), ) } @@ -217,7 +217,7 @@ impl<'a> TestAuthorityBuilder<'a> { let keypair = if let Some(keypair) = self.node_keypair { keypair.copy() } else { - config.protocol_key_pair().copy() + config.authority_key_pair().copy() }; let secret = Arc::pin(keypair.copy()); diff --git a/crates/iota-core/src/consensus_manager/mod.rs b/crates/iota-core/src/consensus_manager/mod.rs index 0e38bd86638..2e2c7a7d521 100644 --- a/crates/iota-core/src/consensus_manager/mod.rs +++ b/crates/iota-core/src/consensus_manager/mod.rs @@ -71,7 +71,7 @@ impl ProtocolManager { client: Arc, ) -> Self { Self::Mysticeti(MysticetiManager::new( - config.worker_key_pair().copy(), + config.protocol_key_pair().copy(), config.network_key_pair().copy(), consensus_config.db_path().to_path_buf(), registry_service.clone(), diff --git a/crates/iota-core/src/epoch/randomness.rs b/crates/iota-core/src/epoch/randomness.rs index bfc5df941a2..73494a4548f 100644 --- a/crates/iota-core/src/epoch/randomness.rs +++ b/crates/iota-core/src/epoch/randomness.rs @@ -890,7 +890,7 @@ mod tests { let state = TestAuthorityBuilder::new() .with_protocol_config(protocol_config.clone()) - .with_genesis_and_keypair(&network_config.genesis, validator.protocol_key_pair()) + .with_genesis_and_keypair(&network_config.genesis, validator.authority_key_pair()) .build() .await; let consensus_adapter = Arc::new(ConsensusAdapter::new( @@ -909,7 +909,7 @@ mod tests { Arc::downgrade(&epoch_store), Box::new(consensus_adapter.clone()), iota_network::randomness::Handle::new_stub(), - validator.protocol_key_pair(), + validator.authority_key_pair(), ) .await .unwrap(); @@ -1022,7 +1022,7 @@ mod tests { let state = TestAuthorityBuilder::new() .with_protocol_config(protocol_config.clone()) - .with_genesis_and_keypair(&network_config.genesis, validator.protocol_key_pair()) + .with_genesis_and_keypair(&network_config.genesis, validator.authority_key_pair()) .build() .await; let consensus_adapter = Arc::new(ConsensusAdapter::new( @@ -1041,7 +1041,7 @@ mod tests { Arc::downgrade(&epoch_store), Box::new(consensus_adapter.clone()), iota_network::randomness::Handle::new_stub(), - validator.protocol_key_pair(), + validator.authority_key_pair(), ) .await .unwrap(); diff --git a/crates/iota-core/src/test_utils.rs b/crates/iota-core/src/test_utils.rs index df6e717ea39..4c62a7ab1d7 100644 --- a/crates/iota-core/src/test_utils.rs +++ b/crates/iota-core/src/test_utils.rs @@ -108,7 +108,7 @@ where .build(); let genesis = network_config.genesis; let authority_key = network_config.validator_configs[0] - .protocol_key_pair() + .authority_key_pair() .copy(); (genesis, authority_key) @@ -223,31 +223,31 @@ async fn init_genesis( let mut builder = iota_genesis_builder::Builder::new().add_objects(genesis_objects); let mut key_pairs = Vec::new(); for i in 0..committee_size { - let key_pair: AuthorityKeyPair = get_key_pair().1; - let authority_name = key_pair.public().into(); - let worker_key_pair: NetworkKeyPair = get_key_pair().1; - let worker_name = worker_key_pair.public().clone(); + let authority_key_pair: AuthorityKeyPair = get_key_pair().1; + let authority_pubkey_bytes = authority_key_pair.public().into(); + let protocol_key_pair: NetworkKeyPair = get_key_pair().1; + let protocol_pubkey = protocol_key_pair.public().clone(); let account_key_pair: IotaKeyPair = get_key_pair::().1.into(); let network_key_pair: NetworkKeyPair = get_key_pair().1; let validator_info = ValidatorInfo { name: format!("validator-{i}"), - protocol_key: authority_name, - worker_key: worker_name, + authority_key: authority_pubkey_bytes, + protocol_key: protocol_pubkey, account_address: IotaAddress::from(&account_key_pair.public()), network_key: network_key_pair.public().clone(), gas_price: 1, commission_rate: 0, network_address: local_ip_utils::new_local_tcp_address_for_testing(), p2p_address: local_ip_utils::new_local_udp_address_for_testing(), - narwhal_primary_address: local_ip_utils::new_local_udp_address_for_testing(), - narwhal_worker_address: local_ip_utils::new_local_udp_address_for_testing(), + primary_address: local_ip_utils::new_local_udp_address_for_testing(), description: String::new(), image_url: String::new(), project_url: String::new(), }; - let pop = generate_proof_of_possession(&key_pair, (&account_key_pair.public()).into()); + let pop = + generate_proof_of_possession(&authority_key_pair, (&account_key_pair.public()).into()); builder = builder.add_validator(validator_info, pop); - key_pairs.push((authority_name, key_pair)); + key_pairs.push((authority_pubkey_bytes, authority_key_pair)); } for (_, key) in &key_pairs { builder = builder.add_validator_signature(key); diff --git a/crates/iota-core/src/unit_tests/authority_tests.rs b/crates/iota-core/src/unit_tests/authority_tests.rs index bec934b8984..6755e7ef763 100644 --- a/crates/iota-core/src/unit_tests/authority_tests.rs +++ b/crates/iota-core/src/unit_tests/authority_tests.rs @@ -4867,10 +4867,10 @@ async fn test_consensus_message_processed() { let genesis = network_config.genesis; let sec1 = network_config.validator_configs[0] - .protocol_key_pair() + .authority_key_pair() .copy(); let sec2 = network_config.validator_configs[1] - .protocol_key_pair() + .authority_key_pair() .copy(); let authority1 = init_state_with_objects_and_committee( diff --git a/crates/iota-core/src/unit_tests/mysticeti_manager_tests.rs b/crates/iota-core/src/unit_tests/mysticeti_manager_tests.rs index 90ba861b3f7..42f3f7d17ae 100644 --- a/crates/iota-core/src/unit_tests/mysticeti_manager_tests.rs +++ b/crates/iota-core/src/unit_tests/mysticeti_manager_tests.rs @@ -60,7 +60,7 @@ async fn test_mysticeti_manager() { let consensus_config = config.consensus_config().unwrap(); let registry_service = RegistryService::new(Registry::new()); - let secret = Arc::pin(config.protocol_key_pair().copy()); + let secret = Arc::pin(config.authority_key_pair().copy()); let genesis = config.genesis().unwrap(); let state = TestAuthorityBuilder::new() @@ -73,7 +73,7 @@ async fn test_mysticeti_manager() { let client = Arc::new(LazyMysticetiClient::default()); let manager = MysticetiManager::new( - config.worker_key_pair().copy(), + config.protocol_key_pair().copy(), config.network_key_pair().copy(), consensus_config.db_path().to_path_buf(), registry_service, diff --git a/crates/iota-core/src/unit_tests/pay_iota_tests.rs b/crates/iota-core/src/unit_tests/pay_iota_tests.rs index b3629b59b07..d76ce1419c7 100644 --- a/crates/iota-core/src/unit_tests/pay_iota_tests.rs +++ b/crates/iota-core/src/unit_tests/pay_iota_tests.rs @@ -444,7 +444,7 @@ async fn execute_pay_all_iota( ) .build(); let genesis = network_config.genesis; - let keypair = network_config.validator_configs[0].protocol_key_pair(); + let keypair = network_config.validator_configs[0].authority_key_pair(); let authority_state = init_state_with_committee(&genesis, keypair).await; let rgp = authority_state.reference_gas_price_for_testing().unwrap(); diff --git a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/base/sources/genesis.move b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/base/sources/genesis.move index c35c6c7f8bb..e6bff0442aa 100644 --- a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/base/sources/genesis.move +++ b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/base/sources/genesis.move @@ -24,16 +24,15 @@ module iota_system::genesis { gas_price: u64, commission_rate: u64, - protocol_public_key: vector, + authority_public_key: vector, proof_of_possession: vector, network_public_key: vector, - worker_public_key: vector, + protocol_public_key: vector, network_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, } public struct GenesisChainParameters has drop, copy { @@ -81,25 +80,23 @@ module iota_system::genesis { iota_address, gas_price: _, commission_rate: _, - protocol_public_key, + authority_public_key, proof_of_possession: _, network_public_key, - worker_public_key, + protocol_public_key, network_address, p2p_address, primary_address, - worker_address, } = *vector::borrow(&genesis_validators, i); let validator = validator::new( iota_address, - protocol_public_key, + authority_public_key, network_public_key, - worker_public_key, + protocol_public_key, network_address, p2p_address, primary_address, - worker_address, balance::split(&mut iota_supply, 2500), ctx ); diff --git a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/base/sources/validator.move b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/base/sources/validator.move index bdd1904b354..c3aa4b4a4b3 100644 --- a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/base/sources/validator.move +++ b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/base/sources/validator.move @@ -13,13 +13,12 @@ module iota_system::validator { public struct ValidatorMetadata has store { iota_address: address, - protocol_pubkey_bytes: vector, + authority_pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, net_address: String, p2p_address: String, primary_address: String, - worker_address: String, extra_fields: Bag, } @@ -32,25 +31,23 @@ module iota_system::validator { public(package) fun new( iota_address: address, - protocol_pubkey_bytes: vector, + authority_pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, net_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, init_stake: Balance, ctx: &mut TxContext ): Validator { let metadata = ValidatorMetadata { iota_address, - protocol_pubkey_bytes, + authority_pubkey_bytes, network_pubkey_bytes, - worker_pubkey_bytes, + protocol_pubkey_bytes, net_address: string::from_ascii(ascii::string(net_address)), p2p_address: string::from_ascii(ascii::string(p2p_address)), primary_address: string::from_ascii(ascii::string(primary_address)), - worker_address: string::from_ascii(ascii::string(worker_address)), extra_fields: bag::new(ctx), }; @@ -67,13 +64,12 @@ module iota_system::validator { ): Validator { let metadata = ValidatorMetadata { iota_address: @0x0, - protocol_pubkey_bytes: vector[], + authority_pubkey_bytes: vector[], network_pubkey_bytes: vector[], - worker_pubkey_bytes: vector[], + protocol_pubkey_bytes: vector[], net_address: string::utf8(vector[]), p2p_address: string::utf8(vector[]), primary_address: string::utf8(vector[]), - worker_address: string::utf8(vector[]), extra_fields: bag::new(ctx), }; diff --git a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/deep_upgrade/sources/genesis.move b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/deep_upgrade/sources/genesis.move index c2b96e12c34..85852671040 100644 --- a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/deep_upgrade/sources/genesis.move +++ b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/deep_upgrade/sources/genesis.move @@ -24,16 +24,15 @@ module iota_system::genesis { gas_price: u64, commission_rate: u64, - protocol_public_key: vector, + authority_public_key: vector, proof_of_possession: vector, network_public_key: vector, - worker_public_key: vector, + protocol_public_key: vector, network_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, } public struct GenesisChainParameters has drop, copy { @@ -81,25 +80,23 @@ module iota_system::genesis { iota_address, gas_price: _, commission_rate: _, - protocol_public_key, + authority_public_key, proof_of_possession: _, network_public_key, - worker_public_key, + protocol_public_key, network_address, p2p_address, primary_address, - worker_address, } = *vector::borrow(&genesis_validators, i); let validator = validator::new( iota_address, - protocol_public_key, + authority_public_key, network_public_key, - worker_public_key, + protocol_public_key, network_address, p2p_address, primary_address, - worker_address, balance::split(&mut iota_supply, 2500), ctx ); diff --git a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/deep_upgrade/sources/validator.move b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/deep_upgrade/sources/validator.move index bac4ac2d56a..ea965ad4d15 100644 --- a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/deep_upgrade/sources/validator.move +++ b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/deep_upgrade/sources/validator.move @@ -13,13 +13,12 @@ module iota_system::validator { public struct ValidatorMetadata has store { iota_address: address, - protocol_pubkey_bytes: vector, + authority_pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, net_address: String, p2p_address: String, primary_address: String, - worker_address: String, extra_fields: Bag, } @@ -40,25 +39,23 @@ module iota_system::validator { public(package) fun new( iota_address: address, - protocol_pubkey_bytes: vector, + authority_pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, net_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, init_stake: Balance, ctx: &mut TxContext ): Validator { let metadata = ValidatorMetadata { iota_address, - protocol_pubkey_bytes, + authority_pubkey_bytes, network_pubkey_bytes, - worker_pubkey_bytes, + protocol_pubkey_bytes, net_address: string::from_ascii(ascii::string(net_address)), p2p_address: string::from_ascii(ascii::string(p2p_address)), primary_address: string::from_ascii(ascii::string(primary_address)), - worker_address: string::from_ascii(ascii::string(worker_address)), extra_fields: bag::new(ctx), }; diff --git a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/safe_mode/sources/genesis.move b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/safe_mode/sources/genesis.move index c35c6c7f8bb..e6bff0442aa 100644 --- a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/safe_mode/sources/genesis.move +++ b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/safe_mode/sources/genesis.move @@ -24,16 +24,15 @@ module iota_system::genesis { gas_price: u64, commission_rate: u64, - protocol_public_key: vector, + authority_public_key: vector, proof_of_possession: vector, network_public_key: vector, - worker_public_key: vector, + protocol_public_key: vector, network_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, } public struct GenesisChainParameters has drop, copy { @@ -81,25 +80,23 @@ module iota_system::genesis { iota_address, gas_price: _, commission_rate: _, - protocol_public_key, + authority_public_key, proof_of_possession: _, network_public_key, - worker_public_key, + protocol_public_key, network_address, p2p_address, primary_address, - worker_address, } = *vector::borrow(&genesis_validators, i); let validator = validator::new( iota_address, - protocol_public_key, + authority_public_key, network_public_key, - worker_public_key, + protocol_public_key, network_address, p2p_address, primary_address, - worker_address, balance::split(&mut iota_supply, 2500), ctx ); diff --git a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/safe_mode/sources/validator.move b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/safe_mode/sources/validator.move index 6cd79cadee1..923cc9f3b27 100644 --- a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/safe_mode/sources/validator.move +++ b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/safe_mode/sources/validator.move @@ -13,13 +13,12 @@ module iota_system::validator { public struct ValidatorMetadata has store { iota_address: address, - protocol_pubkey_bytes: vector, + authority_pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, net_address: String, p2p_address: String, primary_address: String, - worker_address: String, extra_fields: Bag, } @@ -32,25 +31,23 @@ module iota_system::validator { public(package) fun new( iota_address: address, - protocol_pubkey_bytes: vector, + authority_pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, net_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, init_stake: Balance, ctx: &mut TxContext ): Validator { let metadata = ValidatorMetadata { iota_address, - protocol_pubkey_bytes, + authority_pubkey_bytes, network_pubkey_bytes, - worker_pubkey_bytes, + protocol_pubkey_bytes, net_address: string::from_ascii(ascii::string(net_address)), p2p_address: string::from_ascii(ascii::string(p2p_address)), primary_address: string::from_ascii(ascii::string(primary_address)), - worker_address: string::from_ascii(ascii::string(worker_address)), extra_fields: bag::new(ctx), }; diff --git a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/shallow_upgrade/sources/genesis.move b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/shallow_upgrade/sources/genesis.move index c35c6c7f8bb..e6bff0442aa 100644 --- a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/shallow_upgrade/sources/genesis.move +++ b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/shallow_upgrade/sources/genesis.move @@ -24,16 +24,15 @@ module iota_system::genesis { gas_price: u64, commission_rate: u64, - protocol_public_key: vector, + authority_public_key: vector, proof_of_possession: vector, network_public_key: vector, - worker_public_key: vector, + protocol_public_key: vector, network_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, } public struct GenesisChainParameters has drop, copy { @@ -81,25 +80,23 @@ module iota_system::genesis { iota_address, gas_price: _, commission_rate: _, - protocol_public_key, + authority_public_key, proof_of_possession: _, network_public_key, - worker_public_key, + protocol_public_key, network_address, p2p_address, primary_address, - worker_address, } = *vector::borrow(&genesis_validators, i); let validator = validator::new( iota_address, - protocol_public_key, + authority_public_key, network_public_key, - worker_public_key, + protocol_public_key, network_address, p2p_address, primary_address, - worker_address, balance::split(&mut iota_supply, 2500), ctx ); diff --git a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/shallow_upgrade/sources/validator.move b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/shallow_upgrade/sources/validator.move index 6cd79cadee1..923cc9f3b27 100644 --- a/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/shallow_upgrade/sources/validator.move +++ b/crates/iota-e2e-tests/tests/framework_upgrades/mock_iota_systems/shallow_upgrade/sources/validator.move @@ -13,13 +13,12 @@ module iota_system::validator { public struct ValidatorMetadata has store { iota_address: address, - protocol_pubkey_bytes: vector, + authority_pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, net_address: String, p2p_address: String, primary_address: String, - worker_address: String, extra_fields: Bag, } @@ -32,25 +31,23 @@ module iota_system::validator { public(package) fun new( iota_address: address, - protocol_pubkey_bytes: vector, + authority_pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, net_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, init_stake: Balance, ctx: &mut TxContext ): Validator { let metadata = ValidatorMetadata { iota_address, - protocol_pubkey_bytes, + authority_pubkey_bytes, network_pubkey_bytes, - worker_pubkey_bytes, + protocol_pubkey_bytes, net_address: string::from_ascii(ascii::string(net_address)), p2p_address: string::from_ascii(ascii::string(p2p_address)), primary_address: string::from_ascii(ascii::string(primary_address)), - worker_address: string::from_ascii(ascii::string(worker_address)), extra_fields: bag::new(ctx), }; diff --git a/crates/iota-framework-snapshot/bytecode_snapshot/1/0x0000000000000000000000000000000000000000000000000000000000000003 b/crates/iota-framework-snapshot/bytecode_snapshot/1/0x0000000000000000000000000000000000000000000000000000000000000003 index 98410e0ddd6208fc878b238a9840b630117bea1e..ce3112b38cb589faeae09acd742c63994fc02c71 100644 GIT binary patch delta 7227 zcmbVR3ve7odhY&bdS`Zec4m8bXJ6V~t+bL>Z^@F8)=x>cEKBl3vMs*>zik|5{)I1UW-aY=j+&Tt9GaR&tPNJ4R`9OZl(6&5aSV zL%|YNolr2Pz;iu9b}Cq^V3&enH%`cig0%_;-2@?{3f3qXQ?S8J60*uo5psuHMm(yD zw=1|z6&}{nn@LsLq@buEtzb*KhLEqg8A7_V=xa|djD1;Dt8gHXI$y0rIHTaKf{Rq) z{XX8Uis$^|X;nP$7w@erW4T<9aF>DyeCj<);DTSgPZje4ga@fWe25khTigahmN#mI zF6-zd@F?v`QKHrLGpe!H;S4ncyGxAPMtyIJ7zcVI#9UcuCqdE0NHC)yJBZNPkRrjr z;)XB@E|Vj%MMnlkGsJp~t{fozwn7`RPYf3*38hAc5gW()5qn3lub~@!T*r!7KGKiq zG_^I8qlKf*>lUr=+i0#|v0-&@b8n%ixub(!{l1~DdoTX5|FJ`-_v}A?^3a_#A0@h=zV5a|_nh2w=)~~@(|i6Gxu!Iua&)|5=AoMR zp-^|~#KCcNuwLu13PrHGpe?x2Tbw|J5@BsY zJHjJ+uVYjwQFcSnj`FC!!ZC+h%h-k;V*^1u#$);_Ho_fhm_;jOxQ+TcHleCU(XtKE zs86vSs_GOu;gkc{xXzh4Adc~XkA~R9O?-lW&GL~ev>Y)mi0wI^7{QL(I2w)^0~P&J zjB(l70K3@!d&+-8<9&Y7i&o9uu^!bEJ->lIb(#u|%R zdK_ywt4OEl<|G^l8!_cA+L6)5ro@Db>i%DyZm|FSRiheZ#3pdt1Tg6k~37BP~#KPN{ky2R6WaBphl6gAU27kh-UW3 z&|~FaogQTgMGnc@rc60ltjIbnay{7$%lon@g`QCldq-UGu#eb`V^Q_)W}7jJ_^ODj zd0;DMLJf*rWnweF>})f$vbrb#s43eu1&-1PR|Z7fs5J4-;{ey`A?6xZ5nOyNOh+2N zf|)=uNXr^l($H9?(-<^W%S3Di43brat$ z|0YC*BaoBkX?=%j*RcI_IT7U4@EZMyX=m8&J||MqQJf6V=y#cRmfcV1vXr?j&*~Sc zY3JCZj3(%EwrR@~Q$mypDD{YS`R3{wy_ zjgmeqi7dvM{)fm4us@m0N+B!21G2Bx=}-B>iehj>e;0*K_BR#b3QO5BxvBp>vV!cN zDy*oyuQgq+xECq~ZHrs_f1m(o=Wr^b4;A;^l4Wzw^#{SUZFafBs<h==V(ixyR?=swwqm<6QvNIQJoeFCp7PP- zp8lW6in9w^Wq^G(#ftN|{wPj&$|(+5f<2{iH3?HVQ3GLRH^CFoBY)FYPkW_k@8yee zAw;nIonlf>v?t1T5!X2t`*1m@J-9(FlZZq8psoj)r6PiftKAQ~#0|Kn2Yp{C6!f59 z35n}j+JsF7T+4$Jij+T3hI_C?nTcP|4DJA>5QdR}8}(Fg#Rx1_!np;(sH*F-=-kfu znzq+FtGetFRR@%6nA4Ku)8iPu zXN!rd$evBmS%zQI%RfUprN$4_CCW zs~o8ctx-Z})oaX_Ts`9Z6)mYPBjBn8NEOQX)|EsKB^rEAY*r#PE8)g`fm#&k^98(F z0jDb9`2zWp(6{;m@lvHN*DH|<0R^zl#4J5rr6)W~e$?e15miFcw^Tq&_xc*CS&aw^ z__ICbu`@XPU}SdNC`H9uSWAJ7s=liIjldXY593LP;Kq%)fhM+NR8_zG2MaDky#_*L0)0k{JKca(4 zB3|_IHTmL^_|lQ$vX&JsYl@TIW5v8@dFPkQN@;ps_AtLHK{GjsG~>;G~%qHXf(sT#5H z@YJfP^2%ec|342;`)Iqo{qanApYmm{+4iT0VtPmjRz-=o@(srI{6>o6Gw zvsD|_)@ozgTrxnoMVr#@(gw}oOVsr4#LV3!+qCE8x-hyMy_&f7ta8vLB~}U zs2&0C1E#7e+%t(dCEq+-$ln72MXL2lw+?mUFU2IUNl(uTeR4Kaz84G>>UVKPW6oz# zah_u0gcU~%iaRh52eBQ@xgsz}#GDn`>8I&|fbSii3B(z&RNID60C79+tvmc2J788w z7;~{Mw%+Y0*RHKjMV2lWWB#Q)(eNCgi@PDDtbAtnte;p1RIWkrv~VYG-gYG|F!b5u zhe5=7`EOrMdFRzR3lB3w0N%8aRjm#Yx5!+1n%*KGEDx5IPun26(9Qi2TS(dq-a^to zh%Y1^g#?l|SCW1ZCv45aG({Z5(-Y>K=rDHZHb_?0$^?f=`LG*O*V8*ZUoTzNtE$}u zHFHTP(9#je%q1z~H$zq#7yj$j&?(*0)liEAWv+Ls!A8Fr`ju0fm3N~lw@_pk)GFPD z9h#o+SbkxXd!X)mYKP{l)&GxyzYz-Z>;so*gVfLMEPTbEqh(t-iIRgUWs*k|c;Zm| zcNq5}oaD#l1Lrc%fZ8Y{xP=5bo}uLn=Q4DQeCOOPXr}l4Vmc_N&zH&rl=b03m1~$l zs)+@7@kIjarPz4Ns+PksC|1j{7&NOgt`2Ca5(AYJmRfWE0qFq>ZOGeKV-eA7(~_`t zhn6CFJ;AIHUDIu=R2%0hh;y>;LbR=28LBGZPobk~n24`JXSKq`5Om4C7n=IJtE32? z@E3hnnSvfwsjL(#?tg>$4 zE$LX&o(q}*ybv@od8DSMX=cbY4Kqk^*CI0f&_`gk;>sNWO;s`W zscNTK4*I#9xLk)IFrTmn3`M{gtSoTo6oX(cpbSG$Q7kS~GE`nv((qJ9=ICIE zUWz9t6u~%KF~c>C)5|b=2qkVS9#^+o7>`31lyue5q7no3lIJ$Q3LGUn+aYv#30{KC zBb3)dSW&7&uo}dCfk}wWCv1f1e8L38<`cGqH=nQ>;`0e(keDTuD;*S5ken~F4pQ?8 zTOmE4upVj@;nT6kaoYr$g``o)&R5$8xjBR>9Fz@EJBNaVEs&p27>7DFveiKmycjr zqj*Er!a8u37!(i0en3=Bg^2;BAT(F4G>BgR=4rOw{+VAr^_~SEN90ewmsEPFf7WoHPhcJyWH4Ef_U2RI!fN4<;(ZEk1l{A9}Z?R-(RfB+n>9*+v&8R#)1M~##_+H@>)`h;hM0Z z+kzz)bXl<2f<6l{v0SRfwVc+bwfpJihz5Z75)t%B1AQ5bYAbn&vK0sz+X>Mhl2bpZ zD|>kH8Q@->?y(d%r~yU1F;5R#N<{tHSw|bfOX5$HOWUy=ix>189nEr9@mQ4DaXV&5 z?35j~lQ!N$*&#b@Cv4ZY@wz9>gLt2w!rfM&6&G*SBY4Li$4h6+GDN7~&Nx{oBf@!o zl1(WGXfc%KnPH1NbMBcPRv)6=L=HnO8p_J9=Nr8m|LQx-(+-3KF$BC?u9-Rdd?WpD DiiVCO delta 7811 zcmc&(X>c6Jb?$yMvokwAyEC)*g~j4rEJ!W@URa(0N$>!8-$VnvY*%Z{SNk&==VrCgRODaR?>QlhAmN;ws|QYp*jSW4x+87zr~ zXh-=K0P~^yUH!Uy`gOmaSKon0eh4rBxx4eH3!lpUn+Pz*EY6ysX@zp|`>Oh?)}g(p zJ*Miv489OEzLwt;INSJLZhp7$IJbV>^l3KqqXqMAxzJ({a)?6$nqdm8g5z)k?&It* zdzkYWPs)bKYB8U2#^!>;SVo?V%&s2*y1%i7y z;aLw)QSlzHc)KTd-Yefh zL55s|kA)L&@v)yJyFhjywdC^5ujZtWjNX1?_vo>s`wr|ree||NqqpteJ2G(BlgctKY4X?Z$-snU4z*vQ@!qr3O*Ju-68D@`)@8~F0$ ze6M_^F)G)cyfU{iF7(-^$DOLR@)-g7QRB-k;rb?{p$$Uj+Q z%G;afR})jU9VW~%L2?ten=spO@`lrC1h*N%Uc*^yIGYUT3J&3N97_|HdAP*GArBWJ z8qR=+OFbO)umxug%vlC5BxSXsw=0JYE3K?h`jtKfc>vl5Lw~5swL@By5>*t?sZP}c z%1LFjGORER672(mSz*Dgv;eC?C{|vmR-@3Yf(TemLbsZQVYP^$Wed}Cgs@y;S&<5} zqWHw{iQ|)~a4U&V3ZD!c%cn%Nrl1uO5w#T7 zd`eWC611WsT2*I+13oFH%?esE5mOh0b)OQ~`hr$m#MR|t!>1&)!Jw5833ZjW4o6uJ z7R|8kw5gl5?Nl|2W=M~;sk^jcs@g@t1Q#F_p$g5t$vr9p9_sF9Vc-*V2Z?BUMB$-D zXxi=?ms!bh(jCG<2;o@S?rNZ@t!aYUXw}^c%Eamx`F2a6E{dj7b~j49HQBS*3Yg4c z?hdutL=|^8*0h+ZCa|W(O;&cN3+4nIJw_gq*4Ebc4I63e@qU_AT?+|@{&U?bhIs`n z#Z<1cTh+Lh9cN>+o>Nzu0^Gfp>NhLjX-!8*EG5j{eU|16n&1x0U$+*jH5ZVuNoc6H zkp?TGR5YPOkUE$%freDmg4h@iDVo_I!>*9yO=?t25;8qT zL|BVVHqlKsa$3Q+fx(Mxc&2b06=W)Ga+=`r<_-DRZ8--Gdc<*qhWxm#t!o>EN#5~0 z=6oEorkbJA3#;iQZWwFh~XDgh@0Z8c87$wE6-6y)RpgSfB3W6)76 zGj}_bCRRGf72Fa`snHu^FqQn#@C9UcLmZ~nILy5P%6?@YxpE_P)mRXN?pj%mK@XMj zeRJr2+Xd5WELI7?4EdkMqg5wna_oQ;Yr+7LRtF6$qiysiC*pG=$jOL|y3Me%+VDh9 z6ggRuRc|t^oOY|niTXOk$%&kL%CH)=vwR|p%r%Gx^&&T{y!LR_XZmWfijL7KuVS#Y z6zwse75Ds$BTEsA`XsVc?RlS-@>r<~l7y&VT8ia-cdbg$3W}im?27e!WBgw>~zWos|^EZ-Ai*}_&|LYAX_ zdm@VrQqX)IS+4dM;F|euAuoc0ut6%b#8O^UjQo(FA)%7LpIU5&Me|lH^7VT(Fdys@Kqhn<^U$Iqej9#V+ zZA1YZ&tJaFF>l9jM1fY15g!)_)db?6Kmi42o2(mE6XO!$nnc2rXhMkK&dyW?Udr6UcZ1Z7A@N?{;=vB8n2;ddtSO zM{q~uFf_g!Rif@nSjmB{YN3IkeUrgzJi!d5!VJ#{cnne8ofxg@|EOHu)yCJz<6X@i z7G}aK13cxrEW)BJ#zHKN#~6nL=d8%e>?nJLvoDUl*7er(>c1|Yke8RCd{}vm-ycw) z(dTLJ>(A)=Ir|^;#s|~(1l}wkGGFZa4!1t+e#{Mhx~S8BezD5>AO{UlfT^$m*1`rj z4PSsNyvpI*oE>Aw+4G$J9%nCdzK(wf(>Il|Fg_YS0emb)emXqDpOeG;wpPE&BY4jG ziieMT_;nAT@bF#_zvkin9zNya10Fu(;X@ui&7)}NK@XqxC=Yx1q=)x;n2Fh#vd1xb zFC{Tg--IBijyRD&;AyO;k{QNc;%Usp|4^9fDZx1~6PKjvHTNCL0R$46dGuMaT$ zJSV*1;YANG@lEpBXp*m&_l>qBHzD`S9{qPce2mcfBl+^^k?2djKg-;gd4Gzz-}LY` z*|R?}cSUhQsjsxWxS@Mxaj3Yudu{jn?seU(it|fzO7lwnH_k1s7=D0vuN)pMuIV1Y z%pr9jPc1AhJy4P7_P48!ZYZ^ccI>VF>o{CXaL0NM{K~wRU&_>pzu_hM%0pSZKFRAK z+S0mAua+eK|D~cC`HPclpc5^P;VIY@u8O zFC5&vLB%B>sAWV|(5RZm;{kK;kT2cYQn(8OL~8U%#}<|GKX=qvyGo}O68eujbJZ_^ zjzYaQh9qoX=kC26Pm5RyD?#@Z<|BXyZeyYdOb{`~MRt1WN+95Qhe?xr7SnHPT=yv8 zp2XwF4lk()7(NNN3#@N-@5IcCG25cfo2ok-Po3n7f(em|%n(_*X7?QTGK~P{aSp@0 z=`h$`9^J$M2=|6Z1XS1-vC=i#x;2JtFP95AY-M_PhJ5Hi0*T3_TOf&~4Sp5`?g>g6v5EbdVB#?w9mXEr2C14_mEk~<4>v&i zdU^-y^)fZRn%XYNP9&W`O9vr0kwnIKL&HQ8NgaYbk*X6XXD>7&ZG-E*2MYSGnkr3+ zd$Ul>G$-i2hTa!Q)1N|xoJWa0&_t?}yM4Ic{bo{}*y8XUpiS#DdNLuPT->GglD0yP;c`m!oX8Ccs@@#I(BHBG8xa9?e?ryYj8+I%@-DAGS95;rSED1rk z0}*$#ymIztH1z4&nS8OFey%dIh-Gr7dcEr-rlUq+*$Gm=W_j*aG8Zvd_R>+l+sL&ZIwyArgDKpSIr!A z@8Qs0s|j}r^vKdZ?Y+}$BzxK`N$GpT~6yxWp9FssI6?opU6FWs}0FO%QDXK3Ej zO%rzZ0u**AXMU=vf2U$*qkf|3|6+W}HvTKQC-CFckoj!duwG1$>7jopsP=~ix&C}2 zcq40NeQXEYDUY51=9YDMZO_&atR>h+u%2K!!A62Xf=vWN1X~DJ5o``2tR&b<)zt(W z2v*1=7mEA_`8yZBQO2ZPtRNU97$R7SnYma+rPTy$2-Xs;>ybw~A)v^iaK%K4xXz)M`b&gI-t6vYS`hHeCzBj31~mVdTCAm6+A z9_^hL?VV%qUfQkUHiNsM+^$AxMrBs(uIEEs&}gSq15O!dA%C6IMgEp0FKq z^@O$1K!mGvfg`&O@^z#t($+v@z1|Ke)DzZ0Q$1lbG}jYW0)A+@HjHzjm8uvC-F9~- zwBddl!z*#OXbIEAxzd#;)x@+?$URr`nc2{e0-kh78H!ZKLxtM`9rDXpnsG6|ex*Er z1qMfs7lb8k8g1Vk-!3n#($qOjhe{ASYgXFbS>E;DxC3*>+T;&SxEz(Ad^J7yFF}7o z{b$2CAKDZ6FqAjXg?Cs#34f%7-i|n|fcJU{Xn`K+gC(quwX=RUz?Sprd?6o{YoAy$ zlA^DIE+9AxXM7b8;`u$_SisL$Q}Oh#EW+cPvbc$}Ku!xVJ>_y{r15)Ua9#svrj5g7 zc3UPh=jAcBG-Y#46hmQVWz!kXtWqkB-=aF?$4@L$lO`U!7d+YCNFR!Lz%aRjsN<(G zjQ-xYBJ1k6rm;t#{2m`W^wdnHY0}pf_u85J@WFk%@xzdO^4W{K>}e)sOlZchC?>RO zjY?9fn9yrNmkBFPD4Q_DgjpsGVbfsDQQ}I2(y2^Qmf@LqsRDpoMg;v+K%J{al?5Wi zwfP9RaWJMnAgf<*s>bm8IUsPx;#ykhT!$il-$?hHBtkz{F03pPmU;EGYlX~^X||}l z!ipJMEMie+HCS;gYPnY4idac2Wd$wEvaN&_#v497*5Wsh2!0hw;t^Ni#eV`f>nMH; zX%LnO&NFp4WM#v-aMpDS>IQ8KIl+seoX8HCA{4+G^nManNNWypVIW6CB_7JjEzh;Z YGu{z9C(>bX0x<-<{m+a&`dl0T9}, + authority_public_key: vector, proof_of_possession: vector, network_public_key: vector, - worker_public_key: vector, + protocol_public_key: vector, network_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, } public struct GenesisChainParameters has drop, copy { @@ -114,21 +113,20 @@ module iota_system::genesis { iota_address, gas_price, commission_rate, - protocol_public_key, + authority_public_key, proof_of_possession, network_public_key, - worker_public_key, + protocol_public_key, network_address, p2p_address, primary_address, - worker_address, } = genesis_validators[i]; let validator = validator::new( iota_address, - protocol_public_key, + authority_public_key, network_public_key, - worker_public_key, + protocol_public_key, proof_of_possession, name, description, @@ -137,7 +135,6 @@ module iota_system::genesis { network_address, p2p_address, primary_address, - worker_address, gas_price, commission_rate, ctx diff --git a/crates/iota-framework/packages/iota-system/sources/iota_system.move b/crates/iota-framework/packages/iota-system/sources/iota_system.move index be1cfe715ce..53765bdecfd 100644 --- a/crates/iota-framework/packages/iota-system/sources/iota_system.move +++ b/crates/iota-framework/packages/iota-system/sources/iota_system.move @@ -108,13 +108,13 @@ module iota_system::iota_system { /// stakes in their staking pool. Once they have at least `MIN_VALIDATOR_JOINING_STAKE` amount of stake they /// can call `request_add_validator` to officially become an active validator at the next epoch. /// Aborts if the caller is already a pending or active validator, or a validator candidate. - /// Note: `proof_of_possession` MUST be a valid signature using iota_address and protocol_pubkey_bytes. + /// Note: `proof_of_possession` MUST be a valid signature using iota_address and authority_pubkey_bytes. /// To produce a valid PoP, run [fn test_proof_of_possession]. public entry fun request_add_validator_candidate( wrapper: &mut IotaSystemState, - pubkey_bytes: vector, + authority_pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, proof_of_possession: vector, name: vector, description: vector, @@ -123,16 +123,15 @@ module iota_system::iota_system { net_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, gas_price: u64, commission_rate: u64, ctx: &mut TxContext, ) { let self = load_system_state_mut(wrapper); self.request_add_validator_candidate( - pubkey_bytes, + authority_pubkey_bytes, network_pubkey_bytes, - worker_pubkey_bytes, + protocol_pubkey_bytes, proof_of_possession, name, description, @@ -141,7 +140,6 @@ module iota_system::iota_system { net_address, p2p_address, primary_address, - worker_address, gas_price, commission_rate, ctx, @@ -403,7 +401,7 @@ module iota_system::iota_system { self.update_candidate_validator_p2p_address(p2p_address, ctx) } - /// Update a validator's narwhal primary address. + /// Update a validator's primary address. /// The change will only take effects starting from the next epoch. public entry fun update_validator_next_epoch_primary_address( self: &mut IotaSystemState, @@ -414,7 +412,7 @@ module iota_system::iota_system { self.update_validator_next_epoch_primary_address(primary_address, ctx) } - /// Update candidate validator's narwhal primary address. + /// Update candidate validator's primary address. public entry fun update_candidate_validator_primary_address( self: &mut IotaSystemState, primary_address: vector, @@ -424,69 +422,48 @@ module iota_system::iota_system { self.update_candidate_validator_primary_address(primary_address, ctx) } - /// Update a validator's narwhal worker address. + /// Update a validator's public key of authority key and proof of possession. /// The change will only take effects starting from the next epoch. - public entry fun update_validator_next_epoch_worker_address( + public entry fun update_validator_next_epoch_authority_pubkey( self: &mut IotaSystemState, - worker_address: vector, + authority_pubkey: vector, + proof_of_possession: vector, ctx: &TxContext, ) { let self = load_system_state_mut(self); - self.update_validator_next_epoch_worker_address(worker_address, ctx) + self.update_validator_next_epoch_authority_pubkey(authority_pubkey, proof_of_possession, ctx) } - /// Update candidate validator's narwhal worker address. - public entry fun update_candidate_validator_worker_address( + /// Update candidate validator's public key of authority key and proof of possession. + public entry fun update_candidate_validator_authority_pubkey( self: &mut IotaSystemState, - worker_address: vector, + authority_pubkey: vector, + proof_of_possession: vector, ctx: &TxContext, ) { let self = load_system_state_mut(self); - self.update_candidate_validator_worker_address(worker_address, ctx) + self.update_candidate_validator_authority_pubkey(authority_pubkey, proof_of_possession, ctx) } - /// Update a validator's public key of protocol key and proof of possession. + /// Update a validator's public key of protocol key. /// The change will only take effects starting from the next epoch. public entry fun update_validator_next_epoch_protocol_pubkey( self: &mut IotaSystemState, protocol_pubkey: vector, - proof_of_possession: vector, ctx: &TxContext, ) { let self = load_system_state_mut(self); - self.update_validator_next_epoch_protocol_pubkey(protocol_pubkey, proof_of_possession, ctx) + self.update_validator_next_epoch_protocol_pubkey(protocol_pubkey, ctx) } - /// Update candidate validator's public key of protocol key and proof of possession. + /// Update candidate validator's public key of protocol key. public entry fun update_candidate_validator_protocol_pubkey( self: &mut IotaSystemState, protocol_pubkey: vector, - proof_of_possession: vector, - ctx: &TxContext, - ) { - let self = load_system_state_mut(self); - self.update_candidate_validator_protocol_pubkey(protocol_pubkey, proof_of_possession, ctx) - } - - /// Update a validator's public key of worker key. - /// The change will only take effects starting from the next epoch. - public entry fun update_validator_next_epoch_worker_pubkey( - self: &mut IotaSystemState, - worker_pubkey: vector, - ctx: &TxContext, - ) { - let self = load_system_state_mut(self); - self.update_validator_next_epoch_worker_pubkey(worker_pubkey, ctx) - } - - /// Update candidate validator's public key of worker key. - public entry fun update_candidate_validator_worker_pubkey( - self: &mut IotaSystemState, - worker_pubkey: vector, ctx: &TxContext, ) { let self = load_system_state_mut(self); - self.update_candidate_validator_worker_pubkey(worker_pubkey, ctx) + self.update_candidate_validator_protocol_pubkey(protocol_pubkey, ctx) } /// Update a validator's public key of network key. @@ -721,9 +698,9 @@ module iota_system::iota_system { #[test_only] public entry fun request_add_validator_candidate_for_testing( wrapper: &mut IotaSystemState, - pubkey_bytes: vector, + authority_pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, proof_of_possession: vector, name: vector, description: vector, @@ -732,16 +709,15 @@ module iota_system::iota_system { net_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, gas_price: u64, commission_rate: u64, ctx: &mut TxContext, ) { let self = load_system_state_mut(wrapper); self.request_add_validator_candidate_for_testing( - pubkey_bytes, + authority_pubkey_bytes, network_pubkey_bytes, - worker_pubkey_bytes, + protocol_pubkey_bytes, proof_of_possession, name, description, @@ -750,7 +726,6 @@ module iota_system::iota_system { net_address, p2p_address, primary_address, - worker_address, gas_price, commission_rate, ctx diff --git a/crates/iota-framework/packages/iota-system/sources/iota_system_state_inner.move b/crates/iota-framework/packages/iota-system/sources/iota_system_state_inner.move index 62a4e8b60ea..18080109b30 100644 --- a/crates/iota-framework/packages/iota-system/sources/iota_system_state_inner.move +++ b/crates/iota-framework/packages/iota-system/sources/iota_system_state_inner.move @@ -334,13 +334,13 @@ module iota_system::iota_system_state_inner { /// stakes in their staking pool. Once they have at least `MIN_VALIDATOR_JOINING_STAKE` amount of stake they /// can call `request_add_validator` to officially become an active validator at the next epoch. /// Aborts if the caller is already a pending or active validator, or a validator candidate. - /// Note: `proof_of_possession` MUST be a valid signature using iota_address and protocol_pubkey_bytes. + /// Note: `proof_of_possession` MUST be a valid signature using iota_address and authority_pubkey_bytes. /// To produce a valid PoP, run [fn test_proof_of_possession]. public(package) fun request_add_validator_candidate( self: &mut IotaSystemStateInnerV2, - pubkey_bytes: vector, + authority_pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, proof_of_possession: vector, name: vector, description: vector, @@ -349,16 +349,15 @@ module iota_system::iota_system_state_inner { net_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, gas_price: u64, commission_rate: u64, ctx: &mut TxContext, ) { let validator = validator::new( ctx.sender(), - pubkey_bytes, + authority_pubkey_bytes, network_pubkey_bytes, - worker_pubkey_bytes, + protocol_pubkey_bytes, proof_of_possession, name, description, @@ -367,7 +366,6 @@ module iota_system::iota_system_state_inner { net_address, p2p_address, primary_address, - worker_address, gas_price, commission_rate, ctx @@ -672,7 +670,7 @@ module iota_system::iota_system_state_inner { candidate.update_candidate_p2p_address(p2p_address); } - /// Update a validator's narwhal primary address. + /// Update a validator's primary address. /// The change will only take effects starting from the next epoch. public(package) fun update_validator_next_epoch_primary_address( self: &mut IotaSystemStateInnerV2, @@ -683,7 +681,7 @@ module iota_system::iota_system_state_inner { validator.update_next_epoch_primary_address(primary_address); } - /// Update candidate validator's narwhal primary address. + /// Update candidate validator's primary address. public(package) fun update_candidate_validator_primary_address( self: &mut IotaSystemStateInnerV2, primary_address: vector, @@ -693,73 +691,52 @@ module iota_system::iota_system_state_inner { candidate.update_candidate_primary_address(primary_address); } - /// Update a validator's narwhal worker address. + /// Update a validator's public key of authority key and proof of possession. /// The change will only take effects starting from the next epoch. - public(package) fun update_validator_next_epoch_worker_address( - self: &mut IotaSystemStateInnerV2, - worker_address: vector, - ctx: &TxContext, - ) { - let validator = self.validators.get_validator_mut_with_ctx(ctx); - validator.update_next_epoch_worker_address(worker_address); - } - - /// Update candidate validator's narwhal worker address. - public(package) fun update_candidate_validator_worker_address( + public(package) fun update_validator_next_epoch_authority_pubkey( self: &mut IotaSystemStateInnerV2, - worker_address: vector, - ctx: &TxContext, - ) { - let candidate = self.validators.get_validator_mut_with_ctx_including_candidates(ctx); - candidate.update_candidate_worker_address(worker_address); - } - - /// Update a validator's public key of protocol key and proof of possession. - /// The change will only take effects starting from the next epoch. - public(package) fun update_validator_next_epoch_protocol_pubkey( - self: &mut IotaSystemStateInnerV2, - protocol_pubkey: vector, + authority_pubkey: vector, proof_of_possession: vector, ctx: &TxContext, ) { let validator = self.validators.get_validator_mut_with_ctx(ctx); - validator.update_next_epoch_protocol_pubkey(protocol_pubkey, proof_of_possession); + validator.update_next_epoch_authority_pubkey(authority_pubkey, proof_of_possession); let validator :&Validator = validator; // Force immutability for the following call self.validators.assert_no_pending_or_active_duplicates(validator); } - /// Update candidate validator's public key of protocol key and proof of possession. - public(package) fun update_candidate_validator_protocol_pubkey( + /// Update candidate validator's public key of authority key and proof of possession. + public(package) fun update_candidate_validator_authority_pubkey( self: &mut IotaSystemStateInnerV2, - protocol_pubkey: vector, + authority_pubkey: vector, proof_of_possession: vector, ctx: &TxContext, ) { let candidate = self.validators.get_validator_mut_with_ctx_including_candidates(ctx); - candidate.update_candidate_protocol_pubkey(protocol_pubkey, proof_of_possession); + candidate.update_candidate_authority_pubkey(authority_pubkey, proof_of_possession); } - /// Update a validator's public key of worker key. + /// Update a validator's public key of protocol key. /// The change will only take effects starting from the next epoch. - public(package) fun update_validator_next_epoch_worker_pubkey( + public(package) fun update_validator_next_epoch_protocol_pubkey( self: &mut IotaSystemStateInnerV2, - worker_pubkey: vector, + protocol_pubkey: vector, ctx: &TxContext, ) { let validator = self.validators.get_validator_mut_with_ctx(ctx); - validator.update_next_epoch_worker_pubkey(worker_pubkey); + validator.update_next_epoch_protocol_pubkey(protocol_pubkey); let validator :&Validator = validator; // Force immutability for the following call self.validators.assert_no_pending_or_active_duplicates(validator); } - /// Update candidate validator's public key of worker key. - public(package) fun update_candidate_validator_worker_pubkey( + /// Update candidate validator's public key of protocol key. + public(package) fun update_candidate_validator_protocol_pubkey( self: &mut IotaSystemStateInnerV2, - worker_pubkey: vector, + protocol_pubkey: vector, ctx: &TxContext, ) { let candidate = self.validators.get_validator_mut_with_ctx_including_candidates(ctx); - candidate.update_candidate_worker_pubkey(worker_pubkey); + candidate.update_candidate_protocol_pubkey(protocol_pubkey); } /// Update a validator's public key of network key. @@ -1090,7 +1067,7 @@ module iota_system::iota_system_state_inner { self: &mut IotaSystemStateInnerV2, pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, proof_of_possession: vector, name: vector, description: vector, @@ -1099,7 +1076,6 @@ module iota_system::iota_system_state_inner { net_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, gas_price: u64, commission_rate: u64, ctx: &mut TxContext, @@ -1108,7 +1084,7 @@ module iota_system::iota_system_state_inner { ctx.sender(), pubkey_bytes, network_pubkey_bytes, - worker_pubkey_bytes, + protocol_pubkey_bytes, proof_of_possession, name, description, @@ -1117,7 +1093,6 @@ module iota_system::iota_system_state_inner { net_address, p2p_address, primary_address, - worker_address, option::none(), gas_price, commission_rate, diff --git a/crates/iota-framework/packages/iota-system/sources/validator.move b/crates/iota-framework/packages/iota-system/sources/validator.move index f2c20c5800f..d89ea35b59f 100644 --- a/crates/iota-framework/packages/iota-system/sources/validator.move +++ b/crates/iota-framework/packages/iota-system/sources/validator.move @@ -20,14 +20,14 @@ module iota_system::validator { /// Invalid proof_of_possession field in ValidatorMetadata const EInvalidProofOfPossession: u64 = 0; - /// Invalid pubkey_bytes field in ValidatorMetadata - const EMetadataInvalidPubkey: u64 = 1; + /// Invalid authority_pubkey_bytes field in ValidatorMetadata + const EMetadataInvalidAuthorityPubkey: u64 = 1; /// Invalid network_pubkey_bytes field in ValidatorMetadata const EMetadataInvalidNetPubkey: u64 = 2; - /// Invalid worker_pubkey_bytes field in ValidatorMetadata - const EMetadataInvalidWorkerPubkey: u64 = 3; + /// Invalid protocol_pubkey_bytes field in ValidatorMetadata + const EMetadataInvalidProtocolPubkey: u64 = 3; /// Invalid net_address field in ValidatorMetadata const EMetadataInvalidNetAddr: u64 = 4; @@ -38,23 +38,20 @@ module iota_system::validator { /// Invalid primary_address field in ValidatorMetadata const EMetadataInvalidPrimaryAddr: u64 = 6; - /// Invalidworker_address field in ValidatorMetadata - const EMetadataInvalidWorkerAddr: u64 = 7; - /// Commission rate set by the validator is higher than the threshold - const ECommissionRateTooHigh: u64 = 8; + const ECommissionRateTooHigh: u64 = 7; /// Validator Metadata is too long - const EValidatorMetadataExceedingLengthLimit: u64 = 9; + const EValidatorMetadataExceedingLengthLimit: u64 = 8; /// Intended validator is not a candidate one. - const ENotValidatorCandidate: u64 = 10; + const ENotValidatorCandidate: u64 = 9; /// Stake amount is invalid or wrong. - const EInvalidStakeAmount: u64 = 11; + const EInvalidStakeAmount: u64 = 10; /// Function called during non-genesis times. - const ECalledDuringNonGenesis: u64 = 12; + const ECalledDuringNonGenesis: u64 = 11; /// New Capability is not created by the validator itself const ENewCapNotCreatedByValidatorItself: u64 = 100; @@ -80,13 +77,14 @@ module iota_system::validator { iota_address: address, /// The public key bytes corresponding to the private key that the validator /// holds to sign transactions. For now, this is the same as AuthorityName. - protocol_pubkey_bytes: vector, + authority_pubkey_bytes: vector, /// The public key bytes corresponding to the private key that the validator - /// uses to establish TLS connections + /// uses to establish TLS connections. network_pubkey_bytes: vector, - /// The public key bytes correstponding to the Narwhal Worker - worker_pubkey_bytes: vector, - /// This is a proof that the validator has ownership of the private key + /// The public key bytes corresponding to the private key that the validator + /// holds to sign consensus blocks. + protocol_pubkey_bytes: vector, + /// This is a proof that the validator has ownership of the private key. proof_of_possession: vector, /// A unique human-readable name of this validator. name: String, @@ -97,21 +95,18 @@ module iota_system::validator { net_address: String, /// The address of the validator used for p2p activities such as state sync (could also contain extra info such as port, DNS and etc.). p2p_address: String, - /// The address of the narwhal primary + /// The primary address of the consensus primary_address: String, - /// The address of the narwhal worker - worker_address: String, /// "next_epoch" metadata only takes effects in the next epoch. /// If none, current value will stay unchanged. - next_epoch_protocol_pubkey_bytes: Option>, + next_epoch_authority_pubkey_bytes: Option>, next_epoch_proof_of_possession: Option>, next_epoch_network_pubkey_bytes: Option>, - next_epoch_worker_pubkey_bytes: Option>, + next_epoch_protocol_pubkey_bytes: Option>, next_epoch_net_address: Option, next_epoch_p2p_address: Option, next_epoch_primary_address: Option, - next_epoch_worker_address: Option, /// Any extra fields that's not defined statically. extra_fields: Bag, @@ -163,9 +158,9 @@ module iota_system::validator { public(package) fun new_metadata( iota_address: address, - protocol_pubkey_bytes: vector, + authority_pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, proof_of_possession: vector, name: String, description: String, @@ -174,14 +169,13 @@ module iota_system::validator { net_address: String, p2p_address: String, primary_address: String, - worker_address: String, extra_fields: Bag, ): ValidatorMetadata { let metadata = ValidatorMetadata { iota_address, - protocol_pubkey_bytes, + authority_pubkey_bytes, network_pubkey_bytes, - worker_pubkey_bytes, + protocol_pubkey_bytes, proof_of_possession, name, description, @@ -190,15 +184,13 @@ module iota_system::validator { net_address, p2p_address, primary_address, - worker_address, - next_epoch_protocol_pubkey_bytes: option::none(), + next_epoch_authority_pubkey_bytes: option::none(), next_epoch_network_pubkey_bytes: option::none(), - next_epoch_worker_pubkey_bytes: option::none(), + next_epoch_protocol_pubkey_bytes: option::none(), next_epoch_proof_of_possession: option::none(), next_epoch_net_address: option::none(), next_epoch_p2p_address: option::none(), next_epoch_primary_address: option::none(), - next_epoch_worker_address: option::none(), extra_fields, }; metadata @@ -206,9 +198,9 @@ module iota_system::validator { public(package) fun new( iota_address: address, - protocol_pubkey_bytes: vector, + authority_pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, proof_of_possession: vector, name: vector, description: vector, @@ -217,7 +209,6 @@ module iota_system::validator { net_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, gas_price: u64, commission_rate: u64, ctx: &mut TxContext @@ -226,7 +217,6 @@ module iota_system::validator { net_address.length() <= MAX_VALIDATOR_METADATA_LENGTH && p2p_address.length() <= MAX_VALIDATOR_METADATA_LENGTH && primary_address.length() <= MAX_VALIDATOR_METADATA_LENGTH - && worker_address.length() <= MAX_VALIDATOR_METADATA_LENGTH && name.length() <= MAX_VALIDATOR_METADATA_LENGTH && description.length() <= MAX_VALIDATOR_METADATA_LENGTH && image_url.length() <= MAX_VALIDATOR_METADATA_LENGTH @@ -238,9 +228,9 @@ module iota_system::validator { let metadata = new_metadata( iota_address, - protocol_pubkey_bytes, + authority_pubkey_bytes, network_pubkey_bytes, - worker_pubkey_bytes, + protocol_pubkey_bytes, proof_of_possession, name.to_ascii_string().to_string(), description.to_ascii_string().to_string(), @@ -249,7 +239,6 @@ module iota_system::validator { net_address.to_ascii_string().to_string(), p2p_address.to_ascii_string().to_string(), primary_address.to_ascii_string().to_string(), - worker_address.to_ascii_string().to_string(), bag::new(ctx), ); @@ -465,12 +454,8 @@ module iota_system::validator { &self.metadata.primary_address } - public fun worker_address(self: &Validator): &String { - &self.metadata.worker_address - } - - public fun protocol_pubkey_bytes(self: &Validator): &vector { - &self.metadata.protocol_pubkey_bytes + public fun authority_pubkey_bytes(self: &Validator): &vector { + &self.metadata.authority_pubkey_bytes } public fun proof_of_possession(self: &Validator): &vector { @@ -481,8 +466,8 @@ module iota_system::validator { &self.metadata.network_pubkey_bytes } - public fun worker_pubkey_bytes(self: &Validator): &vector { - &self.metadata.worker_pubkey_bytes + public fun protocol_pubkey_bytes(self: &Validator): &vector { + &self.metadata.protocol_pubkey_bytes } public fun next_epoch_network_address(self: &Validator): &Option { @@ -497,12 +482,8 @@ module iota_system::validator { &self.metadata.next_epoch_primary_address } - public fun next_epoch_worker_address(self: &Validator): &Option { - &self.metadata.next_epoch_worker_address - } - - public fun next_epoch_protocol_pubkey_bytes(self: &Validator): &Option> { - &self.metadata.next_epoch_protocol_pubkey_bytes + public fun next_epoch_authority_pubkey_bytes(self: &Validator): &Option> { + &self.metadata.next_epoch_authority_pubkey_bytes } public fun next_epoch_proof_of_possession(self: &Validator): &Option> { @@ -513,8 +494,8 @@ module iota_system::validator { &self.metadata.next_epoch_network_pubkey_bytes } - public fun next_epoch_worker_pubkey_bytes(self: &Validator): &Option> { - &self.metadata.next_epoch_worker_pubkey_bytes + public fun next_epoch_protocol_pubkey_bytes(self: &Validator): &Option> { + &self.metadata.next_epoch_protocol_pubkey_bytes } public fun operation_cap_id(self: &Validator): &ID { @@ -580,35 +561,35 @@ module iota_system::validator { || self.metadata.name == other.metadata.name || self.metadata.net_address == other.metadata.net_address || self.metadata.p2p_address == other.metadata.p2p_address - || self.metadata.protocol_pubkey_bytes == other.metadata.protocol_pubkey_bytes + || self.metadata.authority_pubkey_bytes == other.metadata.authority_pubkey_bytes || self.metadata.network_pubkey_bytes == other.metadata.network_pubkey_bytes - || self.metadata.network_pubkey_bytes == other.metadata.worker_pubkey_bytes - || self.metadata.worker_pubkey_bytes == other.metadata.worker_pubkey_bytes - || self.metadata.worker_pubkey_bytes == other.metadata.network_pubkey_bytes + || self.metadata.network_pubkey_bytes == other.metadata.protocol_pubkey_bytes + || self.metadata.protocol_pubkey_bytes == other.metadata.protocol_pubkey_bytes + || self.metadata.protocol_pubkey_bytes == other.metadata.network_pubkey_bytes // All next epoch parameters. || is_equal_some(&self.metadata.next_epoch_net_address, &other.metadata.next_epoch_net_address) || is_equal_some(&self.metadata.next_epoch_p2p_address, &other.metadata.next_epoch_p2p_address) - || is_equal_some(&self.metadata.next_epoch_protocol_pubkey_bytes, &other.metadata.next_epoch_protocol_pubkey_bytes) + || is_equal_some(&self.metadata.next_epoch_authority_pubkey_bytes, &other.metadata.next_epoch_authority_pubkey_bytes) || is_equal_some(&self.metadata.next_epoch_network_pubkey_bytes, &other.metadata.next_epoch_network_pubkey_bytes) - || is_equal_some(&self.metadata.next_epoch_network_pubkey_bytes, &other.metadata.next_epoch_worker_pubkey_bytes) - || is_equal_some(&self.metadata.next_epoch_worker_pubkey_bytes, &other.metadata.next_epoch_worker_pubkey_bytes) - || is_equal_some(&self.metadata.next_epoch_worker_pubkey_bytes, &other.metadata.next_epoch_network_pubkey_bytes) + || is_equal_some(&self.metadata.next_epoch_network_pubkey_bytes, &other.metadata.next_epoch_protocol_pubkey_bytes) + || is_equal_some(&self.metadata.next_epoch_protocol_pubkey_bytes, &other.metadata.next_epoch_protocol_pubkey_bytes) + || is_equal_some(&self.metadata.next_epoch_protocol_pubkey_bytes, &other.metadata.next_epoch_network_pubkey_bytes) // My next epoch parameters with other current epoch parameters. || is_equal_some_and_value(&self.metadata.next_epoch_net_address, &other.metadata.net_address) || is_equal_some_and_value(&self.metadata.next_epoch_p2p_address, &other.metadata.p2p_address) - || is_equal_some_and_value(&self.metadata.next_epoch_protocol_pubkey_bytes, &other.metadata.protocol_pubkey_bytes) + || is_equal_some_and_value(&self.metadata.next_epoch_authority_pubkey_bytes, &other.metadata.authority_pubkey_bytes) || is_equal_some_and_value(&self.metadata.next_epoch_network_pubkey_bytes, &other.metadata.network_pubkey_bytes) - || is_equal_some_and_value(&self.metadata.next_epoch_network_pubkey_bytes, &other.metadata.worker_pubkey_bytes) - || is_equal_some_and_value(&self.metadata.next_epoch_worker_pubkey_bytes, &other.metadata.worker_pubkey_bytes) - || is_equal_some_and_value(&self.metadata.next_epoch_worker_pubkey_bytes, &other.metadata.network_pubkey_bytes) + || is_equal_some_and_value(&self.metadata.next_epoch_network_pubkey_bytes, &other.metadata.protocol_pubkey_bytes) + || is_equal_some_and_value(&self.metadata.next_epoch_protocol_pubkey_bytes, &other.metadata.protocol_pubkey_bytes) + || is_equal_some_and_value(&self.metadata.next_epoch_protocol_pubkey_bytes, &other.metadata.network_pubkey_bytes) // Other next epoch parameters with my current epoch parameters. || is_equal_some_and_value(&other.metadata.next_epoch_net_address, &self.metadata.net_address) || is_equal_some_and_value(&other.metadata.next_epoch_p2p_address, &self.metadata.p2p_address) - || is_equal_some_and_value(&other.metadata.next_epoch_protocol_pubkey_bytes, &self.metadata.protocol_pubkey_bytes) + || is_equal_some_and_value(&other.metadata.next_epoch_authority_pubkey_bytes, &self.metadata.authority_pubkey_bytes) || is_equal_some_and_value(&other.metadata.next_epoch_network_pubkey_bytes, &self.metadata.network_pubkey_bytes) - || is_equal_some_and_value(&other.metadata.next_epoch_network_pubkey_bytes, &self.metadata.worker_pubkey_bytes) - || is_equal_some_and_value(&other.metadata.next_epoch_worker_pubkey_bytes, &self.metadata.worker_pubkey_bytes) - || is_equal_some_and_value(&other.metadata.next_epoch_worker_pubkey_bytes, &self.metadata.network_pubkey_bytes) + || is_equal_some_and_value(&other.metadata.next_epoch_network_pubkey_bytes, &self.metadata.protocol_pubkey_bytes) + || is_equal_some_and_value(&other.metadata.next_epoch_protocol_pubkey_bytes, &self.metadata.protocol_pubkey_bytes) + || is_equal_some_and_value(&other.metadata.next_epoch_protocol_pubkey_bytes, &self.metadata.network_pubkey_bytes) } fun is_equal_some_and_value(a: &Option, b: &T): bool { @@ -743,40 +724,17 @@ module iota_system::validator { validate_metadata(&self.metadata); } - /// Update worker address of this validator, taking effects from next epoch - public(package) fun update_next_epoch_worker_address(self: &mut Validator, worker_address: vector) { - assert!( - worker_address.length() <= MAX_VALIDATOR_METADATA_LENGTH, - EValidatorMetadataExceedingLengthLimit - ); - let worker_address = worker_address.to_ascii_string().to_string(); - self.metadata.next_epoch_worker_address = option::some(worker_address); - validate_metadata(&self.metadata); - } - - /// Update worker address of this candidate validator - public(package) fun update_candidate_worker_address(self: &mut Validator, worker_address: vector) { - assert!(is_preactive(self), ENotValidatorCandidate); - assert!( - worker_address.length() <= MAX_VALIDATOR_METADATA_LENGTH, - EValidatorMetadataExceedingLengthLimit - ); - let worker_address = worker_address.to_ascii_string().to_string(); - self.metadata.worker_address = worker_address; - validate_metadata(&self.metadata); - } - - /// Update protocol public key of this validator, taking effects from next epoch - public(package) fun update_next_epoch_protocol_pubkey(self: &mut Validator, protocol_pubkey: vector, proof_of_possession: vector) { - self.metadata.next_epoch_protocol_pubkey_bytes = option::some(protocol_pubkey); + /// Update authority public key of this validator, taking effects from next epoch + public(package) fun update_next_epoch_authority_pubkey(self: &mut Validator, authority_pubkey: vector, proof_of_possession: vector) { + self.metadata.next_epoch_authority_pubkey_bytes = option::some(authority_pubkey); self.metadata.next_epoch_proof_of_possession = option::some(proof_of_possession); validate_metadata(&self.metadata); } - /// Update protocol public key of this candidate validator - public(package) fun update_candidate_protocol_pubkey(self: &mut Validator, protocol_pubkey: vector, proof_of_possession: vector) { + /// Update authority public key of this candidate validator + public(package) fun update_candidate_authority_pubkey(self: &mut Validator, authority_pubkey: vector, proof_of_possession: vector) { assert!(is_preactive(self), ENotValidatorCandidate); - self.metadata.protocol_pubkey_bytes = protocol_pubkey; + self.metadata.authority_pubkey_bytes = authority_pubkey; self.metadata.proof_of_possession = proof_of_possession; validate_metadata(&self.metadata); } @@ -794,16 +752,16 @@ module iota_system::validator { validate_metadata(&self.metadata); } - /// Update Narwhal worker public key of this validator, taking effects from next epoch - public(package) fun update_next_epoch_worker_pubkey(self: &mut Validator, worker_pubkey: vector) { - self.metadata.next_epoch_worker_pubkey_bytes = option::some(worker_pubkey); + /// Update protocol public key of this validator, taking effects from next epoch + public(package) fun update_next_epoch_protocol_pubkey(self: &mut Validator, protocol_pubkey: vector) { + self.metadata.next_epoch_protocol_pubkey_bytes = option::some(protocol_pubkey); validate_metadata(&self.metadata); } - /// Update Narwhal worker public key of this candidate validator - public(package) fun update_candidate_worker_pubkey(self: &mut Validator, worker_pubkey: vector) { + /// Update protocol public key of this candidate validator + public(package) fun update_candidate_protocol_pubkey(self: &mut Validator, protocol_pubkey: vector) { assert!(is_preactive(self), ENotValidatorCandidate); - self.metadata.worker_pubkey_bytes = worker_pubkey; + self.metadata.protocol_pubkey_bytes = protocol_pubkey; validate_metadata(&self.metadata); } @@ -826,14 +784,9 @@ module iota_system::validator { self.metadata.next_epoch_primary_address = option::none(); }; - if (next_epoch_worker_address(self).is_some()) { - self.metadata.worker_address = self.metadata.next_epoch_worker_address.extract(); - self.metadata.next_epoch_worker_address = option::none(); - }; - - if (next_epoch_protocol_pubkey_bytes(self).is_some()) { - self.metadata.protocol_pubkey_bytes = self.metadata.next_epoch_protocol_pubkey_bytes.extract(); - self.metadata.next_epoch_protocol_pubkey_bytes = option::none(); + if (next_epoch_authority_pubkey_bytes(self).is_some()) { + self.metadata.authority_pubkey_bytes = self.metadata.next_epoch_authority_pubkey_bytes.extract(); + self.metadata.next_epoch_authority_pubkey_bytes = option::none(); self.metadata.proof_of_possession = self.metadata.next_epoch_proof_of_possession.extract(); self.metadata.next_epoch_proof_of_possession = option::none(); }; @@ -843,9 +796,9 @@ module iota_system::validator { self.metadata.next_epoch_network_pubkey_bytes = option::none(); }; - if (next_epoch_worker_pubkey_bytes(self).is_some()) { - self.metadata.worker_pubkey_bytes = self.metadata.next_epoch_worker_pubkey_bytes.extract(); - self.metadata.next_epoch_worker_pubkey_bytes = option::none(); + if (next_epoch_protocol_pubkey_bytes(self).is_some()) { + self.metadata.protocol_pubkey_bytes = self.metadata.next_epoch_protocol_pubkey_bytes.extract(); + self.metadata.next_epoch_protocol_pubkey_bytes = option::none(); }; } @@ -894,13 +847,13 @@ module iota_system::validator { // Creates a validator - bypassing the proof of possession check and other metadata // validation in the process. // Note: `proof_of_possession` MUST be a valid signature using iota_address and - // protocol_pubkey_bytes. To produce a valid PoP, run [fn test_proof_of_possession]. + // authority_pubkey_bytes. To produce a valid PoP, run [fn test_proof_of_possession]. #[test_only] public(package) fun new_for_testing( iota_address: address, - protocol_pubkey_bytes: vector, + authority_pubkey_bytes: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, proof_of_possession: vector, name: vector, description: vector, @@ -909,7 +862,6 @@ module iota_system::validator { net_address: vector, p2p_address: vector, primary_address: vector, - worker_address: vector, mut initial_stake_option: Option>, gas_price: u64, commission_rate: u64, @@ -919,9 +871,9 @@ module iota_system::validator { let mut validator = new_from_metadata( new_metadata( iota_address, - protocol_pubkey_bytes, + authority_pubkey_bytes, network_pubkey_bytes, - worker_pubkey_bytes, + protocol_pubkey_bytes, proof_of_possession, name.to_ascii_string().to_string(), description.to_ascii_string().to_string(), @@ -930,7 +882,6 @@ module iota_system::validator { net_address.to_ascii_string().to_string(), p2p_address.to_ascii_string().to_string(), primary_address.to_ascii_string().to_string(), - worker_address.to_ascii_string().to_string(), bag::new(ctx), ), gas_price, diff --git a/crates/iota-framework/packages/iota-system/tests/governance_test_utils.move b/crates/iota-framework/packages/iota-system/tests/governance_test_utils.move index 16e2c2a071a..ecbcd3e902c 100644 --- a/crates/iota-framework/packages/iota-system/tests/governance_test_utils.move +++ b/crates/iota-framework/packages/iota-system/tests/governance_test_utils.move @@ -36,7 +36,6 @@ module iota_system::governance_test_utils { b"/ip4/127.0.0.1/tcp/80", b"/ip4/127.0.0.1/udp/80", b"/ip4/127.0.0.1/udp/80", - b"/ip4/127.0.0.1/udp/80", option::some(balance::create_for_testing(init_stake_amount_in_iota * NANOS_PER_IOTA)), 1, 0, @@ -214,7 +213,6 @@ module iota_system::governance_test_utils { net_addr, net_addr, net_addr, - net_addr, 1, 0, ctx @@ -241,7 +239,6 @@ module iota_system::governance_test_utils { net_addr, net_addr, net_addr, - net_addr, 1, 0, ctx diff --git a/crates/iota-framework/packages/iota-system/tests/iota_system_tests.move b/crates/iota-framework/packages/iota-system/tests/iota_system_tests.move index a8cc154be70..e920a90b036 100644 --- a/crates/iota-framework/packages/iota-system/tests/iota_system_tests.move +++ b/crates/iota-framework/packages/iota-system/tests/iota_system_tests.move @@ -351,7 +351,7 @@ module iota_system::iota_system_tests { scenario: &mut Scenario, system_state: &mut IotaSystemState, name: vector, - protocol_pub_key: vector, + authority_pub_key: vector, pop: vector, network_address: vector, p2p_address: vector, @@ -366,13 +366,12 @@ module iota_system::iota_system_tests { system_state.update_candidate_validator_network_address(network_address, ctx); system_state.update_candidate_validator_p2p_address(p2p_address, ctx); system_state.update_candidate_validator_primary_address(b"/ip4/127.0.0.1/udp/80", ctx); - system_state.update_candidate_validator_worker_address(b"/ip4/127.0.0.1/udp/80", ctx); - system_state.update_candidate_validator_protocol_pubkey( - protocol_pub_key, + system_state.update_candidate_validator_authority_pubkey( + authority_pub_key, pop, ctx ); - system_state.update_candidate_validator_worker_pubkey(vector[68, 55, 206, 25, 199, 14, 169, 53, 68, 92, 142, 136, 174, 149, 54, 215, 101, 63, 249, 206, 197, 98, 233, 80, 60, 12, 183, 32, 216, 88, 103, 25], ctx); + system_state.update_candidate_validator_protocol_pubkey(vector[68, 55, 206, 25, 199, 14, 169, 53, 68, 92, 142, 136, 174, 149, 54, 215, 101, 63, 249, 206, 197, 98, 233, 80, 60, 12, 183, 32, 216, 88, 103, 25], ctx); system_state.update_candidate_validator_network_pubkey(vector[32, 219, 38, 23, 242, 109, 116, 235, 225, 192, 219, 45, 40, 124, 162, 25, 33, 68, 52, 41, 123, 9, 98, 11, 184, 150, 214, 62, 60, 210, 121, 62], ctx); system_state.set_candidate_validator_commission_rate(commission_rate, ctx); @@ -385,7 +384,7 @@ module iota_system::iota_system_tests { fun verify_candidate( validator: &Validator, name: vector, - protocol_pub_key: vector, + authority_pub_key: vector, pop: vector, network_address: vector, p2p_address: vector, @@ -396,10 +395,9 @@ module iota_system::iota_system_tests { verify_current_epoch_metadata( validator, name, - protocol_pub_key, + authority_pub_key, pop, b"/ip4/127.0.0.1/udp/80", - b"/ip4/127.0.0.1/udp/80", network_address, p2p_address, vector[32, 219, 38, 23, 242, 109, 116, 235, 225, 192, 219, 45, 40, 124, 162, 25, 33, 68, 52, 41, 123, 9, 98, 11, 184, 150, 214, 62, 60, 210, 121, 62], @@ -410,18 +408,18 @@ module iota_system::iota_system_tests { } - // Note: `pop` MUST be a valid signature using iota_address and protocol_pubkey_bytes. + // Note: `pop` MUST be a valid signature using iota_address and authority_pubkey_bytes. // To produce a valid PoP, run [fn test_proof_of_possession]. fun update_metadata( scenario: &mut Scenario, system_state: &mut IotaSystemState, name: vector, - protocol_pub_key: vector, + authority_pub_key: vector, pop: vector, network_address: vector, p2p_address: vector, network_pubkey: vector, - worker_pubkey: vector, + protocol_pubkey: vector, ) { let ctx = scenario.ctx(); system_state.update_validator_name(name, ctx); @@ -431,53 +429,50 @@ module iota_system::iota_system_tests { system_state.update_validator_next_epoch_network_address(network_address, ctx); system_state.update_validator_next_epoch_p2p_address(p2p_address, ctx); system_state.update_validator_next_epoch_primary_address(b"/ip4/168.168.168.168/udp/80", ctx); - system_state.update_validator_next_epoch_worker_address(b"/ip4/168.168.168.168/udp/80", ctx); - system_state.update_validator_next_epoch_protocol_pubkey( - protocol_pub_key, + system_state.update_validator_next_epoch_authority_pubkey( + authority_pub_key, pop, ctx ); system_state.update_validator_next_epoch_network_pubkey(network_pubkey, ctx); - system_state.update_validator_next_epoch_worker_pubkey(worker_pubkey, ctx); + system_state.update_validator_next_epoch_protocol_pubkey(protocol_pubkey, ctx); } fun verify_metadata( validator: &Validator, name: vector, - protocol_pub_key: vector, + authority_pub_key: vector, pop: vector, network_address: vector, p2p_address: vector, network_pubkey: vector, - worker_pubkey: vector, - new_protocol_pub_key: vector, + protocol_pubkey: vector, + new_authority_pub_key: vector, new_pop: vector, new_network_address: vector, new_p2p_address: vector, new_network_pubkey: vector, - new_worker_pubkey: vector, + new_protocol_pubkey: vector, ) { // Current epoch verify_current_epoch_metadata( validator, name, - protocol_pub_key, + authority_pub_key, pop, b"/ip4/127.0.0.1/udp/80", - b"/ip4/127.0.0.1/udp/80", network_address, p2p_address, network_pubkey, - worker_pubkey, + protocol_pubkey, ); // Next epoch assert!(validator.next_epoch_network_address() == &option::some(new_network_address.to_string())); assert!(validator.next_epoch_p2p_address() == &option::some(new_p2p_address.to_string())); assert!(validator.next_epoch_primary_address() == &option::some(b"/ip4/168.168.168.168/udp/80".to_string())); - assert!(validator.next_epoch_worker_address() == &option::some(b"/ip4/168.168.168.168/udp/80".to_string())); assert!( - validator.next_epoch_protocol_pubkey_bytes() == &option::some(new_protocol_pub_key), + validator.next_epoch_authority_pubkey_bytes() == &option::some(new_authority_pub_key), 0 ); assert!( @@ -485,7 +480,7 @@ module iota_system::iota_system_tests { 0 ); assert!( - validator.next_epoch_worker_pubkey_bytes() == &option::some(new_worker_pubkey), + validator.next_epoch_protocol_pubkey_bytes() == &option::some(new_protocol_pubkey), 0 ); assert!( @@ -497,14 +492,13 @@ module iota_system::iota_system_tests { fun verify_current_epoch_metadata( validator: &Validator, name: vector, - protocol_pub_key: vector, + authority_pub_key: vector, pop: vector, primary_address: vector, - worker_address: vector, network_address: vector, p2p_address: vector, network_pubkey_bytes: vector, - worker_pubkey_bytes: vector, + protocol_pubkey_bytes: vector, ) { // Current epoch assert!(validator.name() == &name.to_string()); @@ -514,10 +508,9 @@ module iota_system::iota_system_tests { assert!(validator.network_address() == &network_address.to_string()); assert!(validator.p2p_address() == &p2p_address.to_string()); assert!(validator.primary_address() == &primary_address.to_string()); - assert!(validator.worker_address() == &worker_address.to_string()); - assert!(validator.protocol_pubkey_bytes() == &protocol_pub_key); + assert!(validator.authority_pubkey_bytes() == &authority_pub_key); assert!(validator.proof_of_possession() == &pop); - assert!(validator.worker_pubkey_bytes() == &worker_pubkey_bytes); + assert!(validator.protocol_pubkey_bytes() == &protocol_pubkey_bytes); assert!(validator.network_pubkey_bytes() == &network_pubkey_bytes); } @@ -525,35 +518,33 @@ module iota_system::iota_system_tests { fun verify_metadata_after_advancing_epoch( validator: &Validator, name: vector, - protocol_pub_key: vector, + authority_pub_key: vector, pop: vector, network_address: vector, p2p_address: vector, network_pubkey: vector, - worker_pubkey: vector, + protocol_pubkey: vector, ) { // Current epoch verify_current_epoch_metadata( validator, name, - protocol_pub_key, + authority_pub_key, pop, b"/ip4/168.168.168.168/udp/80", - b"/ip4/168.168.168.168/udp/80", network_address, p2p_address, network_pubkey, - worker_pubkey, + protocol_pubkey, ); // Next epoch assert!(validator.next_epoch_network_address().is_none()); assert!(validator.next_epoch_p2p_address().is_none()); assert!(validator.next_epoch_primary_address().is_none()); - assert!(validator.next_epoch_worker_address().is_none()); - assert!(validator.next_epoch_protocol_pubkey_bytes().is_none()); + assert!(validator.next_epoch_authority_pubkey_bytes().is_none()); assert!(validator.next_epoch_proof_of_possession().is_none()); - assert!(validator.next_epoch_worker_pubkey_bytes().is_none()); + assert!(validator.next_epoch_protocol_pubkey_bytes().is_none()); assert!(validator.next_epoch_network_pubkey_bytes().is_none()); } @@ -562,19 +553,19 @@ module iota_system::iota_system_tests { let validator_addr = @0xaf76afe6f866d8426d2be85d6ef0b11f871a251d043b2f11e15563bf418f5a5a; // pubkey generated with protocol key on seed [0; 32] let pubkey = x"99f25ef61f8032b914636460982c5cc6f134ef1ddae76657f2cbfec1ebfc8d097374080df6fcf0dcb8bc4b0d8e0af5d80ebbff2b4c599f54f42d6312dfc314276078c1cc347ebbbec5198be258513f386b930d02c2749a803e2330955ebd1a10"; - // pop generated using the protocol key and address with [fn test_proof_of_possession] + // pop generated using the authority key and address with [fn test_proof_of_possession] let pop = x"b01cc86f421beca7ab4cfca87c0799c4d038c199dd399fbec1924d4d4367866dba9e84d514710b91feb65316e4ceef43"; - // pubkey generated with protocol key on seed [1; 32] + // pubkey generated with authority key on seed [1; 32] let pubkey1 = x"96d19c53f1bee2158c3fcfb5bb2f06d3a8237667529d2d8f0fbb22fe5c3b3e64748420b4103674490476d98530d063271222d2a59b0f7932909cc455a30f00c69380e6885375e94243f7468e9563aad29330aca7ab431927540e9508888f0e1c"; let pop1 = x"a8a0bcaf04e13565914eb22fa9f27a76f297db04446860ee2b923d10224cedb130b30783fb60b12556e7fc50e5b57a86"; let new_validator_addr = @0x8e3446145b0c7768839d71840df389ffa3b9742d0baaff326a3d453b595f87d7; - // pubkey generated with protocol key on seed [2; 32] + // pubkey generated with authority key on seed [2; 32] let new_pubkey = x"adf2e2350fe9a58f3fa50777499f20331c4550ab70f6a4fb25a58c61b50b5366107b5c06332e71bb47aa99ce2d5c07fe0dab04b8af71589f0f292c50382eba6ad4c90acb010ab9db7412988b2aba1018aaf840b1390a8b2bee3fde35b4ab7fdf"; let new_pop = x"926fdb08b2b46d802e3642044f215dcb049e6c17a376a272ffd7dba32739bb995370966698ab235ee172fbd974985cfe"; - // pubkey generated with protocol key on seed [3; 32] + // pubkey generated with authority key on seed [3; 32] let new_pubkey1 = x"91b8de031e0b60861c655c8168596d98b065d57f26f287f8c810590b06a636eff13c4055983e95b2f60a4d6ba5484fa4176923d1f7807cc0b222ddf6179c1db099dba0433f098aae82542b3fd27b411d64a0a35aad01b2c07ac67f7d0a1d2c11"; let new_pop1 = x"b61913eb4dc7ea1d92f174e1a3c6cad3f49ae8de40b13b69046ce072d8d778bfe87e734349c7394fd1543fff0cb6e2d0"; @@ -597,7 +588,6 @@ module iota_system::iota_system_tests { b"/ip4/127.0.0.1/tcp/80", b"/ip4/127.0.0.1/udp/80", b"/ip4/127.0.0.1/udp/80", - b"/ip4/127.0.0.1/udp/80", option::some(balance::create_for_testing(100_000_000_000)), 1, 0, @@ -668,7 +658,6 @@ module iota_system::iota_system_tests { b"/ip4/127.0.0.2/tcp/80", b"/ip4/127.0.0.2/udp/80", b"/ip4/127.0.0.1/udp/80", - b"/ip4/127.0.0.1/udp/80", 1, 0, ctx, @@ -751,12 +740,12 @@ module iota_system::iota_system_tests { #[test] fun test_validator_candidate_update() { let validator_addr = @0xaf76afe6f866d8426d2be85d6ef0b11f871a251d043b2f11e15563bf418f5a5a; - // pubkey generated with protocol key on seed [0; 32] + // pubkey generated with authority key on seed [0; 32] let pubkey = x"99f25ef61f8032b914636460982c5cc6f134ef1ddae76657f2cbfec1ebfc8d097374080df6fcf0dcb8bc4b0d8e0af5d80ebbff2b4c599f54f42d6312dfc314276078c1cc347ebbbec5198be258513f386b930d02c2749a803e2330955ebd1a10"; - // pop generated using the protocol key and address with [fn test_proof_of_possession] + // pop generated using the authority key and address with [fn test_proof_of_possession] let pop = x"b01cc86f421beca7ab4cfca87c0799c4d038c199dd399fbec1924d4d4367866dba9e84d514710b91feb65316e4ceef43"; - // pubkey generated with protocol key on seed [1; 32] + // pubkey generated with authority key on seed [1; 32] let pubkey1 = x"96d19c53f1bee2158c3fcfb5bb2f06d3a8237667529d2d8f0fbb22fe5c3b3e64748420b4103674490476d98530d063271222d2a59b0f7932909cc455a30f00c69380e6885375e94243f7468e9563aad29330aca7ab431927540e9508888f0e1c"; let pop1 = x"a8a0bcaf04e13565914eb22fa9f27a76f297db04446860ee2b923d10224cedb130b30783fb60b12556e7fc50e5b57a86"; @@ -780,7 +769,6 @@ module iota_system::iota_system_tests { b"/ip4/127.0.0.2/tcp/80", b"/ip4/127.0.0.2/udp/80", b"/ip4/168.168.168.168/udp/80", - b"/ip4/168.168.168.168/udp/80", 1, 0, scenario.ctx(), @@ -821,7 +809,7 @@ module iota_system::iota_system_tests { } #[test] - #[expected_failure(abort_code = validator::EMetadataInvalidWorkerPubkey)] + #[expected_failure(abort_code = validator::EMetadataInvalidProtocolPubkey)] fun test_add_validator_candidate_failure_invalid_metadata() { let mut scenario_val = test_scenario::begin(@0x0); let scenario = &mut scenario_val; @@ -846,7 +834,6 @@ module iota_system::iota_system_tests { b"/ip4/127.0.0.2/tcp/80", b"/ip4/127.0.0.2/udp/80", b"/ip4/127.0.0.1/udp/80", - b"/ip4/127.0.0.1/udp/80", 1, 0, scenario.ctx(), @@ -879,7 +866,6 @@ module iota_system::iota_system_tests { b"/ip4/127.0.0.2/tcp/80", b"/ip4/127.0.0.2/udp/80", b"/ip4/127.0.0.1/udp/80", - b"/ip4/127.0.0.1/udp/80", 1, 0, scenario.ctx(), @@ -898,7 +884,6 @@ module iota_system::iota_system_tests { b"/ip4/127.0.0.2/tcp/80", b"/ip4/127.0.0.2/udp/80", b"/ip4/127.0.0.1/udp/80", - b"/ip4/127.0.0.1/udp/80", 1, 0, scenario.ctx(), @@ -938,7 +923,6 @@ module iota_system::iota_system_tests { b"/ip4/127.0.0.1/tcp/80", b"/ip4/127.0.0.1/udp/80", b"/ip4/127.0.0.1/udp/80", - b"/ip4/127.0.0.1/udp/80", option::some(balance::create_for_testing(100_000_000_000)), 1, 0, @@ -965,7 +949,6 @@ module iota_system::iota_system_tests { b"/ip4/127.0.0.2/tcp/80", b"/ip4/127.0.0.2/udp/80", b"/ip4/127.0.0.1/udp/80", - b"/ip4/127.0.0.1/udp/80", 1, 0, scenario.ctx(), diff --git a/crates/iota-framework/packages/iota-system/tests/validator_set_tests.move b/crates/iota-framework/packages/iota-system/tests/validator_set_tests.move index 6d8466dd50e..4e002a7cc2d 100644 --- a/crates/iota-framework/packages/iota-system/tests/validator_set_tests.move +++ b/crates/iota-framework/packages/iota-system/tests/validator_set_tests.move @@ -415,7 +415,6 @@ module iota_system::validator_set_tests { vector[hint], vector[hint], vector[hint], - vector[hint], option::some(balance::create_for_testing(stake_value)), gas_price, 0, diff --git a/crates/iota-framework/packages/iota-system/tests/validator_tests.move b/crates/iota-framework/packages/iota-system/tests/validator_tests.move index 12f2078c64d..b69590d5aec 100644 --- a/crates/iota-framework/packages/iota-system/tests/validator_tests.move +++ b/crates/iota-framework/packages/iota-system/tests/validator_tests.move @@ -16,18 +16,17 @@ module iota_system::validator_tests { const VALID_NET_PUBKEY: vector = vector[171, 2, 39, 3, 139, 105, 166, 171, 153, 151, 102, 197, 151, 186, 140, 116, 114, 90, 213, 225, 20, 167, 60, 69, 203, 12, 180, 198, 9, 217, 117, 38]; - const VALID_WORKER_PUBKEY: vector = vector[171, 3, 39, 3, 139, 105, 166, 171, 153, 151, 102, 197, 151, 186, 140, 116, 114, 90, 213, 225, 20, 167, 60, 69, 203, 12, 180, 198, 9, 217, 117, 38]; + const VALID_PROTOCOL_PUBKEY: vector = vector[171, 3, 39, 3, 139, 105, 166, 171, 153, 151, 102, 197, 151, 186, 140, 116, 114, 90, 213, 225, 20, 167, 60, 69, 203, 12, 180, 198, 9, 217, 117, 38]; - // A valid proof of possession must be generated using the same account address and protocol public key. - // If either VALID_ADDRESS or VALID_PUBKEY changed, PoP must be regenerated using [fn test_proof_of_possession]. + // A valid proof of possession must be generated using the same account address and authority public key. + // If either VALID_ADDRESS or VALID_AUTHORITY_PUBKEY changed, PoP must be regenerated using [fn test_proof_of_possession]. const VALID_ADDRESS: address = @0xaf76afe6f866d8426d2be85d6ef0b11f871a251d043b2f11e15563bf418f5a5a; - const VALID_PUBKEY: vector = x"99f25ef61f8032b914636460982c5cc6f134ef1ddae76657f2cbfec1ebfc8d097374080df6fcf0dcb8bc4b0d8e0af5d80ebbff2b4c599f54f42d6312dfc314276078c1cc347ebbbec5198be258513f386b930d02c2749a803e2330955ebd1a10"; + const VALID_AUTHORITY_PUBKEY: vector = x"99f25ef61f8032b914636460982c5cc6f134ef1ddae76657f2cbfec1ebfc8d097374080df6fcf0dcb8bc4b0d8e0af5d80ebbff2b4c599f54f42d6312dfc314276078c1cc347ebbbec5198be258513f386b930d02c2749a803e2330955ebd1a10"; const PROOF_OF_POSSESSION: vector = x"b01cc86f421beca7ab4cfca87c0799c4d038c199dd399fbec1924d4d4367866dba9e84d514710b91feb65316e4ceef43"; const VALID_NET_ADDR: vector = b"/ip4/127.0.0.1/tcp/80"; const VALID_P2P_ADDR: vector = b"/ip4/127.0.0.1/udp/80"; const VALID_CONSENSUS_ADDR: vector = b"/ip4/127.0.0.1/udp/80"; - const VALID_WORKER_ADDR: vector = b"/ip4/127.0.0.1/udp/80"; const TOO_LONG_257_BYTES: vector = b"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; @@ -36,9 +35,9 @@ module iota_system::validator_tests { let init_stake = coin::mint_for_testing(10_000_000_000, ctx).into_balance(); let mut validator = validator::new( VALID_ADDRESS, - VALID_PUBKEY, + VALID_AUTHORITY_PUBKEY, VALID_NET_PUBKEY, - VALID_WORKER_PUBKEY, + VALID_PROTOCOL_PUBKEY, PROOF_OF_POSSESSION, b"Validator1", b"Validator1", @@ -47,7 +46,6 @@ module iota_system::validator_tests { VALID_NET_ADDR, VALID_P2P_ADDR, VALID_CONSENSUS_ADDR, - VALID_WORKER_ADDR, 1, 0, ctx @@ -148,9 +146,9 @@ module iota_system::validator_tests { let ctx = scenario_val.ctx(); let metadata = validator::new_metadata( VALID_ADDRESS, - VALID_PUBKEY, + VALID_AUTHORITY_PUBKEY, VALID_NET_PUBKEY, - VALID_WORKER_PUBKEY, + VALID_PROTOCOL_PUBKEY, PROOF_OF_POSSESSION, b"Validator1".to_string(), b"Validator1".to_string(), @@ -159,7 +157,6 @@ module iota_system::validator_tests { VALID_NET_ADDR.to_string(), VALID_P2P_ADDR.to_string(), VALID_CONSENSUS_ADDR.to_string(), - VALID_WORKER_ADDR.to_string(), bag::new(ctx), ); @@ -169,7 +166,7 @@ module iota_system::validator_tests { } #[test] - #[expected_failure(abort_code = validator::EMetadataInvalidPubkey)] + #[expected_failure(abort_code = validator::EMetadataInvalidAuthorityPubkey)] fun test_metadata_invalid_pubkey() { let mut scenario_val = test_scenario::begin(VALID_ADDRESS); let ctx = scenario_val.ctx(); @@ -177,7 +174,7 @@ module iota_system::validator_tests { VALID_ADDRESS, vector[42], VALID_NET_PUBKEY, - VALID_WORKER_PUBKEY, + VALID_PROTOCOL_PUBKEY, PROOF_OF_POSSESSION, b"Validator1".to_string(), b"Validator1".to_string(), @@ -186,7 +183,6 @@ module iota_system::validator_tests { VALID_NET_ADDR.to_string(), VALID_P2P_ADDR.to_string(), VALID_CONSENSUS_ADDR.to_string(), - VALID_WORKER_ADDR.to_string(), bag::new(ctx), ); @@ -202,9 +198,9 @@ module iota_system::validator_tests { let ctx = scenario_val.ctx(); let metadata = validator::new_metadata( VALID_ADDRESS, - VALID_PUBKEY, + VALID_AUTHORITY_PUBKEY, vector[42], - VALID_WORKER_PUBKEY, + VALID_PROTOCOL_PUBKEY, PROOF_OF_POSSESSION, b"Validator1".to_string(), b"Validator1".to_string(), @@ -213,7 +209,6 @@ module iota_system::validator_tests { VALID_NET_ADDR.to_string(), VALID_P2P_ADDR.to_string(), VALID_CONSENSUS_ADDR.to_string(), - VALID_WORKER_ADDR.to_string(), bag::new(ctx), ); @@ -223,13 +218,13 @@ module iota_system::validator_tests { } #[test] - #[expected_failure(abort_code = validator::EMetadataInvalidWorkerPubkey)] - fun test_metadata_invalid_worker_pubkey() { + #[expected_failure(abort_code = validator::EMetadataInvalidProtocolPubkey)] + fun test_metadata_invalid_protocol_pubkey() { let mut scenario_val = test_scenario::begin(VALID_ADDRESS); let ctx = scenario_val.ctx(); let metadata = validator::new_metadata( VALID_ADDRESS, - VALID_PUBKEY, + VALID_AUTHORITY_PUBKEY, VALID_NET_PUBKEY, vector[42], PROOF_OF_POSSESSION, @@ -240,7 +235,6 @@ module iota_system::validator_tests { VALID_NET_ADDR.to_string(), VALID_P2P_ADDR.to_string(), VALID_CONSENSUS_ADDR.to_string(), - VALID_WORKER_ADDR.to_string(), bag::new(ctx), ); @@ -256,9 +250,9 @@ module iota_system::validator_tests { let ctx = scenario_val.ctx(); let metadata = validator::new_metadata( VALID_ADDRESS, - VALID_PUBKEY, + VALID_AUTHORITY_PUBKEY, VALID_NET_PUBKEY, - VALID_WORKER_PUBKEY, + VALID_PROTOCOL_PUBKEY, PROOF_OF_POSSESSION, b"Validator1".to_string(), b"Validator1".to_string(), @@ -267,7 +261,6 @@ module iota_system::validator_tests { b"42".to_string(), VALID_P2P_ADDR.to_string(), VALID_CONSENSUS_ADDR.to_string(), - VALID_WORKER_ADDR.to_string(), bag::new(ctx), ); @@ -283,9 +276,9 @@ module iota_system::validator_tests { let ctx = scenario_val.ctx(); let metadata = validator::new_metadata( VALID_ADDRESS, - VALID_PUBKEY, + VALID_AUTHORITY_PUBKEY, VALID_NET_PUBKEY, - VALID_WORKER_PUBKEY, + VALID_PROTOCOL_PUBKEY, PROOF_OF_POSSESSION, b"Validator1".to_string(), b"Validator1".to_string(), @@ -294,7 +287,6 @@ module iota_system::validator_tests { VALID_NET_ADDR.to_string(), b"42".to_string(), VALID_CONSENSUS_ADDR.to_string(), - VALID_WORKER_ADDR.to_string(), bag::new(ctx), ); @@ -310,9 +302,9 @@ module iota_system::validator_tests { let ctx = scenario_val.ctx(); let metadata = validator::new_metadata( VALID_ADDRESS, - VALID_PUBKEY, + VALID_AUTHORITY_PUBKEY, VALID_NET_PUBKEY, - VALID_WORKER_PUBKEY, + VALID_PROTOCOL_PUBKEY, PROOF_OF_POSSESSION, b"Validator1".to_string(), b"Validator1".to_string(), @@ -321,34 +313,6 @@ module iota_system::validator_tests { VALID_NET_ADDR.to_string(), VALID_P2P_ADDR.to_string(), b"42".to_string(), - VALID_WORKER_ADDR.to_string(), - bag::new(ctx), - ); - - validator::validate_metadata(&metadata); - test_utils::destroy(metadata); - scenario_val.end(); - } - - #[test] - #[expected_failure(abort_code = validator::EMetadataInvalidWorkerAddr)] - fun test_metadata_invalid_worker_addr() { - let mut scenario_val = test_scenario::begin(VALID_ADDRESS); - let ctx = scenario_val.ctx(); - let metadata = validator::new_metadata( - VALID_ADDRESS, - VALID_PUBKEY, - VALID_NET_PUBKEY, - VALID_WORKER_PUBKEY, - PROOF_OF_POSSESSION, - b"Validator1".to_string(), - b"Validator1".to_string(), - url::new_unsafe_from_bytes(b"image_url1"), - url::new_unsafe_from_bytes(b"project_url1"), - VALID_NET_ADDR.to_string(), - VALID_P2P_ADDR.to_string(), - VALID_CONSENSUS_ADDR.to_string(), - b"42".to_string(), bag::new(ctx), ); @@ -363,9 +327,9 @@ module iota_system::validator_tests { let mut scenario_val = test_scenario::begin(sender); let scenario = &mut scenario_val; let ctx = scenario.ctx(); - let new_protocol_pub_key = x"96d19c53f1bee2158c3fcfb5bb2f06d3a8237667529d2d8f0fbb22fe5c3b3e64748420b4103674490476d98530d063271222d2a59b0f7932909cc455a30f00c69380e6885375e94243f7468e9563aad29330aca7ab431927540e9508888f0e1c"; + let new_authority_pub_key = x"96d19c53f1bee2158c3fcfb5bb2f06d3a8237667529d2d8f0fbb22fe5c3b3e64748420b4103674490476d98530d063271222d2a59b0f7932909cc455a30f00c69380e6885375e94243f7468e9563aad29330aca7ab431927540e9508888f0e1c"; let new_pop = x"a8a0bcaf04e13565914eb22fa9f27a76f297db04446860ee2b923d10224cedb130b30783fb60b12556e7fc50e5b57a86"; - let new_worker_pub_key = vector[115, 220, 238, 151, 134, 159, 173, 41, 80, 2, 66, 196, 61, 17, 191, 76, 103, 39, 246, 127, 171, 85, 19, 235, 210, 106, 97, 97, 116, 48, 244, 191]; + let new_protocol_pub_key = vector[115, 220, 238, 151, 134, 159, 173, 41, 80, 2, 66, 196, 61, 17, 191, 76, 103, 39, 246, 127, 171, 85, 19, 235, 210, 106, 97, 97, 116, 48, 244, 191]; let new_network_pub_key = vector[149, 128, 161, 13, 11, 183, 96, 45, 89, 20, 188, 205, 26, 127, 147, 254, 184, 229, 184, 102, 64, 170, 104, 29, 191, 171, 91, 99, 58, 178, 41, 156]; let mut validator = get_test_validator(ctx); @@ -375,9 +339,8 @@ module iota_system::validator_tests { validator.update_next_epoch_network_address(b"/ip4/192.168.1.1/tcp/80"); validator.update_next_epoch_p2p_address(b"/ip4/192.168.1.1/udp/80"); validator.update_next_epoch_primary_address(b"/ip4/192.168.1.1/udp/80"); - validator.update_next_epoch_worker_address(b"/ip4/192.168.1.1/udp/80"); - validator.update_next_epoch_protocol_pubkey(new_protocol_pub_key, new_pop); - validator.update_next_epoch_worker_pubkey( new_worker_pub_key); + validator.update_next_epoch_authority_pubkey(new_authority_pub_key, new_pop); + validator.update_next_epoch_protocol_pubkey(new_protocol_pub_key); validator.update_next_epoch_network_pubkey(new_network_pub_key); validator.update_name(b"new_name"); @@ -396,19 +359,17 @@ module iota_system::validator_tests { assert!(validator.network_address() == &VALID_NET_ADDR.to_string()); assert!(validator.p2p_address() == &VALID_P2P_ADDR.to_string()); assert!(validator.primary_address() == &VALID_CONSENSUS_ADDR.to_string()); - assert!(validator.worker_address() == &VALID_WORKER_ADDR.to_string()); - assert!(validator.protocol_pubkey_bytes() == &VALID_PUBKEY); + assert!(validator.authority_pubkey_bytes() == &VALID_AUTHORITY_PUBKEY); assert!(validator.proof_of_possession() == &PROOF_OF_POSSESSION); assert!(validator.network_pubkey_bytes() == &VALID_NET_PUBKEY); - assert!(validator.worker_pubkey_bytes() == &VALID_WORKER_PUBKEY); + assert!(validator.protocol_pubkey_bytes() == &VALID_PROTOCOL_PUBKEY); // Next epoch assert!(validator.next_epoch_network_address() == &option::some(b"/ip4/192.168.1.1/tcp/80".to_string())); assert!(validator.next_epoch_p2p_address() == &option::some(b"/ip4/192.168.1.1/udp/80".to_string())); assert!(validator.next_epoch_primary_address() == &option::some(b"/ip4/192.168.1.1/udp/80".to_string())); - assert!(validator.next_epoch_worker_address() == &option::some(b"/ip4/192.168.1.1/udp/80".to_string())); assert!( - validator.next_epoch_protocol_pubkey_bytes() == &option::some(new_protocol_pub_key), + validator.next_epoch_authority_pubkey_bytes() == &option::some(new_authority_pub_key), 0 ); assert!( @@ -416,7 +377,7 @@ module iota_system::validator_tests { 0 ); assert!( - validator.next_epoch_worker_pubkey_bytes() == &option::some(new_worker_pub_key), + validator.next_epoch_protocol_pubkey_bytes() == &option::some(new_protocol_pub_key), 0 ); assert!( @@ -436,7 +397,7 @@ module iota_system::validator_tests { scenario.next_tx(sender); { - validator.update_next_epoch_protocol_pubkey( + validator.update_next_epoch_authority_pubkey( x"96d19c53f1bee2158c3fcfb5bb2f06d3a8237667529d2d8f0fbb22fe5c3b3e64748420b4103674490476d98530d063271222d2a59b0f7932909cc455a30f00c69380e6885375e94243f7468e9563aad29330aca7ab431927540e9508888f0e1c", // This is an invalid proof of possession, so we abort x"8b9794dfd11b88e16ba8f6a4a2c1e7580738dce2d6910ee594bebd88297b22ae8c34d1ee3f5a081159d68e076ef5d300"); @@ -458,14 +419,14 @@ module iota_system::validator_tests { tear_down(validator, scenario); } - #[expected_failure(abort_code = iota_system::validator::EMetadataInvalidWorkerPubkey)] + #[expected_failure(abort_code = iota_system::validator::EMetadataInvalidProtocolPubkey)] #[test] - fun test_validator_update_metadata_invalid_worker_key() { + fun test_validator_update_metadata_invalid_protocol_key() { let (sender, mut scenario, mut validator) = set_up(); scenario.next_tx(sender); { - validator.update_next_epoch_worker_pubkey(x"beef"); + validator.update_next_epoch_protocol_pubkey(x"beef"); }; tear_down(validator, scenario); @@ -497,19 +458,6 @@ module iota_system::validator_tests { tear_down(validator, scenario); } - #[expected_failure(abort_code = iota_system::validator::EMetadataInvalidWorkerAddr)] - #[test] - fun test_validator_update_metadata_invalid_worker_addr() { - let (sender, mut scenario, mut validator) = set_up(); - - scenario.next_tx(sender); - { - validator.update_next_epoch_worker_address(b"beef"); - }; - - tear_down(validator, scenario); - } - #[expected_failure(abort_code = iota_system::validator::EMetadataInvalidP2pAddr)] #[test] fun test_validator_update_metadata_invalid_p2p_address() { @@ -558,22 +506,6 @@ module iota_system::validator_tests { tear_down(validator, scenario); } - - #[expected_failure(abort_code = iota_system::validator::EValidatorMetadataExceedingLengthLimit)] - #[test] - fun test_validator_update_metadata_worker_address_too_long() { - let (sender, mut scenario, mut validator) = set_up(); - scenario.next_tx(sender); - { - validator.update_next_epoch_worker_address( - // 257 bytes but limit is 256 bytes - TOO_LONG_257_BYTES, - ); - }; - - tear_down(validator, scenario); - } - #[expected_failure(abort_code = iota_system::validator::EValidatorMetadataExceedingLengthLimit)] #[test] fun test_validator_update_metadata_p2p_address_too_long() { diff --git a/crates/iota-framework/packages_compiled/iota-system b/crates/iota-framework/packages_compiled/iota-system index ef74ce27f15db969bc16dbf064bd4d0b1846feeb..43d29152924a7301025becae299de9fb73ec35fc 100644 GIT binary patch delta 7226 zcmbVR3ve98neP5)dS-Tdc4m9uyV{jjT1l(tN|ubZeoC@sS&|>}Lw-a26qYf;25i8@ zu;3?zU;`cUFyWcY0U_ZyM4(csq$)>oA$3($Qb4$?tE5tQ+|^aC?m3qPQRP$~3|LVVcy8r&W=lgHLTW`P%Pl??hEPXQb&)gt{IF!^w{fKt>C0&1%wXoON zMcsTe@K+J*vFu*sqwGu6ezERB>b#npP6z*ENy&SDsYC9i5QhZhp##>z&2SvfQ*u4I zkJ2bj%KsGW`Eo)DSqd5G5Hg}*wSrLv>%Al)E4>sUH+f~m!>V|r zf=g84wK{sUQI$3+C@4rP*pjXx|o{1u78lp?SnsuaS^tO&Xy~ zJBtMFr#&f3wE8|qHP$wip_Z|`#HeF7^rnb;pf^mc75NSl5M7J}G77Q-2*t(}2^b3- zLnN?NHb)m6>L1Av`yyS@PxuY_cH$fx%2N_d4G$qUjrJk-4r5<~SNXV>6|j7$57BLI zZy|^Chg;SzShr|{wQl+PRlO~}`JR@Z{Gq1f-G}79Dj`_;`>eDyF-!OUG@ja8rjvkoW^S{U$X+~wsSmX3m%{!2< zKXL5fzT=a74(z+(;9|=}h9x%avSFtUeO9Q>3bk8-9af-Zg~qMWgcTaVUfVF@ z<7yvAeO!fTg@%1x<71sSBe>98U86z?v-W@! z=3%|pH7k?|yDH#Bctl_BT7zw6Y{QAN{(uwZQGF#F<}Nj@f*mxyCVed%S5>oMJEmyT zC)f^Ebqkzu%7JTK=S&EnpMYPpedG#lSBweb#N3z|#*R8T8m<@x75!3- zapIvpu>~}&e_Y)xCmZ|6?Sicp#khf?#s7;t%=X1Ovo&#zW7s4_#5TP_QN?bov8b)b zv4*pX6h${DAtPi)mA7a|zTeoK7*|o<|Et$c7UTr`LQO8an`*Pzo^SqR5f0djUa>BZ zG^HYY9nGa;Pt^|_#24h(n{p%7mXNTKGgKQ_;}h0OjGGWpJ?1bg+El%}nP$uazAEBr zF>n+!p$5gPGO-z7cBYvbSv@8%H)p#hz*QQd%7BQgl_tJ<9N>CA$UM_7fQPSz=}5y@ zF#V6s0b16ul7^-#okpR#S|(yEV34dTY=st8K?PBO)+)Uw3T>)Y=6hWegZ3(ih#k=J zNo6N=Rx1#N;!L?dq(`AkRd7~?)U4VC-BmeKGGKvxw&iHqi`o>2-HX=a%1r5_7$evg z|4oPrM<6H7)A|m}sbTwPbHd1};Whdp%gL}CeNMQdqc|C!(QmPwEW3-&W+`)7p4HD$ z%c*7emn+PO??j|zVo0ggA3~nSE>~C;i&120T+<&%md>88u;RW}yo4mK>)%5bW0-=d zX_WL?Nn|n3^dBP2U_YJBN+HYOhK#qleJNj9QA}>?Z=$fp{{5kQaZe!2;g0@QWV!5H zvsqzex!l#CM3%>%t*|Q2D3*$S&m${TW-rg?DT^u!{s?)3y$Y3K^}TV>MHLQTM^>2q zqQa`IIpw{Ii*F+PB_v3V@oZ^5b*uxrElQ4x7)d(rO37&u+`9^yK?UnDf_wt3f z5W?8~qSz?AIud24fa{!!eYl*{F}O-CldwzupspLtRuRF%)$WH~;u)S5gGHYy6o^5e z5)xOkv+Wy#JvPxg6=wZ7&H{#Ej5ml*GbG1`d`cOst zipt@t&}t=ghkA|KlBb7#zak~IWf-1HfK;K3Z(T{$qC}(5iOxs_XC%C+FHna9i+q9D zjDTAei1`A!lF+yM0`XF%EiYCg6#@!in~52Es7g=7Z23-C?2xDulD?%pTDslWNX=-3 zQNW+=sTezjvk!)6wvAFmtbsKY$cXBz+TRF_V)ihWbO~XzfJ4RLYyH8&1ZlYuI zrS67CN^}C4Oyb^1!o(p#;^I~fl#&+GMUIlMP;zPdqwd#wmVa$<)={$v#p|`p^gX8E zXD(%bX+Cb6|KR>AYyGHWuklFd5&L}c73%!B>t92`=LXumw+9|Nn2i59g%>F~Ms6nG zrsPj3d4|%BbXpb<-bSC2PaoXA`!WqW9)DcoNu(8@bA{Jv;-P1RYnE zQ9S~D37D#;aL**-gnZ5z$~KpX>*PmwPSNY+q4Gdk`Lqop^WEGJ(fOpk5Svfh z2l4r&!;nDI=1S5J;+Uh^n5Kw>czVKo6CK75-2lm|TAAQ5DIa!2>PmXo&ecm-^{Q&u zK+SB@F|>3DGP6m__!l6nj0^wuYUq@1>uRXQfil;NYOv8ShJMv5&C0vclv^mW3+j~a z{0>dcbu2f($vseiCAG=9Y7PHm;ID?fyyounv{Al$_s;wm{W)58gqtY2m{KNrB!MRm zwSR|jAHqp~RPH;Sar@Oq8OANd;CP0X_npqrE%KSu*P)rnnT2#fj+`l#`zc$52UV_N z0;whz;Kdg))Jt*jlvOQ(G*L zbeERGIX%JbAYI+Q?NoVKgyNbn3 z`{K^U9kl_=zzabOlSgW4nq~zp%d`Rnw=E+7{lW)o|8lTUJI(Li!aj2oI&*2mXKX0b z-h(>LT!d>Lt%^d?mO_cBVt<@M63K znL{YAfsmq9hhPfd4zam}%@ChU7=^?Pp4;PmW zV_2hjL)FSUag~@955#^zR857538etERIN0MUjOE4rro~jpFRAx4IhT(V^5@(yb9)J z{ckMmeP^%nX0Xwd@&rt4?;1FD~-?t129CINr4QK)ntVB(tb?;-+N-! z!Ib*GBLE?!Q9{?!0H(lobvgV%(HV;qZ6)ST+A16bBg+h8rUWHc8o&GmmSriiJ^bQe zFK}#PFRR6P&`^^hyd~%oCzDE3;G>fxQ0kfj#))VET{WUZ}}UPoLZE7Hz1pA&-~wHZ-xEmeiuS zCT!@oVX+NeHY~JZkqwwwF45vzt=6t}`03@a27vbxVf07?eJP7*D|nEy

zt3DNJ7 z3!kYk$ME9Q;IVo=#!}p*CKT|-JUw755%uR}U2PCAi9b#*9oKekp4YE-HQQauqY>i7 zov0IbQclE4I(Q4^1f7tRa6HGs>z)t~;C*@ucUys0JiJv8;~je(FP&}M6u~|x<7VBA z2<7yRY(hCe3&AYU4B6bBb2za$zBS)Wo G_rC$oc#*0A delta 7810 zcmc&(X>c6Jb?$yMvokwAyEC&V_P}CsE*2yf;ECl4kOU8a7kGoDMDPG8Qlv*a@dwrmgF2tQmLe3{Yu$Rtg5^>gC(($>?pqi zU_Nxet6z6dzwX!bllR~oKY_Piba#HZ_=W7hivVNH;;a!GS1AYoLRH_^+O?0gCsqAd z!Rs;O`P}ZnxrTSR`A+_6ZvDLR(@f}Rix%2)vBe(d5QhXb!8BL{C*UMJz}aE;DCaSr zl%Kk5#X`mzn-23BE+| z1Sj0DqGv-?+Cb1okRsTW&MBQg8Mn)IS)@$ z@q$;p(-XVsmG2_*Wv_TQ6)*87#IpqFJ?a^vUh#_eP_ZF^@E~^)AL7l3?RE=e3tAP% z=XaJET;(%UoGJMpjVoHQKg*54&a%cWy>V8G>HB6yn6W6=Je>vIE{z2<1lc}>&XyDl z&T4U3aJ~%3W>glh$};nDzPOi(BhAy8b*#UcvryfNe#Dl69>kd|u-~EC9o!!xVNBjC2LvuG8LyI;no6|n0d3O8k=0iOPdycdpX+GS3d;8($+nW#Yux5h) zYdH8D#9#XF82G1hgE^Xf{z^=~b;Xdsi2X=SXoe%N$6E>}2%8&@2ZmZ}fg?4@kZbVq zU&epH$NxOp1=2Zc$wK-!^HN8~?mRg%cI@cB10!dS9zQg8d}Pn)=<%@=Cvu^^mEettsevrSJpRc+-n0`k3vx0=JXO-3iGliijZt~SW`_T=UF^H0gA*O_v-abYDf zUE5*8JQE~0VY>-)4JT(f9Y%222=*Axdc)alIM;9pSK?Tju)@P-9u9iA1krH%JzVbL zfQQXEYhcbXa3Lvc4ZTe{Y*;B}mC~p5D#!!SHX8aP6|No98kMM`fKGL)9#BpxTa>*D z!ywVtFPIe;+)4?s>V;zEglaVi&B}{_)hKkUNf=hM2wJuXO4L_GPBe(TXcSGNS=ho6u84@JNQjt-i=?O%X^|1x2m_AZ z6d&Z_;F1pAZB<3s^a_@vg@V|!qsGI+r?^@&h<>b?BifMC#R!qdyMPc2i#I@d_6&G=JW!Ug332h)~B}779qYdFG>%oE<)}2;$ zi?*GrM!^i}kydq=wwJ1QK`_Au2t}wub8mBxihzf@yG0oI1l<85njTSjXc3yWyUt}+ zGMsb=aS%c{R<^qqC~9k(U^ZHHw}CRbx>a6p?$t%XR7&n9`AKtf#vUtRGKaZ4)Fu;E z+!3s4F;h)oO^chXE8lEMMMo_q%-wyK<_ntO?v)?33sJ4j)E25M& zp+k^5m^FchRMUdk7!E0#*&oBMkmHSNR7(;$T);jso5#TFfYw#GfSIf-Z4#mlp zjtK>~2-B+c`WQ?ne>8jnnOz@;&MJqww?N6SEFf2Ig{~?KV$fYJt1*~CWqjWpdf#@z z%qokO129YexNx-M#7vGIaAJ)ZAX4gpVWqWA-sD7lP6Rn=kyeKdE2Hh5%!wi=BQol3 zhLzR6?q@pPf9KSq|JeK47omdA>*tnaQ>4q8DGRR06TOzl5?vABG`nAUyI9QkfB zR`FellugSLmilEdtg!YpzNhrsc+EwT6&7Lj1!URUb)V&XLM&U@>Kn*%v~N#lkwFTY z-$RzG{Rw!c{AERsQS|&XWJQA7U-`VaytN}eT<10Hpfbiz^&e3pru~~QkoH()mtyEA z$ck&fn#>|^D46~hSqbfu;t!TTyYeqP(l$mD>=ju^iX_aIzwT(_b7W@Ptjb(`lOrjU zm)y-39a5^R-||+p;9L(;0O0NzzU$dI^w66h33D%Ks{zfV^&Kpr0EJs-2W%q_<^NSE z7>9Wzbcg$SrnY#7%s9*^ncpKK;;?{35}#)U9V&+~W(4e5ociw$$`_``DkjD`-+Nn& zPWIjt#c}jRVbK?`8?Op4CgI$a(D?byRE~P>gsQ5&U!a{tRk-hqx8pYxu4*o+HdFET z_$d=NF;2;<^wR%pJ9brb8EHC#m&0B+>oDX`6jQ!PWf1yFCOKua1TIsYDhCz3f?Kt? zoTSYg7SmPw3Zh3o-%6w^w6az?6BiYKdRP4(?PyhdfP}81V&AS9tGx_tQ%Dm6B6O7M8cD3M2S_NiR6TUjRNv|slMXi zVb9~#p(I*Jm3?R2Dm~>{XeqnuU7kRCLLgEVNP7aUDDa5yc4k5%iW1&>%fz+Ea7W`X zII$a*qwZ>0&4I0Hrh%Y+lfha%!3@@g8J-dF7^1j4F5JrtiVd_D0_^vC&s_p^@Ev}e_c8$FE2squ<|5-FrdDqFVKFW zzohHu?Z3|%|IoQR@NVgl`FhuPxb<=OlWyqKB^~x_OI6kjS*V9ROov6V9yY=mxDP7u zHivI>c8r~1uW|MVoW0KZ5dRLQZz^M9d^CIl_*jbkXzwV0RW9APt?~?y;5q9l51;n% z6%U{F@O}@U_wYdvU-0lD4`1@|5f5MFQMB{0hcA1SM?HMb!v{P}$81d54SsLxNzr}~^IDyfl3nHwl>2j)cv z9`-lO3ul|sJrVG-y8v#}H`66dm3rhmXDQQ+PaJ?p^Y+yPNa(K!8XM9_iSU68`6o8f#POv_e9EeRsBUALuC5V`E6d z_I2*w&+)W~m9P?YPh&m;c;GfBi@+oiV?t!7m#zc?o_Clux#uwbrp9%T0`4h1e(dm) zih$vhaJ#_zHurAKtQfN`>b$ACbMe$kt|*ugsmKhGm78|Yb1%~fU>@f%%$v^O0ms6K zNXH;`A`#P>d%t}5o>csPNOd_d6kRwuM^5pD+2Bd9tz4t&t-&IqkDRFNXYKi6q zz1PtDJZbt*AYys5(9n$ zN~_b$A1`z0MBbi^$=o^ejq};QE4a);D!!jeIZA0J$F@qOURAlop{r_+xfeKeS8Kvu z1~X*vLR-(wDhay+vu;+l!fdLbDet!AEX=9$n0plF%KaCX^A+;-3xf+@Y@D>S=OMpC zIs2iazOQ0tqyARW|Hb&SZTweqci`uBgXYUA!+Je6u800Eui78y<&2Ao;H|8M^|Bpo zryRQY&8RN)01gqq_O9g(5 zJbmfwB}~f2DuMxmL4wtonTs`4T1&8wU_HUm47vVt-7;ctrTR94VS??MGV9EC=4Lj` z(5FwEQR>ci&g+_2$_0%8UgF|)F6V}#C`QOIbR)76g>srC>~)5;j1z zmaq|GwS=7zuO)1TL@i+uk`siA-$8dP)YXctfmAJF8>DLqYavrh*bdoR!g{DD!i~AW zksXFy4XJ{(b;dz*LxEV%p2F_PffTQl^;Hnn*XPuKdb(;VO$LD4tyNS zndiehtPjG!R6;+BI4qC%dI@NT8PE&MSSxE|eXO6Y0eob$2VnZBWHoE7GQdv%bAhF?}fny^_-bD4wKn!nao^}!`RZ8 z$udz0g_)H}r8%>Tbz%G#)h^$Ec8Qua@z`DeTw4QuDB=Obe*-GP-uPg4&GxyO*qm zmBva8ub%?~XDqIzgwAy+;P;JGpGhM0V`an25@DG)PP anyhow::Result<()> { let validator_info = validator_config.to_validator_info(format!("validator-{i}")); let validator_addr = validator_info.info.iota_address(); validators.push(validator_addr); - key_pairs.push(validator_config.key_pair); + key_pairs.push(validator_config.authority_key_pair); builder = builder.add_validator(validator_info.info, validator_info.proof_of_possession); } diff --git a/crates/iota-genesis-builder/examples/build_stardust_genesis.rs b/crates/iota-genesis-builder/examples/build_stardust_genesis.rs index 28614f43013..2eb01e6e3df 100644 --- a/crates/iota-genesis-builder/examples/build_stardust_genesis.rs +++ b/crates/iota-genesis-builder/examples/build_stardust_genesis.rs @@ -43,7 +43,7 @@ fn main() -> anyhow::Result<()> { let validator_info = validator_config.to_validator_info(format!("validator-{i}")); let validator_addr = validator_info.info.iota_address(); validators.push(validator_addr); - key_pairs.push(validator_config.key_pair); + key_pairs.push(validator_config.authority_key_pair); builder = builder.add_validator(validator_info.info, validator_info.proof_of_possession); } diff --git a/crates/iota-genesis-builder/examples/build_stardust_genesis_from_s3.rs b/crates/iota-genesis-builder/examples/build_stardust_genesis_from_s3.rs index 2fca34d7681..8c12bb1798b 100644 --- a/crates/iota-genesis-builder/examples/build_stardust_genesis_from_s3.rs +++ b/crates/iota-genesis-builder/examples/build_stardust_genesis_from_s3.rs @@ -49,7 +49,7 @@ async fn main() -> anyhow::Result<()> { let validator_config = ValidatorGenesisConfigBuilder::default().build(&mut rng); let validator_info = validator_config.to_validator_info(format!("validator-{i}")); builder = builder.add_validator(validator_info.info, validator_info.proof_of_possession); - key_pairs.push(validator_config.key_pair); + key_pairs.push(validator_config.authority_key_pair); } builder = tokio::task::spawn_blocking(move || { diff --git a/crates/iota-genesis-builder/src/lib.rs b/crates/iota-genesis-builder/src/lib.rs index b0d6baa2622..9ae05e5420a 100644 --- a/crates/iota-genesis-builder/src/lib.rs +++ b/crates/iota-genesis-builder/src/lib.rs @@ -194,7 +194,7 @@ impl Builder { proof_of_possession: AuthoritySignature, ) -> Self { self.validators - .insert(validator.protocol_key(), GenesisValidatorInfo { + .insert(validator.authority_key(), GenesisValidatorInfo { info: validator, proof_of_possession, }); @@ -510,9 +510,9 @@ impl Builder { .is_none() ); assert_eq!(validator.info.iota_address(), metadata.iota_address); - assert_eq!(validator.info.protocol_key(), metadata.iota_pubkey_bytes()); + assert_eq!(validator.info.authority_key(), metadata.iota_pubkey_bytes()); assert_eq!(validator.info.network_key, metadata.network_pubkey); - assert_eq!(validator.info.worker_key, metadata.worker_pubkey); + assert_eq!(validator.info.protocol_key, metadata.protocol_pubkey); assert_eq!( validator.proof_of_possession.as_ref().to_vec(), metadata.proof_of_possession_bytes @@ -523,14 +523,7 @@ impl Builder { assert_eq!(validator.info.project_url, metadata.project_url); assert_eq!(validator.info.network_address(), &metadata.net_address); assert_eq!(validator.info.p2p_address, metadata.p2p_address); - assert_eq!( - validator.info.narwhal_primary_address, - metadata.primary_address - ); - assert_eq!( - validator.info.narwhal_worker_address, - metadata.worker_address - ); + assert_eq!(validator.info.primary_address, metadata.primary_address); assert_eq!(validator.info.gas_price, onchain_validator.gas_price); assert_eq!( @@ -784,7 +777,7 @@ impl Builder { let path = entry.path(); let validator_info: GenesisValidatorInfo = serde_yaml::from_slice(&fs::read(path)?) .with_context(|| format!("unable to load validator info for {path}"))?; - committee.insert(validator_info.info.protocol_key(), validator_info); + committee.insert(validator_info.info.authority_key(), validator_info); } // Load Signatures @@ -1769,27 +1762,26 @@ mod test { async fn ceremony() { let dir = tempfile::TempDir::new().unwrap(); - let key: AuthorityKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; - let worker_key: NetworkKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; + let authority_key: AuthorityKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; + let protocol_key: NetworkKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; let account_key: AccountKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; let network_key: NetworkKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; let validator = ValidatorInfo { name: "0".into(), - protocol_key: key.public().into(), - worker_key: worker_key.public().clone(), + authority_key: authority_key.public().into(), + protocol_key: protocol_key.public().clone(), account_address: IotaAddress::from(account_key.public()), network_key: network_key.public().clone(), gas_price: DEFAULT_VALIDATOR_GAS_PRICE, commission_rate: DEFAULT_COMMISSION_RATE, network_address: local_ip_utils::new_local_tcp_address_for_testing(), p2p_address: local_ip_utils::new_local_udp_address_for_testing(), - narwhal_primary_address: local_ip_utils::new_local_udp_address_for_testing(), - narwhal_worker_address: local_ip_utils::new_local_udp_address_for_testing(), + primary_address: local_ip_utils::new_local_udp_address_for_testing(), description: String::new(), image_url: String::new(), project_url: String::new(), }; - let pop = generate_proof_of_possession(&key, account_key.public().into()); + let pop = generate_proof_of_possession(&authority_key, account_key.public().into()); let mut builder = Builder::new().add_validator(validator, pop); let genesis = builder.get_or_build_unsigned_genesis(); diff --git a/crates/iota-genesis-builder/src/validator_info.rs b/crates/iota-genesis-builder/src/validator_info.rs index 5d3872c73b6..d8615d31cff 100644 --- a/crates/iota-genesis-builder/src/validator_info.rs +++ b/crates/iota-genesis-builder/src/validator_info.rs @@ -24,15 +24,15 @@ const MAX_VALIDATOR_METADATA_LENGTH: usize = 256; pub struct ValidatorInfo { pub name: String, pub account_address: IotaAddress, - pub protocol_key: AuthorityPublicKeyBytes, - pub worker_key: NetworkPublicKey, + pub authority_key: AuthorityPublicKeyBytes, + pub protocol_key: NetworkPublicKey, pub network_key: NetworkPublicKey, pub gas_price: u64, pub commission_rate: u64, pub network_address: Multiaddr, pub p2p_address: Multiaddr, - pub narwhal_primary_address: Multiaddr, - pub narwhal_worker_address: Multiaddr, + /// Primary address used for consensus-related inter-node communication. + pub primary_address: Multiaddr, pub description: String, pub image_url: String, pub project_url: String, @@ -47,12 +47,12 @@ impl ValidatorInfo { self.account_address } - pub fn protocol_key(&self) -> AuthorityPublicKeyBytes { - self.protocol_key + pub fn authority_key(&self) -> AuthorityPublicKeyBytes { + self.authority_key } - pub fn worker_key(&self) -> &NetworkPublicKey { - &self.worker_key + pub fn protocol_key(&self) -> &NetworkPublicKey { + &self.protocol_key } pub fn network_key(&self) -> &NetworkPublicKey { @@ -71,12 +71,8 @@ impl ValidatorInfo { &self.network_address } - pub fn narwhal_primary_address(&self) -> &Multiaddr { - &self.narwhal_primary_address - } - - pub fn narwhal_worker_address(&self) -> &Multiaddr { - &self.narwhal_worker_address + pub fn primary_address(&self) -> &Multiaddr { + &self.primary_address } pub fn p2p_address(&self) -> &Multiaddr { @@ -129,38 +125,28 @@ impl GenesisValidatorInfo { bail!("p2p address must be <= {MAX_VALIDATOR_METADATA_LENGTH} bytes long"); } - if !self.info.narwhal_primary_address.to_string().is_ascii() { + if !self.info.primary_address.to_string().is_ascii() { bail!("primary address must be ascii"); } - if self.info.narwhal_primary_address.len() > MAX_VALIDATOR_METADATA_LENGTH { + if self.info.primary_address.len() > MAX_VALIDATOR_METADATA_LENGTH { bail!("primary address must be <= {MAX_VALIDATOR_METADATA_LENGTH} bytes long"); } - if !self.info.narwhal_worker_address.to_string().is_ascii() { - bail!("worker address must be ascii"); - } - if self.info.narwhal_worker_address.len() > MAX_VALIDATOR_METADATA_LENGTH { - bail!("worker address must be <= {MAX_VALIDATOR_METADATA_LENGTH} bytes long"); - } - if let Err(e) = self.info.p2p_address.to_anemo_address() { bail!("p2p address must be valid anemo address: {e}"); } - if let Err(e) = self.info.narwhal_primary_address.to_anemo_address() { + if let Err(e) = self.info.primary_address.to_anemo_address() { bail!("primary address must be valid anemo address: {e}"); } - if let Err(e) = self.info.narwhal_worker_address.to_anemo_address() { - bail!("worker address must be valid anemo address: {e}"); - } if self.info.commission_rate > 10000 { bail!("commissions rate must be lower than 100%"); } - let protocol_pubkey = AuthorityPublicKey::from_bytes(self.info.protocol_key.as_ref())?; + let authority_pubkey = AuthorityPublicKey::from_bytes(self.info.authority_key.as_ref())?; if let Err(e) = verify_proof_of_possession( &self.proof_of_possession, - &protocol_pubkey, + &authority_pubkey, self.info.account_address, ) { bail!("proof of possession is incorrect: {e}"); @@ -185,14 +171,13 @@ impl From for GenesisValidatorMetadata { iota_address: info.account_address, gas_price: info.gas_price, commission_rate: info.commission_rate, - protocol_public_key: info.protocol_key.as_bytes().to_vec(), + authority_public_key: info.authority_key.as_bytes().to_vec(), proof_of_possession: proof_of_possession.as_ref().to_vec(), network_public_key: info.network_key.as_bytes().to_vec(), - worker_public_key: info.worker_key.as_bytes().to_vec(), + protocol_public_key: info.protocol_key.as_bytes().to_vec(), network_address: info.network_address, p2p_address: info.p2p_address, - primary_address: info.narwhal_primary_address, - worker_address: info.narwhal_worker_address, + primary_address: info.primary_address, } } } @@ -210,14 +195,13 @@ pub struct GenesisValidatorMetadata { pub gas_price: u64, pub commission_rate: u64, - pub protocol_public_key: Vec, // AuthorityPublicKeyBytes, - pub proof_of_possession: Vec, // AuthoritySignature, + pub authority_public_key: Vec, // AuthorityPublicKeyBytes, + pub proof_of_possession: Vec, // AuthoritySignature, - pub network_public_key: Vec, // NetworkPublicKey, - pub worker_public_key: Vec, // NetworkPublicKey, + pub network_public_key: Vec, // NetworkPublicKey, + pub protocol_public_key: Vec, // NetworkPublicKey, pub network_address: Multiaddr, pub p2p_address: Multiaddr, pub primary_address: Multiaddr, - pub worker_address: Multiaddr, } diff --git a/crates/iota-graphql-e2e-tests/tests/available_range/available_range.exp b/crates/iota-graphql-e2e-tests/tests/available_range/available_range.exp index 754961aae97..1a6837056ef 100644 --- a/crates/iota-graphql-e2e-tests/tests/available_range/available_range.exp +++ b/crates/iota-graphql-e2e-tests/tests/available_range/available_range.exp @@ -6,20 +6,20 @@ Response: { "data": { "availableRange": { "first": { - "digest": "7GqDJnD2N6yvWc8bGS1L3ZLYYiX6n7dDWs3mbaXMKtkj", + "digest": "AMwdGDcyNcxfCjDRN9y9AwYfuHHVrzd55rHKpwyfBimJ", "sequenceNumber": 0 }, "last": { - "digest": "7GqDJnD2N6yvWc8bGS1L3ZLYYiX6n7dDWs3mbaXMKtkj", + "digest": "AMwdGDcyNcxfCjDRN9y9AwYfuHHVrzd55rHKpwyfBimJ", "sequenceNumber": 0 } }, "first": { - "digest": "7GqDJnD2N6yvWc8bGS1L3ZLYYiX6n7dDWs3mbaXMKtkj", + "digest": "AMwdGDcyNcxfCjDRN9y9AwYfuHHVrzd55rHKpwyfBimJ", "sequenceNumber": 0 }, "last": { - "digest": "7GqDJnD2N6yvWc8bGS1L3ZLYYiX6n7dDWs3mbaXMKtkj", + "digest": "AMwdGDcyNcxfCjDRN9y9AwYfuHHVrzd55rHKpwyfBimJ", "sequenceNumber": 0 } } @@ -39,20 +39,20 @@ Response: { "data": { "availableRange": { "first": { - "digest": "7GqDJnD2N6yvWc8bGS1L3ZLYYiX6n7dDWs3mbaXMKtkj", + "digest": "AMwdGDcyNcxfCjDRN9y9AwYfuHHVrzd55rHKpwyfBimJ", "sequenceNumber": 0 }, "last": { - "digest": "BPDjFsHbzmTyxsZq12R48ZSrnVLEDumZYpDKjx16RkhL", + "digest": "J1FHC69SWBoxSNVUVMKxWZt5jzZACEiFxDgYAj2MuNP8", "sequenceNumber": 2 } }, "first": { - "digest": "7GqDJnD2N6yvWc8bGS1L3ZLYYiX6n7dDWs3mbaXMKtkj", + "digest": "AMwdGDcyNcxfCjDRN9y9AwYfuHHVrzd55rHKpwyfBimJ", "sequenceNumber": 0 }, "last": { - "digest": "BPDjFsHbzmTyxsZq12R48ZSrnVLEDumZYpDKjx16RkhL", + "digest": "J1FHC69SWBoxSNVUVMKxWZt5jzZACEiFxDgYAj2MuNP8", "sequenceNumber": 2 } } diff --git a/crates/iota-graphql-e2e-tests/tests/call/dynamic_fields.exp b/crates/iota-graphql-e2e-tests/tests/call/dynamic_fields.exp index 352b6e239a1..80bb687132a 100644 --- a/crates/iota-graphql-e2e-tests/tests/call/dynamic_fields.exp +++ b/crates/iota-graphql-e2e-tests/tests/call/dynamic_fields.exp @@ -41,10 +41,10 @@ Response: { { "name": { "type": { - "repr": "vector" + "repr": "bool" }, "data": { - "Vector": [] + "Bool": false }, "bcs": "AA==" }, @@ -55,12 +55,12 @@ Response: { { "name": { "type": { - "repr": "u64" + "repr": "vector" }, "data": { - "Number": "0" + "Vector": [] }, - "bcs": "AAAAAAAAAAA=" + "bcs": "AA==" }, "value": { "__typename": "MoveValue" @@ -77,21 +77,21 @@ Response: { "bcs": "AAAAAAAAAAA=" }, "value": { - "__typename": "MoveObject" + "__typename": "MoveValue" } }, { "name": { "type": { - "repr": "bool" + "repr": "u64" }, "data": { - "Bool": false + "Number": "0" }, - "bcs": "AA==" + "bcs": "AAAAAAAAAAA=" }, "value": { - "__typename": "MoveValue" + "__typename": "MoveObject" } } ] @@ -121,10 +121,10 @@ Response: { { "name": { "type": { - "repr": "vector" + "repr": "bool" }, "data": { - "Vector": [] + "Bool": false }, "bcs": "AA==" }, @@ -135,12 +135,12 @@ Response: { { "name": { "type": { - "repr": "u64" + "repr": "vector" }, "data": { - "Number": "0" + "Vector": [] }, - "bcs": "AAAAAAAAAAA=" + "bcs": "AA==" }, "value": { "__typename": "MoveValue" @@ -157,21 +157,21 @@ Response: { "bcs": "AAAAAAAAAAA=" }, "value": { - "__typename": "MoveObject" + "__typename": "MoveValue" } }, { "name": { "type": { - "repr": "bool" + "repr": "u64" }, "data": { - "Bool": false + "Number": "0" }, - "bcs": "AA==" + "bcs": "AAAAAAAAAAA=" }, "value": { - "__typename": "MoveValue" + "__typename": "MoveObject" } } ] @@ -190,17 +190,17 @@ Response: { { "name": { "type": { - "repr": "vector" + "repr": "bool" }, "data": { - "Vector": [] + "Bool": false }, "bcs": "AA==" }, "value": { - "bcs": "AQAAAAAAAAA=", + "bcs": "AgAAAAAAAAA=", "data": { - "Number": "1" + "Number": "2" }, "__typename": "MoveValue" } @@ -208,17 +208,17 @@ Response: { { "name": { "type": { - "repr": "u64" + "repr": "vector" }, "data": { - "Number": "0" + "Vector": [] }, - "bcs": "AAAAAAAAAAA=" + "bcs": "AA==" }, "value": { - "bcs": "AAAAAAAAAAA=", + "bcs": "AQAAAAAAAAA=", "data": { - "Number": "0" + "Number": "1" }, "__typename": "MoveValue" } @@ -234,25 +234,25 @@ Response: { "bcs": "AAAAAAAAAAA=" }, "value": { - "__typename": "MoveObject" + "bcs": "AAAAAAAAAAA=", + "data": { + "Number": "0" + }, + "__typename": "MoveValue" } }, { "name": { "type": { - "repr": "bool" + "repr": "u64" }, "data": { - "Bool": false + "Number": "0" }, - "bcs": "AA==" + "bcs": "AAAAAAAAAAA=" }, "value": { - "bcs": "AgAAAAAAAAA=", - "data": { - "Number": "2" - }, - "__typename": "MoveValue" + "__typename": "MoveObject" } } ] diff --git a/crates/iota-graphql-e2e-tests/tests/call/simple.exp b/crates/iota-graphql-e2e-tests/tests/call/simple.exp index c87844ae5c5..b021531a44d 100644 --- a/crates/iota-graphql-e2e-tests/tests/call/simple.exp +++ b/crates/iota-graphql-e2e-tests/tests/call/simple.exp @@ -25,14 +25,18 @@ task 4, line 32: //# view-object 0,0 Owner: Account Address ( validator_0 ) Version: 1 -Contents: iota::coin::Coin { +Contents: iota_system::staking_pool::StakedIota { id: iota::object::UID { id: iota::object::ID { bytes: fake(0,0), }, }, - balance: iota::balance::Balance { - value: 300000000000000u64, + pool_id: iota::object::ID { + bytes: _, + }, + stake_activation_epoch: 0u64, + principal: iota::balance::Balance { + value: 1500000000000000u64, }, } @@ -77,7 +81,7 @@ Epoch advanced: 5 task 10, line 44: //# view-checkpoint -CheckpointSummary { epoch: 5, seq: 10, content_digest: CFSSaQ7k9HskTS5ZgnF5rJYTtuYzWU1HLeGbkuUyUUEA, +CheckpointSummary { epoch: 5, seq: 10, content_digest: 2eR3Fe6fAfkyCHD3Ts38QN4wihweGB1TsuWdQTyUjhqw, epoch_rolling_gas_cost_summary: GasCostSummary { computation_cost: 0, storage_cost: 0, storage_rebate: 0, non_refundable_storage_fee: 0 }} task 11, lines 46-51: @@ -155,8 +159,8 @@ Response: { "edges": [ { "node": { - "address": "0x1608877ca139c253697d715a2ed48725c186bf79bfeef411dd4e2b00c6bdea8d", - "digest": "5AwZptpuX6Zm3pVyZxAH14Ybbu12vFxYjnaUtYF5vfwu", + "address": "0x5d742b4abf184b84114a2c388102331916350820d8d09d27fc9c928285fbc45c", + "digest": "smTS4BaZ82dqRsgcYP1mx2NmgBi93WNU5S97qrje46K", "owner": { "__typename": "AddressOwner" } @@ -182,8 +186,8 @@ Response: { "edges": [ { "node": { - "address": "0x1608877ca139c253697d715a2ed48725c186bf79bfeef411dd4e2b00c6bdea8d", - "digest": "5AwZptpuX6Zm3pVyZxAH14Ybbu12vFxYjnaUtYF5vfwu", + "address": "0x5d742b4abf184b84114a2c388102331916350820d8d09d27fc9c928285fbc45c", + "digest": "smTS4BaZ82dqRsgcYP1mx2NmgBi93WNU5S97qrje46K", "owner": { "__typename": "AddressOwner" } @@ -198,7 +202,7 @@ Response: { { "node": { "address": "0x26bf0f03edd09bb3f862e13cec014d17c26dd739d2563d9c704aa8d206301df2", - "digest": "CFPygJWykX4VR2XRumroR1xzqRkWvuw84t8oVbXKojxE", + "digest": "8pafH5S16jKMuaYN7EuvhdPCBTe73C1WAACmtBJg135Q", "owner": { "__typename": "AddressOwner" } @@ -206,8 +210,8 @@ Response: { }, { "node": { - "address": "0x2d73996ed4c45622576a3a1f8d510e463b5bc19b794a38abdd97ff04fc0cfe0f", - "digest": "BFKQyKRDWRdRMgFLTvdPPFdpxF9LR77cXPxMaSZvJU2F", + "address": "0x3442446f02377d1025b211e51564e4f1c9a46845ccad733beeb06180d3f66c31", + "digest": "HMMWrCzpq5MonXNzB1d2KMMAHGR4W33KuoHhF5QRS4HK", "owner": { "__typename": "AddressOwner" } @@ -215,8 +219,8 @@ Response: { }, { "node": { - "address": "0x3442446f02377d1025b211e51564e4f1c9a46845ccad733beeb06180d3f66c31", - "digest": "7THNyvHPZ2X1VisrJpLPCRU62Jnh5CQKcCWSkYBqZHNh", + "address": "0x3c88cad5799a8da0467b8456a7429a97e7c141cfcf25f02faf51aa8cb4840461", + "digest": "5UNMNaEFYvE8iuCLCY173awgnNNfM78XdhtRB1PUUkAN", "owner": { "__typename": "AddressOwner" } @@ -224,8 +228,8 @@ Response: { }, { "node": { - "address": "0x39b3212d7ca502b68569273131de76e469e2393d029166a4395f11e668219d51", - "digest": "DJcz2aAa9Cszp9C1EyEhyQq8GngHDgLFiy2ALR4KwomK", + "address": "0x4662cd0a74f2ee630e0bc4fe9863357169bff8490e00a0c8de72eedbfc9e192f", + "digest": "GmSnCj3RVGsmpc1YjesyZinrb98Y7fok4vaWz3nY1a6Y", "owner": { "__typename": "AddressOwner" } @@ -233,8 +237,8 @@ Response: { }, { "node": { - "address": "0x3c88cad5799a8da0467b8456a7429a97e7c141cfcf25f02faf51aa8cb4840461", - "digest": "GTdAWvcxoVdYULpeNreA5k8qtkqdyvbQtLv4ZyMdrXKp", + "address": "0x4cfad1d6cc89d28c112a64096b16fe3e8fbc819d714871ed452dbb44d45f5cb2", + "digest": "CL76PYiRKRjj2ZkBdhwiv5c1ZakaR5QnnW5nLWxD71ob", "owner": { "__typename": "AddressOwner" } @@ -243,7 +247,7 @@ Response: { { "node": { "address": "0x847c914d647e7387d7cea4db5ad8fefeffe66773635804a991dfd4385fab6a97", - "digest": "BURkA1yytqusJFxoNzmdmgrmTjCANNSD3NXyMdT889qD", + "digest": "J8LZZaGPdwT1MRFnVnireQVuFYgK19BT5uA5TL8P4Mnn", "owner": { "__typename": "AddressOwner" } @@ -252,7 +256,7 @@ Response: { { "node": { "address": "0xa79cc544021a721176cdc4497728ec35a5311b8ff0aa293a5d29c0d32cb56056", - "digest": "4H9Couizps4bSeBeYT8eozPhDfr4qHS6SFHpE2Q1Vsa8", + "digest": "EG6Y3C4mPjnMR3SGFT2XsUBXTPTCsXNPw7PBAjdepjHb", "owner": { "__typename": "AddressOwner" } @@ -261,7 +265,7 @@ Response: { { "node": { "address": "0xac9c2e11aebecd35b4cb15802ca6ad5e64d320204149187ba646a16d07a4934d", - "digest": "mJu6zTakUAde6ogJ3kRTebpbMSRdsVKjL1FYXN4tu6A", + "digest": "34Rc7MLpTWfvfV1YeqkyEn9U8Ziure8F1KVjmCh3p6iS", "owner": { "__typename": "AddressOwner" } @@ -269,8 +273,8 @@ Response: { }, { "node": { - "address": "0xb1dfd4591d07028099000e2fe4c4afac8223b047cbd6b36431157ff45a125ff0", - "digest": "DQxanZq1c5C2anLFnKHohshUzMX9q7PoVMHbihePTooa", + "address": "0xb21c0b03871456040643740e238d03bde38de240d7b17055f4670777a19f07b8", + "digest": "DocRSiZHWBGiB4CMRKaHxa4XPfP3ybrEmxSEp7Go6bwN", "owner": { "__typename": "AddressOwner" } @@ -278,8 +282,8 @@ Response: { }, { "node": { - "address": "0xb21c0b03871456040643740e238d03bde38de240d7b17055f4670777a19f07b8", - "digest": "Cw9TrzJPNrNr9VJ5jWPtpKJGKvwDjb6ba8dRr2UQia7H", + "address": "0xc7b2651a24c952eb731baf4ee7e08376947833231e12d4e09d77b35a284be94f", + "digest": "DSsjw9qvjE9XSapmykPoC9Z1pUhbFENBtL7RDSpTZAr3", "owner": { "__typename": "AddressOwner" } @@ -287,8 +291,8 @@ Response: { }, { "node": { - "address": "0xc92850f727ad46e12d23b68348c4a45f1aecc9c7e3128998366ff5614d735ceb", - "digest": "DQuEwsS3pZiLp6hwh4nuJMbwxborFLRinR1ZGyeYNsqb", + "address": "0xd7c33508b56f0c054c2972007d6fad114c6efaa456fee246126e77024e7cf91e", + "digest": "CANDDJmtqBRSGQqVdmE6RAUkjqdf8omiXUrqFUbhbuGn", "owner": { "__typename": "AddressOwner" } @@ -296,8 +300,8 @@ Response: { }, { "node": { - "address": "0xcdca10a91f667fe1511062c5db4de41b2694819d4bd0139310c7bc07b40ceb87", - "digest": "A2f7QTL5EpT4eNbp779UWNiw1aKrvjst7epVgoonMSd9", + "address": "0xe43d31e12a1be924164da5a406481018dda424b9000990d589861175f64b815d", + "digest": "GV9ef2MUhiv4UaT2Xch812ECifidWvTBdtETfvHfTBUq", "owner": { "__typename": "AddressOwner" } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/balances.exp b/crates/iota-graphql-e2e-tests/tests/consistency/balances.exp index 9d0decda850..eaac69057ca 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/balances.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/balances.exp @@ -80,7 +80,7 @@ Response: { }, { "coinType": { - "repr": "0xb340704a6b41d161cde30f35153f0cd605f1ce10213062e6e2979679c1da9f01::fake::FAKE" + "repr": "0x72b0096564296b83ded200a9cef7f4aa3257b9f63d2cb41305171e2cc3758afd::fake::FAKE" }, "coinObjectCount": 3, "totalBalance": "700" @@ -103,7 +103,7 @@ Response: { { "sender": { "fakeCoinBalance": { - "totalBalance": "400" + "totalBalance": "600" }, "allBalances": { "nodes": [ @@ -116,10 +116,10 @@ Response: { }, { "coinType": { - "repr": "0xb340704a6b41d161cde30f35153f0cd605f1ce10213062e6e2979679c1da9f01::fake::FAKE" + "repr": "0x72b0096564296b83ded200a9cef7f4aa3257b9f63d2cb41305171e2cc3758afd::fake::FAKE" }, "coinObjectCount": 2, - "totalBalance": "400" + "totalBalance": "600" } ] } @@ -152,7 +152,7 @@ Response: { }, { "coinType": { - "repr": "0xb340704a6b41d161cde30f35153f0cd605f1ce10213062e6e2979679c1da9f01::fake::FAKE" + "repr": "0x72b0096564296b83ded200a9cef7f4aa3257b9f63d2cb41305171e2cc3758afd::fake::FAKE" }, "coinObjectCount": 1, "totalBalance": "300" @@ -196,7 +196,7 @@ Response: { }, { "coinType": { - "repr": "0xb340704a6b41d161cde30f35153f0cd605f1ce10213062e6e2979679c1da9f01::fake::FAKE" + "repr": "0x72b0096564296b83ded200a9cef7f4aa3257b9f63d2cb41305171e2cc3758afd::fake::FAKE" }, "coinObjectCount": 3, "totalBalance": "700" @@ -219,7 +219,7 @@ Response: { { "sender": { "fakeCoinBalance": { - "totalBalance": "400" + "totalBalance": "600" }, "allBalances": { "nodes": [ @@ -232,10 +232,10 @@ Response: { }, { "coinType": { - "repr": "0xb340704a6b41d161cde30f35153f0cd605f1ce10213062e6e2979679c1da9f01::fake::FAKE" + "repr": "0x72b0096564296b83ded200a9cef7f4aa3257b9f63d2cb41305171e2cc3758afd::fake::FAKE" }, "coinObjectCount": 2, - "totalBalance": "400" + "totalBalance": "600" } ] } @@ -268,7 +268,7 @@ Response: { }, { "coinType": { - "repr": "0xb340704a6b41d161cde30f35153f0cd605f1ce10213062e6e2979679c1da9f01::fake::FAKE" + "repr": "0x72b0096564296b83ded200a9cef7f4aa3257b9f63d2cb41305171e2cc3758afd::fake::FAKE" }, "coinObjectCount": 1, "totalBalance": "300" @@ -334,7 +334,7 @@ Response: { { "sender": { "fakeCoinBalance": { - "totalBalance": "400" + "totalBalance": "600" }, "allBalances": { "nodes": [ @@ -347,10 +347,10 @@ Response: { }, { "coinType": { - "repr": "0xb340704a6b41d161cde30f35153f0cd605f1ce10213062e6e2979679c1da9f01::fake::FAKE" + "repr": "0x72b0096564296b83ded200a9cef7f4aa3257b9f63d2cb41305171e2cc3758afd::fake::FAKE" }, "coinObjectCount": 2, - "totalBalance": "400" + "totalBalance": "600" } ] } @@ -383,7 +383,7 @@ Response: { }, { "coinType": { - "repr": "0xb340704a6b41d161cde30f35153f0cd605f1ce10213062e6e2979679c1da9f01::fake::FAKE" + "repr": "0x72b0096564296b83ded200a9cef7f4aa3257b9f63d2cb41305171e2cc3758afd::fake::FAKE" }, "coinObjectCount": 1, "totalBalance": "300" diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/checkpoints/transaction_blocks.exp b/crates/iota-graphql-e2e-tests/tests/consistency/checkpoints/transaction_blocks.exp index 3dfdc9412de..254edce1ead 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/checkpoints/transaction_blocks.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/checkpoints/transaction_blocks.exp @@ -94,12 +94,12 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "7LQdDgCP9z8L8yDiYCCty5UZhEqXKToJHgoJy23w2QaU", + "digest": "EwmT47jKmNQDvxQgzwMCzjU7YbDD1aB7XAqDLXFCVk8S", "sender": { "objects": { "edges": [ { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLAwAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTAwAAAAAAAAA=" } ] } @@ -109,12 +109,12 @@ Response: { { "cursor": "eyJjIjozLCJ0IjozLCJpIjpmYWxzZX0", "node": { - "digest": "J7gXZTXkH2A2Q5YfmBXqrSszGrPC17LjcjzcpGhs5VFh", + "digest": "A3BxB2KqSbEY5rzGjhm1FBLmRvVRG9pK8QEuaYnnvMZz", "sender": { "objects": { "edges": [ { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLAwAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTAwAAAAAAAAA=" } ] } @@ -124,12 +124,12 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo0LCJpIjpmYWxzZX0", "node": { - "digest": "9BWpbEeK1ti6kr8byL9RaSPpxqdYS9BVYvs391e3BReZ", + "digest": "3q3x6TLWzA6VGc3uRsxbB3P3pPfeD3W9XwaqbYbE9xac", "sender": { "objects": { "edges": [ { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLAwAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTAwAAAAAAAAA=" } ] } @@ -139,12 +139,12 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo1LCJpIjpmYWxzZX0", "node": { - "digest": "AEW55aznWniryZBnGqbfUNfqCn3Y7vxRKyjB3qQstyUT", + "digest": "9iWLh5uU71BUZapSEAR7K7LN8LCMow3V6TTjtLUn3XmL", "sender": { "objects": { "edges": [ { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLAwAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTAwAAAAAAAAA=" } ] } @@ -161,12 +161,12 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo2LCJpIjpmYWxzZX0", "node": { - "digest": "G3HAB2s6Nbpt4UkxifXQbnM7Xw2UAFiyzZTEc4XznUyx", + "digest": "2WNkedo9ryA7XgpBREdQah76c8yu5h7KmUjD3MGJdsiC", "sender": { "objects": { "edges": [ { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLAwAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTAwAAAAAAAAA=" } ] } @@ -176,12 +176,12 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo3LCJpIjpmYWxzZX0", "node": { - "digest": "AfGFGv7NQ2dnJybrkZyueHGffm6dtDf53drJDTQ35QHj", + "digest": "3Hnz1hLa3UGLRvyophw12hwhfmwnYpJM75fDuT6bWBEB", "sender": { "objects": { "edges": [ { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLAwAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTAwAAAAAAAAA=" } ] } @@ -191,12 +191,12 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo4LCJpIjpmYWxzZX0", "node": { - "digest": "9GASeNsMNUdoXoZYaCQM93gNfwLA3oXFWq7SEGLjmVRf", + "digest": "Bwx7M14Z3TTQ8HjJan4NpfTp9uab6zGZ1t3VyHexrkjY", "sender": { "objects": { "edges": [ { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLAwAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTAwAAAAAAAAA=" } ] } @@ -213,12 +213,12 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo5LCJpIjpmYWxzZX0", "node": { - "digest": "8tLdofXnCLz4vDDzKTYmX2oWe38G1HEtgLp6A7q2ATg6", + "digest": "GB8JFDwwGHRQrDMrbHqHMY5ZtWnWyfk9bzPQCfwQUq1h", "sender": { "objects": { "edges": [ { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLAwAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTAwAAAAAAAAA=" } ] } @@ -228,12 +228,12 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoxMCwiaSI6ZmFsc2V9", "node": { - "digest": "6UsD147qhoUQKoJ2kebmHE1GZEKDbbGCHiMiBhhzSAzR", + "digest": "EqU64iWmUFhMRufjdcNtVKiBkVaGUfHE5b8GGmBvyXaj", "sender": { "objects": { "edges": [ { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLAwAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTAwAAAAAAAAA=" } ] } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/coins.exp b/crates/iota-graphql-e2e-tests/tests/consistency/coins.exp index cc61f42fe8f..7bd89173acd 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/coins.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/coins.exp @@ -33,7 +33,7 @@ Response: { "queryCoinsAtLatest": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAgAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAgAAAAAAAAA=", "node": { "consistentStateForEachCoin": { "owner": { @@ -41,11 +41,11 @@ Response: { "coins": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAgAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAgAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "100200" } @@ -54,26 +54,26 @@ Response: { } }, { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAgAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAgAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } } }, { - "cursor": "ILvmVGP3Hmg3QwQ7PwoHco4cP/RjHm38LLGsiEihLyxaAgAAAAAAAAA=", + "cursor": "IMacInfJfaowDpNNBdkoSgALQyU0WPWhzB0x66+oRDH9AgAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0xbbe65463f71e683743043b3f0a07728e1c3ff4631e6dfc2cb1ac8848a12f2c5a", + "id": "0xc69c2277c97daa300e934d05d9284a000b43253458f5a1cc1d31ebafa84431fd", "balance": { - "value": "100" + "value": "300" } } } @@ -85,7 +85,7 @@ Response: { }, "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "100200" } @@ -94,7 +94,7 @@ Response: { } }, { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAgAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAgAAAAAAAAA=", "node": { "consistentStateForEachCoin": { "owner": { @@ -102,11 +102,11 @@ Response: { "coins": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAgAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAgAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "100200" } @@ -115,26 +115,26 @@ Response: { } }, { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAgAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAgAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } } }, { - "cursor": "ILvmVGP3Hmg3QwQ7PwoHco4cP/RjHm38LLGsiEihLyxaAgAAAAAAAAA=", + "cursor": "IMacInfJfaowDpNNBdkoSgALQyU0WPWhzB0x66+oRDH9AgAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0xbbe65463f71e683743043b3f0a07728e1c3ff4631e6dfc2cb1ac8848a12f2c5a", + "id": "0xc69c2277c97daa300e934d05d9284a000b43253458f5a1cc1d31ebafa84431fd", "balance": { - "value": "100" + "value": "300" } } } @@ -146,16 +146,16 @@ Response: { }, "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } } }, { - "cursor": "ILvmVGP3Hmg3QwQ7PwoHco4cP/RjHm38LLGsiEihLyxaAgAAAAAAAAA=", + "cursor": "IMacInfJfaowDpNNBdkoSgALQyU0WPWhzB0x66+oRDH9AgAAAAAAAAA=", "node": { "consistentStateForEachCoin": { "owner": { @@ -163,11 +163,11 @@ Response: { "coins": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAgAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAgAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "100200" } @@ -176,26 +176,26 @@ Response: { } }, { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAgAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAgAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } } }, { - "cursor": "ILvmVGP3Hmg3QwQ7PwoHco4cP/RjHm38LLGsiEihLyxaAgAAAAAAAAA=", + "cursor": "IMacInfJfaowDpNNBdkoSgALQyU0WPWhzB0x66+oRDH9AgAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0xbbe65463f71e683743043b3f0a07728e1c3ff4631e6dfc2cb1ac8848a12f2c5a", + "id": "0xc69c2277c97daa300e934d05d9284a000b43253458f5a1cc1d31ebafa84431fd", "balance": { - "value": "100" + "value": "300" } } } @@ -207,9 +207,9 @@ Response: { }, "contents": { "json": { - "id": "0xbbe65463f71e683743043b3f0a07728e1c3ff4631e6dfc2cb1ac8848a12f2c5a", + "id": "0xc69c2277c97daa300e934d05d9284a000b43253458f5a1cc1d31ebafa84431fd", "balance": { - "value": "100" + "value": "300" } } } @@ -221,11 +221,11 @@ Response: { "coins": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAgAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAgAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "100200" } @@ -234,26 +234,26 @@ Response: { } }, { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAgAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAgAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } } }, { - "cursor": "ILvmVGP3Hmg3QwQ7PwoHco4cP/RjHm38LLGsiEihLyxaAgAAAAAAAAA=", + "cursor": "IMacInfJfaowDpNNBdkoSgALQyU0WPWhzB0x66+oRDH9AgAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0xbbe65463f71e683743043b3f0a07728e1c3ff4631e6dfc2cb1ac8848a12f2c5a", + "id": "0xc69c2277c97daa300e934d05d9284a000b43253458f5a1cc1d31ebafa84431fd", "balance": { - "value": "100" + "value": "300" } } } @@ -272,7 +272,7 @@ Response: { "queryCoinsAtChkpt1": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAQAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAQAAAAAAAAA=", "node": { "consistentStateForEachCoin": { "owner": { @@ -280,11 +280,11 @@ Response: { "coins": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAQAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "200" } @@ -293,26 +293,26 @@ Response: { } }, { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAQAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } } }, { - "cursor": "ILvmVGP3Hmg3QwQ7PwoHco4cP/RjHm38LLGsiEihLyxaAQAAAAAAAAA=", + "cursor": "IMacInfJfaowDpNNBdkoSgALQyU0WPWhzB0x66+oRDH9AQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0xbbe65463f71e683743043b3f0a07728e1c3ff4631e6dfc2cb1ac8848a12f2c5a", + "id": "0xc69c2277c97daa300e934d05d9284a000b43253458f5a1cc1d31ebafa84431fd", "balance": { - "value": "100" + "value": "300" } } } @@ -324,7 +324,7 @@ Response: { }, "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "200" } @@ -333,7 +333,7 @@ Response: { } }, { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAQAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAQAAAAAAAAA=", "node": { "consistentStateForEachCoin": { "owner": { @@ -341,11 +341,11 @@ Response: { "coins": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAQAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "200" } @@ -354,26 +354,26 @@ Response: { } }, { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAQAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } } }, { - "cursor": "ILvmVGP3Hmg3QwQ7PwoHco4cP/RjHm38LLGsiEihLyxaAQAAAAAAAAA=", + "cursor": "IMacInfJfaowDpNNBdkoSgALQyU0WPWhzB0x66+oRDH9AQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0xbbe65463f71e683743043b3f0a07728e1c3ff4631e6dfc2cb1ac8848a12f2c5a", + "id": "0xc69c2277c97daa300e934d05d9284a000b43253458f5a1cc1d31ebafa84431fd", "balance": { - "value": "100" + "value": "300" } } } @@ -385,9 +385,9 @@ Response: { }, "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } @@ -399,11 +399,11 @@ Response: { "coins": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAQAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "200" } @@ -412,13 +412,13 @@ Response: { } }, { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAQAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } @@ -453,7 +453,7 @@ Response: { "queryCoins": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAwAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAwAAAAAAAAA=", "node": { "owner": { "owner": { @@ -461,11 +461,11 @@ Response: { "coins": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAwAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAwAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "100200" } @@ -479,7 +479,7 @@ Response: { }, "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "100200" } @@ -488,7 +488,7 @@ Response: { } }, { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAwAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAwAAAAAAAAA=", "node": { "owner": { "owner": { @@ -496,26 +496,26 @@ Response: { "coins": { "edges": [ { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAwAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAwAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } } }, { - "cursor": "ILvmVGP3Hmg3QwQ7PwoHco4cP/RjHm38LLGsiEihLyxaAwAAAAAAAAA=", + "cursor": "IMacInfJfaowDpNNBdkoSgALQyU0WPWhzB0x66+oRDH9AwAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0xbbe65463f71e683743043b3f0a07728e1c3ff4631e6dfc2cb1ac8848a12f2c5a", + "id": "0xc69c2277c97daa300e934d05d9284a000b43253458f5a1cc1d31ebafa84431fd", "balance": { - "value": "100" + "value": "300" } } } @@ -527,16 +527,16 @@ Response: { }, "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } } }, { - "cursor": "ILvmVGP3Hmg3QwQ7PwoHco4cP/RjHm38LLGsiEihLyxaAwAAAAAAAAA=", + "cursor": "IMacInfJfaowDpNNBdkoSgALQyU0WPWhzB0x66+oRDH9AwAAAAAAAAA=", "node": { "owner": { "owner": { @@ -544,26 +544,26 @@ Response: { "coins": { "edges": [ { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAwAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAwAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } } }, { - "cursor": "ILvmVGP3Hmg3QwQ7PwoHco4cP/RjHm38LLGsiEihLyxaAwAAAAAAAAA=", + "cursor": "IMacInfJfaowDpNNBdkoSgALQyU0WPWhzB0x66+oRDH9AwAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0xbbe65463f71e683743043b3f0a07728e1c3ff4631e6dfc2cb1ac8848a12f2c5a", + "id": "0xc69c2277c97daa300e934d05d9284a000b43253458f5a1cc1d31ebafa84431fd", "balance": { - "value": "100" + "value": "300" } } } @@ -575,9 +575,9 @@ Response: { }, "contents": { "json": { - "id": "0xbbe65463f71e683743043b3f0a07728e1c3ff4631e6dfc2cb1ac8848a12f2c5a", + "id": "0xc69c2277c97daa300e934d05d9284a000b43253458f5a1cc1d31ebafa84431fd", "balance": { - "value": "100" + "value": "300" } } } @@ -589,11 +589,11 @@ Response: { "coins": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAwAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAwAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "100200" } @@ -608,26 +608,26 @@ Response: { "coins": { "edges": [ { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAwAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAwAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } } }, { - "cursor": "ILvmVGP3Hmg3QwQ7PwoHco4cP/RjHm38LLGsiEihLyxaAwAAAAAAAAA=", + "cursor": "IMacInfJfaowDpNNBdkoSgALQyU0WPWhzB0x66+oRDH9AwAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0xbbe65463f71e683743043b3f0a07728e1c3ff4631e6dfc2cb1ac8848a12f2c5a", + "id": "0xc69c2277c97daa300e934d05d9284a000b43253458f5a1cc1d31ebafa84431fd", "balance": { - "value": "100" + "value": "300" } } } @@ -658,7 +658,7 @@ Response: { "queryCoinsAtChkpt1BeforeSnapshotCatchup": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAQAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAQAAAAAAAAA=", "node": { "consistentStateForEachCoin": { "owner": { @@ -666,11 +666,11 @@ Response: { "coins": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAQAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "200" } @@ -679,26 +679,26 @@ Response: { } }, { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAQAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } } }, { - "cursor": "ILvmVGP3Hmg3QwQ7PwoHco4cP/RjHm38LLGsiEihLyxaAQAAAAAAAAA=", + "cursor": "IMacInfJfaowDpNNBdkoSgALQyU0WPWhzB0x66+oRDH9AQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0xbbe65463f71e683743043b3f0a07728e1c3ff4631e6dfc2cb1ac8848a12f2c5a", + "id": "0xc69c2277c97daa300e934d05d9284a000b43253458f5a1cc1d31ebafa84431fd", "balance": { - "value": "100" + "value": "300" } } } @@ -710,7 +710,7 @@ Response: { }, "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "200" } @@ -719,7 +719,7 @@ Response: { } }, { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAQAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAQAAAAAAAAA=", "node": { "consistentStateForEachCoin": { "owner": { @@ -727,11 +727,11 @@ Response: { "coins": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAQAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "200" } @@ -740,26 +740,26 @@ Response: { } }, { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAQAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } } }, { - "cursor": "ILvmVGP3Hmg3QwQ7PwoHco4cP/RjHm38LLGsiEihLyxaAQAAAAAAAAA=", + "cursor": "IMacInfJfaowDpNNBdkoSgALQyU0WPWhzB0x66+oRDH9AQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0xbbe65463f71e683743043b3f0a07728e1c3ff4631e6dfc2cb1ac8848a12f2c5a", + "id": "0xc69c2277c97daa300e934d05d9284a000b43253458f5a1cc1d31ebafa84431fd", "balance": { - "value": "100" + "value": "300" } } } @@ -771,9 +771,9 @@ Response: { }, "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } @@ -785,11 +785,11 @@ Response: { "coins": { "edges": [ { - "cursor": "IFX99Jrta8GL9ir5z6Asr1HOTGNb9lhaOM291xu/el5JAQAAAAAAAAA=", + "cursor": "IDsIlA02kXloawgaHM7wOcNLPsj7qZUP7GJU5kplSemHAQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x55fdf49aed6bc18bf62af9cfa02caf51ce4c635bf6585a38cdbdd71bbf7a5e49", + "id": "0x3b08940d369179686b081a1ccef039c34b3ec8fba9950fec6254e64a6549e987", "balance": { "value": "200" } @@ -798,13 +798,13 @@ Response: { } }, { - "cursor": "IGDoIzrBh5Wudol8Kx8f2FoV7B/94M7hFWfsh5eO1w+RAQAAAAAAAAA=", + "cursor": "IFYBv/phSqHbWCaiuqdXOLTSGywnKgV6jTvBvpkKEm9pAQAAAAAAAAA=", "node": { "contents": { "json": { - "id": "0x60e8233ac18795ae76897c2b1f1fd85a15ec1ffde0cee11567ec87978ed70f91", + "id": "0x5601bffa614aa1db5826a2baa75738b4d21b2c272a057a8d3bc1be990a126f69", "balance": { - "value": "300" + "value": "100" } } } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/deleted_df.exp b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/deleted_df.exp index 58a213bef2c..a13bd8d86b6 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/deleted_df.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/deleted_df.exp @@ -90,29 +90,29 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IIrnxAoZunee91E+hADKZb2PrG9e+sHetxfXfe8emgXpAQAAAAAAAAA=", + "cursor": "IAlxFqpw4mr33+eCNTC2+MjuleY7rA2fiDMEuaT9vQ7VAQAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmNA==" + "bcs": "A2RmNQ==" }, "value": { - "json": "df4" + "json": "df5" } } }, { - "cursor": "INbtwx6T51Snp79Fl2Ca4MFOXlxAEJ9EpMON6ehkNfiGAQAAAAAAAAA=", + "cursor": "IJnnpAXHeWHn0RxdjnH4UpFwee+KNap3cYsMCArOK0QRAQAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmNQ==" + "bcs": "A2RmNA==" }, "value": { - "json": "df5" + "json": "df4" } } }, { - "cursor": "IPppfz8xQsj+pPDkm1tQ0TBf6KjBUq3o2UY+bw9PFyCUAQAAAAAAAAA=", + "cursor": "IOIK1Pc7k/v+YR5s6nC80BdguWbuJjbYUTR1KFHnGw5LAQAAAAAAAAA=", "node": { "name": { "bcs": "A2RmNg==" @@ -139,29 +139,29 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IIrnxAoZunee91E+hADKZb2PrG9e+sHetxfXfe8emgXpAQAAAAAAAAA=", + "cursor": "IAlxFqpw4mr33+eCNTC2+MjuleY7rA2fiDMEuaT9vQ7VAQAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmNA==" + "bcs": "A2RmNQ==" }, "value": { - "json": "df4" + "json": "df5" } } }, { - "cursor": "INbtwx6T51Snp79Fl2Ca4MFOXlxAEJ9EpMON6ehkNfiGAQAAAAAAAAA=", + "cursor": "IJnnpAXHeWHn0RxdjnH4UpFwee+KNap3cYsMCArOK0QRAQAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmNQ==" + "bcs": "A2RmNA==" }, "value": { - "json": "df5" + "json": "df4" } } }, { - "cursor": "IPppfz8xQsj+pPDkm1tQ0TBf6KjBUq3o2UY+bw9PFyCUAQAAAAAAAAA=", + "cursor": "IOIK1Pc7k/v+YR5s6nC80BdguWbuJjbYUTR1KFHnGw5LAQAAAAAAAAA=", "node": { "name": { "bcs": "A2RmNg==" @@ -188,68 +188,68 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IALdRHIrx84R+fG1yr1Wxc16OBvz0RmMa3wy7ctbBgQnAQAAAAAAAAA=", + "cursor": "IAlxFqpw4mr33+eCNTC2+MjuleY7rA2fiDMEuaT9vQ7VAQAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMg==" + "bcs": "A2RmNQ==" }, "value": { - "json": "df2" + "json": "df5" } } }, { - "cursor": "IIrnxAoZunee91E+hADKZb2PrG9e+sHetxfXfe8emgXpAQAAAAAAAAA=", + "cursor": "IB88rfczUpq6fYbbbtRTLaR+Ut+jA2cnNvJuZoUJuaY/AQAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmNA==" + "bcs": "A2RmMg==" }, "value": { - "json": "df4" + "json": "df2" } } }, { - "cursor": "IJ1G/BGDEFw461FCSmlouwqKQIXNHGgTjH8znbEggOfCAQAAAAAAAAA=", + "cursor": "IJnnpAXHeWHn0RxdjnH4UpFwee+KNap3cYsMCArOK0QRAQAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMw==" + "bcs": "A2RmNA==" }, "value": { - "json": "df3" + "json": "df4" } } }, { - "cursor": "INS8tcKUJUWNfUBrd4BNMFol18/uT3ljmzVo58Neao12AQAAAAAAAAA=", + "cursor": "ILQp8MKg0+1bN22dk59+rm41rfOY8GqwDRyEx14d6VuHAQAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMQ==" + "bcs": "A2RmMw==" }, "value": { - "json": "df1" + "json": "df3" } } }, { - "cursor": "INbtwx6T51Snp79Fl2Ca4MFOXlxAEJ9EpMON6ehkNfiGAQAAAAAAAAA=", + "cursor": "IOIK1Pc7k/v+YR5s6nC80BdguWbuJjbYUTR1KFHnGw5LAQAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmNQ==" + "bcs": "A2RmNg==" }, "value": { - "json": "df5" + "json": "df6" } } }, { - "cursor": "IPppfz8xQsj+pPDkm1tQ0TBf6KjBUq3o2UY+bw9PFyCUAQAAAAAAAAA=", + "cursor": "IPUa99KObozK+eodu97J1FNdwFSMsX8MUw5IP/Sg7Z2aAQAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmNg==" + "bcs": "A2RmMQ==" }, "value": { - "json": "df6" + "json": "df1" } } } @@ -283,29 +283,29 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IIrnxAoZunee91E+hADKZb2PrG9e+sHetxfXfe8emgXpAQAAAAAAAAA=", + "cursor": "IAlxFqpw4mr33+eCNTC2+MjuleY7rA2fiDMEuaT9vQ7VAQAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmNA==" + "bcs": "A2RmNQ==" }, "value": { - "json": "df4" + "json": "df5" } } }, { - "cursor": "INbtwx6T51Snp79Fl2Ca4MFOXlxAEJ9EpMON6ehkNfiGAQAAAAAAAAA=", + "cursor": "IJnnpAXHeWHn0RxdjnH4UpFwee+KNap3cYsMCArOK0QRAQAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmNQ==" + "bcs": "A2RmNA==" }, "value": { - "json": "df5" + "json": "df4" } } }, { - "cursor": "IPppfz8xQsj+pPDkm1tQ0TBf6KjBUq3o2UY+bw9PFyCUAQAAAAAAAAA=", + "cursor": "IOIK1Pc7k/v+YR5s6nC80BdguWbuJjbYUTR1KFHnGw5LAQAAAAAAAAA=", "node": { "name": { "bcs": "A2RmNg==" diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/deleted_dof.exp b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/deleted_dof.exp index 5a458910995..25496ba5c36 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/deleted_dof.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/deleted_dof.exp @@ -41,7 +41,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IDCP7DnOo1FByWDLaYE0hUFTHrstk7awHi4oeUpXDDOwAQAAAAAAAAA=", + "cursor": "IIuU/xNbT0zh6LdGe62NTpOV83IJGGj7O3VED+vISDP0AQAAAAAAAAA=", "node": { "name": { "bcs": "KgAAAAAAAAA=" @@ -49,7 +49,7 @@ Response: { "value": { "contents": { "json": { - "id": "0x442a81a90ef3cc4e6219de967459bd9a0808f7204119f5da0795713f128be6ce", + "id": "0x73e23175c3ca37e0c7d99110edc73a385b4f313e8f27b35dc8231d938d99bbbc", "count": "0" } } @@ -65,7 +65,7 @@ Response: { "value": { "contents": { "json": { - "id": "0x442a81a90ef3cc4e6219de967459bd9a0808f7204119f5da0795713f128be6ce", + "id": "0x73e23175c3ca37e0c7d99110edc73a385b4f313e8f27b35dc8231d938d99bbbc", "count": "0" } } @@ -77,7 +77,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IDCP7DnOo1FByWDLaYE0hUFTHrstk7awHi4oeUpXDDOwAQAAAAAAAAA=", + "cursor": "IIuU/xNbT0zh6LdGe62NTpOV83IJGGj7O3VED+vISDP0AQAAAAAAAAA=", "node": { "name": { "bcs": "KgAAAAAAAAA=" @@ -85,7 +85,7 @@ Response: { "value": { "contents": { "json": { - "id": "0x442a81a90ef3cc4e6219de967459bd9a0808f7204119f5da0795713f128be6ce", + "id": "0x73e23175c3ca37e0c7d99110edc73a385b4f313e8f27b35dc8231d938d99bbbc", "count": "0" } } @@ -101,7 +101,7 @@ Response: { "value": { "contents": { "json": { - "id": "0x442a81a90ef3cc4e6219de967459bd9a0808f7204119f5da0795713f128be6ce", + "id": "0x73e23175c3ca37e0c7d99110edc73a385b4f313e8f27b35dc8231d938d99bbbc", "count": "0" } } @@ -117,7 +117,7 @@ Response: { "value": { "contents": { "json": { - "id": "0x442a81a90ef3cc4e6219de967459bd9a0808f7204119f5da0795713f128be6ce", + "id": "0x73e23175c3ca37e0c7d99110edc73a385b4f313e8f27b35dc8231d938d99bbbc", "count": "0" } } @@ -168,7 +168,7 @@ Response: { "value": { "contents": { "json": { - "id": "0x442a81a90ef3cc4e6219de967459bd9a0808f7204119f5da0795713f128be6ce", + "id": "0x73e23175c3ca37e0c7d99110edc73a385b4f313e8f27b35dc8231d938d99bbbc", "count": "0" } } @@ -222,7 +222,7 @@ Response: { "value": { "contents": { "json": { - "id": "0x442a81a90ef3cc4e6219de967459bd9a0808f7204119f5da0795713f128be6ce", + "id": "0x73e23175c3ca37e0c7d99110edc73a385b4f313e8f27b35dc8231d938d99bbbc", "count": "0" } } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/dof_add_reclaim_transfer.exp b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/dof_add_reclaim_transfer.exp index c372901ca5c..ff72e35572f 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/dof_add_reclaim_transfer.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/dof_add_reclaim_transfer.exp @@ -36,7 +36,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IG4TzVv91AjTjxZ1ZExL33X/Szr8jk4PjnwO5ls8iL/qAQAAAAAAAAA=", + "cursor": "IB3/+PN7K7rz6NhNeXi6jfD/6T7BDjv7nD6f+cyPBoYQAQAAAAAAAAA=", "node": { "name": { "bcs": "KgAAAAAAAAA=" @@ -44,7 +44,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xb96705ece861e953439e1945f0b7bb0b437b229bb0fa645cbec66ce27d84f2f2", + "id": "0x80a0dcf98c3730a1ad5065971b9f22db79bd0f03c044b679699f85187072861e", "count": "0" } } @@ -60,7 +60,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xb96705ece861e953439e1945f0b7bb0b437b229bb0fa645cbec66ce27d84f2f2", + "id": "0x80a0dcf98c3730a1ad5065971b9f22db79bd0f03c044b679699f85187072861e", "count": "0" } } @@ -71,7 +71,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IG4TzVv91AjTjxZ1ZExL33X/Szr8jk4PjnwO5ls8iL/qAQAAAAAAAAA=", + "cursor": "IB3/+PN7K7rz6NhNeXi6jfD/6T7BDjv7nD6f+cyPBoYQAQAAAAAAAAA=", "node": { "name": { "bcs": "KgAAAAAAAAA=" @@ -79,7 +79,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xb96705ece861e953439e1945f0b7bb0b437b229bb0fa645cbec66ce27d84f2f2", + "id": "0x80a0dcf98c3730a1ad5065971b9f22db79bd0f03c044b679699f85187072861e", "count": "0" } } @@ -95,7 +95,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xb96705ece861e953439e1945f0b7bb0b437b229bb0fa645cbec66ce27d84f2f2", + "id": "0x80a0dcf98c3730a1ad5065971b9f22db79bd0f03c044b679699f85187072861e", "count": "0" } } @@ -107,7 +107,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IG4TzVv91AjTjxZ1ZExL33X/Szr8jk4PjnwO5ls8iL/qAQAAAAAAAAA=", + "cursor": "IB3/+PN7K7rz6NhNeXi6jfD/6T7BDjv7nD6f+cyPBoYQAQAAAAAAAAA=", "node": { "name": { "bcs": "KgAAAAAAAAA=" @@ -115,7 +115,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xb96705ece861e953439e1945f0b7bb0b437b229bb0fa645cbec66ce27d84f2f2", + "id": "0x80a0dcf98c3730a1ad5065971b9f22db79bd0f03c044b679699f85187072861e", "count": "0" } } @@ -131,7 +131,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xb96705ece861e953439e1945f0b7bb0b437b229bb0fa645cbec66ce27d84f2f2", + "id": "0x80a0dcf98c3730a1ad5065971b9f22db79bd0f03c044b679699f85187072861e", "count": "0" } } @@ -184,7 +184,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xb96705ece861e953439e1945f0b7bb0b437b229bb0fa645cbec66ce27d84f2f2", + "id": "0x80a0dcf98c3730a1ad5065971b9f22db79bd0f03c044b679699f85187072861e", "count": "0" } } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/dof_add_reclaim_transfer_reclaim_add.exp b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/dof_add_reclaim_transfer_reclaim_add.exp index 2922663060f..e97867682c9 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/dof_add_reclaim_transfer_reclaim_add.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/dof_add_reclaim_transfer_reclaim_add.exp @@ -61,7 +61,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IC3gEyH/BdwzIykCH3lF23k18FvvmhxJtHAfZWp5tccTAQAAAAAAAAA=", + "cursor": "IJ3CIWj66wAVzm6IQ8Mb09LdRnQPAwHDGxrei6kiglGTAQAAAAAAAAA=", "node": { "name": { "bcs": "KgAAAAAAAAA=" @@ -69,7 +69,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xacea050b2761173d591ce5382d54a6d0f33eb91aefe6419557b902ae43647a55", + "id": "0x9ba661467fbe62af4eef8e4cb49aecfcf7cf7d3c7b4604a1acfd978484ac7408", "count": "0" } } @@ -85,7 +85,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xacea050b2761173d591ce5382d54a6d0f33eb91aefe6419557b902ae43647a55", + "id": "0x9ba661467fbe62af4eef8e4cb49aecfcf7cf7d3c7b4604a1acfd978484ac7408", "count": "0" } } @@ -96,7 +96,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IC3gEyH/BdwzIykCH3lF23k18FvvmhxJtHAfZWp5tccTAQAAAAAAAAA=", + "cursor": "IJ3CIWj66wAVzm6IQ8Mb09LdRnQPAwHDGxrei6kiglGTAQAAAAAAAAA=", "node": { "name": { "bcs": "KgAAAAAAAAA=" @@ -104,7 +104,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xacea050b2761173d591ce5382d54a6d0f33eb91aefe6419557b902ae43647a55", + "id": "0x9ba661467fbe62af4eef8e4cb49aecfcf7cf7d3c7b4604a1acfd978484ac7408", "count": "0" } } @@ -120,7 +120,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xacea050b2761173d591ce5382d54a6d0f33eb91aefe6419557b902ae43647a55", + "id": "0x9ba661467fbe62af4eef8e4cb49aecfcf7cf7d3c7b4604a1acfd978484ac7408", "count": "0" } } @@ -139,7 +139,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IC3gEyH/BdwzIykCH3lF23k18FvvmhxJtHAfZWp5tccTAQAAAAAAAAA=", + "cursor": "IJ3CIWj66wAVzm6IQ8Mb09LdRnQPAwHDGxrei6kiglGTAQAAAAAAAAA=", "node": { "name": { "bcs": "KgAAAAAAAAA=" @@ -147,7 +147,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xacea050b2761173d591ce5382d54a6d0f33eb91aefe6419557b902ae43647a55", + "id": "0x9ba661467fbe62af4eef8e4cb49aecfcf7cf7d3c7b4604a1acfd978484ac7408", "count": "0" } } @@ -163,7 +163,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xacea050b2761173d591ce5382d54a6d0f33eb91aefe6419557b902ae43647a55", + "id": "0x9ba661467fbe62af4eef8e4cb49aecfcf7cf7d3c7b4604a1acfd978484ac7408", "count": "0" } } @@ -182,7 +182,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IC3gEyH/BdwzIykCH3lF23k18FvvmhxJtHAfZWp5tccTAQAAAAAAAAA=", + "cursor": "IJ3CIWj66wAVzm6IQ8Mb09LdRnQPAwHDGxrei6kiglGTAQAAAAAAAAA=", "node": { "name": { "bcs": "KgAAAAAAAAA=" @@ -190,7 +190,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xacea050b2761173d591ce5382d54a6d0f33eb91aefe6419557b902ae43647a55", + "id": "0x9ba661467fbe62af4eef8e4cb49aecfcf7cf7d3c7b4604a1acfd978484ac7408", "count": "0" } } @@ -206,7 +206,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xacea050b2761173d591ce5382d54a6d0f33eb91aefe6419557b902ae43647a55", + "id": "0x9ba661467fbe62af4eef8e4cb49aecfcf7cf7d3c7b4604a1acfd978484ac7408", "count": "0" } } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/dynamic_fields.exp b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/dynamic_fields.exp index e29f3f75b70..56056f09dc0 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/dynamic_fields.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/dynamic_fields.exp @@ -84,7 +84,7 @@ task 9, lines 103-165: Response: { "data": { "parent_version_2_no_dof": { - "address": "0x2ee5f1e3d3e81b8a0fcd97260e8f20ec716389baf779238e505ee2c839eee97a", + "address": "0x144f89a25fed0bbcf10d3dc9c9a835c923972f6a652a0e4401c0015c64f2b925", "dynamicFields": { "edges": [] } @@ -93,7 +93,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IJbbxc2a//MPxfMw30k/C2MWV7bvMf/eMVeDS7TSMdWzAQAAAAAAAAA=", + "cursor": "IGq59R92+WYhAA5OcGSYorEkOqTJakh2jG6IyhnVY/rlAQAAAAAAAAA=", "node": { "name": { "bcs": "pAEAAAAAAAA=", @@ -104,7 +104,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xe803a132549bdb868563ed75a11597fb09b1b60dd72d4db6bcce0070fabff30f", + "id": "0x0ac7d3caff6fd8543b45b7f49793d0ce33e73d314a90646f2f3abc0dc0f5e7a6", "count": "1" } } @@ -115,13 +115,13 @@ Response: { } }, "child_version_2_no_parent": { - "address": "0xe803a132549bdb868563ed75a11597fb09b1b60dd72d4db6bcce0070fabff30f", + "address": "0x0ac7d3caff6fd8543b45b7f49793d0ce33e73d314a90646f2f3abc0dc0f5e7a6", "owner": {} }, "child_version_3_has_parent": { "owner": { "parent": { - "address": "0x96dbc5cd9afff30fc5f330df493f0b631657b6ef31ffde3157834bb4d231d5b3" + "address": "0x6ab9f51f76f96621000e4e706498a2b1243aa4c96a48768c6e88ca19d563fae5" } } } @@ -173,63 +173,63 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IDNAem/wkdzeMz6Nwjq2PDJrMuyqqeGaIphh8J2JYdocAgAAAAAAAAA=", + "cursor": "IDdmynPsciuyRWEuGcUCwsXv/s23PYySAE8E6ds44knAAgAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMQ==", + "bcs": "A2RmMg==", "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "json": "df1" + "json": "df2" } } }, { - "cursor": "IJbbxc2a//MPxfMw30k/C2MWV7bvMf/eMVeDS7TSMdWzAgAAAAAAAAA=", + "cursor": "IEB3e0osn0vVUIo8hIaYgcZhigq2Wm8ePPv1mdgKFd/5AgAAAAAAAAA=", "node": { "name": { - "bcs": "pAEAAAAAAAA=", + "bcs": "A2RmMw==", "type": { - "repr": "u64" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "contents": { - "json": { - "id": "0xe803a132549bdb868563ed75a11597fb09b1b60dd72d4db6bcce0070fabff30f", - "count": "2" - } - } + "json": "df3" } } }, { - "cursor": "IKZNJNMbvE0/xZb9FSbRHIq2iaBBW1BxctIQGGBABBW9AgAAAAAAAAA=", + "cursor": "IGq59R92+WYhAA5OcGSYorEkOqTJakh2jG6IyhnVY/rlAgAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMg==", + "bcs": "pAEAAAAAAAA=", "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" + "repr": "u64" } }, "value": { - "json": "df2" + "contents": { + "json": { + "id": "0x0ac7d3caff6fd8543b45b7f49793d0ce33e73d314a90646f2f3abc0dc0f5e7a6", + "count": "2" + } + } } } }, { - "cursor": "IMdlWabBeFMkjyk29O7R/AgcPvisIZUifB2MVY5diT2lAgAAAAAAAAA=", + "cursor": "IMHOuFTfn41iPJnqKDYTTp2Amgl6gV9TCgF5EYXhzDUaAgAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMw==", + "bcs": "A2RmMQ==", "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "json": "df3" + "json": "df1" } } } @@ -240,7 +240,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IJbbxc2a//MPxfMw30k/C2MWV7bvMf/eMVeDS7TSMdWzAgAAAAAAAAA=", + "cursor": "IGq59R92+WYhAA5OcGSYorEkOqTJakh2jG6IyhnVY/rlAgAAAAAAAAA=", "node": { "name": { "bcs": "pAEAAAAAAAA=", @@ -251,7 +251,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xe803a132549bdb868563ed75a11597fb09b1b60dd72d4db6bcce0070fabff30f", + "id": "0x0ac7d3caff6fd8543b45b7f49793d0ce33e73d314a90646f2f3abc0dc0f5e7a6", "count": "1" } } @@ -270,30 +270,16 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IKZNJNMbvE0/xZb9FSbRHIq2iaBBW1BxctIQGGBABBW9AgAAAAAAAAA=", - "node": { - "name": { - "bcs": "A2RmMg==", - "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" - } - }, - "value": { - "json": "df2" - } - } - }, - { - "cursor": "IMdlWabBeFMkjyk29O7R/AgcPvisIZUifB2MVY5diT2lAgAAAAAAAAA=", + "cursor": "IMHOuFTfn41iPJnqKDYTTp2Amgl6gV9TCgF5EYXhzDUaAgAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMw==", + "bcs": "A2RmMQ==", "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "json": "df3" + "json": "df1" } } } @@ -328,7 +314,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xe803a132549bdb868563ed75a11597fb09b1b60dd72d4db6bcce0070fabff30f", + "id": "0x0ac7d3caff6fd8543b45b7f49793d0ce33e73d314a90646f2f3abc0dc0f5e7a6", "count": "1" } } @@ -347,7 +333,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xe803a132549bdb868563ed75a11597fb09b1b60dd72d4db6bcce0070fabff30f", + "id": "0x0ac7d3caff6fd8543b45b7f49793d0ce33e73d314a90646f2f3abc0dc0f5e7a6", "count": "2" } } @@ -412,63 +398,63 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IDNAem/wkdzeMz6Nwjq2PDJrMuyqqeGaIphh8J2JYdocAwAAAAAAAAA=", + "cursor": "IDdmynPsciuyRWEuGcUCwsXv/s23PYySAE8E6ds44knAAwAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMQ==", + "bcs": "A2RmMg==", "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "json": "df1" + "json": "df2" } } }, { - "cursor": "IJbbxc2a//MPxfMw30k/C2MWV7bvMf/eMVeDS7TSMdWzAwAAAAAAAAA=", + "cursor": "IEB3e0osn0vVUIo8hIaYgcZhigq2Wm8ePPv1mdgKFd/5AwAAAAAAAAA=", "node": { "name": { - "bcs": "pAEAAAAAAAA=", + "bcs": "A2RmMw==", "type": { - "repr": "u64" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "contents": { - "json": { - "id": "0xe803a132549bdb868563ed75a11597fb09b1b60dd72d4db6bcce0070fabff30f", - "count": "2" - } - } + "json": "df3" } } }, { - "cursor": "IKZNJNMbvE0/xZb9FSbRHIq2iaBBW1BxctIQGGBABBW9AwAAAAAAAAA=", + "cursor": "IGq59R92+WYhAA5OcGSYorEkOqTJakh2jG6IyhnVY/rlAwAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMg==", + "bcs": "pAEAAAAAAAA=", "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" + "repr": "u64" } }, "value": { - "json": "df2" + "contents": { + "json": { + "id": "0x0ac7d3caff6fd8543b45b7f49793d0ce33e73d314a90646f2f3abc0dc0f5e7a6", + "count": "2" + } + } } } }, { - "cursor": "IMdlWabBeFMkjyk29O7R/AgcPvisIZUifB2MVY5diT2lAwAAAAAAAAA=", + "cursor": "IMHOuFTfn41iPJnqKDYTTp2Amgl6gV9TCgF5EYXhzDUaAwAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMw==", + "bcs": "A2RmMQ==", "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "json": "df3" + "json": "df1" } } } @@ -479,30 +465,16 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IKZNJNMbvE0/xZb9FSbRHIq2iaBBW1BxctIQGGBABBW9AgAAAAAAAAA=", + "cursor": "IMHOuFTfn41iPJnqKDYTTp2Amgl6gV9TCgF5EYXhzDUaAgAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMg==", - "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" - } - }, - "value": { - "json": "df2" - } - } - }, - { - "cursor": "IMdlWabBeFMkjyk29O7R/AgcPvisIZUifB2MVY5diT2lAgAAAAAAAAA=", - "node": { - "name": { - "bcs": "A2RmMw==", + "bcs": "A2RmMQ==", "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "json": "df3" + "json": "df1" } } } @@ -513,7 +485,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IBdQmQXltOGJ5loOWtr4HXBAs4FwB9jLmlc/59VoO4XgAwAAAAAAAAA=", + "cursor": "IAECR2fOXHFO08vEcUZpNvzgnhTDUZzomslx9qLEZvv8AwAAAAAAAAA=", "node": { "name": { "bcs": "A2RmNA==", @@ -527,82 +499,82 @@ Response: { } }, { - "cursor": "IDNAem/wkdzeMz6Nwjq2PDJrMuyqqeGaIphh8J2JYdocAwAAAAAAAAA=", + "cursor": "IC70WQdDs6UnCpB5yZ1xZHfSSytat3mLcAW9wyb6gV/YAwAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMQ==", + "bcs": "A2RmNg==", "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "json": "df1" + "json": "df6" } } }, { - "cursor": "IJbbxc2a//MPxfMw30k/C2MWV7bvMf/eMVeDS7TSMdWzAwAAAAAAAAA=", + "cursor": "IDdmynPsciuyRWEuGcUCwsXv/s23PYySAE8E6ds44knAAwAAAAAAAAA=", "node": { "name": { - "bcs": "pAEAAAAAAAA=", + "bcs": "A2RmMg==", "type": { - "repr": "u64" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "contents": { - "json": { - "id": "0xe803a132549bdb868563ed75a11597fb09b1b60dd72d4db6bcce0070fabff30f", - "count": "2" - } - } + "json": "df2" } } }, { - "cursor": "IKZNJNMbvE0/xZb9FSbRHIq2iaBBW1BxctIQGGBABBW9AwAAAAAAAAA=", + "cursor": "IEB3e0osn0vVUIo8hIaYgcZhigq2Wm8ePPv1mdgKFd/5AwAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMg==", + "bcs": "A2RmMw==", "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "json": "df2" + "json": "df3" } } }, { - "cursor": "IMdlWabBeFMkjyk29O7R/AgcPvisIZUifB2MVY5diT2lAwAAAAAAAAA=", + "cursor": "IGq59R92+WYhAA5OcGSYorEkOqTJakh2jG6IyhnVY/rlAwAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMw==", + "bcs": "pAEAAAAAAAA=", "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" + "repr": "u64" } }, "value": { - "json": "df3" + "contents": { + "json": { + "id": "0x0ac7d3caff6fd8543b45b7f49793d0ce33e73d314a90646f2f3abc0dc0f5e7a6", + "count": "2" + } + } } } }, { - "cursor": "IMjXlRKjxj1MJVaDQYRaKctWr/k6i4D0rw2JyWU48o8rAwAAAAAAAAA=", + "cursor": "IMHOuFTfn41iPJnqKDYTTp2Amgl6gV9TCgF5EYXhzDUaAwAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmNg==", + "bcs": "A2RmMQ==", "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "json": "df6" + "json": "df1" } } }, { - "cursor": "IPI8omSF8lEgVmZY1Ud2vxhIs0MdYQjaiUbEzR73ShN1AwAAAAAAAAA=", + "cursor": "IMwQvC/gNVI0QaXqQ85M2/Ld7rFIXUjtdl+l9lZ+S7LFAwAAAAAAAAA=", "node": { "name": { "bcs": "A2RmNQ==", @@ -622,49 +594,21 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IKZNJNMbvE0/xZb9FSbRHIq2iaBBW1BxctIQGGBABBW9AwAAAAAAAAA=", + "cursor": "IMHOuFTfn41iPJnqKDYTTp2Amgl6gV9TCgF5EYXhzDUaAwAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMg==", - "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" - } - }, - "value": { - "json": "df2" - } - } - }, - { - "cursor": "IMdlWabBeFMkjyk29O7R/AgcPvisIZUifB2MVY5diT2lAwAAAAAAAAA=", - "node": { - "name": { - "bcs": "A2RmMw==", - "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" - } - }, - "value": { - "json": "df3" - } - } - }, - { - "cursor": "IMjXlRKjxj1MJVaDQYRaKctWr/k6i4D0rw2JyWU48o8rAwAAAAAAAAA=", - "node": { - "name": { - "bcs": "A2RmNg==", + "bcs": "A2RmMQ==", "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "json": "df6" + "json": "df1" } } }, { - "cursor": "IPI8omSF8lEgVmZY1Ud2vxhIs0MdYQjaiUbEzR73ShN1AwAAAAAAAAA=", + "cursor": "IMwQvC/gNVI0QaXqQ85M2/Ld7rFIXUjtdl+l9lZ+S7LFAwAAAAAAAAA=", "node": { "name": { "bcs": "A2RmNQ==", @@ -727,63 +671,63 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IDNAem/wkdzeMz6Nwjq2PDJrMuyqqeGaIphh8J2JYdocBAAAAAAAAAA=", + "cursor": "IDdmynPsciuyRWEuGcUCwsXv/s23PYySAE8E6ds44knABAAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMQ==", + "bcs": "A2RmMg==", "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "json": "df1" + "json": "df2" } } }, { - "cursor": "IJbbxc2a//MPxfMw30k/C2MWV7bvMf/eMVeDS7TSMdWzBAAAAAAAAAA=", + "cursor": "IEB3e0osn0vVUIo8hIaYgcZhigq2Wm8ePPv1mdgKFd/5BAAAAAAAAAA=", "node": { "name": { - "bcs": "pAEAAAAAAAA=", + "bcs": "A2RmMw==", "type": { - "repr": "u64" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "contents": { - "json": { - "id": "0xe803a132549bdb868563ed75a11597fb09b1b60dd72d4db6bcce0070fabff30f", - "count": "2" - } - } + "json": "df3" } } }, { - "cursor": "IKZNJNMbvE0/xZb9FSbRHIq2iaBBW1BxctIQGGBABBW9BAAAAAAAAAA=", + "cursor": "IGq59R92+WYhAA5OcGSYorEkOqTJakh2jG6IyhnVY/rlBAAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMg==", + "bcs": "pAEAAAAAAAA=", "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" + "repr": "u64" } }, "value": { - "json": "df2" + "contents": { + "json": { + "id": "0x0ac7d3caff6fd8543b45b7f49793d0ce33e73d314a90646f2f3abc0dc0f5e7a6", + "count": "2" + } + } } } }, { - "cursor": "IMdlWabBeFMkjyk29O7R/AgcPvisIZUifB2MVY5diT2lBAAAAAAAAAA=", + "cursor": "IMHOuFTfn41iPJnqKDYTTp2Amgl6gV9TCgF5EYXhzDUaBAAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMw==", + "bcs": "A2RmMQ==", "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "json": "df3" + "json": "df1" } } } @@ -794,30 +738,16 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IKZNJNMbvE0/xZb9FSbRHIq2iaBBW1BxctIQGGBABBW9AgAAAAAAAAA=", + "cursor": "IMHOuFTfn41iPJnqKDYTTp2Amgl6gV9TCgF5EYXhzDUaAgAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMg==", - "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" - } - }, - "value": { - "json": "df2" - } - } - }, - { - "cursor": "IMdlWabBeFMkjyk29O7R/AgcPvisIZUifB2MVY5diT2lAgAAAAAAAAA=", - "node": { - "name": { - "bcs": "A2RmMw==", + "bcs": "A2RmMQ==", "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "json": "df3" + "json": "df1" } } } @@ -828,7 +758,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IBdQmQXltOGJ5loOWtr4HXBAs4FwB9jLmlc/59VoO4XgBAAAAAAAAAA=", + "cursor": "IAECR2fOXHFO08vEcUZpNvzgnhTDUZzomslx9qLEZvv8BAAAAAAAAAA=", "node": { "name": { "bcs": "A2RmNA==", @@ -842,40 +772,40 @@ Response: { } }, { - "cursor": "IJbbxc2a//MPxfMw30k/C2MWV7bvMf/eMVeDS7TSMdWzBAAAAAAAAAA=", + "cursor": "IC70WQdDs6UnCpB5yZ1xZHfSSytat3mLcAW9wyb6gV/YBAAAAAAAAAA=", "node": { "name": { - "bcs": "pAEAAAAAAAA=", + "bcs": "A2RmNg==", "type": { - "repr": "u64" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "contents": { - "json": { - "id": "0xe803a132549bdb868563ed75a11597fb09b1b60dd72d4db6bcce0070fabff30f", - "count": "2" - } - } + "json": "df6" } } }, { - "cursor": "IMjXlRKjxj1MJVaDQYRaKctWr/k6i4D0rw2JyWU48o8rBAAAAAAAAAA=", + "cursor": "IGq59R92+WYhAA5OcGSYorEkOqTJakh2jG6IyhnVY/rlBAAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmNg==", + "bcs": "pAEAAAAAAAA=", "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" + "repr": "u64" } }, "value": { - "json": "df6" + "contents": { + "json": { + "id": "0x0ac7d3caff6fd8543b45b7f49793d0ce33e73d314a90646f2f3abc0dc0f5e7a6", + "count": "2" + } + } } } }, { - "cursor": "IPI8omSF8lEgVmZY1Ud2vxhIs0MdYQjaiUbEzR73ShN1BAAAAAAAAAA=", + "cursor": "IMwQvC/gNVI0QaXqQ85M2/Ld7rFIXUjtdl+l9lZ+S7LFBAAAAAAAAAA=", "node": { "name": { "bcs": "A2RmNQ==", @@ -895,21 +825,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IMjXlRKjxj1MJVaDQYRaKctWr/k6i4D0rw2JyWU48o8rBAAAAAAAAAA=", - "node": { - "name": { - "bcs": "A2RmNg==", - "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" - } - }, - "value": { - "json": "df6" - } - } - }, - { - "cursor": "IPI8omSF8lEgVmZY1Ud2vxhIs0MdYQjaiUbEzR73ShN1BAAAAAAAAAA=", + "cursor": "IMwQvC/gNVI0QaXqQ85M2/Ld7rFIXUjtdl+l9lZ+S7LFBAAAAAAAAAA=", "node": { "name": { "bcs": "A2RmNQ==", @@ -975,7 +891,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IJbbxc2a//MPxfMw30k/C2MWV7bvMf/eMVeDS7TSMdWzBwAAAAAAAAA=", + "cursor": "IGq59R92+WYhAA5OcGSYorEkOqTJakh2jG6IyhnVY/rlBwAAAAAAAAA=", "node": { "name": { "bcs": "pAEAAAAAAAA=", @@ -986,7 +902,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xe803a132549bdb868563ed75a11597fb09b1b60dd72d4db6bcce0070fabff30f", + "id": "0x0ac7d3caff6fd8543b45b7f49793d0ce33e73d314a90646f2f3abc0dc0f5e7a6", "count": "2" } } @@ -1001,7 +917,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IBdQmQXltOGJ5loOWtr4HXBAs4FwB9jLmlc/59VoO4XgBwAAAAAAAAA=", + "cursor": "IAECR2fOXHFO08vEcUZpNvzgnhTDUZzomslx9qLEZvv8BwAAAAAAAAA=", "node": { "name": { "bcs": "A2RmNA==", @@ -1015,40 +931,40 @@ Response: { } }, { - "cursor": "IJbbxc2a//MPxfMw30k/C2MWV7bvMf/eMVeDS7TSMdWzBwAAAAAAAAA=", + "cursor": "IC70WQdDs6UnCpB5yZ1xZHfSSytat3mLcAW9wyb6gV/YBwAAAAAAAAA=", "node": { "name": { - "bcs": "pAEAAAAAAAA=", + "bcs": "A2RmNg==", "type": { - "repr": "u64" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" } }, "value": { - "contents": { - "json": { - "id": "0xe803a132549bdb868563ed75a11597fb09b1b60dd72d4db6bcce0070fabff30f", - "count": "2" - } - } + "json": "df6" } } }, { - "cursor": "IMjXlRKjxj1MJVaDQYRaKctWr/k6i4D0rw2JyWU48o8rBwAAAAAAAAA=", + "cursor": "IGq59R92+WYhAA5OcGSYorEkOqTJakh2jG6IyhnVY/rlBwAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmNg==", + "bcs": "pAEAAAAAAAA=", "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" + "repr": "u64" } }, "value": { - "json": "df6" + "contents": { + "json": { + "id": "0x0ac7d3caff6fd8543b45b7f49793d0ce33e73d314a90646f2f3abc0dc0f5e7a6", + "count": "2" + } + } } } }, { - "cursor": "IPI8omSF8lEgVmZY1Ud2vxhIs0MdYQjaiUbEzR73ShN1BwAAAAAAAAA=", + "cursor": "IMwQvC/gNVI0QaXqQ85M2/Ld7rFIXUjtdl+l9lZ+S7LFBwAAAAAAAAA=", "node": { "name": { "bcs": "A2RmNQ==", @@ -1068,21 +984,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IMjXlRKjxj1MJVaDQYRaKctWr/k6i4D0rw2JyWU48o8rBAAAAAAAAAA=", - "node": { - "name": { - "bcs": "A2RmNg==", - "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String" - } - }, - "value": { - "json": "df6" - } - } - }, - { - "cursor": "IPI8omSF8lEgVmZY1Ud2vxhIs0MdYQjaiUbEzR73ShN1BAAAAAAAAAA=", + "cursor": "IMwQvC/gNVI0QaXqQ85M2/Ld7rFIXUjtdl+l9lZ+S7LFBAAAAAAAAAA=", "node": { "name": { "bcs": "A2RmNQ==", diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/immutable_dof.exp b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/immutable_dof.exp index bec1ee315f6..ccebc85f6c1 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/immutable_dof.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/immutable_dof.exp @@ -58,11 +58,11 @@ Response: { "nodes": [ { "value": { - "address": "0x7da4ebae7df1748d5dd0287f78b20ee0c27363602d4e27861a1a4543c415d1c8", + "address": "0x954877dc60cfd8aa5a1cdb1e53e40ca45949c616e6767758e800e790faecd2d8", "version": 5, "contents": { "json": { - "id": "0x7da4ebae7df1748d5dd0287f78b20ee0c27363602d4e27861a1a4543c415d1c8", + "id": "0x954877dc60cfd8aa5a1cdb1e53e40ca45949c616e6767758e800e790faecd2d8", "count": "0" } }, @@ -86,11 +86,11 @@ Response: { "nodes": [ { "value": { - "address": "0x7da4ebae7df1748d5dd0287f78b20ee0c27363602d4e27861a1a4543c415d1c8", + "address": "0x954877dc60cfd8aa5a1cdb1e53e40ca45949c616e6767758e800e790faecd2d8", "version": 5, "contents": { "json": { - "id": "0x7da4ebae7df1748d5dd0287f78b20ee0c27363602d4e27861a1a4543c415d1c8", + "id": "0x954877dc60cfd8aa5a1cdb1e53e40ca45949c616e6767758e800e790faecd2d8", "count": "0" } }, @@ -98,11 +98,11 @@ Response: { "nodes": [ { "value": { - "address": "0xa00f250bd958d87ccd2d84856ba4fe419ada9207f0777671bbb3a0dd50a4a2bd", + "address": "0x296e61954d174dee57f4a5fe9cab9c3451d4961df27d27c8a4a3a1c349185c4b", "version": 6, "contents": { "json": { - "id": "0xa00f250bd958d87ccd2d84856ba4fe419ada9207f0777671bbb3a0dd50a4a2bd", + "id": "0x296e61954d174dee57f4a5fe9cab9c3451d4961df27d27c8a4a3a1c349185c4b", "count": "0" } } @@ -145,7 +145,7 @@ Response: { "object": { "owner": { "parent": { - "address": "0x6366edebadc095a3bd5a17a36e1b8c3531ebfbd444bd179fc6dd94667ad9dd65" + "address": "0xd553d1752a04a98a3252ac682302b2d5a1f97eba7f752ec3c07f6052738b1b1b" } }, "dynamicFields": { @@ -175,11 +175,11 @@ Response: { "nodes": [ { "value": { - "address": "0xa00f250bd958d87ccd2d84856ba4fe419ada9207f0777671bbb3a0dd50a4a2bd", + "address": "0x296e61954d174dee57f4a5fe9cab9c3451d4961df27d27c8a4a3a1c349185c4b", "version": 6, "contents": { "json": { - "id": "0xa00f250bd958d87ccd2d84856ba4fe419ada9207f0777671bbb3a0dd50a4a2bd", + "id": "0x296e61954d174dee57f4a5fe9cab9c3451d4961df27d27c8a4a3a1c349185c4b", "count": "0" } } @@ -203,11 +203,11 @@ Response: { "nodes": [ { "value": { - "address": "0xa00f250bd958d87ccd2d84856ba4fe419ada9207f0777671bbb3a0dd50a4a2bd", + "address": "0x296e61954d174dee57f4a5fe9cab9c3451d4961df27d27c8a4a3a1c349185c4b", "version": 6, "contents": { "json": { - "id": "0xa00f250bd958d87ccd2d84856ba4fe419ada9207f0777671bbb3a0dd50a4a2bd", + "id": "0x296e61954d174dee57f4a5fe9cab9c3451d4961df27d27c8a4a3a1c349185c4b", "count": "0" } } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/mutated_df.exp b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/mutated_df.exp index e26e3cfa016..184bf20fd4d 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/mutated_df.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/mutated_df.exp @@ -78,18 +78,18 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "ICX2vpajAlJ8NJOOAOxRREhN1+jQRI0zPn1nZF+rpwKxAQAAAAAAAAA=", + "cursor": "IAOBRGK5lD0Nej7HS3XnFrhOWTDVz88WNSLSiQO/2YODAQAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMQ==" + "bcs": "A2RmMg==" }, "value": { - "json": "df1" + "json": "df2" } } }, { - "cursor": "IHn6nT28QrSp7jJEduK+ySatgN2L/nm6EVbYx6SAEJDbAQAAAAAAAAA=", + "cursor": "IFV2VC/Njx0C8OSVu4etZNkBZv792+lw+UdKoPyWgevFAQAAAAAAAAA=", "node": { "name": { "bcs": "A2RmMw==" @@ -100,13 +100,13 @@ Response: { } }, { - "cursor": "IHtiNdxhxr2hdi8FNtuIiaPnrUikJpodCh4bfSrTYUpVAQAAAAAAAAA=", + "cursor": "IGCzvIIt5UFj66EDIc/9FGdPSZDnmwGERDKgDt25QVTPAQAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMg==" + "bcs": "A2RmMQ==" }, "value": { - "json": "df2" + "json": "df1" } } } @@ -154,7 +154,7 @@ Contents: Test::M1::Parent { task 11, line 114: //# run Test::M1::mutate_df1 --sender A --args object(2,0) -mutated: object(0,0), object(2,0), object(4,0) +mutated: object(0,0), object(2,0), object(4,2) gas summary: computation_cost: 1000000, storage_cost: 4484000, storage_rebate: 4423200, non_refundable_storage_fee: 0 task 12, line 116: @@ -201,18 +201,18 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "ICX2vpajAlJ8NJOOAOxRREhN1+jQRI0zPn1nZF+rpwKxAgAAAAAAAAA=", + "cursor": "IAOBRGK5lD0Nej7HS3XnFrhOWTDVz88WNSLSiQO/2YODAgAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMQ==" + "bcs": "A2RmMg==" }, "value": { - "json": "df1_mutated" + "json": "df2" } } }, { - "cursor": "IHn6nT28QrSp7jJEduK+ySatgN2L/nm6EVbYx6SAEJDbAgAAAAAAAAA=", + "cursor": "IFV2VC/Njx0C8OSVu4etZNkBZv792+lw+UdKoPyWgevFAgAAAAAAAAA=", "node": { "name": { "bcs": "A2RmMw==" @@ -223,13 +223,13 @@ Response: { } }, { - "cursor": "IHtiNdxhxr2hdi8FNtuIiaPnrUikJpodCh4bfSrTYUpVAgAAAAAAAAA=", + "cursor": "IGCzvIIt5UFj66EDIc/9FGdPSZDnmwGERDKgDt25QVTPAgAAAAAAAAA=", "node": { "name": { - "bcs": "A2RmMg==" + "bcs": "A2RmMQ==" }, "value": { - "json": "df2" + "json": "df1_mutated" } } } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/mutated_dof.exp b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/mutated_dof.exp index d7f70751066..d9eadb90c90 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/mutated_dof.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/mutated_dof.exp @@ -41,7 +41,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IEnrodHOUwhsq9v06Kh0+DvC+c7wwbItmXfUFpHfkBuHAQAAAAAAAAA=", + "cursor": "IPFVoW6+4tOMuFWJMAkUTL28EhQKr4K5u5KDjyJL22IxAQAAAAAAAAA=", "node": { "name": { "bcs": "KgAAAAAAAAA=" @@ -49,7 +49,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xd4716b7b0c9c1cb17bbe35454f230ec89e547d584216c7477e0f82d86e73d2ed", + "id": "0x33462bf2007040ccc3a9bd9b38e2c2949f069ba336965fb517003380afb1ca8d", "count": "0" } } @@ -65,7 +65,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xd4716b7b0c9c1cb17bbe35454f230ec89e547d584216c7477e0f82d86e73d2ed", + "id": "0x33462bf2007040ccc3a9bd9b38e2c2949f069ba336965fb517003380afb1ca8d", "count": "0" } } @@ -77,7 +77,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IEnrodHOUwhsq9v06Kh0+DvC+c7wwbItmXfUFpHfkBuHAQAAAAAAAAA=", + "cursor": "IPFVoW6+4tOMuFWJMAkUTL28EhQKr4K5u5KDjyJL22IxAQAAAAAAAAA=", "node": { "name": { "bcs": "KgAAAAAAAAA=" @@ -85,7 +85,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xd4716b7b0c9c1cb17bbe35454f230ec89e547d584216c7477e0f82d86e73d2ed", + "id": "0x33462bf2007040ccc3a9bd9b38e2c2949f069ba336965fb517003380afb1ca8d", "count": "0" } } @@ -101,7 +101,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xd4716b7b0c9c1cb17bbe35454f230ec89e547d584216c7477e0f82d86e73d2ed", + "id": "0x33462bf2007040ccc3a9bd9b38e2c2949f069ba336965fb517003380afb1ca8d", "count": "0" } } @@ -117,7 +117,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xd4716b7b0c9c1cb17bbe35454f230ec89e547d584216c7477e0f82d86e73d2ed", + "id": "0x33462bf2007040ccc3a9bd9b38e2c2949f069ba336965fb517003380afb1ca8d", "count": "0" } } @@ -168,7 +168,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xd4716b7b0c9c1cb17bbe35454f230ec89e547d584216c7477e0f82d86e73d2ed", + "id": "0x33462bf2007040ccc3a9bd9b38e2c2949f069ba336965fb517003380afb1ca8d", "count": "0" } } @@ -202,7 +202,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IEnrodHOUwhsq9v06Kh0+DvC+c7wwbItmXfUFpHfkBuHAwAAAAAAAAA=", + "cursor": "IPFVoW6+4tOMuFWJMAkUTL28EhQKr4K5u5KDjyJL22IxAwAAAAAAAAA=", "node": { "name": { "bcs": "KgAAAAAAAAA=" @@ -210,7 +210,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xd4716b7b0c9c1cb17bbe35454f230ec89e547d584216c7477e0f82d86e73d2ed", + "id": "0x33462bf2007040ccc3a9bd9b38e2c2949f069ba336965fb517003380afb1ca8d", "count": "1" } } @@ -226,7 +226,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xd4716b7b0c9c1cb17bbe35454f230ec89e547d584216c7477e0f82d86e73d2ed", + "id": "0x33462bf2007040ccc3a9bd9b38e2c2949f069ba336965fb517003380afb1ca8d", "count": "1" } } @@ -238,7 +238,7 @@ Response: { "dynamicFields": { "edges": [ { - "cursor": "IEnrodHOUwhsq9v06Kh0+DvC+c7wwbItmXfUFpHfkBuHAwAAAAAAAAA=", + "cursor": "IPFVoW6+4tOMuFWJMAkUTL28EhQKr4K5u5KDjyJL22IxAwAAAAAAAAA=", "node": { "name": { "bcs": "KgAAAAAAAAA=" @@ -246,7 +246,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xd4716b7b0c9c1cb17bbe35454f230ec89e547d584216c7477e0f82d86e73d2ed", + "id": "0x33462bf2007040ccc3a9bd9b38e2c2949f069ba336965fb517003380afb1ca8d", "count": "1" } } @@ -262,7 +262,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xd4716b7b0c9c1cb17bbe35454f230ec89e547d584216c7477e0f82d86e73d2ed", + "id": "0x33462bf2007040ccc3a9bd9b38e2c2949f069ba336965fb517003380afb1ca8d", "count": "1" } } @@ -283,7 +283,7 @@ Response: { "value": { "contents": { "json": { - "id": "0xd4716b7b0c9c1cb17bbe35454f230ec89e547d584216c7477e0f82d86e73d2ed", + "id": "0x33462bf2007040ccc3a9bd9b38e2c2949f069ba336965fb517003380afb1ca8d", "count": "0" } } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/nested_dof.exp b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/nested_dof.exp index 5ac0967a5e7..f4e26e3c372 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/nested_dof.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/dynamic_fields/nested_dof.exp @@ -62,11 +62,11 @@ Response: { "nodes": [ { "value": { - "address": "0xfa2cc1f216b79aa7ea2a8d761cec51908a75a7d36544ed0aaa4a39366a615ebc", + "address": "0xe0f588e2ad8e6a1d63c189d3c92a70816d4eb8325cb5292739752e01100e89dc", "version": 5, "contents": { "json": { - "id": "0xfa2cc1f216b79aa7ea2a8d761cec51908a75a7d36544ed0aaa4a39366a615ebc", + "id": "0xe0f588e2ad8e6a1d63c189d3c92a70816d4eb8325cb5292739752e01100e89dc", "count": "0" } }, @@ -90,11 +90,11 @@ Response: { "nodes": [ { "value": { - "address": "0xfa2cc1f216b79aa7ea2a8d761cec51908a75a7d36544ed0aaa4a39366a615ebc", + "address": "0xe0f588e2ad8e6a1d63c189d3c92a70816d4eb8325cb5292739752e01100e89dc", "version": 5, "contents": { "json": { - "id": "0xfa2cc1f216b79aa7ea2a8d761cec51908a75a7d36544ed0aaa4a39366a615ebc", + "id": "0xe0f588e2ad8e6a1d63c189d3c92a70816d4eb8325cb5292739752e01100e89dc", "count": "0" } }, @@ -102,11 +102,11 @@ Response: { "nodes": [ { "value": { - "address": "0x9163827f54a0c8c755cdd0c7ba5a2e6e90e3b7cf268281bf6ff0b512631a91c7", + "address": "0x112e84595495024dd53c12d1c45f71a2493266a63b3cebe0ef5379b8dbe5f0e9", "version": 6, "contents": { "json": { - "id": "0x9163827f54a0c8c755cdd0c7ba5a2e6e90e3b7cf268281bf6ff0b512631a91c7", + "id": "0x112e84595495024dd53c12d1c45f71a2493266a63b3cebe0ef5379b8dbe5f0e9", "count": "0" } } @@ -131,11 +131,11 @@ Response: { "nodes": [ { "value": { - "address": "0xfa2cc1f216b79aa7ea2a8d761cec51908a75a7d36544ed0aaa4a39366a615ebc", + "address": "0xe0f588e2ad8e6a1d63c189d3c92a70816d4eb8325cb5292739752e01100e89dc", "version": 7, "contents": { "json": { - "id": "0xfa2cc1f216b79aa7ea2a8d761cec51908a75a7d36544ed0aaa4a39366a615ebc", + "id": "0xe0f588e2ad8e6a1d63c189d3c92a70816d4eb8325cb5292739752e01100e89dc", "count": "1" } }, @@ -143,11 +143,11 @@ Response: { "nodes": [ { "value": { - "address": "0x9163827f54a0c8c755cdd0c7ba5a2e6e90e3b7cf268281bf6ff0b512631a91c7", + "address": "0x112e84595495024dd53c12d1c45f71a2493266a63b3cebe0ef5379b8dbe5f0e9", "version": 6, "contents": { "json": { - "id": "0x9163827f54a0c8c755cdd0c7ba5a2e6e90e3b7cf268281bf6ff0b512631a91c7", + "id": "0x112e84595495024dd53c12d1c45f71a2493266a63b3cebe0ef5379b8dbe5f0e9", "count": "0" } } @@ -172,11 +172,11 @@ Response: { "nodes": [ { "value": { - "address": "0xfa2cc1f216b79aa7ea2a8d761cec51908a75a7d36544ed0aaa4a39366a615ebc", + "address": "0xe0f588e2ad8e6a1d63c189d3c92a70816d4eb8325cb5292739752e01100e89dc", "version": 7, "contents": { "json": { - "id": "0xfa2cc1f216b79aa7ea2a8d761cec51908a75a7d36544ed0aaa4a39366a615ebc", + "id": "0xe0f588e2ad8e6a1d63c189d3c92a70816d4eb8325cb5292739752e01100e89dc", "count": "1" } }, @@ -184,11 +184,11 @@ Response: { "nodes": [ { "value": { - "address": "0x9163827f54a0c8c755cdd0c7ba5a2e6e90e3b7cf268281bf6ff0b512631a91c7", + "address": "0x112e84595495024dd53c12d1c45f71a2493266a63b3cebe0ef5379b8dbe5f0e9", "version": 8, "contents": { "json": { - "id": "0x9163827f54a0c8c755cdd0c7ba5a2e6e90e3b7cf268281bf6ff0b512631a91c7", + "id": "0x112e84595495024dd53c12d1c45f71a2493266a63b3cebe0ef5379b8dbe5f0e9", "count": "1" } } @@ -233,11 +233,11 @@ Response: { "nodes": [ { "value": { - "address": "0x9163827f54a0c8c755cdd0c7ba5a2e6e90e3b7cf268281bf6ff0b512631a91c7", + "address": "0x112e84595495024dd53c12d1c45f71a2493266a63b3cebe0ef5379b8dbe5f0e9", "version": 6, "contents": { "json": { - "id": "0x9163827f54a0c8c755cdd0c7ba5a2e6e90e3b7cf268281bf6ff0b512631a91c7", + "id": "0x112e84595495024dd53c12d1c45f71a2493266a63b3cebe0ef5379b8dbe5f0e9", "count": "0" } } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/epochs/transaction_blocks.exp b/crates/iota-graphql-e2e-tests/tests/consistency/epochs/transaction_blocks.exp index fc1f0124379..d39f996d0cd 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/epochs/transaction_blocks.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/epochs/transaction_blocks.exp @@ -41,19 +41,19 @@ Response: { { "cursor": "eyJjIjozLCJ0IjowLCJpIjpmYWxzZX0", "node": { - "digest": "64qAV8FFh1QVid2xtt1Xv1jiHVm8kpwYui3jBXDMbfmT" + "digest": "5kxKxJyFgHd4UJ5hRdDAqFKpxQ2By93WD5QBirmGxV5G" } }, { "cursor": "eyJjIjozLCJ0IjoxLCJpIjpmYWxzZX0", "node": { - "digest": "FSABM7y1qrcK8GiQFWQMDUHhyWSeYYCeBqtT55ZHYmQq" + "digest": "E6pjAnqyNZQ8Ye87uV6Twx5XTQdQ7jbFTrq2XKfjKLUd" } }, { "cursor": "eyJjIjozLCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "7LQdDgCP9z8L8yDiYCCty5UZhEqXKToJHgoJy23w2QaU" + "digest": "EwmT47jKmNQDvxQgzwMCzjU7YbDD1aB7XAqDLXFCVk8S" } }, { @@ -154,19 +154,19 @@ Response: { { "cursor": "eyJjIjoxMiwidCI6MCwiaSI6ZmFsc2V9", "node": { - "digest": "64qAV8FFh1QVid2xtt1Xv1jiHVm8kpwYui3jBXDMbfmT" + "digest": "5kxKxJyFgHd4UJ5hRdDAqFKpxQ2By93WD5QBirmGxV5G" } }, { "cursor": "eyJjIjoxMiwidCI6MSwiaSI6ZmFsc2V9", "node": { - "digest": "FSABM7y1qrcK8GiQFWQMDUHhyWSeYYCeBqtT55ZHYmQq" + "digest": "E6pjAnqyNZQ8Ye87uV6Twx5XTQdQ7jbFTrq2XKfjKLUd" } }, { "cursor": "eyJjIjoxMiwidCI6MiwiaSI6ZmFsc2V9", "node": { - "digest": "7LQdDgCP9z8L8yDiYCCty5UZhEqXKToJHgoJy23w2QaU" + "digest": "EwmT47jKmNQDvxQgzwMCzjU7YbDD1aB7XAqDLXFCVk8S" } }, { @@ -183,19 +183,19 @@ Response: { { "cursor": "eyJjIjo0LCJ0IjowLCJpIjpmYWxzZX0", "node": { - "digest": "64qAV8FFh1QVid2xtt1Xv1jiHVm8kpwYui3jBXDMbfmT" + "digest": "5kxKxJyFgHd4UJ5hRdDAqFKpxQ2By93WD5QBirmGxV5G" } }, { "cursor": "eyJjIjo0LCJ0IjoxLCJpIjpmYWxzZX0", "node": { - "digest": "FSABM7y1qrcK8GiQFWQMDUHhyWSeYYCeBqtT55ZHYmQq" + "digest": "E6pjAnqyNZQ8Ye87uV6Twx5XTQdQ7jbFTrq2XKfjKLUd" } }, { "cursor": "eyJjIjo0LCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "7LQdDgCP9z8L8yDiYCCty5UZhEqXKToJHgoJy23w2QaU" + "digest": "EwmT47jKmNQDvxQgzwMCzjU7YbDD1aB7XAqDLXFCVk8S" } } ] @@ -207,19 +207,19 @@ Response: { { "cursor": "eyJjIjoxMiwidCI6NCwiaSI6ZmFsc2V9", "node": { - "digest": "J7gXZTXkH2A2Q5YfmBXqrSszGrPC17LjcjzcpGhs5VFh" + "digest": "A3BxB2KqSbEY5rzGjhm1FBLmRvVRG9pK8QEuaYnnvMZz" } }, { "cursor": "eyJjIjoxMiwidCI6NSwiaSI6ZmFsc2V9", "node": { - "digest": "9BWpbEeK1ti6kr8byL9RaSPpxqdYS9BVYvs391e3BReZ" + "digest": "3q3x6TLWzA6VGc3uRsxbB3P3pPfeD3W9XwaqbYbE9xac" } }, { "cursor": "eyJjIjoxMiwidCI6NiwiaSI6ZmFsc2V9", "node": { - "digest": "AEW55aznWniryZBnGqbfUNfqCn3Y7vxRKyjB3qQstyUT" + "digest": "9iWLh5uU71BUZapSEAR7K7LN8LCMow3V6TTjtLUn3XmL" } }, { @@ -236,19 +236,19 @@ Response: { { "cursor": "eyJjIjo4LCJ0IjowLCJpIjpmYWxzZX0", "node": { - "digest": "64qAV8FFh1QVid2xtt1Xv1jiHVm8kpwYui3jBXDMbfmT" + "digest": "5kxKxJyFgHd4UJ5hRdDAqFKpxQ2By93WD5QBirmGxV5G" } }, { "cursor": "eyJjIjo4LCJ0IjoxLCJpIjpmYWxzZX0", "node": { - "digest": "FSABM7y1qrcK8GiQFWQMDUHhyWSeYYCeBqtT55ZHYmQq" + "digest": "E6pjAnqyNZQ8Ye87uV6Twx5XTQdQ7jbFTrq2XKfjKLUd" } }, { "cursor": "eyJjIjo4LCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "7LQdDgCP9z8L8yDiYCCty5UZhEqXKToJHgoJy23w2QaU" + "digest": "EwmT47jKmNQDvxQgzwMCzjU7YbDD1aB7XAqDLXFCVk8S" } }, { @@ -260,19 +260,19 @@ Response: { { "cursor": "eyJjIjo4LCJ0Ijo0LCJpIjpmYWxzZX0", "node": { - "digest": "J7gXZTXkH2A2Q5YfmBXqrSszGrPC17LjcjzcpGhs5VFh" + "digest": "A3BxB2KqSbEY5rzGjhm1FBLmRvVRG9pK8QEuaYnnvMZz" } }, { "cursor": "eyJjIjo4LCJ0Ijo1LCJpIjpmYWxzZX0", "node": { - "digest": "9BWpbEeK1ti6kr8byL9RaSPpxqdYS9BVYvs391e3BReZ" + "digest": "3q3x6TLWzA6VGc3uRsxbB3P3pPfeD3W9XwaqbYbE9xac" } }, { "cursor": "eyJjIjo4LCJ0Ijo2LCJpIjpmYWxzZX0", "node": { - "digest": "AEW55aznWniryZBnGqbfUNfqCn3Y7vxRKyjB3qQstyUT" + "digest": "9iWLh5uU71BUZapSEAR7K7LN8LCMow3V6TTjtLUn3XmL" } } ] @@ -284,19 +284,19 @@ Response: { { "cursor": "eyJjIjoxMiwidCI6OCwiaSI6ZmFsc2V9", "node": { - "digest": "G3HAB2s6Nbpt4UkxifXQbnM7Xw2UAFiyzZTEc4XznUyx" + "digest": "2WNkedo9ryA7XgpBREdQah76c8yu5h7KmUjD3MGJdsiC" } }, { "cursor": "eyJjIjoxMiwidCI6OSwiaSI6ZmFsc2V9", "node": { - "digest": "AfGFGv7NQ2dnJybrkZyueHGffm6dtDf53drJDTQ35QHj" + "digest": "3Hnz1hLa3UGLRvyophw12hwhfmwnYpJM75fDuT6bWBEB" } }, { "cursor": "eyJjIjoxMiwidCI6MTAsImkiOmZhbHNlfQ", "node": { - "digest": "9GASeNsMNUdoXoZYaCQM93gNfwLA3oXFWq7SEGLjmVRf" + "digest": "Bwx7M14Z3TTQ8HjJan4NpfTp9uab6zGZ1t3VyHexrkjY" } }, { @@ -313,19 +313,19 @@ Response: { { "cursor": "eyJjIjoxMiwidCI6MCwiaSI6ZmFsc2V9", "node": { - "digest": "64qAV8FFh1QVid2xtt1Xv1jiHVm8kpwYui3jBXDMbfmT" + "digest": "5kxKxJyFgHd4UJ5hRdDAqFKpxQ2By93WD5QBirmGxV5G" } }, { "cursor": "eyJjIjoxMiwidCI6MSwiaSI6ZmFsc2V9", "node": { - "digest": "FSABM7y1qrcK8GiQFWQMDUHhyWSeYYCeBqtT55ZHYmQq" + "digest": "E6pjAnqyNZQ8Ye87uV6Twx5XTQdQ7jbFTrq2XKfjKLUd" } }, { "cursor": "eyJjIjoxMiwidCI6MiwiaSI6ZmFsc2V9", "node": { - "digest": "7LQdDgCP9z8L8yDiYCCty5UZhEqXKToJHgoJy23w2QaU" + "digest": "EwmT47jKmNQDvxQgzwMCzjU7YbDD1aB7XAqDLXFCVk8S" } }, { @@ -337,19 +337,19 @@ Response: { { "cursor": "eyJjIjoxMiwidCI6NCwiaSI6ZmFsc2V9", "node": { - "digest": "J7gXZTXkH2A2Q5YfmBXqrSszGrPC17LjcjzcpGhs5VFh" + "digest": "A3BxB2KqSbEY5rzGjhm1FBLmRvVRG9pK8QEuaYnnvMZz" } }, { "cursor": "eyJjIjoxMiwidCI6NSwiaSI6ZmFsc2V9", "node": { - "digest": "9BWpbEeK1ti6kr8byL9RaSPpxqdYS9BVYvs391e3BReZ" + "digest": "3q3x6TLWzA6VGc3uRsxbB3P3pPfeD3W9XwaqbYbE9xac" } }, { "cursor": "eyJjIjoxMiwidCI6NiwiaSI6ZmFsc2V9", "node": { - "digest": "AEW55aznWniryZBnGqbfUNfqCn3Y7vxRKyjB3qQstyUT" + "digest": "9iWLh5uU71BUZapSEAR7K7LN8LCMow3V6TTjtLUn3XmL" } }, { @@ -361,19 +361,19 @@ Response: { { "cursor": "eyJjIjoxMiwidCI6OCwiaSI6ZmFsc2V9", "node": { - "digest": "G3HAB2s6Nbpt4UkxifXQbnM7Xw2UAFiyzZTEc4XznUyx" + "digest": "2WNkedo9ryA7XgpBREdQah76c8yu5h7KmUjD3MGJdsiC" } }, { "cursor": "eyJjIjoxMiwidCI6OSwiaSI6ZmFsc2V9", "node": { - "digest": "AfGFGv7NQ2dnJybrkZyueHGffm6dtDf53drJDTQ35QHj" + "digest": "3Hnz1hLa3UGLRvyophw12hwhfmwnYpJM75fDuT6bWBEB" } }, { "cursor": "eyJjIjoxMiwidCI6MTAsImkiOmZhbHNlfQ", "node": { - "digest": "9GASeNsMNUdoXoZYaCQM93gNfwLA3oXFWq7SEGLjmVRf" + "digest": "Bwx7M14Z3TTQ8HjJan4NpfTp9uab6zGZ1t3VyHexrkjY" } } ] @@ -395,13 +395,13 @@ Response: { { "cursor": "eyJjIjo3LCJ0IjoxLCJpIjpmYWxzZX0", "node": { - "digest": "FSABM7y1qrcK8GiQFWQMDUHhyWSeYYCeBqtT55ZHYmQq" + "digest": "E6pjAnqyNZQ8Ye87uV6Twx5XTQdQ7jbFTrq2XKfjKLUd" } }, { "cursor": "eyJjIjo3LCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "7LQdDgCP9z8L8yDiYCCty5UZhEqXKToJHgoJy23w2QaU" + "digest": "EwmT47jKmNQDvxQgzwMCzjU7YbDD1aB7XAqDLXFCVk8S" } }, { @@ -420,13 +420,13 @@ Response: { { "cursor": "eyJjIjoxMSwidCI6NSwiaSI6ZmFsc2V9", "node": { - "digest": "9BWpbEeK1ti6kr8byL9RaSPpxqdYS9BVYvs391e3BReZ" + "digest": "3q3x6TLWzA6VGc3uRsxbB3P3pPfeD3W9XwaqbYbE9xac" } }, { "cursor": "eyJjIjoxMSwidCI6NiwiaSI6ZmFsc2V9", "node": { - "digest": "AEW55aznWniryZBnGqbfUNfqCn3Y7vxRKyjB3qQstyUT" + "digest": "9iWLh5uU71BUZapSEAR7K7LN8LCMow3V6TTjtLUn3XmL" } }, { @@ -445,13 +445,13 @@ Response: { { "cursor": "eyJjIjoxMiwidCI6OSwiaSI6ZmFsc2V9", "node": { - "digest": "AfGFGv7NQ2dnJybrkZyueHGffm6dtDf53drJDTQ35QHj" + "digest": "3Hnz1hLa3UGLRvyophw12hwhfmwnYpJM75fDuT6bWBEB" } }, { "cursor": "eyJjIjoxMiwidCI6MTAsImkiOmZhbHNlfQ", "node": { - "digest": "9GASeNsMNUdoXoZYaCQM93gNfwLA3oXFWq7SEGLjmVRf" + "digest": "Bwx7M14Z3TTQ8HjJan4NpfTp9uab6zGZ1t3VyHexrkjY" } }, { @@ -480,7 +480,7 @@ Response: { { "cursor": "eyJjIjoyLCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "7LQdDgCP9z8L8yDiYCCty5UZhEqXKToJHgoJy23w2QaU" + "digest": "EwmT47jKmNQDvxQgzwMCzjU7YbDD1aB7XAqDLXFCVk8S" } } ] @@ -493,7 +493,7 @@ Response: { { "cursor": "eyJjIjo2LCJ0Ijo2LCJpIjpmYWxzZX0", "node": { - "digest": "AEW55aznWniryZBnGqbfUNfqCn3Y7vxRKyjB3qQstyUT" + "digest": "9iWLh5uU71BUZapSEAR7K7LN8LCMow3V6TTjtLUn3XmL" } } ] @@ -506,7 +506,7 @@ Response: { { "cursor": "eyJjIjoxMCwidCI6MTAsImkiOmZhbHNlfQ", "node": { - "digest": "9GASeNsMNUdoXoZYaCQM93gNfwLA3oXFWq7SEGLjmVRf" + "digest": "Bwx7M14Z3TTQ8HjJan4NpfTp9uab6zGZ1t3VyHexrkjY" } } ] @@ -527,24 +527,24 @@ Response: { { "cursor": "eyJjIjo2LCJ0Ijo2LCJpIjpmYWxzZX0", "node": { - "digest": "AEW55aznWniryZBnGqbfUNfqCn3Y7vxRKyjB3qQstyUT", + "digest": "9iWLh5uU71BUZapSEAR7K7LN8LCMow3V6TTjtLUn3XmL", "sender": { "objects": { "edges": [ { - "cursor": "IEMSS3Fhv6Qk0EdccWtU0a1VBS7kuesq8Tpx3MPmJ5EcBgAAAAAAAAA=" + "cursor": "IAz2L92GTy3bRQokgdsccY5vfPuQK8KudYQMyh4Vf8+tBgAAAAAAAAA=" }, { - "cursor": "IIE/Mhs/6ou9DjEgf0gswMS7PQW7F9voEf/ZIMmL1w92BgAAAAAAAAA=" + "cursor": "IBHX4D82A7/ZLerkJoHcZjVY/9QGa2PNThEMJ0i/xZhEBgAAAAAAAAA=" }, { - "cursor": "IIVEcitZ9oi0uYE+BIgns9/K00EwN6YKc5LirlAnccD0BgAAAAAAAAA=" + "cursor": "IJ2oGY9DeOyhhxdX+ImgY+PjoaVS/HlyZ6cBqgyC9raABgAAAAAAAAA=" }, { - "cursor": "IPGnNzcr/kIu4vEiNW1SHqVFJUmzLiUHE4vw6xvl4gZxBgAAAAAAAAA=" + "cursor": "ILOePBMfcokYNUYE29o3P2z1pIVl9KzwnrR5str8lONtBgAAAAAAAAA=" }, { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLBgAAAAAAAAA=" + "cursor": "IOJkIrorXAODWH18HBIrPvmj/7xA3k8oQyVOYuBJ/FQ8BgAAAAAAAAA=" } ] } @@ -558,33 +558,33 @@ Response: { { "cursor": "eyJjIjoxMiwidCI6MiwiaSI6ZmFsc2V9", "node": { - "digest": "7LQdDgCP9z8L8yDiYCCty5UZhEqXKToJHgoJy23w2QaU", + "digest": "EwmT47jKmNQDvxQgzwMCzjU7YbDD1aB7XAqDLXFCVk8S", "sender": { "objects": { "edges": [ { - "cursor": "ICau+8m9U/BxYYOT+q8fWcHzs5Do7X/MPQObg2YBV0k9DAAAAAAAAAA=" + "cursor": "IAZ41/7iWym3cIjIhB3ZxFQLOFHw0NJqy45zL9YZF+RRDAAAAAAAAAA=" }, { - "cursor": "ID8bW9f+ADo3XxGoCZkDmn++5c6yU2eFCKNn6A7daJgGDAAAAAAAAAA=" + "cursor": "IAz2L92GTy3bRQokgdsccY5vfPuQK8KudYQMyh4Vf8+tDAAAAAAAAAA=" }, { - "cursor": "IEMSS3Fhv6Qk0EdccWtU0a1VBS7kuesq8Tpx3MPmJ5EcDAAAAAAAAAA=" + "cursor": "IBHX4D82A7/ZLerkJoHcZjVY/9QGa2PNThEMJ0i/xZhEDAAAAAAAAAA=" }, { - "cursor": "IIE/Mhs/6ou9DjEgf0gswMS7PQW7F9voEf/ZIMmL1w92DAAAAAAAAAA=" + "cursor": "IJ2oGY9DeOyhhxdX+ImgY+PjoaVS/HlyZ6cBqgyC9raADAAAAAAAAAA=" }, { - "cursor": "IIU5crV+5IieQs3ytmtn3BcztLDg2RmLxNAjNcd/QpQtDAAAAAAAAAA=" + "cursor": "ILOePBMfcokYNUYE29o3P2z1pIVl9KzwnrR5str8lONtDAAAAAAAAAA=" }, { - "cursor": "IIVEcitZ9oi0uYE+BIgns9/K00EwN6YKc5LirlAnccD0DAAAAAAAAAA=" + "cursor": "ILmCB8AzORD4eIKY+8uaJnvqM4zm8Qr80DTrrcy8OOBwDAAAAAAAAAA=" }, { - "cursor": "IPGnNzcr/kIu4vEiNW1SHqVFJUmzLiUHE4vw6xvl4gZxDAAAAAAAAAA=" + "cursor": "IOJkIrorXAODWH18HBIrPvmj/7xA3k8oQyVOYuBJ/FQ8DAAAAAAAAAA=" }, { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLDAAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTDAAAAAAAAAA=" } ] } @@ -594,33 +594,33 @@ Response: { { "cursor": "eyJjIjoxMiwidCI6NCwiaSI6ZmFsc2V9", "node": { - "digest": "J7gXZTXkH2A2Q5YfmBXqrSszGrPC17LjcjzcpGhs5VFh", + "digest": "A3BxB2KqSbEY5rzGjhm1FBLmRvVRG9pK8QEuaYnnvMZz", "sender": { "objects": { "edges": [ { - "cursor": "ICau+8m9U/BxYYOT+q8fWcHzs5Do7X/MPQObg2YBV0k9DAAAAAAAAAA=" + "cursor": "IAZ41/7iWym3cIjIhB3ZxFQLOFHw0NJqy45zL9YZF+RRDAAAAAAAAAA=" }, { - "cursor": "ID8bW9f+ADo3XxGoCZkDmn++5c6yU2eFCKNn6A7daJgGDAAAAAAAAAA=" + "cursor": "IAz2L92GTy3bRQokgdsccY5vfPuQK8KudYQMyh4Vf8+tDAAAAAAAAAA=" }, { - "cursor": "IEMSS3Fhv6Qk0EdccWtU0a1VBS7kuesq8Tpx3MPmJ5EcDAAAAAAAAAA=" + "cursor": "IBHX4D82A7/ZLerkJoHcZjVY/9QGa2PNThEMJ0i/xZhEDAAAAAAAAAA=" }, { - "cursor": "IIE/Mhs/6ou9DjEgf0gswMS7PQW7F9voEf/ZIMmL1w92DAAAAAAAAAA=" + "cursor": "IJ2oGY9DeOyhhxdX+ImgY+PjoaVS/HlyZ6cBqgyC9raADAAAAAAAAAA=" }, { - "cursor": "IIU5crV+5IieQs3ytmtn3BcztLDg2RmLxNAjNcd/QpQtDAAAAAAAAAA=" + "cursor": "ILOePBMfcokYNUYE29o3P2z1pIVl9KzwnrR5str8lONtDAAAAAAAAAA=" }, { - "cursor": "IIVEcitZ9oi0uYE+BIgns9/K00EwN6YKc5LirlAnccD0DAAAAAAAAAA=" + "cursor": "ILmCB8AzORD4eIKY+8uaJnvqM4zm8Qr80DTrrcy8OOBwDAAAAAAAAAA=" }, { - "cursor": "IPGnNzcr/kIu4vEiNW1SHqVFJUmzLiUHE4vw6xvl4gZxDAAAAAAAAAA=" + "cursor": "IOJkIrorXAODWH18HBIrPvmj/7xA3k8oQyVOYuBJ/FQ8DAAAAAAAAAA=" }, { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLDAAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTDAAAAAAAAAA=" } ] } @@ -630,33 +630,33 @@ Response: { { "cursor": "eyJjIjoxMiwidCI6NSwiaSI6ZmFsc2V9", "node": { - "digest": "9BWpbEeK1ti6kr8byL9RaSPpxqdYS9BVYvs391e3BReZ", + "digest": "3q3x6TLWzA6VGc3uRsxbB3P3pPfeD3W9XwaqbYbE9xac", "sender": { "objects": { "edges": [ { - "cursor": "ICau+8m9U/BxYYOT+q8fWcHzs5Do7X/MPQObg2YBV0k9DAAAAAAAAAA=" + "cursor": "IAZ41/7iWym3cIjIhB3ZxFQLOFHw0NJqy45zL9YZF+RRDAAAAAAAAAA=" }, { - "cursor": "ID8bW9f+ADo3XxGoCZkDmn++5c6yU2eFCKNn6A7daJgGDAAAAAAAAAA=" + "cursor": "IAz2L92GTy3bRQokgdsccY5vfPuQK8KudYQMyh4Vf8+tDAAAAAAAAAA=" }, { - "cursor": "IEMSS3Fhv6Qk0EdccWtU0a1VBS7kuesq8Tpx3MPmJ5EcDAAAAAAAAAA=" + "cursor": "IBHX4D82A7/ZLerkJoHcZjVY/9QGa2PNThEMJ0i/xZhEDAAAAAAAAAA=" }, { - "cursor": "IIE/Mhs/6ou9DjEgf0gswMS7PQW7F9voEf/ZIMmL1w92DAAAAAAAAAA=" + "cursor": "IJ2oGY9DeOyhhxdX+ImgY+PjoaVS/HlyZ6cBqgyC9raADAAAAAAAAAA=" }, { - "cursor": "IIU5crV+5IieQs3ytmtn3BcztLDg2RmLxNAjNcd/QpQtDAAAAAAAAAA=" + "cursor": "ILOePBMfcokYNUYE29o3P2z1pIVl9KzwnrR5str8lONtDAAAAAAAAAA=" }, { - "cursor": "IIVEcitZ9oi0uYE+BIgns9/K00EwN6YKc5LirlAnccD0DAAAAAAAAAA=" + "cursor": "ILmCB8AzORD4eIKY+8uaJnvqM4zm8Qr80DTrrcy8OOBwDAAAAAAAAAA=" }, { - "cursor": "IPGnNzcr/kIu4vEiNW1SHqVFJUmzLiUHE4vw6xvl4gZxDAAAAAAAAAA=" + "cursor": "IOJkIrorXAODWH18HBIrPvmj/7xA3k8oQyVOYuBJ/FQ8DAAAAAAAAAA=" }, { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLDAAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTDAAAAAAAAAA=" } ] } @@ -666,33 +666,33 @@ Response: { { "cursor": "eyJjIjoxMiwidCI6NiwiaSI6ZmFsc2V9", "node": { - "digest": "AEW55aznWniryZBnGqbfUNfqCn3Y7vxRKyjB3qQstyUT", + "digest": "9iWLh5uU71BUZapSEAR7K7LN8LCMow3V6TTjtLUn3XmL", "sender": { "objects": { "edges": [ { - "cursor": "ICau+8m9U/BxYYOT+q8fWcHzs5Do7X/MPQObg2YBV0k9DAAAAAAAAAA=" + "cursor": "IAZ41/7iWym3cIjIhB3ZxFQLOFHw0NJqy45zL9YZF+RRDAAAAAAAAAA=" }, { - "cursor": "ID8bW9f+ADo3XxGoCZkDmn++5c6yU2eFCKNn6A7daJgGDAAAAAAAAAA=" + "cursor": "IAz2L92GTy3bRQokgdsccY5vfPuQK8KudYQMyh4Vf8+tDAAAAAAAAAA=" }, { - "cursor": "IEMSS3Fhv6Qk0EdccWtU0a1VBS7kuesq8Tpx3MPmJ5EcDAAAAAAAAAA=" + "cursor": "IBHX4D82A7/ZLerkJoHcZjVY/9QGa2PNThEMJ0i/xZhEDAAAAAAAAAA=" }, { - "cursor": "IIE/Mhs/6ou9DjEgf0gswMS7PQW7F9voEf/ZIMmL1w92DAAAAAAAAAA=" + "cursor": "IJ2oGY9DeOyhhxdX+ImgY+PjoaVS/HlyZ6cBqgyC9raADAAAAAAAAAA=" }, { - "cursor": "IIU5crV+5IieQs3ytmtn3BcztLDg2RmLxNAjNcd/QpQtDAAAAAAAAAA=" + "cursor": "ILOePBMfcokYNUYE29o3P2z1pIVl9KzwnrR5str8lONtDAAAAAAAAAA=" }, { - "cursor": "IIVEcitZ9oi0uYE+BIgns9/K00EwN6YKc5LirlAnccD0DAAAAAAAAAA=" + "cursor": "ILmCB8AzORD4eIKY+8uaJnvqM4zm8Qr80DTrrcy8OOBwDAAAAAAAAAA=" }, { - "cursor": "IPGnNzcr/kIu4vEiNW1SHqVFJUmzLiUHE4vw6xvl4gZxDAAAAAAAAAA=" + "cursor": "IOJkIrorXAODWH18HBIrPvmj/7xA3k8oQyVOYuBJ/FQ8DAAAAAAAAAA=" }, { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLDAAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTDAAAAAAAAAA=" } ] } @@ -702,33 +702,33 @@ Response: { { "cursor": "eyJjIjoxMiwidCI6OCwiaSI6ZmFsc2V9", "node": { - "digest": "G3HAB2s6Nbpt4UkxifXQbnM7Xw2UAFiyzZTEc4XznUyx", + "digest": "2WNkedo9ryA7XgpBREdQah76c8yu5h7KmUjD3MGJdsiC", "sender": { "objects": { "edges": [ { - "cursor": "ICau+8m9U/BxYYOT+q8fWcHzs5Do7X/MPQObg2YBV0k9DAAAAAAAAAA=" + "cursor": "IAZ41/7iWym3cIjIhB3ZxFQLOFHw0NJqy45zL9YZF+RRDAAAAAAAAAA=" }, { - "cursor": "ID8bW9f+ADo3XxGoCZkDmn++5c6yU2eFCKNn6A7daJgGDAAAAAAAAAA=" + "cursor": "IAz2L92GTy3bRQokgdsccY5vfPuQK8KudYQMyh4Vf8+tDAAAAAAAAAA=" }, { - "cursor": "IEMSS3Fhv6Qk0EdccWtU0a1VBS7kuesq8Tpx3MPmJ5EcDAAAAAAAAAA=" + "cursor": "IBHX4D82A7/ZLerkJoHcZjVY/9QGa2PNThEMJ0i/xZhEDAAAAAAAAAA=" }, { - "cursor": "IIE/Mhs/6ou9DjEgf0gswMS7PQW7F9voEf/ZIMmL1w92DAAAAAAAAAA=" + "cursor": "IJ2oGY9DeOyhhxdX+ImgY+PjoaVS/HlyZ6cBqgyC9raADAAAAAAAAAA=" }, { - "cursor": "IIU5crV+5IieQs3ytmtn3BcztLDg2RmLxNAjNcd/QpQtDAAAAAAAAAA=" + "cursor": "ILOePBMfcokYNUYE29o3P2z1pIVl9KzwnrR5str8lONtDAAAAAAAAAA=" }, { - "cursor": "IIVEcitZ9oi0uYE+BIgns9/K00EwN6YKc5LirlAnccD0DAAAAAAAAAA=" + "cursor": "ILmCB8AzORD4eIKY+8uaJnvqM4zm8Qr80DTrrcy8OOBwDAAAAAAAAAA=" }, { - "cursor": "IPGnNzcr/kIu4vEiNW1SHqVFJUmzLiUHE4vw6xvl4gZxDAAAAAAAAAA=" + "cursor": "IOJkIrorXAODWH18HBIrPvmj/7xA3k8oQyVOYuBJ/FQ8DAAAAAAAAAA=" }, { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLDAAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTDAAAAAAAAAA=" } ] } @@ -738,33 +738,33 @@ Response: { { "cursor": "eyJjIjoxMiwidCI6OSwiaSI6ZmFsc2V9", "node": { - "digest": "AfGFGv7NQ2dnJybrkZyueHGffm6dtDf53drJDTQ35QHj", + "digest": "3Hnz1hLa3UGLRvyophw12hwhfmwnYpJM75fDuT6bWBEB", "sender": { "objects": { "edges": [ { - "cursor": "ICau+8m9U/BxYYOT+q8fWcHzs5Do7X/MPQObg2YBV0k9DAAAAAAAAAA=" + "cursor": "IAZ41/7iWym3cIjIhB3ZxFQLOFHw0NJqy45zL9YZF+RRDAAAAAAAAAA=" }, { - "cursor": "ID8bW9f+ADo3XxGoCZkDmn++5c6yU2eFCKNn6A7daJgGDAAAAAAAAAA=" + "cursor": "IAz2L92GTy3bRQokgdsccY5vfPuQK8KudYQMyh4Vf8+tDAAAAAAAAAA=" }, { - "cursor": "IEMSS3Fhv6Qk0EdccWtU0a1VBS7kuesq8Tpx3MPmJ5EcDAAAAAAAAAA=" + "cursor": "IBHX4D82A7/ZLerkJoHcZjVY/9QGa2PNThEMJ0i/xZhEDAAAAAAAAAA=" }, { - "cursor": "IIE/Mhs/6ou9DjEgf0gswMS7PQW7F9voEf/ZIMmL1w92DAAAAAAAAAA=" + "cursor": "IJ2oGY9DeOyhhxdX+ImgY+PjoaVS/HlyZ6cBqgyC9raADAAAAAAAAAA=" }, { - "cursor": "IIU5crV+5IieQs3ytmtn3BcztLDg2RmLxNAjNcd/QpQtDAAAAAAAAAA=" + "cursor": "ILOePBMfcokYNUYE29o3P2z1pIVl9KzwnrR5str8lONtDAAAAAAAAAA=" }, { - "cursor": "IIVEcitZ9oi0uYE+BIgns9/K00EwN6YKc5LirlAnccD0DAAAAAAAAAA=" + "cursor": "ILmCB8AzORD4eIKY+8uaJnvqM4zm8Qr80DTrrcy8OOBwDAAAAAAAAAA=" }, { - "cursor": "IPGnNzcr/kIu4vEiNW1SHqVFJUmzLiUHE4vw6xvl4gZxDAAAAAAAAAA=" + "cursor": "IOJkIrorXAODWH18HBIrPvmj/7xA3k8oQyVOYuBJ/FQ8DAAAAAAAAAA=" }, { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLDAAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTDAAAAAAAAAA=" } ] } @@ -774,33 +774,33 @@ Response: { { "cursor": "eyJjIjoxMiwidCI6MTAsImkiOmZhbHNlfQ", "node": { - "digest": "9GASeNsMNUdoXoZYaCQM93gNfwLA3oXFWq7SEGLjmVRf", + "digest": "Bwx7M14Z3TTQ8HjJan4NpfTp9uab6zGZ1t3VyHexrkjY", "sender": { "objects": { "edges": [ { - "cursor": "ICau+8m9U/BxYYOT+q8fWcHzs5Do7X/MPQObg2YBV0k9DAAAAAAAAAA=" + "cursor": "IAZ41/7iWym3cIjIhB3ZxFQLOFHw0NJqy45zL9YZF+RRDAAAAAAAAAA=" }, { - "cursor": "ID8bW9f+ADo3XxGoCZkDmn++5c6yU2eFCKNn6A7daJgGDAAAAAAAAAA=" + "cursor": "IAz2L92GTy3bRQokgdsccY5vfPuQK8KudYQMyh4Vf8+tDAAAAAAAAAA=" }, { - "cursor": "IEMSS3Fhv6Qk0EdccWtU0a1VBS7kuesq8Tpx3MPmJ5EcDAAAAAAAAAA=" + "cursor": "IBHX4D82A7/ZLerkJoHcZjVY/9QGa2PNThEMJ0i/xZhEDAAAAAAAAAA=" }, { - "cursor": "IIE/Mhs/6ou9DjEgf0gswMS7PQW7F9voEf/ZIMmL1w92DAAAAAAAAAA=" + "cursor": "IJ2oGY9DeOyhhxdX+ImgY+PjoaVS/HlyZ6cBqgyC9raADAAAAAAAAAA=" }, { - "cursor": "IIU5crV+5IieQs3ytmtn3BcztLDg2RmLxNAjNcd/QpQtDAAAAAAAAAA=" + "cursor": "ILOePBMfcokYNUYE29o3P2z1pIVl9KzwnrR5str8lONtDAAAAAAAAAA=" }, { - "cursor": "IIVEcitZ9oi0uYE+BIgns9/K00EwN6YKc5LirlAnccD0DAAAAAAAAAA=" + "cursor": "ILmCB8AzORD4eIKY+8uaJnvqM4zm8Qr80DTrrcy8OOBwDAAAAAAAAAA=" }, { - "cursor": "IPGnNzcr/kIu4vEiNW1SHqVFJUmzLiUHE4vw6xvl4gZxDAAAAAAAAAA=" + "cursor": "IOJkIrorXAODWH18HBIrPvmj/7xA3k8oQyVOYuBJ/FQ8DAAAAAAAAAA=" }, { - "cursor": "IPT/b/mZ3AfOxxin82sErAcyEbyHI5h3Aa+TuhHq/rDLDAAAAAAAAAA=" + "cursor": "IP/YY3sBms9tv6LOECqfoZ9YYyMPFwAH+CT+ReeP7XwTDAAAAAAAAAA=" } ] } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/object_at_version.exp b/crates/iota-graphql-e2e-tests/tests/consistency/object_at_version.exp index 7cb9ebf3226..4d9c6c85d40 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/object_at_version.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/object_at_version.exp @@ -29,7 +29,7 @@ Response: { "asMoveObject": { "contents": { "json": { - "id": "0xb0767d09856a09d085e614a38e93f74d3d8b56a4fbcad3cd5761b3ebd190ac8f", + "id": "0xeabd1fec2bdf0127bb76f33a127372a8f49d362822878329073f6c09e827a375", "value": "0" } } @@ -57,7 +57,7 @@ Response: { "asMoveObject": { "contents": { "json": { - "id": "0xb0767d09856a09d085e614a38e93f74d3d8b56a4fbcad3cd5761b3ebd190ac8f", + "id": "0xeabd1fec2bdf0127bb76f33a127372a8f49d362822878329073f6c09e827a375", "value": "1" } } @@ -69,7 +69,7 @@ Response: { "asMoveObject": { "contents": { "json": { - "id": "0xb0767d09856a09d085e614a38e93f74d3d8b56a4fbcad3cd5761b3ebd190ac8f", + "id": "0xeabd1fec2bdf0127bb76f33a127372a8f49d362822878329073f6c09e827a375", "value": "0" } } @@ -104,7 +104,7 @@ Response: { "asMoveObject": { "contents": { "json": { - "id": "0xb0767d09856a09d085e614a38e93f74d3d8b56a4fbcad3cd5761b3ebd190ac8f", + "id": "0xeabd1fec2bdf0127bb76f33a127372a8f49d362822878329073f6c09e827a375", "value": "1" } } @@ -134,7 +134,7 @@ Response: { "asMoveObject": { "contents": { "json": { - "id": "0xb0767d09856a09d085e614a38e93f74d3d8b56a4fbcad3cd5761b3ebd190ac8f", + "id": "0xeabd1fec2bdf0127bb76f33a127372a8f49d362822878329073f6c09e827a375", "value": "1" } } @@ -151,7 +151,7 @@ Response: { "asMoveObject": { "contents": { "json": { - "id": "0xb0767d09856a09d085e614a38e93f74d3d8b56a4fbcad3cd5761b3ebd190ac8f", + "id": "0xeabd1fec2bdf0127bb76f33a127372a8f49d362822878329073f6c09e827a375", "value": "0" } } @@ -205,7 +205,7 @@ Response: { "asMoveObject": { "contents": { "json": { - "id": "0xb0767d09856a09d085e614a38e93f74d3d8b56a4fbcad3cd5761b3ebd190ac8f", + "id": "0xeabd1fec2bdf0127bb76f33a127372a8f49d362822878329073f6c09e827a375", "value": "1" } } @@ -222,7 +222,7 @@ Response: { "asMoveObject": { "contents": { "json": { - "id": "0xb0767d09856a09d085e614a38e93f74d3d8b56a4fbcad3cd5761b3ebd190ac8f", + "id": "0xeabd1fec2bdf0127bb76f33a127372a8f49d362822878329073f6c09e827a375", "value": "0" } } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/objects_pagination.exp b/crates/iota-graphql-e2e-tests/tests/consistency/objects_pagination.exp index 9c5c24574c6..416410d9990 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/objects_pagination.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/objects_pagination.exp @@ -36,10 +36,10 @@ Response: { "version": 4, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xecdb6caab8fa938786fea0e801e81133c31da2f87a2beea2325268f30545af5f", + "id": "0x4450c9a3c87cd72cc0fdf874dc80686c9f11bf7f830cbbf10bdb8c9d07229ddf", "value": "1" } } @@ -80,10 +80,10 @@ Response: { "version": 4, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xecdb6caab8fa938786fea0e801e81133c31da2f87a2beea2325268f30545af5f", + "id": "0x4450c9a3c87cd72cc0fdf874dc80686c9f11bf7f830cbbf10bdb8c9d07229ddf", "value": "1" } } @@ -108,47 +108,47 @@ Response: { "version": 3, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0x1bc78cc3d9e67f850e9c92937fd5c7160e414ba63510899cd5a30a2e12bf6cae", + "id": "0x0258afe9337053eb70d2ea746669d74d210e99511518b6636a5e8658859769d8", "value": "0" } } }, { - "version": 5, + "version": 6, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0x5c880584b84e3ca0371d4b2d184357a5daeaa47f7ff28c0c11811bcb33a48cb6", - "value": "2" + "id": "0x36cd3155591495e28382976b4de50469e46276d04da364d81ab729b65354d043", + "value": "3" } } }, { - "version": 6, + "version": 4, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xbf14a0de0dc4b3f49950c8254c0bb5ad03eeacbd1d11e61afe8e6fc4d8c7c3c7", - "value": "3" + "id": "0x4450c9a3c87cd72cc0fdf874dc80686c9f11bf7f830cbbf10bdb8c9d07229ddf", + "value": "1" } } }, { - "version": 4, + "version": 5, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xecdb6caab8fa938786fea0e801e81133c31da2f87a2beea2325268f30545af5f", - "value": "1" + "id": "0xfe2a855cb35f7b1dea804e23c02d0c78cc0cc933e41b9d2e320eb1b00d7d322e", + "value": "2" } } } @@ -169,47 +169,47 @@ Response: { "version": 3, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0x1bc78cc3d9e67f850e9c92937fd5c7160e414ba63510899cd5a30a2e12bf6cae", + "id": "0x0258afe9337053eb70d2ea746669d74d210e99511518b6636a5e8658859769d8", "value": "0" } } }, { - "version": 5, + "version": 6, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0x5c880584b84e3ca0371d4b2d184357a5daeaa47f7ff28c0c11811bcb33a48cb6", - "value": "2" + "id": "0x36cd3155591495e28382976b4de50469e46276d04da364d81ab729b65354d043", + "value": "3" } } }, { - "version": 6, + "version": 4, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xbf14a0de0dc4b3f49950c8254c0bb5ad03eeacbd1d11e61afe8e6fc4d8c7c3c7", - "value": "3" + "id": "0x4450c9a3c87cd72cc0fdf874dc80686c9f11bf7f830cbbf10bdb8c9d07229ddf", + "value": "1" } } }, { - "version": 4, + "version": 5, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xecdb6caab8fa938786fea0e801e81133c31da2f87a2beea2325268f30545af5f", - "value": "1" + "id": "0xfe2a855cb35f7b1dea804e23c02d0c78cc0cc933e41b9d2e320eb1b00d7d322e", + "value": "2" } } } @@ -235,19 +235,24 @@ Response: { "data": { "after_obj_6_0_at_checkpoint_2": { "objects": { - "nodes": [ - { - "version": 6, + "nodes": [] + } + }, + "before_obj_6_0_at_checkpoint_2": { + "nodes": [ + { + "version": 3, + "asMoveObject": { "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xbf14a0de0dc4b3f49950c8254c0bb5ad03eeacbd1d11e61afe8e6fc4d8c7c3c7", - "value": "3" + "id": "0x0258afe9337053eb70d2ea746669d74d210e99511518b6636a5e8658859769d8", + "value": "0" } }, - "owner_at_latest_state_has_iota_only": { + "note_that_owner_result_should_reflect_latest_state": { "owner": { "objects": { "nodes": [ @@ -255,34 +260,22 @@ Response: { "version": 3, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0x1bc78cc3d9e67f850e9c92937fd5c7160e414ba63510899cd5a30a2e12bf6cae", + "id": "0x0258afe9337053eb70d2ea746669d74d210e99511518b6636a5e8658859769d8", "value": "0" } } }, - { - "version": 5, - "contents": { - "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" - }, - "json": { - "id": "0x5c880584b84e3ca0371d4b2d184357a5daeaa47f7ff28c0c11811bcb33a48cb6", - "value": "2" - } - } - }, { "version": 6, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xbf14a0de0dc4b3f49950c8254c0bb5ad03eeacbd1d11e61afe8e6fc4d8c7c3c7", + "id": "0x36cd3155591495e28382976b4de50469e46276d04da364d81ab729b65354d043", "value": "3" } } @@ -291,10 +284,10 @@ Response: { "version": 4, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xecdb6caab8fa938786fea0e801e81133c31da2f87a2beea2325268f30545af5f", + "id": "0x4450c9a3c87cd72cc0fdf874dc80686c9f11bf7f830cbbf10bdb8c9d07229ddf", "value": "1" } } @@ -306,30 +299,44 @@ Response: { "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" }, "json": { - "id": "0xf1a737372bfe422ee2f122356d521ea5452549b32e2507138bf0eb1be5e20671", + "id": "0x9da8198f4378eca1871757f889a063e3e3a1a552fc797267a701aa0c82f6b680", "balance": { "value": "300000000000000" } } } + }, + { + "version": 5, + "contents": { + "type": { + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" + }, + "json": { + "id": "0xfe2a855cb35f7b1dea804e23c02d0c78cc0cc933e41b9d2e320eb1b00d7d322e", + "value": "2" + } + } } ] } } } - }, - { - "version": 4, + } + }, + { + "version": 6, + "asMoveObject": { "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xecdb6caab8fa938786fea0e801e81133c31da2f87a2beea2325268f30545af5f", - "value": "1" + "id": "0x36cd3155591495e28382976b4de50469e46276d04da364d81ab729b65354d043", + "value": "3" } }, - "owner_at_latest_state_has_iota_only": { + "note_that_owner_result_should_reflect_latest_state": { "owner": { "objects": { "nodes": [ @@ -337,34 +344,22 @@ Response: { "version": 3, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0x1bc78cc3d9e67f850e9c92937fd5c7160e414ba63510899cd5a30a2e12bf6cae", + "id": "0x0258afe9337053eb70d2ea746669d74d210e99511518b6636a5e8658859769d8", "value": "0" } } }, - { - "version": 5, - "contents": { - "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" - }, - "json": { - "id": "0x5c880584b84e3ca0371d4b2d184357a5daeaa47f7ff28c0c11811bcb33a48cb6", - "value": "2" - } - } - }, { "version": 6, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xbf14a0de0dc4b3f49950c8254c0bb5ad03eeacbd1d11e61afe8e6fc4d8c7c3c7", + "id": "0x36cd3155591495e28382976b4de50469e46276d04da364d81ab729b65354d043", "value": "3" } } @@ -373,10 +368,10 @@ Response: { "version": 4, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xecdb6caab8fa938786fea0e801e81133c31da2f87a2beea2325268f30545af5f", + "id": "0x4450c9a3c87cd72cc0fdf874dc80686c9f11bf7f830cbbf10bdb8c9d07229ddf", "value": "1" } } @@ -388,33 +383,41 @@ Response: { "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" }, "json": { - "id": "0xf1a737372bfe422ee2f122356d521ea5452549b32e2507138bf0eb1be5e20671", + "id": "0x9da8198f4378eca1871757f889a063e3e3a1a552fc797267a701aa0c82f6b680", "balance": { "value": "300000000000000" } } } + }, + { + "version": 5, + "contents": { + "type": { + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" + }, + "json": { + "id": "0xfe2a855cb35f7b1dea804e23c02d0c78cc0cc933e41b9d2e320eb1b00d7d322e", + "value": "2" + } + } } ] } } } } - ] - } - }, - "before_obj_6_0_at_checkpoint_2": { - "nodes": [ + }, { - "version": 3, + "version": 4, "asMoveObject": { "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0x1bc78cc3d9e67f850e9c92937fd5c7160e414ba63510899cd5a30a2e12bf6cae", - "value": "0" + "id": "0x4450c9a3c87cd72cc0fdf874dc80686c9f11bf7f830cbbf10bdb8c9d07229ddf", + "value": "1" } }, "note_that_owner_result_should_reflect_latest_state": { @@ -425,34 +428,22 @@ Response: { "version": 3, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0x1bc78cc3d9e67f850e9c92937fd5c7160e414ba63510899cd5a30a2e12bf6cae", + "id": "0x0258afe9337053eb70d2ea746669d74d210e99511518b6636a5e8658859769d8", "value": "0" } } }, - { - "version": 5, - "contents": { - "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" - }, - "json": { - "id": "0x5c880584b84e3ca0371d4b2d184357a5daeaa47f7ff28c0c11811bcb33a48cb6", - "value": "2" - } - } - }, { "version": 6, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xbf14a0de0dc4b3f49950c8254c0bb5ad03eeacbd1d11e61afe8e6fc4d8c7c3c7", + "id": "0x36cd3155591495e28382976b4de50469e46276d04da364d81ab729b65354d043", "value": "3" } } @@ -461,10 +452,10 @@ Response: { "version": 4, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xecdb6caab8fa938786fea0e801e81133c31da2f87a2beea2325268f30545af5f", + "id": "0x4450c9a3c87cd72cc0fdf874dc80686c9f11bf7f830cbbf10bdb8c9d07229ddf", "value": "1" } } @@ -476,12 +467,24 @@ Response: { "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" }, "json": { - "id": "0xf1a737372bfe422ee2f122356d521ea5452549b32e2507138bf0eb1be5e20671", + "id": "0x9da8198f4378eca1871757f889a063e3e3a1a552fc797267a701aa0c82f6b680", "balance": { "value": "300000000000000" } } } + }, + { + "version": 5, + "contents": { + "type": { + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" + }, + "json": { + "id": "0xfe2a855cb35f7b1dea804e23c02d0c78cc0cc933e41b9d2e320eb1b00d7d322e", + "value": "2" + } + } } ] } @@ -544,10 +547,10 @@ Response: { "version": 7, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0x1bc78cc3d9e67f850e9c92937fd5c7160e414ba63510899cd5a30a2e12bf6cae", + "id": "0x0258afe9337053eb70d2ea746669d74d210e99511518b6636a5e8658859769d8", "value": "0" } } @@ -556,11 +559,11 @@ Response: { "version": 7, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0x5c880584b84e3ca0371d4b2d184357a5daeaa47f7ff28c0c11811bcb33a48cb6", - "value": "2" + "id": "0x36cd3155591495e28382976b4de50469e46276d04da364d81ab729b65354d043", + "value": "3" } } }, @@ -568,11 +571,11 @@ Response: { "version": 7, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xbf14a0de0dc4b3f49950c8254c0bb5ad03eeacbd1d11e61afe8e6fc4d8c7c3c7", - "value": "3" + "id": "0x4450c9a3c87cd72cc0fdf874dc80686c9f11bf7f830cbbf10bdb8c9d07229ddf", + "value": "1" } } }, @@ -580,11 +583,11 @@ Response: { "version": 7, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xecdb6caab8fa938786fea0e801e81133c31da2f87a2beea2325268f30545af5f", - "value": "1" + "id": "0xfe2a855cb35f7b1dea804e23c02d0c78cc0cc933e41b9d2e320eb1b00d7d322e", + "value": "2" } } } @@ -605,47 +608,47 @@ Response: { "version": 3, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0x1bc78cc3d9e67f850e9c92937fd5c7160e414ba63510899cd5a30a2e12bf6cae", + "id": "0x0258afe9337053eb70d2ea746669d74d210e99511518b6636a5e8658859769d8", "value": "0" } } }, { - "version": 5, + "version": 6, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0x5c880584b84e3ca0371d4b2d184357a5daeaa47f7ff28c0c11811bcb33a48cb6", - "value": "2" + "id": "0x36cd3155591495e28382976b4de50469e46276d04da364d81ab729b65354d043", + "value": "3" } } }, { - "version": 6, + "version": 4, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xbf14a0de0dc4b3f49950c8254c0bb5ad03eeacbd1d11e61afe8e6fc4d8c7c3c7", - "value": "3" + "id": "0x4450c9a3c87cd72cc0fdf874dc80686c9f11bf7f830cbbf10bdb8c9d07229ddf", + "value": "1" } } }, { - "version": 4, + "version": 5, "contents": { "type": { - "repr": "0xfbe12acb50de868fcbdb0f033eacc0f1ece581db78b5a18337285c25cfe4cf6e::M1::Object" + "repr": "0xe60791b8245c8890ebcd25d12a451ea681dd47c384c048a6ccb29ade8a29c2ae::M1::Object" }, "json": { - "id": "0xecdb6caab8fa938786fea0e801e81133c31da2f87a2beea2325268f30545af5f", - "value": "1" + "id": "0xfe2a855cb35f7b1dea804e23c02d0c78cc0cc933e41b9d2e320eb1b00d7d322e", + "value": "2" } } } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/objects_pagination_single.exp b/crates/iota-graphql-e2e-tests/tests/consistency/objects_pagination_single.exp index 4cc618441f1..5ba87a871df 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/objects_pagination_single.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/objects_pagination_single.exp @@ -35,27 +35,27 @@ task 6, lines 38-66: Response: { "data": { "after_obj_3_0": { - "objects": { - "nodes": [] - } - }, - "before_obj_3_0": { "objects": { "nodes": [ { "version": 4, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xdb0a7c9819a12e4c0d5486b38c987b132efd8234b072eb79bf1804e877e9e066", + "id": "0xc7889c8f4e5c2853d7e18f916c8d795728086b5899a4b17278978ebd741cd442", "value": "100" } } } ] } + }, + "before_obj_3_0": { + "objects": { + "nodes": [] + } } } } @@ -74,27 +74,27 @@ task 9, lines 72-101: Response: { "data": { "after_obj_3_0_chkpt_1": { - "objects": { - "nodes": [] - } - }, - "before_obj_3_0_chkpt_1": { "objects": { "nodes": [ { "version": 4, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xdb0a7c9819a12e4c0d5486b38c987b132efd8234b072eb79bf1804e877e9e066", + "id": "0xc7889c8f4e5c2853d7e18f916c8d795728086b5899a4b17278978ebd741cd442", "value": "100" } } } ] } + }, + "before_obj_3_0_chkpt_1": { + "objects": { + "nodes": [] + } } } } @@ -107,26 +107,26 @@ Response: { "objects": { "nodes": [ { - "version": 5, + "version": 4, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xdb0a7c9819a12e4c0d5486b38c987b132efd8234b072eb79bf1804e877e9e066", - "value": "200" + "id": "0x7fd1be44922c6465d05261081f228a98883cdbebdc610b372894d5eedac04af6", + "value": "1" } } }, { - "version": 4, + "version": 5, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xf8cc9d41404f9c4148a422518eb89e9569f458b32497beb682810cfdc405e431", - "value": "1" + "id": "0xc7889c8f4e5c2853d7e18f916c8d795728086b5899a4b17278978ebd741cd442", + "value": "200" } } } @@ -134,21 +134,16 @@ Response: { } }, "after_obj_3_0_chkpt_2": { - "consistent_with_above": { - "nodes": [] - } - }, - "before_obj_3_0_chkpt_2": { "consistent_with_above": { "nodes": [ { "version": 5, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xdb0a7c9819a12e4c0d5486b38c987b132efd8234b072eb79bf1804e877e9e066", + "id": "0xc7889c8f4e5c2853d7e18f916c8d795728086b5899a4b17278978ebd741cd442", "value": "200" } }, @@ -157,26 +152,26 @@ Response: { "objects": { "nodes": [ { - "version": 5, + "version": 4, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xdb0a7c9819a12e4c0d5486b38c987b132efd8234b072eb79bf1804e877e9e066", - "value": "200" + "id": "0x7fd1be44922c6465d05261081f228a98883cdbebdc610b372894d5eedac04af6", + "value": "1" } } }, { - "version": 4, + "version": 5, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xf8cc9d41404f9c4148a422518eb89e9569f458b32497beb682810cfdc405e431", - "value": "1" + "id": "0xc7889c8f4e5c2853d7e18f916c8d795728086b5899a4b17278978ebd741cd442", + "value": "200" } } } @@ -187,6 +182,11 @@ Response: { } ] } + }, + "before_obj_3_0_chkpt_2": { + "consistent_with_above": { + "nodes": [] + } } } } @@ -205,21 +205,16 @@ task 13, lines 184-247: Response: { "data": { "after_obj_3_0_chkpt_2": { - "objects": { - "nodes": [] - } - }, - "before_obj_3_0_chkpt_2": { "objects": { "nodes": [ { "version": 5, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xdb0a7c9819a12e4c0d5486b38c987b132efd8234b072eb79bf1804e877e9e066", + "id": "0xc7889c8f4e5c2853d7e18f916c8d795728086b5899a4b17278978ebd741cd442", "value": "200" } }, @@ -228,26 +223,26 @@ Response: { "objects": { "nodes": [ { - "version": 5, + "version": 4, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xdb0a7c9819a12e4c0d5486b38c987b132efd8234b072eb79bf1804e877e9e066", - "value": "200" + "id": "0x7fd1be44922c6465d05261081f228a98883cdbebdc610b372894d5eedac04af6", + "value": "1" } } }, { - "version": 4, + "version": 5, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xf8cc9d41404f9c4148a422518eb89e9569f458b32497beb682810cfdc405e431", - "value": "1" + "id": "0xc7889c8f4e5c2853d7e18f916c8d795728086b5899a4b17278978ebd741cd442", + "value": "200" } } } @@ -258,6 +253,11 @@ Response: { } ] } + }, + "before_obj_3_0_chkpt_2": { + "objects": { + "nodes": [] + } } } } @@ -270,26 +270,26 @@ Response: { "objects": { "nodes": [ { - "version": 5, + "version": 6, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xdb0a7c9819a12e4c0d5486b38c987b132efd8234b072eb79bf1804e877e9e066", - "value": "200" + "id": "0x7fd1be44922c6465d05261081f228a98883cdbebdc610b372894d5eedac04af6", + "value": "300" } } }, { - "version": 6, + "version": 5, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xf8cc9d41404f9c4148a422518eb89e9569f458b32497beb682810cfdc405e431", - "value": "300" + "id": "0xc7889c8f4e5c2853d7e18f916c8d795728086b5899a4b17278978ebd741cd442", + "value": "200" } } } @@ -297,21 +297,16 @@ Response: { } }, "after_obj_3_0_chkpt_3": { - "consistent_with_above": { - "nodes": [] - } - }, - "before_obj_3_0_chkpt_3": { "consistent_with_above": { "nodes": [ { "version": 5, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xdb0a7c9819a12e4c0d5486b38c987b132efd8234b072eb79bf1804e877e9e066", + "id": "0xc7889c8f4e5c2853d7e18f916c8d795728086b5899a4b17278978ebd741cd442", "value": "200" } }, @@ -320,26 +315,26 @@ Response: { "objects": { "nodes": [ { - "version": 5, + "version": 6, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xdb0a7c9819a12e4c0d5486b38c987b132efd8234b072eb79bf1804e877e9e066", - "value": "200" + "id": "0x7fd1be44922c6465d05261081f228a98883cdbebdc610b372894d5eedac04af6", + "value": "300" } } }, { - "version": 6, + "version": 5, "contents": { "type": { - "repr": "0xcd41eea5620695d437aec739e7f9843d04e0f667f542882ff3766801d32bce8e::M1::Object" + "repr": "0xf349599494469367ef732c17778cbdb8c9cb1b60e022b80bbcf61cb4897d2cc9::M1::Object" }, "json": { - "id": "0xf8cc9d41404f9c4148a422518eb89e9569f458b32497beb682810cfdc405e431", - "value": "300" + "id": "0xc7889c8f4e5c2853d7e18f916c8d795728086b5899a4b17278978ebd741cd442", + "value": "200" } } } @@ -350,6 +345,11 @@ Response: { } ] } + }, + "before_obj_3_0_chkpt_3": { + "consistent_with_above": { + "nodes": [] + } } } } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/performance/many_objects.exp b/crates/iota-graphql-e2e-tests/tests/consistency/performance/many_objects.exp index f649ba58829..7821d35e5db 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/performance/many_objects.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/performance/many_objects.exp @@ -35,11 +35,11 @@ Response: { }, "contents": { "json": { - "id": "0xfe3a07465d39e26c531f30034ccde365447957dd23cbea0039f00e509d34a1eb", - "value": "231" + "id": "0xff6b496dbf122382b17c1b1ec2510feb9ec51241aa2c924e3721ed1771eb66ed", + "value": "330" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -54,11 +54,11 @@ Response: { }, "contents": { "json": { - "id": "0xff1d853dd07b687cc0ca5640887642ec4475ebbfd6f8e806b64be71e76d5428d", - "value": "350" + "id": "0xffbe9379a37c07fd73150d9e48e007c6654c6443436af64924c6ba6a284735d1", + "value": "307" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -76,11 +76,11 @@ Response: { }, "contents": { "json": { - "id": "0xfddc5c961a6f284cb49f48994657d5a8f4209d058635451d2f9b63d4a6c71473", - "value": "38" + "id": "0xfe476a6a9382017f454d5954d8e1f4dab2548eca7dfd30d3a2b68759f857de57", + "value": "432" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } }, @@ -92,11 +92,11 @@ Response: { }, "contents": { "json": { - "id": "0xfe2bb1c95497ab25fab8204f24d2af7e71493d5d8f6f10e973004ef3b779405e", - "value": "305" + "id": "0xfe96c7d99c112324b14e1ba80a70401c4d332f7c713550e2ffbcebc864c656a5", + "value": "253" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } }, @@ -108,11 +108,11 @@ Response: { }, "contents": { "json": { - "id": "0xfe3a07465d39e26c531f30034ccde365447957dd23cbea0039f00e509d34a1eb", - "value": "231" + "id": "0xff6b496dbf122382b17c1b1ec2510feb9ec51241aa2c924e3721ed1771eb66ed", + "value": "330" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } }, @@ -124,11 +124,11 @@ Response: { }, "contents": { "json": { - "id": "0xff1d853dd07b687cc0ca5640887642ec4475ebbfd6f8e806b64be71e76d5428d", - "value": "350" + "id": "0xffbe9379a37c07fd73150d9e48e007c6654c6443436af64924c6ba6a284735d1", + "value": "307" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -163,7 +163,7 @@ Contents: Test::M1::Object { bytes: fake(2,498), }, }, - value: 231u64, + value: 330u64, } task 9, line 93: @@ -176,7 +176,7 @@ Contents: Test::M1::Object { bytes: fake(2,497), }, }, - value: 305u64, + value: 253u64, } task 10, line 95: @@ -199,11 +199,11 @@ Response: { }, "contents": { "json": { - "id": "0xfe2bb1c95497ab25fab8204f24d2af7e71493d5d8f6f10e973004ef3b779405e", - "value": "305" + "id": "0xfe96c7d99c112324b14e1ba80a70401c4d332f7c713550e2ffbcebc864c656a5", + "value": "253" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -218,11 +218,11 @@ Response: { }, "contents": { "json": { - "id": "0xfe3a07465d39e26c531f30034ccde365447957dd23cbea0039f00e509d34a1eb", - "value": "231" + "id": "0xff6b496dbf122382b17c1b1ec2510feb9ec51241aa2c924e3721ed1771eb66ed", + "value": "330" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -237,11 +237,11 @@ Response: { }, "contents": { "json": { - "id": "0xff1d853dd07b687cc0ca5640887642ec4475ebbfd6f8e806b64be71e76d5428d", - "value": "350" + "id": "0xffbe9379a37c07fd73150d9e48e007c6654c6443436af64924c6ba6a284735d1", + "value": "307" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -260,11 +260,11 @@ Response: { }, "contents": { "json": { - "id": "0xfddc5c961a6f284cb49f48994657d5a8f4209d058635451d2f9b63d4a6c71473", - "value": "38" + "id": "0xfe476a6a9382017f454d5954d8e1f4dab2548eca7dfd30d3a2b68759f857de57", + "value": "432" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -287,11 +287,11 @@ Response: { }, "contents": { "json": { - "id": "0xff1d853dd07b687cc0ca5640887642ec4475ebbfd6f8e806b64be71e76d5428d", - "value": "350" + "id": "0xffbe9379a37c07fd73150d9e48e007c6654c6443436af64924c6ba6a284735d1", + "value": "307" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -305,11 +305,11 @@ Response: { }, "contents": { "json": { - "id": "0xff1d853dd07b687cc0ca5640887642ec4475ebbfd6f8e806b64be71e76d5428d", - "value": "350" + "id": "0xffbe9379a37c07fd73150d9e48e007c6654c6443436af64924c6ba6a284735d1", + "value": "307" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -325,11 +325,11 @@ Response: { }, "contents": { "json": { - "id": "0xfe2bb1c95497ab25fab8204f24d2af7e71493d5d8f6f10e973004ef3b779405e", - "value": "305" + "id": "0xfe96c7d99c112324b14e1ba80a70401c4d332f7c713550e2ffbcebc864c656a5", + "value": "253" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -343,11 +343,11 @@ Response: { }, "contents": { "json": { - "id": "0xfe3a07465d39e26c531f30034ccde365447957dd23cbea0039f00e509d34a1eb", - "value": "231" + "id": "0xff6b496dbf122382b17c1b1ec2510feb9ec51241aa2c924e3721ed1771eb66ed", + "value": "330" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -361,11 +361,11 @@ Response: { }, "contents": { "json": { - "id": "0xff1d853dd07b687cc0ca5640887642ec4475ebbfd6f8e806b64be71e76d5428d", - "value": "350" + "id": "0xffbe9379a37c07fd73150d9e48e007c6654c6443436af64924c6ba6a284735d1", + "value": "307" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -383,11 +383,11 @@ Response: { }, "contents": { "json": { - "id": "0xfe2bb1c95497ab25fab8204f24d2af7e71493d5d8f6f10e973004ef3b779405e", - "value": "305" + "id": "0xfe96c7d99c112324b14e1ba80a70401c4d332f7c713550e2ffbcebc864c656a5", + "value": "253" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -401,11 +401,11 @@ Response: { }, "contents": { "json": { - "id": "0xfe3a07465d39e26c531f30034ccde365447957dd23cbea0039f00e509d34a1eb", - "value": "231" + "id": "0xff6b496dbf122382b17c1b1ec2510feb9ec51241aa2c924e3721ed1771eb66ed", + "value": "330" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -419,11 +419,11 @@ Response: { }, "contents": { "json": { - "id": "0xff1d853dd07b687cc0ca5640887642ec4475ebbfd6f8e806b64be71e76d5428d", - "value": "350" + "id": "0xffbe9379a37c07fd73150d9e48e007c6654c6443436af64924c6ba6a284735d1", + "value": "307" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } @@ -442,7 +442,7 @@ Response: { }, "contents": { "json": { - "id": "0x604cdc46957129d4346930afbaa1efae4f583e4a4fb1ecf901427fbe87eb915f", + "id": "0x9dbc88f03fbfa51b5ad6898b36d9184473d05f1b0d30333c535d0fcb4d49b994", "balance": { "value": "300000000000000" } @@ -461,11 +461,11 @@ Response: { }, "contents": { "json": { - "id": "0xfe2bb1c95497ab25fab8204f24d2af7e71493d5d8f6f10e973004ef3b779405e", - "value": "305" + "id": "0xfe96c7d99c112324b14e1ba80a70401c4d332f7c713550e2ffbcebc864c656a5", + "value": "253" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } }, @@ -478,11 +478,11 @@ Response: { }, "contents": { "json": { - "id": "0xfe3a07465d39e26c531f30034ccde365447957dd23cbea0039f00e509d34a1eb", - "value": "231" + "id": "0xff6b496dbf122382b17c1b1ec2510feb9ec51241aa2c924e3721ed1771eb66ed", + "value": "330" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } }, @@ -495,11 +495,11 @@ Response: { }, "contents": { "json": { - "id": "0xff1d853dd07b687cc0ca5640887642ec4475ebbfd6f8e806b64be71e76d5428d", - "value": "350" + "id": "0xffbe9379a37c07fd73150d9e48e007c6654c6443436af64924c6ba6a284735d1", + "value": "307" }, "type": { - "repr": "0xe39c5511383e8e67b64dcf9647980599d4b35eba5adf0d66e91b7ac98516a7ff::M1::Object" + "repr": "0x2f820bef796e15cafaeb819be9f7dd2d7847e5cd9d6353a96c3a6018d4f2d249::M1::Object" } } } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/staked_iota.exp b/crates/iota-graphql-e2e-tests/tests/consistency/staked_iota.exp index 12e70904174..3b7ce5ddb4d 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/staked_iota.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/staked_iota.exp @@ -25,11 +25,11 @@ gas summary: computation_cost: 1000000, storage_cost: 1976000, storage_rebate: task 3, line 25: //# run 0x3::iota_system::request_add_stake --args object(0x5) object(2,0) @validator_0 --sender C -events: Event { package_id: iota_system, transaction_module: Identifier("iota_system"), sender: C, type_: StructTag { address: iota_system, module: Identifier("validator"), name: Identifier("StakingRequestEvent"), type_params: [] }, contents: [130, 133, 141, 116, 98, 77, 209, 200, 13, 154, 143, 120, 101, 224, 220, 131, 206, 238, 67, 219, 169, 92, 239, 127, 252, 57, 174, 151, 122, 150, 154, 152, 175, 163, 158, 79, 0, 218, 226, 120, 249, 119, 199, 198, 147, 10, 94, 44, 118, 232, 93, 23, 165, 38, 215, 36, 187, 206, 15, 184, 31, 176, 125, 76, 140, 202, 78, 28, 224, 186, 89, 4, 206, 166, 29, 249, 36, 45, 162, 247, 210, 158, 62, 243, 40, 251, 126, 192, 124, 8, 107, 59, 244, 124, 166, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 11, 84, 2, 0, 0, 0] } +events: Event { package_id: iota_system, transaction_module: Identifier("iota_system"), sender: C, type_: StructTag { address: iota_system, module: Identifier("validator"), name: Identifier("StakingRequestEvent"), type_params: [] }, contents: [233, 207, 22, 117, 92, 142, 77, 109, 192, 159, 55, 48, 51, 243, 196, 130, 69, 227, 174, 117, 15, 72, 135, 76, 78, 53, 195, 204, 77, 84, 130, 131, 175, 163, 158, 79, 0, 218, 226, 120, 249, 119, 199, 198, 147, 10, 94, 44, 118, 232, 93, 23, 165, 38, 215, 36, 187, 206, 15, 184, 31, 176, 125, 76, 140, 202, 78, 28, 224, 186, 89, 4, 206, 166, 29, 249, 36, 45, 162, 247, 210, 158, 62, 243, 40, 251, 126, 192, 124, 8, 107, 59, 244, 124, 166, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 11, 84, 2, 0, 0, 0] } created: object(3,0), object(3,1) mutated: 0x0000000000000000000000000000000000000000000000000000000000000005, object(0,0) deleted: object(_), object(2,0) -gas summary: computation_cost: 1000000, storage_cost: 14789600, storage_rebate: 1976000, non_refundable_storage_fee: 0 +gas summary: computation_cost: 1000000, storage_cost: 14561600, storage_rebate: 1976000, non_refundable_storage_fee: 0 task 4, line 27: //# create-checkpoint @@ -49,11 +49,11 @@ gas summary: computation_cost: 1000000, storage_cost: 1976000, storage_rebate: task 7, line 35: //# run 0x3::iota_system::request_add_stake --args object(0x5) object(6,0) @validator_0 --sender C -events: Event { package_id: iota_system, transaction_module: Identifier("iota_system"), sender: C, type_: StructTag { address: iota_system, module: Identifier("validator"), name: Identifier("StakingRequestEvent"), type_params: [] }, contents: [130, 133, 141, 116, 98, 77, 209, 200, 13, 154, 143, 120, 101, 224, 220, 131, 206, 238, 67, 219, 169, 92, 239, 127, 252, 57, 174, 151, 122, 150, 154, 152, 175, 163, 158, 79, 0, 218, 226, 120, 249, 119, 199, 198, 147, 10, 94, 44, 118, 232, 93, 23, 165, 38, 215, 36, 187, 206, 15, 184, 31, 176, 125, 76, 140, 202, 78, 28, 224, 186, 89, 4, 206, 166, 29, 249, 36, 45, 162, 247, 210, 158, 62, 243, 40, 251, 126, 192, 124, 8, 107, 59, 244, 124, 166, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 228, 11, 84, 2, 0, 0, 0] } +events: Event { package_id: iota_system, transaction_module: Identifier("iota_system"), sender: C, type_: StructTag { address: iota_system, module: Identifier("validator"), name: Identifier("StakingRequestEvent"), type_params: [] }, contents: [233, 207, 22, 117, 92, 142, 77, 109, 192, 159, 55, 48, 51, 243, 196, 130, 69, 227, 174, 117, 15, 72, 135, 76, 78, 53, 195, 204, 77, 84, 130, 131, 175, 163, 158, 79, 0, 218, 226, 120, 249, 119, 199, 198, 147, 10, 94, 44, 118, 232, 93, 23, 165, 38, 215, 36, 187, 206, 15, 184, 31, 176, 125, 76, 140, 202, 78, 28, 224, 186, 89, 4, 206, 166, 29, 249, 36, 45, 162, 247, 210, 158, 62, 243, 40, 251, 126, 192, 124, 8, 107, 59, 244, 124, 166, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 228, 11, 84, 2, 0, 0, 0] } created: object(7,0) mutated: 0x0000000000000000000000000000000000000000000000000000000000000005, object(0,0), object(3,0) deleted: object(6,0) -gas summary: computation_cost: 1000000, storage_cost: 14789600, storage_rebate: 14485600, non_refundable_storage_fee: 0 +gas summary: computation_cost: 1000000, storage_cost: 14561600, storage_rebate: 14257600, non_refundable_storage_fee: 0 task 8, line 37: //# create-checkpoint @@ -109,13 +109,13 @@ Response: { "stakedIotas": { "edges": [ { - "cursor": "IAlPg7XDD4HXzJ8tBoWdIOCk9CHWGLC6skWBLuCO9o7OBAAAAAAAAAA=", + "cursor": "ILTOB6NvCqXx1bHJbIx7P4fDLYSvut1t00nu514tp5J9BAAAAAAAAAA=", "node": { "principal": "10000000000" } }, { - "cursor": "IKI4gAGDZMoQPPhPLcFSlp0iKzRR/wWvUFwIJhRMKXbuBAAAAAAAAAA=", + "cursor": "IOnE7aJU6U1Isae47+9Q/LjemKofCkTn6xN5WNNmjvrdBAAAAAAAAAA=", "node": { "principal": "10000000000" } @@ -158,10 +158,15 @@ task 14, lines 105-148: Response: { "data": { "coins_after_obj_3_1_chkpt_3": { + "stakedIotas": { + "edges": [] + } + }, + "coins_before_obj_3_1_chkpt_3": { "stakedIotas": { "edges": [ { - "cursor": "IKI4gAGDZMoQPPhPLcFSlp0iKzRR/wWvUFwIJhRMKXbuAwAAAAAAAAA=", + "cursor": "ILTOB6NvCqXx1bHJbIx7P4fDLYSvut1t00nu514tp5J9AwAAAAAAAAA=", "node": { "principal": "10000000000" } @@ -169,27 +174,22 @@ Response: { ] } }, - "coins_before_obj_3_1_chkpt_3": { - "stakedIotas": { - "edges": [] - } - }, "coins_after_obj_7_0_chkpt_3": { - "stakedIotas": { - "edges": [] - } - }, - "coins_before_obj_7_0_chkpt_3": { "stakedIotas": { "edges": [ { - "cursor": "IAlPg7XDD4HXzJ8tBoWdIOCk9CHWGLC6skWBLuCO9o7OAwAAAAAAAAA=", + "cursor": "IOnE7aJU6U1Isae47+9Q/LjemKofCkTn6xN5WNNmjvrdAwAAAAAAAAA=", "node": { "principal": "10000000000" } } ] } + }, + "coins_before_obj_7_0_chkpt_3": { + "stakedIotas": { + "edges": [] + } } } } diff --git a/crates/iota-graphql-e2e-tests/tests/consistency/tx_address_objects.exp b/crates/iota-graphql-e2e-tests/tests/consistency/tx_address_objects.exp index c6044adfc29..1c19a13fa61 100644 --- a/crates/iota-graphql-e2e-tests/tests/consistency/tx_address_objects.exp +++ b/crates/iota-graphql-e2e-tests/tests/consistency/tx_address_objects.exp @@ -61,66 +61,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -136,66 +136,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -209,66 +209,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -284,7 +284,7 @@ Response: { "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" }, "json": { - "id": "0xf1a737372bfe422ee2f122356d521ea5452549b32e2507138bf0eb1be5e20671", + "id": "0x9da8198f4378eca1871757f889a063e3e3a1a552fc797267a701aa0c82f6b680", "balance": { "value": "299999993067600" } @@ -306,66 +306,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -390,66 +390,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -463,66 +463,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -538,7 +538,7 @@ Response: { "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" }, "json": { - "id": "0xf1a737372bfe422ee2f122356d521ea5452549b32e2507138bf0eb1be5e20671", + "id": "0x9da8198f4378eca1871757f889a063e3e3a1a552fc797267a701aa0c82f6b680", "balance": { "value": "300000000000000" } @@ -557,66 +557,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -630,66 +630,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -705,7 +705,7 @@ Response: { "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" }, "json": { - "id": "0xf1a737372bfe422ee2f122356d521ea5452549b32e2507138bf0eb1be5e20671", + "id": "0x9da8198f4378eca1871757f889a063e3e3a1a552fc797267a701aa0c82f6b680", "balance": { "value": "299999996697200" } @@ -724,66 +724,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -797,66 +797,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -872,7 +872,7 @@ Response: { "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" }, "json": { - "id": "0xf1a737372bfe422ee2f122356d521ea5452549b32e2507138bf0eb1be5e20671", + "id": "0x9da8198f4378eca1871757f889a063e3e3a1a552fc797267a701aa0c82f6b680", "balance": { "value": "299999993067600" } @@ -907,66 +907,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -982,66 +982,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -1055,66 +1055,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -1130,7 +1130,7 @@ Response: { "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" }, "json": { - "id": "0xf1a737372bfe422ee2f122356d521ea5452549b32e2507138bf0eb1be5e20671", + "id": "0x9da8198f4378eca1871757f889a063e3e3a1a552fc797267a701aa0c82f6b680", "balance": { "value": "299999993067600" } @@ -1152,66 +1152,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -1240,66 +1240,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -1313,66 +1313,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -1388,66 +1388,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -1461,66 +1461,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -1536,66 +1536,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } @@ -1609,66 +1609,66 @@ Response: { { "contents": { "json": { - "id": "0x1528ee2827afe061233d5beafd98a2d9b14ad8de57a66bb197a947ccf8b0eb73", + "id": "0x0a507f8a603f8431cce07f1e60d17881ce747dfcc8b9c24a2d6807deb37101ce", "value": "5" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x5eefd87903d53f59556e6587402b29677a34e70c8fcc477225915254ad3627d5", - "value": "3" + "id": "0x2938d6b60f2b12193916aa014580060f2a9dfc71bcbeeb93877790ac03a7cd0c", + "value": "4" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0x78ce8e88d32f4c38ff51d7fdc924bf414f6109dedb0a50c1bbc2c774d788c1a7", - "value": "4" + "id": "0x2e3299fcac2580392087459adfb6cf19b1119c70e374a817bb82572a43c617c7", + "value": "200" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xb4e131085768b66cad5635d0d8f7794409d905af175fb3c7188bed9da88e27d4", - "value": "2" + "id": "0x7dccde2025181ded38d74712316b9e895fea91416e2c6fece98ab81a7f2feaa4", + "value": "3" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xe8af7d6116139d694d3e18422466fab6955741b933eecb5ee6f7e92433532663", - "value": "200" + "id": "0x97c68bfbc11acf399e750ad156194bf934b261952ce1dc251494471138521ec4", + "value": "2" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } }, { "contents": { "json": { - "id": "0xfb08f12485f3320b86c0729cf7987ace4a9084ec2b9d839c78165e397a52c18e", + "id": "0xde730de2672d23259fb9d179736de5c2262eac616ba4aa947c79f7493dc4edbb", "value": "6" }, "type": { - "repr": "0xea9d9c1b38f75e7505fbd065e100cca5f4be0d196bc22af21c0f854fc20c89fc::M1::Object" + "repr": "0x204efe51de22563b6bb6dec618af36f29dc881247ee04b11f816a2ea35e1de44::M1::Object" } } } diff --git a/crates/iota-graphql-e2e-tests/tests/epoch/chain_identifier.exp b/crates/iota-graphql-e2e-tests/tests/epoch/chain_identifier.exp index 37d79d83875..642c3cd09ce 100644 --- a/crates/iota-graphql-e2e-tests/tests/epoch/chain_identifier.exp +++ b/crates/iota-graphql-e2e-tests/tests/epoch/chain_identifier.exp @@ -11,6 +11,6 @@ task 2, lines 10-13: //# run-graphql Response: { "data": { - "chainIdentifier": "e615fa5c" + "chainIdentifier": "157e9367" } } diff --git a/crates/iota-graphql-e2e-tests/tests/epoch/epoch.exp b/crates/iota-graphql-e2e-tests/tests/epoch/epoch.exp index 65d15c52a98..ea58f7249c7 100644 --- a/crates/iota-graphql-e2e-tests/tests/epoch/epoch.exp +++ b/crates/iota-graphql-e2e-tests/tests/epoch/epoch.exp @@ -21,11 +21,11 @@ gas summary: computation_cost: 1000000, storage_cost: 1976000, storage_rebate: task 4, lines 17-19: //# run 0x3::iota_system::request_add_stake --args object(0x5) object(3,0) @validator_0 --sender C -events: Event { package_id: iota_system, transaction_module: Identifier("iota_system"), sender: C, type_: StructTag { address: iota_system, module: Identifier("validator"), name: Identifier("StakingRequestEvent"), type_params: [] }, contents: [130, 133, 141, 116, 98, 77, 209, 200, 13, 154, 143, 120, 101, 224, 220, 131, 206, 238, 67, 219, 169, 92, 239, 127, 252, 57, 174, 151, 122, 150, 154, 152, 175, 163, 158, 79, 0, 218, 226, 120, 249, 119, 199, 198, 147, 10, 94, 44, 118, 232, 93, 23, 165, 38, 215, 36, 187, 206, 15, 184, 31, 176, 125, 76, 140, 202, 78, 28, 224, 186, 89, 4, 206, 166, 29, 249, 36, 45, 162, 247, 210, 158, 62, 243, 40, 251, 126, 192, 124, 8, 107, 59, 244, 124, 166, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 228, 11, 84, 2, 0, 0, 0] } +events: Event { package_id: iota_system, transaction_module: Identifier("iota_system"), sender: C, type_: StructTag { address: iota_system, module: Identifier("validator"), name: Identifier("StakingRequestEvent"), type_params: [] }, contents: [233, 207, 22, 117, 92, 142, 77, 109, 192, 159, 55, 48, 51, 243, 196, 130, 69, 227, 174, 117, 15, 72, 135, 76, 78, 53, 195, 204, 77, 84, 130, 131, 175, 163, 158, 79, 0, 218, 226, 120, 249, 119, 199, 198, 147, 10, 94, 44, 118, 232, 93, 23, 165, 38, 215, 36, 187, 206, 15, 184, 31, 176, 125, 76, 140, 202, 78, 28, 224, 186, 89, 4, 206, 166, 29, 249, 36, 45, 162, 247, 210, 158, 62, 243, 40, 251, 126, 192, 124, 8, 107, 59, 244, 124, 166, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 228, 11, 84, 2, 0, 0, 0] } created: object(4,0) mutated: object(_), 0x0000000000000000000000000000000000000000000000000000000000000005, object(0,0) deleted: object(3,0) -gas summary: computation_cost: 1000000, storage_cost: 14789600, storage_rebate: 1976000, non_refundable_storage_fee: 0 +gas summary: computation_cost: 1000000, storage_cost: 14561600, storage_rebate: 1976000, non_refundable_storage_fee: 0 task 5, line 20: //# create-checkpoint @@ -67,11 +67,11 @@ Response: { ] }, "validatorCandidatesSize": 0, - "inactivePoolsId": "0x2b9a58c4ded369560d876639a5b34b3fead568d6598ab604325336d7c7a4d2ed" + "inactivePoolsId": "0xccb58847e6337f3f9b05773365f62f7187e0b805ece63f932e8270e51188a9e0" }, "totalGasFees": "1000000", "totalStakeRewards": "767000000000000", - "fundSize": "14789600", + "fundSize": "14561600", "fundInflow": "1976000", "fundOutflow": "988000", "netInflow": "988000", @@ -81,7 +81,7 @@ Response: { "kind": { "__typename": "ProgrammableTransactionBlock" }, - "digest": "qWyE8oRrLWndQLguEYQHNLXfp4vZKyGfbXv9ngpww43" + "digest": "o5rxrq6e35THRZTrCB1LM3nVC7r4sM4vaeSBzDzhE6R" }, { "kind": { diff --git a/crates/iota-graphql-e2e-tests/tests/epoch/system_state.exp b/crates/iota-graphql-e2e-tests/tests/epoch/system_state.exp index c3809a76633..1e33a8e13f3 100644 --- a/crates/iota-graphql-e2e-tests/tests/epoch/system_state.exp +++ b/crates/iota-graphql-e2e-tests/tests/epoch/system_state.exp @@ -21,11 +21,11 @@ gas summary: computation_cost: 1000000, storage_cost: 1976000, storage_rebate: task 4, line 19: //# run 0x3::iota_system::request_add_stake --args object(0x5) object(3,0) @validator_0 --sender C -events: Event { package_id: iota_system, transaction_module: Identifier("iota_system"), sender: C, type_: StructTag { address: iota_system, module: Identifier("validator"), name: Identifier("StakingRequestEvent"), type_params: [] }, contents: [226, 199, 155, 126, 61, 210, 185, 124, 180, 187, 173, 186, 177, 130, 230, 105, 249, 133, 233, 67, 137, 200, 120, 18, 222, 157, 32, 43, 79, 77, 0, 198, 175, 163, 158, 79, 0, 218, 226, 120, 249, 119, 199, 198, 147, 10, 94, 44, 118, 232, 93, 23, 165, 38, 215, 36, 187, 206, 15, 184, 31, 176, 125, 76, 140, 202, 78, 28, 224, 186, 89, 4, 206, 166, 29, 249, 36, 45, 162, 247, 210, 158, 62, 243, 40, 251, 126, 192, 124, 8, 107, 59, 244, 124, 166, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 228, 11, 84, 2, 0, 0, 0] } +events: Event { package_id: iota_system, transaction_module: Identifier("iota_system"), sender: C, type_: StructTag { address: iota_system, module: Identifier("validator"), name: Identifier("StakingRequestEvent"), type_params: [] }, contents: [141, 194, 182, 191, 13, 223, 31, 163, 140, 181, 81, 55, 49, 228, 140, 195, 208, 123, 162, 48, 172, 111, 154, 21, 33, 5, 186, 53, 41, 60, 215, 132, 175, 163, 158, 79, 0, 218, 226, 120, 249, 119, 199, 198, 147, 10, 94, 44, 118, 232, 93, 23, 165, 38, 215, 36, 187, 206, 15, 184, 31, 176, 125, 76, 140, 202, 78, 28, 224, 186, 89, 4, 206, 166, 29, 249, 36, 45, 162, 247, 210, 158, 62, 243, 40, 251, 126, 192, 124, 8, 107, 59, 244, 124, 166, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 228, 11, 84, 2, 0, 0, 0] } created: object(4,0) mutated: object(_), 0x0000000000000000000000000000000000000000000000000000000000000005, object(0,0) deleted: object(3,0) -gas summary: computation_cost: 1000000, storage_cost: 14789600, storage_rebate: 1976000, non_refundable_storage_fee: 0 +gas summary: computation_cost: 1000000, storage_cost: 14561600, storage_rebate: 1976000, non_refundable_storage_fee: 0 task 5, line 21: //# create-checkpoint @@ -61,11 +61,11 @@ Epoch advanced: 3 task 12, line 37: //# run 0x3::iota_system::request_withdraw_stake --args object(0x5) object(4,0) --sender C -events: Event { package_id: iota_system, transaction_module: Identifier("iota_system"), sender: C, type_: StructTag { address: iota_system, module: Identifier("validator"), name: Identifier("UnstakingRequestEvent"), type_params: [] }, contents: [226, 199, 155, 126, 61, 210, 185, 124, 180, 187, 173, 186, 177, 130, 230, 105, 249, 133, 233, 67, 137, 200, 120, 18, 222, 157, 32, 43, 79, 77, 0, 198, 175, 163, 158, 79, 0, 218, 226, 120, 249, 119, 199, 198, 147, 10, 94, 44, 118, 232, 93, 23, 165, 38, 215, 36, 187, 206, 15, 184, 31, 176, 125, 76, 140, 202, 78, 28, 224, 186, 89, 4, 206, 166, 29, 249, 36, 45, 162, 247, 210, 158, 62, 243, 40, 251, 126, 192, 124, 8, 107, 59, 244, 124, 166, 26, 2, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 228, 11, 84, 2, 0, 0, 0, 12, 33, 189, 38, 1, 0, 0, 0] } +events: Event { package_id: iota_system, transaction_module: Identifier("iota_system"), sender: C, type_: StructTag { address: iota_system, module: Identifier("validator"), name: Identifier("UnstakingRequestEvent"), type_params: [] }, contents: [141, 194, 182, 191, 13, 223, 31, 163, 140, 181, 81, 55, 49, 228, 140, 195, 208, 123, 162, 48, 172, 111, 154, 21, 33, 5, 186, 53, 41, 60, 215, 132, 175, 163, 158, 79, 0, 218, 226, 120, 249, 119, 199, 198, 147, 10, 94, 44, 118, 232, 93, 23, 165, 38, 215, 36, 187, 206, 15, 184, 31, 176, 125, 76, 140, 202, 78, 28, 224, 186, 89, 4, 206, 166, 29, 249, 36, 45, 162, 247, 210, 158, 62, 243, 40, 251, 126, 192, 124, 8, 107, 59, 244, 124, 166, 26, 2, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 228, 11, 84, 2, 0, 0, 0, 12, 33, 189, 38, 1, 0, 0, 0] } created: object(12,0) mutated: object(_), 0x0000000000000000000000000000000000000000000000000000000000000005, object(0,0) deleted: object(4,0) -gas summary: computation_cost: 1000000, storage_cost: 14485600, storage_rebate: 14789600, non_refundable_storage_fee: 0 +gas summary: computation_cost: 1000000, storage_cost: 14257600, storage_rebate: 14561600, non_refundable_storage_fee: 0 task 13, line 39: //# create-checkpoint @@ -99,7 +99,7 @@ Response: { "epochId": 4, "systemStateVersion": 2, "storageFund": { - "totalObjectStorageRebates": "15473600", + "totalObjectStorageRebates": "15245600", "nonRefundableBalance": "0" } } @@ -114,7 +114,7 @@ Response: { "epochId": 3, "systemStateVersion": 2, "storageFund": { - "totalObjectStorageRebates": "15777600", + "totalObjectStorageRebates": "15549600", "nonRefundableBalance": "0" } } @@ -129,7 +129,7 @@ Response: { "epochId": 2, "systemStateVersion": 2, "storageFund": { - "totalObjectStorageRebates": "14789600", + "totalObjectStorageRebates": "14561600", "nonRefundableBalance": "0" } } @@ -144,7 +144,7 @@ Response: { "epochId": 1, "systemStateVersion": 2, "storageFund": { - "totalObjectStorageRebates": "14789600", + "totalObjectStorageRebates": "14561600", "nonRefundableBalance": "0" } } @@ -159,7 +159,7 @@ Response: { "epochId": 4, "systemStateVersion": 2, "storageFund": { - "totalObjectStorageRebates": "15473600", + "totalObjectStorageRebates": "15245600", "nonRefundableBalance": "0" } } diff --git a/crates/iota-graphql-e2e-tests/tests/errors/clever_errors.exp b/crates/iota-graphql-e2e-tests/tests/errors/clever_errors.exp index d85ebbc9870..42d3ab05ce5 100644 --- a/crates/iota-graphql-e2e-tests/tests/errors/clever_errors.exp +++ b/crates/iota-graphql-e2e-tests/tests/errors/clever_errors.exp @@ -77,67 +77,67 @@ Response: { { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0x89f3cb0781bdda33a4e9bc5bdb6b3ea62de99f04387bef04eb1b062cceec879c::m::callU8' (line 30), abort 'ImAU8': 0" + "errors": "Error in 1st command, from '0x1803af073fdd925c6531abdeac9a6970139e99522f1c51b3d8ee19f9ecf97a53::m::callU8' (line 30), abort 'ImAU8': 0" } }, { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0x89f3cb0781bdda33a4e9bc5bdb6b3ea62de99f04387bef04eb1b062cceec879c::m::callU16' (line 33), abort 'ImAU16': 1" + "errors": "Error in 1st command, from '0x1803af073fdd925c6531abdeac9a6970139e99522f1c51b3d8ee19f9ecf97a53::m::callU16' (line 33), abort 'ImAU16': 1" } }, { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0x89f3cb0781bdda33a4e9bc5bdb6b3ea62de99f04387bef04eb1b062cceec879c::m::callU32' (line 36), abort 'ImAU32': 2" + "errors": "Error in 1st command, from '0x1803af073fdd925c6531abdeac9a6970139e99522f1c51b3d8ee19f9ecf97a53::m::callU32' (line 36), abort 'ImAU32': 2" } }, { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0x89f3cb0781bdda33a4e9bc5bdb6b3ea62de99f04387bef04eb1b062cceec879c::m::callU64' (line 39), abort 'ImAU64': 3" + "errors": "Error in 1st command, from '0x1803af073fdd925c6531abdeac9a6970139e99522f1c51b3d8ee19f9ecf97a53::m::callU64' (line 39), abort 'ImAU64': 3" } }, { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0x89f3cb0781bdda33a4e9bc5bdb6b3ea62de99f04387bef04eb1b062cceec879c::m::callU128' (line 42), abort 'ImAU128': 4" + "errors": "Error in 1st command, from '0x1803af073fdd925c6531abdeac9a6970139e99522f1c51b3d8ee19f9ecf97a53::m::callU128' (line 42), abort 'ImAU128': 4" } }, { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0x89f3cb0781bdda33a4e9bc5bdb6b3ea62de99f04387bef04eb1b062cceec879c::m::callU256' (line 45), abort 'ImAU256': 5" + "errors": "Error in 1st command, from '0x1803af073fdd925c6531abdeac9a6970139e99522f1c51b3d8ee19f9ecf97a53::m::callU256' (line 45), abort 'ImAU256': 5" } }, { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0x89f3cb0781bdda33a4e9bc5bdb6b3ea62de99f04387bef04eb1b062cceec879c::m::callAddress' (line 48), abort 'ImAnAddress': 0x0000000000000000000000000000000000000000000000000000000000000006" + "errors": "Error in 1st command, from '0x1803af073fdd925c6531abdeac9a6970139e99522f1c51b3d8ee19f9ecf97a53::m::callAddress' (line 48), abort 'ImAnAddress': 0x0000000000000000000000000000000000000000000000000000000000000006" } }, { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0x89f3cb0781bdda33a4e9bc5bdb6b3ea62de99f04387bef04eb1b062cceec879c::m::callString' (line 51), abort 'ImAString': This is a string" + "errors": "Error in 1st command, from '0x1803af073fdd925c6531abdeac9a6970139e99522f1c51b3d8ee19f9ecf97a53::m::callString' (line 51), abort 'ImAString': This is a string" } }, { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0x89f3cb0781bdda33a4e9bc5bdb6b3ea62de99f04387bef04eb1b062cceec879c::m::callU64vec' (line 54), abort 'ImNotAString': BQEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABQAAAAAAAAA=" + "errors": "Error in 1st command, from '0x1803af073fdd925c6531abdeac9a6970139e99522f1c51b3d8ee19f9ecf97a53::m::callU64vec' (line 54), abort 'ImNotAString': BQEAAAAAAAAAAgAAAAAAAAADAAAAAAAAAAQAAAAAAAAABQAAAAAAAAA=" } }, { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0x89f3cb0781bdda33a4e9bc5bdb6b3ea62de99f04387bef04eb1b062cceec879c::m::normalAbort' (instruction 1), abort code: 0" + "errors": "Error in 1st command, from '0x1803af073fdd925c6531abdeac9a6970139e99522f1c51b3d8ee19f9ecf97a53::m::normalAbort' (instruction 1), abort code: 0" } }, { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0x89f3cb0781bdda33a4e9bc5bdb6b3ea62de99f04387bef04eb1b062cceec879c::m::assertLineNo' (line 60)" + "errors": "Error in 1st command, from '0x1803af073fdd925c6531abdeac9a6970139e99522f1c51b3d8ee19f9ecf97a53::m::assertLineNo' (line 60)" } } ] @@ -248,7 +248,7 @@ Response: { }, "errors": [ { - "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: a37c9a099e3e82d8b641f22ffa0f3503b9ea10c0374a02cbc32f3c81985b8279", + "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: 9a1632bc40f410b1c232035381c32fa7d17da47d861dbcc83837abdfed6d142d", "locations": [ { "line": 6, @@ -264,7 +264,7 @@ Response: { ] }, { - "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: a37c9a099e3e82d8b641f22ffa0f3503b9ea10c0374a02cbc32f3c81985b8279", + "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: 9a1632bc40f410b1c232035381c32fa7d17da47d861dbcc83837abdfed6d142d", "locations": [ { "line": 6, @@ -280,7 +280,7 @@ Response: { ] }, { - "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: a37c9a099e3e82d8b641f22ffa0f3503b9ea10c0374a02cbc32f3c81985b8279", + "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: 9a1632bc40f410b1c232035381c32fa7d17da47d861dbcc83837abdfed6d142d", "locations": [ { "line": 6, @@ -296,7 +296,7 @@ Response: { ] }, { - "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: a37c9a099e3e82d8b641f22ffa0f3503b9ea10c0374a02cbc32f3c81985b8279", + "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: 9a1632bc40f410b1c232035381c32fa7d17da47d861dbcc83837abdfed6d142d", "locations": [ { "line": 6, @@ -312,7 +312,7 @@ Response: { ] }, { - "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: a37c9a099e3e82d8b641f22ffa0f3503b9ea10c0374a02cbc32f3c81985b8279", + "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: 9a1632bc40f410b1c232035381c32fa7d17da47d861dbcc83837abdfed6d142d", "locations": [ { "line": 6, @@ -328,7 +328,7 @@ Response: { ] }, { - "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: a37c9a099e3e82d8b641f22ffa0f3503b9ea10c0374a02cbc32f3c81985b8279", + "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: 9a1632bc40f410b1c232035381c32fa7d17da47d861dbcc83837abdfed6d142d", "locations": [ { "line": 6, @@ -344,7 +344,7 @@ Response: { ] }, { - "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: a37c9a099e3e82d8b641f22ffa0f3503b9ea10c0374a02cbc32f3c81985b8279", + "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: 9a1632bc40f410b1c232035381c32fa7d17da47d861dbcc83837abdfed6d142d", "locations": [ { "line": 6, @@ -360,7 +360,7 @@ Response: { ] }, { - "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: a37c9a099e3e82d8b641f22ffa0f3503b9ea10c0374a02cbc32f3c81985b8279", + "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: 9a1632bc40f410b1c232035381c32fa7d17da47d861dbcc83837abdfed6d142d", "locations": [ { "line": 6, @@ -376,7 +376,7 @@ Response: { ] }, { - "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: a37c9a099e3e82d8b641f22ffa0f3503b9ea10c0374a02cbc32f3c81985b8279", + "message": "Internal error occurred while processing request: Error resolving Move location: Linkage not found for package: 9a1632bc40f410b1c232035381c32fa7d17da47d861dbcc83837abdfed6d142d", "locations": [ { "line": 6, diff --git a/crates/iota-graphql-e2e-tests/tests/errors/clever_errors_in_macros.exp b/crates/iota-graphql-e2e-tests/tests/errors/clever_errors_in_macros.exp index e4c759de58c..f93b4ed10e6 100644 --- a/crates/iota-graphql-e2e-tests/tests/errors/clever_errors_in_macros.exp +++ b/crates/iota-graphql-e2e-tests/tests/errors/clever_errors_in_macros.exp @@ -37,19 +37,19 @@ Response: { { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0x4e0b6e7e61eb7e1a84ec61887bad7b992ebc3492ad0014bc63281fd1f5acded2::m::t_a' (line 21)" + "errors": "Error in 1st command, from '0x091f35449748beed874ae0236724fa6793ecac06e84c2008e37537d0cecd94ec::m::t_a' (line 21)" } }, { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0x4e0b6e7e61eb7e1a84ec61887bad7b992ebc3492ad0014bc63281fd1f5acded2::m::t_calls_a' (line 24)" + "errors": "Error in 1st command, from '0x091f35449748beed874ae0236724fa6793ecac06e84c2008e37537d0cecd94ec::m::t_calls_a' (line 24)" } }, { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0x4e0b6e7e61eb7e1a84ec61887bad7b992ebc3492ad0014bc63281fd1f5acded2::m::t_const_assert' (line 10), abort 'EMsg': This is a string" + "errors": "Error in 1st command, from '0x091f35449748beed874ae0236724fa6793ecac06e84c2008e37537d0cecd94ec::m::t_const_assert' (line 10), abort 'EMsg': This is a string" } } ] diff --git a/crates/iota-graphql-e2e-tests/tests/event_connection/event_connection.exp b/crates/iota-graphql-e2e-tests/tests/event_connection/event_connection.exp index 93c4aac61f4..c0cbd080bff 100644 --- a/crates/iota-graphql-e2e-tests/tests/event_connection/event_connection.exp +++ b/crates/iota-graphql-e2e-tests/tests/event_connection/event_connection.exp @@ -62,7 +62,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M1::EventA" + "repr": "0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -80,7 +80,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M1::EventB<0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M1::Object>" + "repr": "0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M1::EventB<0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M1::Object>" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -98,7 +98,7 @@ Response: { "name": "M2" }, "type": { - "repr": "0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M2::EventA" + "repr": "0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M2::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -116,7 +116,7 @@ Response: { "name": "M2" }, "type": { - "repr": "0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M2::EventB<0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M2::Object>" + "repr": "0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M2::EventB<0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M2::Object>" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -145,7 +145,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M1::EventA" + "repr": "0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -163,7 +163,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M1::EventB<0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M1::Object>" + "repr": "0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M1::EventB<0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M1::Object>" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -181,7 +181,7 @@ Response: { "name": "M2" }, "type": { - "repr": "0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M2::EventA" + "repr": "0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M2::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -199,7 +199,7 @@ Response: { "name": "M2" }, "type": { - "repr": "0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M2::EventB<0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M2::Object>" + "repr": "0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M2::EventB<0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M2::Object>" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -228,7 +228,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M1::EventA" + "repr": "0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -246,7 +246,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M1::EventB<0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M1::Object>" + "repr": "0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M1::EventB<0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M1::Object>" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -275,7 +275,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M1::EventA" + "repr": "0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -304,7 +304,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M1::EventB<0x09aacb263274f968c844964d04220221707a91acd5f340c2504f6ee5873c1154::M1::Object>" + "repr": "0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M1::EventB<0x4e7fc229c08ef64b7f9149318b3ede4bfd3aa0a8b5fb0c1a1c1339e90bb38a80::M1::Object>" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" diff --git a/crates/iota-graphql-e2e-tests/tests/event_connection/nested_emit_event.exp b/crates/iota-graphql-e2e-tests/tests/event_connection/nested_emit_event.exp index ecdfee877f4..d2dd26e9b7c 100644 --- a/crates/iota-graphql-e2e-tests/tests/event_connection/nested_emit_event.exp +++ b/crates/iota-graphql-e2e-tests/tests/event_connection/nested_emit_event.exp @@ -30,7 +30,7 @@ Response: { "name": "M3" }, "type": { - "repr": "0x39f4a482db6935322e3c8144c864bd2c52380b532db8486a87130f6e28feb296::M1::EventA" + "repr": "0x0d89bcf2cce9440c1c24fe316ab44e3149f852bb47714bd088d318fff135b772::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -56,7 +56,7 @@ Response: { "name": "M3" }, "type": { - "repr": "0x39f4a482db6935322e3c8144c864bd2c52380b532db8486a87130f6e28feb296::M1::EventA" + "repr": "0x0d89bcf2cce9440c1c24fe316ab44e3149f852bb47714bd088d318fff135b772::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -102,7 +102,7 @@ Response: { "name": "M3" }, "type": { - "repr": "0x39f4a482db6935322e3c8144c864bd2c52380b532db8486a87130f6e28feb296::M1::EventA" + "repr": "0x0d89bcf2cce9440c1c24fe316ab44e3149f852bb47714bd088d318fff135b772::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" diff --git a/crates/iota-graphql-e2e-tests/tests/event_connection/no_filter.exp b/crates/iota-graphql-e2e-tests/tests/event_connection/no_filter.exp index 8182646915a..973bfc67972 100644 --- a/crates/iota-graphql-e2e-tests/tests/event_connection/no_filter.exp +++ b/crates/iota-graphql-e2e-tests/tests/event_connection/no_filter.exp @@ -33,12 +33,12 @@ Response: { "nodes": [ { "json": { - "id": "0xd927e46f8aacf7676813d1cf6fa17ddcb293c07e3f79005f8ef417164e540c36" + "id": "0x9541b2c72dd79fda1356a14f2c65a3236d9fa8690f91e52bf8f24b39fa636e36" } }, { "json": { - "id": "0xd927e46f8aacf7676813d1cf6fa17ddcb293c07e3f79005f8ef417164e540c36", + "id": "0x9541b2c72dd79fda1356a14f2c65a3236d9fa8690f91e52bf8f24b39fa636e36", "version": 1, "fields": { "contents": [ diff --git a/crates/iota-graphql-e2e-tests/tests/event_connection/pagination.exp b/crates/iota-graphql-e2e-tests/tests/event_connection/pagination.exp index 423826076e4..fdc46c72775 100644 --- a/crates/iota-graphql-e2e-tests/tests/event_connection/pagination.exp +++ b/crates/iota-graphql-e2e-tests/tests/event_connection/pagination.exp @@ -42,7 +42,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0xf33f8064b9a6b148fbadd51f949fa5a4f06575355c6d54e2b6d96cdc10e1e054::M1::EventA" + "repr": "0x1f57915ce0ae42aa219f3cc99dc4c285414b0df9ffdac98c0eb944c64c1cd4ad::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -60,7 +60,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0xf33f8064b9a6b148fbadd51f949fa5a4f06575355c6d54e2b6d96cdc10e1e054::M1::EventA" + "repr": "0x1f57915ce0ae42aa219f3cc99dc4c285414b0df9ffdac98c0eb944c64c1cd4ad::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -78,7 +78,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0xf33f8064b9a6b148fbadd51f949fa5a4f06575355c6d54e2b6d96cdc10e1e054::M1::EventA" + "repr": "0x1f57915ce0ae42aa219f3cc99dc4c285414b0df9ffdac98c0eb944c64c1cd4ad::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -111,7 +111,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0xf33f8064b9a6b148fbadd51f949fa5a4f06575355c6d54e2b6d96cdc10e1e054::M1::EventA" + "repr": "0x1f57915ce0ae42aa219f3cc99dc4c285414b0df9ffdac98c0eb944c64c1cd4ad::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -129,7 +129,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0xf33f8064b9a6b148fbadd51f949fa5a4f06575355c6d54e2b6d96cdc10e1e054::M1::EventA" + "repr": "0x1f57915ce0ae42aa219f3cc99dc4c285414b0df9ffdac98c0eb944c64c1cd4ad::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -162,7 +162,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0xf33f8064b9a6b148fbadd51f949fa5a4f06575355c6d54e2b6d96cdc10e1e054::M1::EventA" + "repr": "0x1f57915ce0ae42aa219f3cc99dc4c285414b0df9ffdac98c0eb944c64c1cd4ad::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -180,7 +180,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0xf33f8064b9a6b148fbadd51f949fa5a4f06575355c6d54e2b6d96cdc10e1e054::M1::EventA" + "repr": "0x1f57915ce0ae42aa219f3cc99dc4c285414b0df9ffdac98c0eb944c64c1cd4ad::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -213,7 +213,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0xf33f8064b9a6b148fbadd51f949fa5a4f06575355c6d54e2b6d96cdc10e1e054::M1::EventA" + "repr": "0x1f57915ce0ae42aa219f3cc99dc4c285414b0df9ffdac98c0eb944c64c1cd4ad::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -231,7 +231,7 @@ Response: { "name": "M1" }, "type": { - "repr": "0xf33f8064b9a6b148fbadd51f949fa5a4f06575355c6d54e2b6d96cdc10e1e054::M1::EventA" + "repr": "0x1f57915ce0ae42aa219f3cc99dc4c285414b0df9ffdac98c0eb944c64c1cd4ad::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" diff --git a/crates/iota-graphql-e2e-tests/tests/event_connection/tx_digest.exp b/crates/iota-graphql-e2e-tests/tests/event_connection/tx_digest.exp index 61ba8e7fea7..3cacae4e1e1 100644 --- a/crates/iota-graphql-e2e-tests/tests/event_connection/tx_digest.exp +++ b/crates/iota-graphql-e2e-tests/tests/event_connection/tx_digest.exp @@ -37,36 +37,53 @@ Response: { "transactionBlocks": { "nodes": [ { - "digest": "64qAV8FFh1QVid2xtt1Xv1jiHVm8kpwYui3jBXDMbfmT" + "digest": "5kxKxJyFgHd4UJ5hRdDAqFKpxQ2By93WD5QBirmGxV5G" }, { - "digest": "3QGst81ao9mMLj5vod5dBsbtqHU4B51wdRfhdD9RKvpi" + "digest": "3VvtCtpFF6d1xVP8MaxQG1jKhGMwztHkgmr4oxFQvwQB" }, { - "digest": "Dj1eBmi77XMmFs1RBKPqZLrno3iCvRxf4PARoX1VJXv3" + "digest": "GmxLBE86X53MRMtMSsrvT7jQNgP2WUm58f2vTUmnWCmb" }, { - "digest": "HTbLMS7bVkTp6GnUSGe9J8WP3fWPqsVwSmKwvf7NjfvU" + "digest": "D8JKWZpfXiixotdWiU4U8gFsMP1zqytn67BrcmMcs8Ta" }, { - "digest": "BT93SR2FLRoghUynybJbTfUtQtfGxc2xPokkp68NPaYY" + "digest": "BocKaPfQva3uSbuNjdWjQ7L8PGT3QH5TMENKyM4Tk6y9" } ] } } } -task 7, lines 46-56: +task 7, lines 46-58: //# run-graphql Response: { "data": { "events": { - "edges": [] + "edges": [ + { + "cursor": "eyJ0eCI6MywiZSI6MCwiYyI6MX0", + "node": { + "json": { + "new_value": "2" + } + } + }, + { + "cursor": "eyJ0eCI6MywiZSI6MSwiYyI6MX0", + "node": { + "json": { + "new_value": "3" + } + } + } + ] } } } -task 8, lines 58-69: +task 8, lines 60-73: //# run-graphql --cursors {"tx":3,"e":1,"c":1} Response: { "data": { @@ -76,7 +93,7 @@ Response: { } } -task 9, lines 71-84: +task 9, lines 75-90: //# run-graphql --cursors {"tx":1,"e":1,"c":1} Response: { "data": { @@ -86,47 +103,99 @@ Response: { } } -task 10, lines 87-97: +task 10, lines 93-105: //# run-graphql Response: { "data": { "events": { - "edges": [] + "edges": [ + { + "cursor": "eyJ0eCI6NCwiZSI6MCwiYyI6MX0", + "node": { + "json": { + "new_value": "4" + } + } + }, + { + "cursor": "eyJ0eCI6NCwiZSI6MSwiYyI6MX0", + "node": { + "json": { + "new_value": "5" + } + } + } + ] } } } -task 11, lines 99-109: +task 11, lines 107-119: //# run-graphql --cursors {"tx":4,"e":0,"c":1} Response: { "data": { "events": { - "edges": [] + "edges": [ + { + "cursor": "eyJ0eCI6NCwiZSI6MSwiYyI6MX0", + "node": { + "json": { + "new_value": "5" + } + } + } + ] } } } -task 12, lines 112-122: +task 12, lines 122-134: //# run-graphql Response: { "data": { "events": { - "edges": [] + "edges": [ + { + "cursor": "eyJ0eCI6MywiZSI6MCwiYyI6MX0", + "node": { + "json": { + "new_value": "2" + } + } + }, + { + "cursor": "eyJ0eCI6MywiZSI6MSwiYyI6MX0", + "node": { + "json": { + "new_value": "3" + } + } + } + ] } } } -task 13, lines 124-135: +task 13, lines 136-149: //# run-graphql --cursors {"tx":3,"e":1,"c":1} Response: { "data": { "events": { - "edges": [] + "edges": [ + { + "cursor": "eyJ0eCI6MywiZSI6MCwiYyI6MX0", + "node": { + "json": { + "new_value": "2" + } + } + } + ] } } } -task 14, lines 137-150: +task 14, lines 151-166: //# run-graphql --cursors {"tx":4,"e":1,"c":1} Response: { "data": { @@ -136,47 +205,107 @@ Response: { } } -task 15, lines 153-163: +task 15, lines 169-181: //# run-graphql Response: { "data": { "events": { - "edges": [] + "edges": [ + { + "cursor": "eyJ0eCI6NCwiZSI6MCwiYyI6MX0", + "node": { + "json": { + "new_value": "4" + } + } + }, + { + "cursor": "eyJ0eCI6NCwiZSI6MSwiYyI6MX0", + "node": { + "json": { + "new_value": "5" + } + } + } + ] } } } -task 16, lines 165-175: +task 16, lines 183-195: //# run-graphql --cursors {"tx":4,"e":1,"c":1} Response: { "data": { "events": { - "edges": [] + "edges": [ + { + "cursor": "eyJ0eCI6NCwiZSI6MCwiYyI6MX0", + "node": { + "json": { + "new_value": "4" + } + } + } + ] } } } -task 17, lines 177-188: +task 17, lines 197-210: //# run-graphql Response: { "data": { "events": { - "edges": [] + "edges": [ + { + "cursor": "eyJ0eCI6MywiZSI6MCwiYyI6MX0", + "node": { + "json": { + "new_value": "2" + } + } + }, + { + "cursor": "eyJ0eCI6MywiZSI6MSwiYyI6MX0", + "node": { + "json": { + "new_value": "3" + } + } + } + ] } } } -task 18, lines 190-201: +task 18, lines 212-225: //# run-graphql Response: { "data": { "events": { - "edges": [] + "edges": [ + { + "cursor": "eyJ0eCI6NCwiZSI6MCwiYyI6MX0", + "node": { + "json": { + "new_value": "4" + } + } + }, + { + "cursor": "eyJ0eCI6NCwiZSI6MSwiYyI6MX0", + "node": { + "json": { + "new_value": "5" + } + } + } + ] } } } -task 19, lines 203-214: +task 19, lines 227-240: //# run-graphql Response: { "data": { @@ -186,7 +315,7 @@ Response: { } } -task 20, lines 216-227: +task 20, lines 242-255: //# run-graphql Response: { "data": { diff --git a/crates/iota-graphql-e2e-tests/tests/event_connection/tx_digest.move b/crates/iota-graphql-e2e-tests/tests/event_connection/tx_digest.move index ede2a63bda6..76bee10bffd 100644 --- a/crates/iota-graphql-e2e-tests/tests/event_connection/tx_digest.move +++ b/crates/iota-graphql-e2e-tests/tests/event_connection/tx_digest.move @@ -45,7 +45,9 @@ module Test::M1 { //# run-graphql { - events(filter: {transactionDigest: "5a9JZB8Sj4ZBUbw92Lhh5FPUELjF7DQu86axPnAoshUS"}) { + # `transactionDigest` is the digest of the 4th transaction returned by + # task 6 (see `tx_digest.exp`) + events(filter: {transactionDigest: "D8JKWZpfXiixotdWiU4U8gFsMP1zqytn67BrcmMcs8Ta"}) { edges { cursor node { @@ -58,7 +60,9 @@ module Test::M1 { //# run-graphql --cursors {"tx":3,"e":1,"c":1} # When the tx digest and after cursor are on the same tx, we'll use the after cursor's event sequence number { - events(after: "@{cursor_0}" filter: {transactionDigest: "5a9JZB8Sj4ZBUbw92Lhh5FPUELjF7DQu86axPnAoshUS"}) { + # `transactionDigest` is the digest of the 4th transaction returned by + # task 6 (see `tx_digest.exp`) + events(after: "@{cursor_0}" filter: {transactionDigest: "D8JKWZpfXiixotdWiU4U8gFsMP1zqytn67BrcmMcs8Ta"}) { edges { cursor node { @@ -73,7 +77,9 @@ module Test::M1 { # we will get an empty response, since it's not possible to fetch an event # that isn't of the same tx sequence number { - events(after: "@{cursor_0}" filter: {transactionDigest: "5a9JZB8Sj4ZBUbw92Lhh5FPUELjF7DQu86axPnAoshUS"}) { + # `transactionDigest` is the digest of the 4th transaction returned by + # task 6 (see `tx_digest.exp`) + events(after: "@{cursor_0}" filter: {transactionDigest: "D8JKWZpfXiixotdWiU4U8gFsMP1zqytn67BrcmMcs8Ta"}) { edges { cursor node { @@ -86,7 +92,9 @@ module Test::M1 { //# run-graphql { - events(filter: {transactionDigest: "mggojgjMhBoxL5AYtYav6kuwnLBT6AwJ9XeFcnJagab"}) { + # `transactionDigest` is the digest of the 5th transaction returned by + # task 6 (see `tx_digest.exp`) + events(filter: {transactionDigest: "BocKaPfQva3uSbuNjdWjQ7L8PGT3QH5TMENKyM4Tk6y9"}) { edges { cursor node { @@ -98,7 +106,9 @@ module Test::M1 { //# run-graphql --cursors {"tx":4,"e":0,"c":1} { - events(after: "@{cursor_0}" filter: {transactionDigest: "mggojgjMhBoxL5AYtYav6kuwnLBT6AwJ9XeFcnJagab"}) { + # `transactionDigest` is the digest of the 5th transaction returned by + # task 6 (see `tx_digest.exp`) + events(after: "@{cursor_0}" filter: {transactionDigest: "BocKaPfQva3uSbuNjdWjQ7L8PGT3QH5TMENKyM4Tk6y9"}) { edges { cursor node { @@ -111,7 +121,9 @@ module Test::M1 { //# run-graphql { - events(last: 10 filter: {transactionDigest: "5a9JZB8Sj4ZBUbw92Lhh5FPUELjF7DQu86axPnAoshUS"}) { + # `transactionDigest` is the digest of the 4th transaction returned by + # task 6 (see `tx_digest.exp`) + events(last: 10 filter: {transactionDigest: "D8JKWZpfXiixotdWiU4U8gFsMP1zqytn67BrcmMcs8Ta"}) { edges { cursor node { @@ -124,7 +136,9 @@ module Test::M1 { //# run-graphql --cursors {"tx":3,"e":1,"c":1} # When the tx digest and cursor are on the same tx, we'll use the cursor's event sequence number { - events(last: 10 before: "@{cursor_0}" filter: {transactionDigest: "5a9JZB8Sj4ZBUbw92Lhh5FPUELjF7DQu86axPnAoshUS"}) { + # `transactionDigest` is the digest of the 4th transaction returned by + # task 6 (see `tx_digest.exp`) + events(last: 10 before: "@{cursor_0}" filter: {transactionDigest: "D8JKWZpfXiixotdWiU4U8gFsMP1zqytn67BrcmMcs8Ta"}) { edges { cursor node { @@ -139,7 +153,9 @@ module Test::M1 { # we will get an empty response, since it's not possible to fetch an event # that isn't of the same tx sequence number { - events(last: 10 before: "@{cursor_0}" filter: {transactionDigest: "5a9JZB8Sj4ZBUbw92Lhh5FPUELjF7DQu86axPnAoshUS"}) { + # `transactionDigest` is the digest of the 4th transaction returned by + # task 6 (see `tx_digest.exp`) + events(last: 10 before: "@{cursor_0}" filter: {transactionDigest: "D8JKWZpfXiixotdWiU4U8gFsMP1zqytn67BrcmMcs8Ta"}) { edges { cursor node { @@ -152,7 +168,9 @@ module Test::M1 { //# run-graphql { - events(last: 10 filter: {transactionDigest: "mggojgjMhBoxL5AYtYav6kuwnLBT6AwJ9XeFcnJagab"}) { + # `transactionDigest` is the digest of the 5th transaction returned by + # task 6 (see `tx_digest.exp`) + events(last: 10 filter: {transactionDigest: "BocKaPfQva3uSbuNjdWjQ7L8PGT3QH5TMENKyM4Tk6y9"}) { edges { cursor node { @@ -164,7 +182,9 @@ module Test::M1 { //# run-graphql --cursors {"tx":4,"e":1,"c":1} { - events(last: 10 before: "@{cursor_0}" filter: {transactionDigest: "mggojgjMhBoxL5AYtYav6kuwnLBT6AwJ9XeFcnJagab"}) { + # `transactionDigest` is the digest of the 5th transaction returned by + # task 6 (see `tx_digest.exp`) + events(last: 10 before: "@{cursor_0}" filter: {transactionDigest: "BocKaPfQva3uSbuNjdWjQ7L8PGT3QH5TMENKyM4Tk6y9"}) { edges { cursor node { @@ -177,7 +197,9 @@ module Test::M1 { //# run-graphql # correct sender { - events(filter: {sender: "@{A}" transactionDigest: "5a9JZB8Sj4ZBUbw92Lhh5FPUELjF7DQu86axPnAoshUS"}) { + # `transactionDigest` is the digest of the 4th transaction returned by + # task 6 (see `tx_digest.exp`) + events(filter: {sender: "@{A}" transactionDigest: "D8JKWZpfXiixotdWiU4U8gFsMP1zqytn67BrcmMcs8Ta"}) { edges { cursor node { @@ -190,7 +212,9 @@ module Test::M1 { //# run-graphql # correct sender { - events(filter: {sender: "@{B}" transactionDigest: "mggojgjMhBoxL5AYtYav6kuwnLBT6AwJ9XeFcnJagab"}) { + # `transactionDigest` is the digest of the 5th transaction returned by + # task 6 (see `tx_digest.exp`) + events(filter: {sender: "@{B}" transactionDigest: "BocKaPfQva3uSbuNjdWjQ7L8PGT3QH5TMENKyM4Tk6y9"}) { edges { cursor node { @@ -203,7 +227,9 @@ module Test::M1 { //# run-graphql # incorrect sender { - events(filter: {sender: "@{B}" transactionDigest: "5a9JZB8Sj4ZBUbw92Lhh5FPUELjF7DQu86axPnAoshUS"}) { + # `transactionDigest` is the digest of the 4th transaction returned by + # task 6 (see `tx_digest.exp`) + events(filter: {sender: "@{B}" transactionDigest: "D8JKWZpfXiixotdWiU4U8gFsMP1zqytn67BrcmMcs8Ta"}) { edges { cursor node { @@ -216,7 +242,9 @@ module Test::M1 { //# run-graphql # incorrect sender { - events(filter: {sender: "@{A}" transactionDigest: "mggojgjMhBoxL5AYtYav6kuwnLBT6AwJ9XeFcnJagab"}) { + # `transactionDigest` is the digest of the 5th transaction returned by + # task 6 (see `tx_digest.exp`) + events(filter: {sender: "@{A}" transactionDigest: "BocKaPfQva3uSbuNjdWjQ7L8PGT3QH5TMENKyM4Tk6y9"}) { edges { cursor node { diff --git a/crates/iota-graphql-e2e-tests/tests/event_connection/type_filter.exp b/crates/iota-graphql-e2e-tests/tests/event_connection/type_filter.exp index d97ec9f926e..aece0c3370a 100644 --- a/crates/iota-graphql-e2e-tests/tests/event_connection/type_filter.exp +++ b/crates/iota-graphql-e2e-tests/tests/event_connection/type_filter.exp @@ -30,7 +30,7 @@ Response: { "name": "M2" }, "type": { - "repr": "0x75c43cbe5f62cbf5675b4f2e38e009c1749a4c0a471be1c087851b22949ca3f6::M1::EventA" + "repr": "0x2bed8b3b7c1c1f4946172f829fb3543392313644354882477a5db7ab2ce42d61::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -72,7 +72,7 @@ Response: { "name": "M2" }, "type": { - "repr": "0x75c43cbe5f62cbf5675b4f2e38e009c1749a4c0a471be1c087851b22949ca3f6::M1::EventA" + "repr": "0x2bed8b3b7c1c1f4946172f829fb3543392313644354882477a5db7ab2ce42d61::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -98,7 +98,7 @@ Response: { "name": "M2" }, "type": { - "repr": "0x75c43cbe5f62cbf5675b4f2e38e009c1749a4c0a471be1c087851b22949ca3f6::M2::EventB" + "repr": "0x2bed8b3b7c1c1f4946172f829fb3543392313644354882477a5db7ab2ce42d61::M2::EventB" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -124,7 +124,7 @@ Response: { "name": "M2" }, "type": { - "repr": "0x75c43cbe5f62cbf5675b4f2e38e009c1749a4c0a471be1c087851b22949ca3f6::M1::EventA" + "repr": "0x2bed8b3b7c1c1f4946172f829fb3543392313644354882477a5db7ab2ce42d61::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -139,7 +139,7 @@ Response: { "name": "M2" }, "type": { - "repr": "0x75c43cbe5f62cbf5675b4f2e38e009c1749a4c0a471be1c087851b22949ca3f6::M2::EventB" + "repr": "0x2bed8b3b7c1c1f4946172f829fb3543392313644354882477a5db7ab2ce42d61::M2::EventB" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -165,7 +165,7 @@ Response: { "name": "M2" }, "type": { - "repr": "0x75c43cbe5f62cbf5675b4f2e38e009c1749a4c0a471be1c087851b22949ca3f6::M1::EventA" + "repr": "0x2bed8b3b7c1c1f4946172f829fb3543392313644354882477a5db7ab2ce42d61::M1::EventA" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -180,7 +180,7 @@ Response: { "name": "M2" }, "type": { - "repr": "0x75c43cbe5f62cbf5675b4f2e38e009c1749a4c0a471be1c087851b22949ca3f6::M2::EventB" + "repr": "0x2bed8b3b7c1c1f4946172f829fb3543392313644354882477a5db7ab2ce42d61::M2::EventB" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -195,7 +195,7 @@ Response: { "name": "M2" }, "type": { - "repr": "0x75c43cbe5f62cbf5675b4f2e38e009c1749a4c0a471be1c087851b22949ca3f6::M2::EventB" + "repr": "0x2bed8b3b7c1c1f4946172f829fb3543392313644354882477a5db7ab2ce42d61::M2::EventB" }, "sender": { "address": "0x28f02a953f3553f51a9365593c7d4bd0643d2085f004b18c6ca9de51682b2c80" diff --git a/crates/iota-graphql-e2e-tests/tests/event_connection/type_param_filter.exp b/crates/iota-graphql-e2e-tests/tests/event_connection/type_param_filter.exp index c7a408bf58f..24528c6fd89 100644 --- a/crates/iota-graphql-e2e-tests/tests/event_connection/type_param_filter.exp +++ b/crates/iota-graphql-e2e-tests/tests/event_connection/type_param_filter.exp @@ -38,19 +38,19 @@ Response: { "transactionBlocks": { "nodes": [ { - "digest": "64qAV8FFh1QVid2xtt1Xv1jiHVm8kpwYui3jBXDMbfmT" + "digest": "5kxKxJyFgHd4UJ5hRdDAqFKpxQ2By93WD5QBirmGxV5G" }, { - "digest": "31RzGghRuy1Yk9E9HuhW8sUZvao1Nus2NNzbuRsDrdBq" + "digest": "BEXbvgKWGQhMvS1PoV2a7c2Wgr3dfK229ir5Ubkfhm8o" }, { - "digest": "4aFosqGULRnVqcwebaRHFtwrJgtL5CNXi5rKMo6qA6wY" + "digest": "AzMRRSR2Uu39kRnpNZQDAs7Mg9rfo57uZn4zk7D8n9Ly" }, { - "digest": "2SS6hgkkvST7JvbCRFoUpFDmXyiQvGtRY95tcyvbofwi" + "digest": "5ZnHMJYaowR9GX7j6uUbeJgDqDUwk8z5j9d5QeZ87w3E" }, { - "digest": "HKHfyhCRfTD2pQFsJu292w62q72KX1qjpNyFv5UA9Pp3" + "digest": "tqCdKSzTf2AtDS5QwSup41Vr1kSGtzUMWZuAgKNHRNu" } ] } @@ -65,7 +65,7 @@ Response: { "nodes": [ { "type": { - "repr": "0xd7df10b4bb7d56a722ca7cb40f99f7b06c01612df9394c52e9837ad303879a6c::M1::EventA<0xd7df10b4bb7d56a722ca7cb40f99f7b06c01612df9394c52e9837ad303879a6c::M1::T1>" + "repr": "0x2792abbe5866e4e9d048ea7b9a41fe13b198b4fdf6e3d8b68032e4b9e1065de9::M1::EventA<0x2792abbe5866e4e9d048ea7b9a41fe13b198b4fdf6e3d8b68032e4b9e1065de9::M1::T1>" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -78,7 +78,7 @@ Response: { }, { "type": { - "repr": "0xd7df10b4bb7d56a722ca7cb40f99f7b06c01612df9394c52e9837ad303879a6c::M1::EventA<0xd7df10b4bb7d56a722ca7cb40f99f7b06c01612df9394c52e9837ad303879a6c::M1::T2>" + "repr": "0x2792abbe5866e4e9d048ea7b9a41fe13b198b4fdf6e3d8b68032e4b9e1065de9::M1::EventA<0x2792abbe5866e4e9d048ea7b9a41fe13b198b4fdf6e3d8b68032e4b9e1065de9::M1::T2>" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -91,7 +91,7 @@ Response: { }, { "type": { - "repr": "0xd7df10b4bb7d56a722ca7cb40f99f7b06c01612df9394c52e9837ad303879a6c::M1::EventA<0xd7df10b4bb7d56a722ca7cb40f99f7b06c01612df9394c52e9837ad303879a6c::M1::T1>" + "repr": "0x2792abbe5866e4e9d048ea7b9a41fe13b198b4fdf6e3d8b68032e4b9e1065de9::M1::EventA<0x2792abbe5866e4e9d048ea7b9a41fe13b198b4fdf6e3d8b68032e4b9e1065de9::M1::T1>" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -104,7 +104,7 @@ Response: { }, { "type": { - "repr": "0xd7df10b4bb7d56a722ca7cb40f99f7b06c01612df9394c52e9837ad303879a6c::M1::EventA<0xd7df10b4bb7d56a722ca7cb40f99f7b06c01612df9394c52e9837ad303879a6c::M1::T2>" + "repr": "0x2792abbe5866e4e9d048ea7b9a41fe13b198b4fdf6e3d8b68032e4b9e1065de9::M1::EventA<0x2792abbe5866e4e9d048ea7b9a41fe13b198b4fdf6e3d8b68032e4b9e1065de9::M1::T2>" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -128,7 +128,7 @@ Response: { "nodes": [ { "type": { - "repr": "0xd7df10b4bb7d56a722ca7cb40f99f7b06c01612df9394c52e9837ad303879a6c::M1::EventA<0xd7df10b4bb7d56a722ca7cb40f99f7b06c01612df9394c52e9837ad303879a6c::M1::T1>" + "repr": "0x2792abbe5866e4e9d048ea7b9a41fe13b198b4fdf6e3d8b68032e4b9e1065de9::M1::EventA<0x2792abbe5866e4e9d048ea7b9a41fe13b198b4fdf6e3d8b68032e4b9e1065de9::M1::T1>" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -141,7 +141,7 @@ Response: { }, { "type": { - "repr": "0xd7df10b4bb7d56a722ca7cb40f99f7b06c01612df9394c52e9837ad303879a6c::M1::EventA<0xd7df10b4bb7d56a722ca7cb40f99f7b06c01612df9394c52e9837ad303879a6c::M1::T1>" + "repr": "0x2792abbe5866e4e9d048ea7b9a41fe13b198b4fdf6e3d8b68032e4b9e1065de9::M1::EventA<0x2792abbe5866e4e9d048ea7b9a41fe13b198b4fdf6e3d8b68032e4b9e1065de9::M1::T1>" }, "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" @@ -157,12 +157,26 @@ Response: { } } -task 9, lines 80-93: +task 9, lines 80-95: //# run-graphql Response: { "data": { "events": { - "nodes": [] + "nodes": [ + { + "type": { + "repr": "0x2792abbe5866e4e9d048ea7b9a41fe13b198b4fdf6e3d8b68032e4b9e1065de9::M1::EventA<0x2792abbe5866e4e9d048ea7b9a41fe13b198b4fdf6e3d8b68032e4b9e1065de9::M1::T2>" + }, + "sender": { + "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" + }, + "json": { + "value": { + "dummy_field": false + } + } + } + ] } } } diff --git a/crates/iota-graphql-e2e-tests/tests/event_connection/type_param_filter.move b/crates/iota-graphql-e2e-tests/tests/event_connection/type_param_filter.move index 352f62d44fc..cf75960b6d5 100644 --- a/crates/iota-graphql-e2e-tests/tests/event_connection/type_param_filter.move +++ b/crates/iota-graphql-e2e-tests/tests/event_connection/type_param_filter.move @@ -79,7 +79,9 @@ module Test::M1 { //# run-graphql { - events(filter: {eventType: "@{Test}::M1::EventA<@{Test}::M1::T2>", transactionDigest: "HtZYWQwGZUXnULZcc4PnLbxc2NvS5NBYNZKgprJ3DfL8"}) { + # `transactionDigest` is the digest of the 5th transaction returned from + # task 6 (see `type_param_filter.exp`) + events(filter: {eventType: "@{Test}::M1::EventA<@{Test}::M1::T2>", transactionDigest: "tqCdKSzTf2AtDS5QwSup41Vr1kSGtzUMWZuAgKNHRNu"}) { nodes { type { repr diff --git a/crates/iota-graphql-e2e-tests/tests/limits/directives.exp b/crates/iota-graphql-e2e-tests/tests/limits/directives.exp index 1009447ec02..6bb7821a67a 100644 --- a/crates/iota-graphql-e2e-tests/tests/limits/directives.exp +++ b/crates/iota-graphql-e2e-tests/tests/limits/directives.exp @@ -73,7 +73,7 @@ task 5, lines 59-63: //# run-graphql Response: { "data": { - "chainIdentifier": "e615fa5c" + "chainIdentifier": "157e9367" } } @@ -81,7 +81,7 @@ task 6, lines 65-69: //# run-graphql Response: { "data": { - "chainIdentifier": "e615fa5c" + "chainIdentifier": "157e9367" } } diff --git a/crates/iota-graphql-e2e-tests/tests/limits/output_node_estimation.exp b/crates/iota-graphql-e2e-tests/tests/limits/output_node_estimation.exp index 1e5a1c28f2f..e3788b7ca7e 100644 --- a/crates/iota-graphql-e2e-tests/tests/limits/output_node_estimation.exp +++ b/crates/iota-graphql-e2e-tests/tests/limits/output_node_estimation.exp @@ -30,7 +30,7 @@ Response: { "edges": [ { "node": { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS" + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx" } } ] @@ -59,7 +59,7 @@ Response: { "edges": [ { "txns": { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS" + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx" } } ] @@ -91,7 +91,7 @@ Response: { "edges": [ { "txns": { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS" + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx" } } ] @@ -100,7 +100,7 @@ Response: { "edges": [ { "txns": { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS" + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx" } } ] @@ -132,7 +132,7 @@ Response: { "edges": [ { "txns": { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS" + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx" } } ] @@ -164,7 +164,7 @@ Response: { "edges": [ { "txns": { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS" + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx" } } ] @@ -190,7 +190,7 @@ Response: { "edges": [ { "txns": { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS" + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx" } } ] @@ -216,7 +216,7 @@ Response: { "edges": [ { "txns": { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS", + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx", "first": null, "last": null } @@ -243,7 +243,7 @@ Response: { "transactionBlocks": { "nodes": [ { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS", + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx", "first": null, "last": null } @@ -270,7 +270,7 @@ Response: { "edges": [ { "txns": { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS", + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx", "a": null, "b": null } @@ -324,7 +324,7 @@ Response: { "edges": [ { "node": { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS", + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx", "a": null } } @@ -350,14 +350,14 @@ Response: { "fragmentSpread": { "nodes": [ { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS" + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx" } ] }, "inlineFragment": { "nodes": [ { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS" + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx" } ] } diff --git a/crates/iota-graphql-e2e-tests/tests/objects/coin.exp b/crates/iota-graphql-e2e-tests/tests/objects/coin.exp index 055598d5209..022776bd296 100644 --- a/crates/iota-graphql-e2e-tests/tests/objects/coin.exp +++ b/crates/iota-graphql-e2e-tests/tests/objects/coin.exp @@ -21,7 +21,7 @@ Response: { "iotaCoins": { "edges": [ { - "cursor": "IAR6dDxYD6h5ILuttbDgtzk2uBZtMmg8uWWYSz0yfy30AQAAAAAAAAA=", + "cursor": "ICYbB8yabwJpJa85NV5Ml4hbZwmh+Dk5u4oYwCdRHhXHAQAAAAAAAAA=", "node": { "coinBalance": "30000000000000000", "contents": { @@ -32,9 +32,9 @@ Response: { } }, { - "cursor": "IDJck2vkh/ozfo2yNE9TyacQ1VGjz+yGyWtAHG70Ix+/AQAAAAAAAAA=", + "cursor": "IHqyduB7yB08AKw/UjTM5yFLXmn1y/oHU18UsF7spVl8AQAAAAAAAAA=", "node": { - "coinBalance": "300000000000000", + "coinBalance": "299999983336400", "contents": { "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" @@ -43,9 +43,9 @@ Response: { } }, { - "cursor": "ID59pxIQJzD+Sx4iYG19+VAtvRP9n4QkEBxw1Qnlp0EXAQAAAAAAAAA=", + "cursor": "IJxCLHjKRKWXWqm27erPobYKzVvMRQ7CDLAEbIXhMbSaAQAAAAAAAAA=", "node": { - "coinBalance": "299999983336400", + "coinBalance": "300000000000000", "contents": { "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" @@ -58,34 +58,34 @@ Response: { "fakeCoins": { "edges": [ { - "cursor": "IDyfOdY6mHGcPvrdfs6ZcqA6TD1H01YoKXsmUU0Kyv1EAQAAAAAAAAA=", + "cursor": "IDfBTpW4Gk9r2WwLe6RXhCU3QV4gHvosomQcJvbaQ6WeAQAAAAAAAAA=", "node": { - "coinBalance": "3", + "coinBalance": "2", "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x6e23ddb3aa2df9cf76f7d41b8153a5ad872032dd7b1e8606d8b460b5fdb7a0c7::fake::FAKE>" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0a47ea4347bcd024df307a10bbe264c358b63f74fab5346285ee912ba2fc89ea::fake::FAKE>" } } } }, { - "cursor": "IEBkEQ2AE72outpEWtiabKPKbSI3RtjZVbJhzu7QqEezAQAAAAAAAAA=", + "cursor": "IHdmN4tiqKqMTphDhbKuNxyBkFvllV5nvqX1AUHP7Af/AQAAAAAAAAA=", "node": { "coinBalance": "1", "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x6e23ddb3aa2df9cf76f7d41b8153a5ad872032dd7b1e8606d8b460b5fdb7a0c7::fake::FAKE>" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0a47ea4347bcd024df307a10bbe264c358b63f74fab5346285ee912ba2fc89ea::fake::FAKE>" } } } }, { - "cursor": "IPCmN/m+QXAIxGwQ+o4bOhjkH78+czrLVjlaUPyH+FdDAQAAAAAAAAA=", + "cursor": "INbHCg0pGQzm8VcanOqukxcfJzpPDcf0k17AapNHLVpwAQAAAAAAAAA=", "node": { - "coinBalance": "2", + "coinBalance": "3", "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x6e23ddb3aa2df9cf76f7d41b8153a5ad872032dd7b1e8606d8b460b5fdb7a0c7::fake::FAKE>" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0a47ea4347bcd024df307a10bbe264c358b63f74fab5346285ee912ba2fc89ea::fake::FAKE>" } } } @@ -96,7 +96,7 @@ Response: { "coins": { "edges": [ { - "cursor": "ID59pxIQJzD+Sx4iYG19+VAtvRP9n4QkEBxw1Qnlp0EXAQAAAAAAAAA=", + "cursor": "IHqyduB7yB08AKw/UjTM5yFLXmn1y/oHU18UsF7spVl8AQAAAAAAAAA=", "node": { "coinBalance": "299999983336400", "contents": { @@ -121,10 +121,10 @@ Response: { } }, { - "cursor": "eyJ0IjoiMHg2ZTIzZGRiM2FhMmRmOWNmNzZmN2Q0MWI4MTUzYTVhZDg3MjAzMmRkN2IxZTg2MDZkOGI0NjBiNWZkYjdhMGM3OjpmYWtlOjpGQUtFIiwiYyI6MX0", + "cursor": "eyJ0IjoiMHgwYTQ3ZWE0MzQ3YmNkMDI0ZGYzMDdhMTBiYmUyNjRjMzU4YjYzZjc0ZmFiNTM0NjI4NWVlOTEyYmEyZmM4OWVhOjpmYWtlOjpGQUtFIiwiYyI6MX0", "node": { "coinType": { - "repr": "0x6e23ddb3aa2df9cf76f7d41b8153a5ad872032dd7b1e8606d8b460b5fdb7a0c7::fake::FAKE" + "repr": "0x0a47ea4347bcd024df307a10bbe264c358b63f74fab5346285ee912ba2fc89ea::fake::FAKE" }, "coinObjectCount": 3, "totalBalance": "6" @@ -142,7 +142,7 @@ Response: { "lastBalance": { "edges": [ { - "cursor": "eyJ0IjoiMHg2ZTIzZGRiM2FhMmRmOWNmNzZmN2Q0MWI4MTUzYTVhZDg3MjAzMmRkN2IxZTg2MDZkOGI0NjBiNWZkYjdhMGM3OjpmYWtlOjpGQUtFIiwiYyI6MX0" + "cursor": "eyJ0IjoiMHgwYTQ3ZWE0MzQ3YmNkMDI0ZGYzMDdhMTBiYmUyNjRjMzU4YjYzZjc0ZmFiNTM0NjI4NWVlOTEyYmEyZmM4OWVhOjpmYWtlOjpGQUtFIiwiYyI6MX0" } ] } diff --git a/crates/iota-graphql-e2e-tests/tests/objects/data.exp b/crates/iota-graphql-e2e-tests/tests/objects/data.exp index 448e08f36b4..a19ad66d0dc 100644 --- a/crates/iota-graphql-e2e-tests/tests/objects/data.exp +++ b/crates/iota-graphql-e2e-tests/tests/objects/data.exp @@ -44,38 +44,38 @@ Response: { "name": "id", "value": { "UID": [ - 50, - 92, - 147, - 107, - 228, - 135, - 250, - 51, - 126, - 141, - 178, - 52, - 79, - 83, - 201, - 167, - 16, - 213, - 81, - 163, + 156, + 66, + 44, + 120, + 202, + 68, + 165, + 151, + 90, + 169, + 182, + 237, + 234, 207, - 236, - 134, - 201, - 107, - 64, - 28, - 110, - 244, - 35, - 31, - 191 + 161, + 182, + 10, + 205, + 91, + 204, + 69, + 14, + 194, + 12, + 176, + 4, + 108, + 133, + 225, + 49, + 180, + 154 ] } }, @@ -95,7 +95,7 @@ Response: { ] }, "json": { - "id": "0x325c936be487fa337e8db2344f53c9a710d551a3cfec86c96b401c6ef4231fbf", + "id": "0x9c422c78ca44a5975aa9b6edeacfa1b60acd5bcc450ec20cb0046c85e131b49a", "balance": { "value": "299999988454400" } @@ -109,7 +109,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0xad9af700b6fec32a21f96329c38425a163c987e2ebaf774bcebc71a07616e51c::m::Foo" + "repr": "0x0efae4c4ef97efbff02076010b775c6bd3f97c5d6d3506f4097825c9b6cc136a::m::Foo" }, "data": { "Struct": [ @@ -117,38 +117,38 @@ Response: { "name": "id", "value": { "UID": [ - 188, - 171, - 174, - 254, - 182, - 16, - 189, - 18, - 146, - 245, - 165, - 177, + 164, + 17, + 213, + 232, + 47, + 31, + 112, + 148, + 198, 194, - 195, - 203, - 74, - 172, - 54, - 160, - 1, - 207, - 103, - 6, + 58, 105, - 252, - 252, - 8, - 100, - 42, 83, - 239, - 226 + 52, + 194, + 18, + 45, + 68, + 30, + 182, + 62, + 88, + 186, + 87, + 247, + 96, + 70, + 82, + 4, + 3, + 72, + 43 ] } }, @@ -156,38 +156,38 @@ Response: { "name": "f0", "value": { "ID": [ - 188, - 171, - 174, - 254, - 182, - 16, - 189, - 18, - 146, - 245, - 165, - 177, + 164, + 17, + 213, + 232, + 47, + 31, + 112, + 148, + 198, 194, - 195, - 203, - 74, - 172, - 54, - 160, - 1, - 207, - 103, - 6, + 58, 105, - 252, - 252, - 8, - 100, - 42, 83, - 239, - 226 + 52, + 194, + 18, + 45, + 68, + 30, + 182, + 62, + 88, + 186, + 87, + 247, + 96, + 70, + 82, + 4, + 3, + 72, + 43 ] } }, @@ -227,38 +227,38 @@ Response: { "Vector": [ { "Address": [ - 188, - 171, - 174, - 254, - 182, - 16, - 189, - 18, - 146, - 245, - 165, - 177, + 164, + 17, + 213, + 232, + 47, + 31, + 112, + 148, + 198, 194, - 195, - 203, - 74, - 172, - 54, - 160, - 1, - 207, - 103, - 6, + 58, 105, - 252, - 252, - 8, - 100, - 42, 83, - 239, - 226 + 52, + 194, + 18, + 45, + 68, + 30, + 182, + 62, + 88, + 186, + 87, + 247, + 96, + 70, + 82, + 4, + 3, + 72, + 43 ] } ] @@ -275,15 +275,15 @@ Response: { ] }, "json": { - "id": "0xbcabaefeb610bd1292f5a5b1c2c3cb4aac36a001cf670669fcfc08642a53efe2", - "f0": "0xbcabaefeb610bd1292f5a5b1c2c3cb4aac36a001cf670669fcfc08642a53efe2", + "id": "0xa411d5e82f1f7094c6c23a695334c2122d441eb63e58ba57f76046520403482b", + "f0": "0xa411d5e82f1f7094c6c23a695334c2122d441eb63e58ba57f76046520403482b", "f1": true, "f2": 42, "f3": "43", "f4": "hello", "f5": "world", "f6": [ - "0xbcabaefeb610bd1292f5a5b1c2c3cb4aac36a001cf670669fcfc08642a53efe2" + "0xa411d5e82f1f7094c6c23a695334c2122d441eb63e58ba57f76046520403482b" ], "f7": 44 } diff --git a/crates/iota-graphql-e2e-tests/tests/objects/display.exp b/crates/iota-graphql-e2e-tests/tests/objects/display.exp index 82fcf02bbab..30438e439e3 100644 --- a/crates/iota-graphql-e2e-tests/tests/objects/display.exp +++ b/crates/iota-graphql-e2e-tests/tests/objects/display.exp @@ -5,7 +5,7 @@ A: object(0,0) task 1, lines 7-131: //# publish --sender A -events: Event { package_id: Test, transaction_module: Identifier("boars"), sender: A, type_: StructTag { address: iota, module: Identifier("display"), name: Identifier("DisplayCreated"), type_params: [Struct(StructTag { address: Test, module: Identifier("boars"), name: Identifier("Boar"), type_params: [] })] }, contents: [231, 14, 145, 215, 236, 115, 150, 99, 104, 253, 164, 74, 109, 232, 227, 53, 111, 191, 150, 225, 3, 190, 194, 196, 139, 17, 10, 104, 177, 185, 76, 81] } +events: Event { package_id: Test, transaction_module: Identifier("boars"), sender: A, type_: StructTag { address: iota, module: Identifier("display"), name: Identifier("DisplayCreated"), type_params: [Struct(StructTag { address: Test, module: Identifier("boars"), name: Identifier("Boar"), type_params: [] })] }, contents: [79, 141, 203, 153, 57, 55, 108, 120, 194, 53, 199, 30, 160, 171, 249, 41, 24, 66, 59, 90, 24, 118, 129, 144, 208, 225, 134, 169, 17, 34, 56, 99] } created: object(1,0), object(1,1), object(1,2) mutated: object(0,0) gas summary: computation_cost: 1000000, storage_cost: 21470000, storage_rebate: 0, non_refundable_storage_fee: 0 @@ -16,7 +16,7 @@ Checkpoint created: 1 task 3, line 135: //# view-checkpoint -CheckpointSummary { epoch: 0, seq: 1, content_digest: XQ7YaLCQJsr331nwrcwULzXVwZwd4378yGLEgizmFpm, +CheckpointSummary { epoch: 0, seq: 1, content_digest: 9F7c2TgpqEJgQfpoZVgrShGJY6hDy4w7V72tDsYGmFdA, epoch_rolling_gas_cost_summary: GasCostSummary { computation_cost: 1000000, storage_cost: 21470000, storage_rebate: 0, non_refundable_storage_fee: 0 }} task 4, line 137: @@ -27,7 +27,7 @@ gas summary: computation_cost: 1000000, storage_cost: 3556800, storage_rebate: task 5, line 139: //# run Test::boars::update_display_faulty --sender A --args object(1,1) -events: Event { package_id: Test, transaction_module: Identifier("boars"), sender: A, type_: StructTag { address: iota, module: Identifier("display"), name: Identifier("VersionUpdated"), type_params: [Struct(StructTag { address: Test, module: Identifier("boars"), name: Identifier("Boar"), type_params: [] })] }, contents: [231, 14, 145, 215, 236, 115, 150, 99, 104, 253, 164, 74, 109, 232, 227, 53, 111, 191, 150, 225, 3, 190, 194, 196, 139, 17, 10, 104, 177, 185, 76, 81, 1, 0, 3, 7, 118, 101, 99, 116, 111, 114, 115, 5, 123, 118, 101, 99, 125, 3, 105, 100, 100, 5, 123, 105, 100, 100, 125, 5, 110, 97, 109, 101, 101, 7, 123, 110, 97, 109, 101, 101, 125] } +events: Event { package_id: Test, transaction_module: Identifier("boars"), sender: A, type_: StructTag { address: iota, module: Identifier("display"), name: Identifier("VersionUpdated"), type_params: [Struct(StructTag { address: Test, module: Identifier("boars"), name: Identifier("Boar"), type_params: [] })] }, contents: [79, 141, 203, 153, 57, 55, 108, 120, 194, 53, 199, 30, 160, 171, 249, 41, 24, 66, 59, 90, 24, 118, 129, 144, 208, 225, 134, 169, 17, 34, 56, 99, 1, 0, 3, 7, 118, 101, 99, 116, 111, 114, 115, 5, 123, 118, 101, 99, 125, 3, 105, 100, 100, 5, 123, 105, 100, 100, 125, 5, 110, 97, 109, 101, 101, 7, 123, 110, 97, 109, 101, 101, 125] } mutated: object(0,0), object(1,1) gas summary: computation_cost: 1000000, storage_cost: 2941200, storage_rebate: 2652400, non_refundable_storage_fee: 0 @@ -37,7 +37,7 @@ Checkpoint created: 2 task 7, line 143: //# view-checkpoint -CheckpointSummary { epoch: 0, seq: 2, content_digest: 7pnc2wxspxEHdNrViFdrVbsMJJmUssAexJxfKP3tujQH, +CheckpointSummary { epoch: 0, seq: 2, content_digest: FesnkK13c6BpGeE4gdZA7y3mH6wCYPTen1PWBeH7HyAj, epoch_rolling_gas_cost_summary: GasCostSummary { computation_cost: 3000000, storage_cost: 27968000, storage_rebate: 3640400, non_refundable_storage_fee: 0 }} task 8, lines 145-158: @@ -74,7 +74,7 @@ Response: { task 9, line 160: //# run Test::boars::single_add --sender A --args object(1,1) -events: Event { package_id: Test, transaction_module: Identifier("boars"), sender: A, type_: StructTag { address: iota, module: Identifier("display"), name: Identifier("VersionUpdated"), type_params: [Struct(StructTag { address: Test, module: Identifier("boars"), name: Identifier("Boar"), type_params: [] })] }, contents: [231, 14, 145, 215, 236, 115, 150, 99, 104, 253, 164, 74, 109, 232, 227, 53, 111, 191, 150, 225, 3, 190, 194, 196, 139, 17, 10, 104, 177, 185, 76, 81, 2, 0, 4, 7, 118, 101, 99, 116, 111, 114, 115, 5, 123, 118, 101, 99, 125, 3, 105, 100, 100, 5, 123, 105, 100, 100, 125, 5, 110, 97, 109, 101, 101, 7, 123, 110, 97, 109, 101, 101, 125, 4, 110, 117, 109, 115, 6, 123, 110, 117, 109, 115, 125] } +events: Event { package_id: Test, transaction_module: Identifier("boars"), sender: A, type_: StructTag { address: iota, module: Identifier("display"), name: Identifier("VersionUpdated"), type_params: [Struct(StructTag { address: Test, module: Identifier("boars"), name: Identifier("Boar"), type_params: [] })] }, contents: [79, 141, 203, 153, 57, 55, 108, 120, 194, 53, 199, 30, 160, 171, 249, 41, 24, 66, 59, 90, 24, 118, 129, 144, 208, 225, 134, 169, 17, 34, 56, 99, 2, 0, 4, 7, 118, 101, 99, 116, 111, 114, 115, 5, 123, 118, 101, 99, 125, 3, 105, 100, 100, 5, 123, 105, 100, 100, 125, 5, 110, 97, 109, 101, 101, 7, 123, 110, 97, 109, 101, 101, 125, 4, 110, 117, 109, 115, 6, 123, 110, 117, 109, 115, 125] } mutated: object(0,0), object(1,1) gas summary: computation_cost: 1000000, storage_cost: 3032400, storage_rebate: 2941200, non_refundable_storage_fee: 0 @@ -84,7 +84,7 @@ Checkpoint created: 3 task 11, line 164: //# view-checkpoint -CheckpointSummary { epoch: 0, seq: 3, content_digest: FJKRQpNmaiiFDAvpXf23QAb6iZhXxFBvyXHADShitDdz, +CheckpointSummary { epoch: 0, seq: 3, content_digest: GieDkngnP3zKqAVwq9Z3dzLV3SFxQSF6MCzLRTR21a1Y, epoch_rolling_gas_cost_summary: GasCostSummary { computation_cost: 4000000, storage_cost: 31000400, storage_rebate: 6581600, non_refundable_storage_fee: 0 }} task 12, lines 166-179: @@ -126,7 +126,7 @@ Response: { task 13, line 181: //# run Test::boars::multi_add --sender A --args object(1,1) -events: Event { package_id: Test, transaction_module: Identifier("boars"), sender: A, type_: StructTag { address: iota, module: Identifier("display"), name: Identifier("VersionUpdated"), type_params: [Struct(StructTag { address: Test, module: Identifier("boars"), name: Identifier("Boar"), type_params: [] })] }, contents: [231, 14, 145, 215, 236, 115, 150, 99, 104, 253, 164, 74, 109, 232, 227, 53, 111, 191, 150, 225, 3, 190, 194, 196, 139, 17, 10, 104, 177, 185, 76, 81, 3, 0, 15, 7, 118, 101, 99, 116, 111, 114, 115, 5, 123, 118, 101, 99, 125, 3, 105, 100, 100, 5, 123, 105, 100, 100, 125, 5, 110, 97, 109, 101, 101, 7, 123, 110, 97, 109, 101, 101, 125, 4, 110, 117, 109, 115, 6, 123, 110, 117, 109, 115, 125, 5, 98, 111, 111, 108, 115, 7, 123, 98, 111, 111, 108, 115, 125, 5, 98, 117, 121, 101, 114, 7, 123, 98, 117, 121, 101, 114, 125, 4, 110, 97, 109, 101, 6, 123, 110, 97, 109, 101, 125, 7, 99, 114, 101, 97, 116, 111, 114, 9, 123, 99, 114, 101, 97, 116, 111, 114, 125, 5, 112, 114, 105, 99, 101, 7, 123, 112, 114, 105, 99, 101, 125, 11, 112, 114, 111, 106, 101, 99, 116, 95, 117, 114, 108, 58, 85, 110, 105, 113, 117, 101, 32, 66, 111, 97, 114, 32, 102, 114, 111, 109, 32, 116, 104, 101, 32, 66, 111, 97, 114, 115, 32, 99, 111, 108, 108, 101, 99, 116, 105, 111, 110, 32, 119, 105, 116, 104, 32, 123, 110, 97, 109, 101, 125, 32, 97, 110, 100, 32, 123, 105, 100, 125, 8, 98, 97, 115, 101, 95, 117, 114, 108, 32, 104, 116, 116, 112, 115, 58, 47, 47, 103, 101, 116, 45, 97, 45, 98, 111, 97, 114, 46, 99, 111, 109, 47, 123, 105, 109, 103, 95, 117, 114, 108, 125, 11, 110, 111, 95, 116, 101, 109, 112, 108, 97, 116, 101, 23, 104, 116, 116, 112, 115, 58, 47, 47, 103, 101, 116, 45, 97, 45, 98, 111, 97, 114, 46, 99, 111, 109, 47, 3, 97, 103, 101, 21, 123, 109, 101, 116, 97, 100, 97, 116, 97, 46, 110, 101, 115, 116, 101, 100, 46, 97, 103, 101, 125, 8, 102, 117, 108, 108, 95, 117, 114, 108, 10, 123, 102, 117, 108, 108, 95, 117, 114, 108, 125, 13, 101, 115, 99, 97, 112, 101, 95, 115, 121, 110, 116, 97, 120, 8, 92, 123, 110, 97, 109, 101, 92, 125] } +events: Event { package_id: Test, transaction_module: Identifier("boars"), sender: A, type_: StructTag { address: iota, module: Identifier("display"), name: Identifier("VersionUpdated"), type_params: [Struct(StructTag { address: Test, module: Identifier("boars"), name: Identifier("Boar"), type_params: [] })] }, contents: [79, 141, 203, 153, 57, 55, 108, 120, 194, 53, 199, 30, 160, 171, 249, 41, 24, 66, 59, 90, 24, 118, 129, 144, 208, 225, 134, 169, 17, 34, 56, 99, 3, 0, 15, 7, 118, 101, 99, 116, 111, 114, 115, 5, 123, 118, 101, 99, 125, 3, 105, 100, 100, 5, 123, 105, 100, 100, 125, 5, 110, 97, 109, 101, 101, 7, 123, 110, 97, 109, 101, 101, 125, 4, 110, 117, 109, 115, 6, 123, 110, 117, 109, 115, 125, 5, 98, 111, 111, 108, 115, 7, 123, 98, 111, 111, 108, 115, 125, 5, 98, 117, 121, 101, 114, 7, 123, 98, 117, 121, 101, 114, 125, 4, 110, 97, 109, 101, 6, 123, 110, 97, 109, 101, 125, 7, 99, 114, 101, 97, 116, 111, 114, 9, 123, 99, 114, 101, 97, 116, 111, 114, 125, 5, 112, 114, 105, 99, 101, 7, 123, 112, 114, 105, 99, 101, 125, 11, 112, 114, 111, 106, 101, 99, 116, 95, 117, 114, 108, 58, 85, 110, 105, 113, 117, 101, 32, 66, 111, 97, 114, 32, 102, 114, 111, 109, 32, 116, 104, 101, 32, 66, 111, 97, 114, 115, 32, 99, 111, 108, 108, 101, 99, 116, 105, 111, 110, 32, 119, 105, 116, 104, 32, 123, 110, 97, 109, 101, 125, 32, 97, 110, 100, 32, 123, 105, 100, 125, 8, 98, 97, 115, 101, 95, 117, 114, 108, 32, 104, 116, 116, 112, 115, 58, 47, 47, 103, 101, 116, 45, 97, 45, 98, 111, 97, 114, 46, 99, 111, 109, 47, 123, 105, 109, 103, 95, 117, 114, 108, 125, 11, 110, 111, 95, 116, 101, 109, 112, 108, 97, 116, 101, 23, 104, 116, 116, 112, 115, 58, 47, 47, 103, 101, 116, 45, 97, 45, 98, 111, 97, 114, 46, 99, 111, 109, 47, 3, 97, 103, 101, 21, 123, 109, 101, 116, 97, 100, 97, 116, 97, 46, 110, 101, 115, 116, 101, 100, 46, 97, 103, 101, 125, 8, 102, 117, 108, 108, 95, 117, 114, 108, 10, 123, 102, 117, 108, 108, 95, 117, 114, 108, 125, 13, 101, 115, 99, 97, 112, 101, 95, 115, 121, 110, 116, 97, 120, 8, 92, 123, 110, 97, 109, 101, 92, 125] } mutated: object(0,0), object(1,1) gas summary: computation_cost: 1000000, storage_cost: 5236400, storage_rebate: 3032400, non_refundable_storage_fee: 0 @@ -136,7 +136,7 @@ Checkpoint created: 4 task 15, line 185: //# view-checkpoint -CheckpointSummary { epoch: 0, seq: 4, content_digest: BkA15aMmLWcoJK5T8PnLGtjUrGcnQKvFD6BmhtaFAkVx, +CheckpointSummary { epoch: 0, seq: 4, content_digest: GejuPGmwpDZZsYHjhdWhgd7iUEbmLptrvyeEDG3vDfnv, epoch_rolling_gas_cost_summary: GasCostSummary { computation_cost: 5000000, storage_cost: 36236800, storage_rebate: 9614000, non_refundable_storage_fee: 0 }} task 16, lines 187-200: @@ -195,7 +195,7 @@ Response: { }, { "key": "project_url", - "value": "Unique Boar from the Boars collection with First Boar and 0x936b9c5ab4c5d8aba0a64b8af006296b72519444fd64d3cf61dcefa4a423a335", + "value": "Unique Boar from the Boars collection with First Boar and 0x10f5201cbbe803388e1b03c7a6836c655639f67c8f14a742e9119e9fb4286e58", "error": null }, { diff --git a/crates/iota-graphql-e2e-tests/tests/objects/enum_data.exp b/crates/iota-graphql-e2e-tests/tests/objects/enum_data.exp index 878424d752a..6f1b7fab628 100644 --- a/crates/iota-graphql-e2e-tests/tests/objects/enum_data.exp +++ b/crates/iota-graphql-e2e-tests/tests/objects/enum_data.exp @@ -36,80 +36,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" - }, - "data": { - "Struct": [ - { - "name": "id", - "value": { - "UID": [ - 50, - 92, - 147, - 107, - 228, - 135, - 250, - 51, - 126, - 141, - 178, - 52, - 79, - 83, - 201, - 167, - 16, - 213, - 81, - 163, - 207, - 236, - 134, - 201, - 107, - 64, - 28, - 110, - 244, - 35, - 31, - 191 - ] - } - }, - { - "name": "balance", - "value": { - "Struct": [ - { - "name": "value", - "value": { - "Number": "299999995967600" - } - } - ] - } - } - ] - }, - "json": { - "id": "0x325c936be487fa337e8db2344f53c9a710d551a3cfec86c96b401c6ef4231fbf", - "balance": { - "value": "299999995967600" - } - } - } - } - } - }, - { - "outputState": { - "asMoveObject": { - "contents": { - "type": { - "repr": "0xc5f5b24b7d768e043a955eaf03f4dcb1b688c147d74cb8e947db8d26996c00f8::m::Foo" + "repr": "0xbc9658781cb63be50f8df25d28690777e9f756684b2b4fdfed5d88609f5c06b1::m::Foo" }, "data": { "Struct": [ @@ -117,38 +44,38 @@ Response: { "name": "id", "value": { "UID": [ - 208, - 212, - 64, - 221, - 218, - 239, - 14, - 234, - 181, - 211, - 165, - 150, + 148, + 127, + 206, + 36, 57, - 235, - 56, + 139, + 230, + 19, + 69, + 97, + 203, + 64, 214, - 114, - 209, - 118, - 28, - 254, - 179, - 127, - 231, - 142, - 118, - 162, + 243, + 96, + 16, + 59, + 31, + 219, + 220, 158, - 232, - 23, - 159, - 44 + 217, + 81, + 135, + 126, + 8, + 233, + 88, + 40, + 255, + 71, + 12 ] } }, @@ -156,38 +83,38 @@ Response: { "name": "f0", "value": { "ID": [ - 208, - 212, - 64, - 221, - 218, - 239, - 14, - 234, - 181, - 211, - 165, - 150, + 148, + 127, + 206, + 36, 57, - 235, - 56, + 139, + 230, + 19, + 69, + 97, + 203, + 64, 214, - 114, - 209, - 118, - 28, - 254, - 179, - 127, - 231, - 142, - 118, - 162, + 243, + 96, + 16, + 59, + 31, + 219, + 220, 158, - 232, - 23, - 159, - 44 + 217, + 81, + 135, + 126, + 8, + 233, + 88, + 40, + 255, + 71, + 12 ] } }, @@ -227,38 +154,38 @@ Response: { "Vector": [ { "Address": [ - 208, - 212, - 64, - 221, - 218, - 239, - 14, - 234, - 181, - 211, - 165, - 150, + 148, + 127, + 206, + 36, 57, - 235, - 56, + 139, + 230, + 19, + 69, + 97, + 203, + 64, 214, - 114, - 209, - 118, - 28, - 254, - 179, - 127, - 231, - 142, - 118, - 162, + 243, + 96, + 16, + 59, + 31, + 219, + 220, 158, - 232, - 23, - 159, - 44 + 217, + 81, + 135, + 126, + 8, + 233, + 88, + 40, + 255, + 71, + 12 ] } ] @@ -325,15 +252,15 @@ Response: { ] }, "json": { - "id": "0xd0d440dddaef0eeab5d3a59639eb38d672d1761cfeb37fe78e76a29ee8179f2c", - "f0": "0xd0d440dddaef0eeab5d3a59639eb38d672d1761cfeb37fe78e76a29ee8179f2c", + "id": "0x947fce24398be6134561cb40d6f360103b1fdbdc9ed951877e08e95828ff470c", + "f0": "0x947fce24398be6134561cb40d6f360103b1fdbdc9ed951877e08e95828ff470c", "f1": true, "f2": 42, "f3": "43", "f4": "hello", "f5": "world", "f6": [ - "0xd0d440dddaef0eeab5d3a59639eb38d672d1761cfeb37fe78e76a29ee8179f2c" + "0x947fce24398be6134561cb40d6f360103b1fdbdc9ed951877e08e95828ff470c" ], "f7": 44, "f8": { @@ -356,6 +283,79 @@ Response: { } } } + }, + { + "outputState": { + "asMoveObject": { + "contents": { + "type": { + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" + }, + "data": { + "Struct": [ + { + "name": "id", + "value": { + "UID": [ + 156, + 66, + 44, + 120, + 202, + 68, + 165, + 151, + 90, + 169, + 182, + 237, + 234, + 207, + 161, + 182, + 10, + 205, + 91, + 204, + 69, + 14, + 194, + 12, + 176, + 4, + 108, + 133, + 225, + 49, + 180, + 154 + ] + } + }, + { + "name": "balance", + "value": { + "Struct": [ + { + "name": "value", + "value": { + "Number": "299999995967600" + } + } + ] + } + } + ] + }, + "json": { + "id": "0x9c422c78ca44a5975aa9b6edeacfa1b60acd5bcc450ec20cb0046c85e131b49a", + "balance": { + "value": "299999995967600" + } + } + } + } + } } ] } diff --git a/crates/iota-graphql-e2e-tests/tests/objects/filter_by_type.exp b/crates/iota-graphql-e2e-tests/tests/objects/filter_by_type.exp index 0ad235dbfb3..c09e3defafe 100644 --- a/crates/iota-graphql-e2e-tests/tests/objects/filter_by_type.exp +++ b/crates/iota-graphql-e2e-tests/tests/objects/filter_by_type.exp @@ -21,11 +21,11 @@ gas summary: computation_cost: 1000000, storage_cost: 1976000, storage_rebate: task 4, lines 16-18: //# run 0x3::iota_system::request_add_stake --args object(0x5) object(3,0) @validator_0 --sender C -events: Event { package_id: iota_system, transaction_module: Identifier("iota_system"), sender: C, type_: StructTag { address: iota_system, module: Identifier("validator"), name: Identifier("StakingRequestEvent"), type_params: [] }, contents: [130, 133, 141, 116, 98, 77, 209, 200, 13, 154, 143, 120, 101, 224, 220, 131, 206, 238, 67, 219, 169, 92, 239, 127, 252, 57, 174, 151, 122, 150, 154, 152, 175, 163, 158, 79, 0, 218, 226, 120, 249, 119, 199, 198, 147, 10, 94, 44, 118, 232, 93, 23, 165, 38, 215, 36, 187, 206, 15, 184, 31, 176, 125, 76, 140, 202, 78, 28, 224, 186, 89, 4, 206, 166, 29, 249, 36, 45, 162, 247, 210, 158, 62, 243, 40, 251, 126, 192, 124, 8, 107, 59, 244, 124, 166, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 228, 11, 84, 2, 0, 0, 0] } +events: Event { package_id: iota_system, transaction_module: Identifier("iota_system"), sender: C, type_: StructTag { address: iota_system, module: Identifier("validator"), name: Identifier("StakingRequestEvent"), type_params: [] }, contents: [233, 207, 22, 117, 92, 142, 77, 109, 192, 159, 55, 48, 51, 243, 196, 130, 69, 227, 174, 117, 15, 72, 135, 76, 78, 53, 195, 204, 77, 84, 130, 131, 175, 163, 158, 79, 0, 218, 226, 120, 249, 119, 199, 198, 147, 10, 94, 44, 118, 232, 93, 23, 165, 38, 215, 36, 187, 206, 15, 184, 31, 176, 125, 76, 140, 202, 78, 28, 224, 186, 89, 4, 206, 166, 29, 249, 36, 45, 162, 247, 210, 158, 62, 243, 40, 251, 126, 192, 124, 8, 107, 59, 244, 124, 166, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 228, 11, 84, 2, 0, 0, 0] } created: object(4,0) mutated: object(_), 0x0000000000000000000000000000000000000000000000000000000000000005, object(0,0) deleted: object(3,0) -gas summary: computation_cost: 1000000, storage_cost: 14789600, storage_rebate: 1976000, non_refundable_storage_fee: 0 +gas summary: computation_cost: 1000000, storage_cost: 14561600, storage_rebate: 1976000, non_refundable_storage_fee: 0 task 5, line 19: //# create-checkpoint @@ -145,7 +145,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field" } } } @@ -156,7 +156,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field" } } } @@ -167,7 +167,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field,0x0000000000000000000000000000000000000000000000000000000000000002::timelock::SystemTimelockCap>" } } } @@ -178,7 +178,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field" } } } @@ -189,7 +189,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" } } } @@ -200,7 +200,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field,0x0000000000000000000000000000000000000000000000000000000000000002::timelock::SystemTimelockCap>" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field" } } } @@ -211,7 +211,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" } } } @@ -222,7 +222,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field" } } } @@ -233,7 +233,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field<0x0000000000000000000000000000000000000000000000000000000000000002::object::ID,address>" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display<0x000000000000000000000000000000000000000000000000000000000000107a::nft::Nft>" } } } @@ -244,7 +244,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display<0x000000000000000000000000000000000000000000000000000000000000107a::nft::Nft>" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" } } } @@ -255,7 +255,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field<0x0000000000000000000000000000000000000000000000000000000000000002::object::ID,address>" } } } diff --git a/crates/iota-graphql-e2e-tests/tests/objects/pagination.exp b/crates/iota-graphql-e2e-tests/tests/objects/pagination.exp index 9daeb809153..952eba3ffcd 100644 --- a/crates/iota-graphql-e2e-tests/tests/objects/pagination.exp +++ b/crates/iota-graphql-e2e-tests/tests/objects/pagination.exp @@ -48,19 +48,19 @@ Response: { "objects": { "edges": [ { - "cursor": "IC/bzuuhYcq/dDN03anRsi3/32D3Lz2sDp3Go1xUI139AQAAAAAAAAA=" + "cursor": "IEDSk627fQsytn/ikdGQtF3KwSuu/naEpKOvuirYJ5m0AQAAAAAAAAA=" }, { - "cursor": "IHgz7SAqJIx5CuF8FKW/t0hYwpueN0FpmlBf65mR8obxAQAAAAAAAAA=" + "cursor": "IFGKFT9PZ8JOjuvml92sXxsJ7bILPYFp+HnbpIuVbiMBAQAAAAAAAAA=" }, { - "cursor": "IKczlw0wvaV5OAPoLL3J5PdqEVVGHEXwqq76iavO92kKAQAAAAAAAAA=" + "cursor": "IH16DW3lpd8N1iV4jvbm8kALVovmI+sl+VUeffpH8snwAQAAAAAAAAA=" }, { - "cursor": "IME4lQAdpoFJFY6JJKEMiyoqyM4bYbW+Vn57w89eGdIKAQAAAAAAAAA=" + "cursor": "IJ4etep87+xECxMt7pHa/nvzbxtgS/fPiZFOM3aFVgqAAQAAAAAAAAA=" }, { - "cursor": "IMSF21C/sUQyD5+lCFeV8iyy0wujkwLCS27LjKrl9o4WAQAAAAAAAAA=" + "cursor": "INK0CTjfJeJxj9bteOyQhcLDgG2Pr3cfwDvII3tNj+XRAQAAAAAAAAA=" } ] } @@ -76,10 +76,10 @@ Response: { "objects": { "edges": [ { - "cursor": "IC/bzuuhYcq/dDN03anRsi3/32D3Lz2sDp3Go1xUI139AQAAAAAAAAA=" + "cursor": "IEDSk627fQsytn/ikdGQtF3KwSuu/naEpKOvuirYJ5m0AQAAAAAAAAA=" }, { - "cursor": "IHgz7SAqJIx5CuF8FKW/t0hYwpueN0FpmlBf65mR8obxAQAAAAAAAAA=" + "cursor": "IFGKFT9PZ8JOjuvml92sXxsJ7bILPYFp+HnbpIuVbiMBAQAAAAAAAAA=" } ] } @@ -95,52 +95,52 @@ Response: { "objects": { "edges": [ { - "cursor": "IC/bzuuhYcq/dDN03anRsi3/32D3Lz2sDp3Go1xUI139AQAAAAAAAAA=", + "cursor": "IEDSk627fQsytn/ikdGQtF3KwSuu/naEpKOvuirYJ5m0AQAAAAAAAAA=", "node": { - "address": "0x2fdbceeba161cabf743374dda9d1b22dffdf60f72f3dac0e9dc6a35c54235dfd" + "address": "0x40d293adbb7d0b32b67fe291d190b45dcac12baefe7684a4a3afba2ad82799b4" } }, { - "cursor": "IHgz7SAqJIx5CuF8FKW/t0hYwpueN0FpmlBf65mR8obxAQAAAAAAAAA=", + "cursor": "IFGKFT9PZ8JOjuvml92sXxsJ7bILPYFp+HnbpIuVbiMBAQAAAAAAAAA=", "node": { - "address": "0x7833ed202a248c790ae17c14a5bfb74858c29b9e3741699a505feb9991f286f1" + "address": "0x518a153f4f67c24e8eebe697ddac5f1b09edb20b3d8169f879dba48b956e2301" } }, { - "cursor": "IKczlw0wvaV5OAPoLL3J5PdqEVVGHEXwqq76iavO92kKAQAAAAAAAAA=", + "cursor": "IH16DW3lpd8N1iV4jvbm8kALVovmI+sl+VUeffpH8snwAQAAAAAAAAA=", "node": { - "address": "0xa733970d30bda5793803e82cbdc9e4f76a1155461c45f0aaaefa89abcef7690a" + "address": "0x7d7a0d6de5a5df0dd625788ef6e6f2400b568be623eb25f9551e7dfa47f2c9f0" } }, { - "cursor": "IME4lQAdpoFJFY6JJKEMiyoqyM4bYbW+Vn57w89eGdIKAQAAAAAAAAA=", + "cursor": "IJ4etep87+xECxMt7pHa/nvzbxtgS/fPiZFOM3aFVgqAAQAAAAAAAAA=", "node": { - "address": "0xc13895001da68149158e8924a10c8b2a2ac8ce1b61b5be567e7bc3cf5e19d20a" + "address": "0x9e1eb5ea7cefec440b132dee91dafe7bf36f1b604bf7cf89914e337685560a80" } }, { - "cursor": "IMSF21C/sUQyD5+lCFeV8iyy0wujkwLCS27LjKrl9o4WAQAAAAAAAAA=", + "cursor": "INK0CTjfJeJxj9bteOyQhcLDgG2Pr3cfwDvII3tNj+XRAQAAAAAAAAA=", "node": { - "address": "0xc485db50bfb144320f9fa5085795f22cb2d30ba39302c24b6ecb8caae5f68e16" + "address": "0xd2b40938df25e2718fd6ed78ec9085c2c3806d8faf771fc03bc8237b4d8fe5d1" } } ] } }, "obj_3_0": { - "address": "0xa733970d30bda5793803e82cbdc9e4f76a1155461c45f0aaaefa89abcef7690a" + "address": "0x40d293adbb7d0b32b67fe291d190b45dcac12baefe7684a4a3afba2ad82799b4" }, "obj_5_0": { - "address": "0xc485db50bfb144320f9fa5085795f22cb2d30ba39302c24b6ecb8caae5f68e16" + "address": "0xd2b40938df25e2718fd6ed78ec9085c2c3806d8faf771fc03bc8237b4d8fe5d1" }, "obj_6_0": { - "address": "0x7833ed202a248c790ae17c14a5bfb74858c29b9e3741699a505feb9991f286f1" + "address": "0x9e1eb5ea7cefec440b132dee91dafe7bf36f1b604bf7cf89914e337685560a80" }, "obj_4_0": { - "address": "0xc13895001da68149158e8924a10c8b2a2ac8ce1b61b5be567e7bc3cf5e19d20a" + "address": "0x518a153f4f67c24e8eebe697ddac5f1b09edb20b3d8169f879dba48b956e2301" }, "obj_2_0": { - "address": "0x2fdbceeba161cabf743374dda9d1b22dffdf60f72f3dac0e9dc6a35c54235dfd" + "address": "0x7d7a0d6de5a5df0dd625788ef6e6f2400b568be623eb25f9551e7dfa47f2c9f0" } } } @@ -165,7 +165,7 @@ Response: { "objects": { "edges": [ { - "cursor": "IMSF21C/sUQyD5+lCFeV8iyy0wujkwLCS27LjKrl9o4WAQAAAAAAAAA=" + "cursor": "IH16DW3lpd8N1iV4jvbm8kALVovmI+sl+VUeffpH8snwAQAAAAAAAAA=" } ] } @@ -179,14 +179,7 @@ Response: { "data": { "address": { "objects": { - "edges": [ - { - "cursor": "IC/bzuuhYcq/dDN03anRsi3/32D3Lz2sDp3Go1xUI139AQAAAAAAAAA=" - }, - { - "cursor": "IHgz7SAqJIx5CuF8FKW/t0hYwpueN0FpmlBf65mR8obxAQAAAAAAAAA=" - } - ] + "edges": [] } } } @@ -200,15 +193,15 @@ Response: { "objects": { "edges": [ { - "cursor": "IME4lQAdpoFJFY6JJKEMiyoqyM4bYbW+Vn57w89eGdIKAQAAAAAAAAA=", + "cursor": "IJ4etep87+xECxMt7pHa/nvzbxtgS/fPiZFOM3aFVgqAAQAAAAAAAAA=", "node": { - "address": "0xc13895001da68149158e8924a10c8b2a2ac8ce1b61b5be567e7bc3cf5e19d20a" + "address": "0x9e1eb5ea7cefec440b132dee91dafe7bf36f1b604bf7cf89914e337685560a80" } }, { - "cursor": "IMSF21C/sUQyD5+lCFeV8iyy0wujkwLCS27LjKrl9o4WAQAAAAAAAAA=", + "cursor": "INK0CTjfJeJxj9bteOyQhcLDgG2Pr3cfwDvII3tNj+XRAQAAAAAAAAA=", "node": { - "address": "0xc485db50bfb144320f9fa5085795f22cb2d30ba39302c24b6ecb8caae5f68e16" + "address": "0xd2b40938df25e2718fd6ed78ec9085c2c3806d8faf771fc03bc8237b4d8fe5d1" } } ] diff --git a/crates/iota-graphql-e2e-tests/tests/objects/public_transfer.exp b/crates/iota-graphql-e2e-tests/tests/objects/public_transfer.exp index 85829482a14..cda429bd0d7 100644 --- a/crates/iota-graphql-e2e-tests/tests/objects/public_transfer.exp +++ b/crates/iota-graphql-e2e-tests/tests/objects/public_transfer.exp @@ -37,7 +37,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0xf20b090301ab61ceb34be16da44ff8e09152d5fbdd5fa4d3476dcd00bb62e874::m::Bar" + "repr": "0x90fe12b6a159cd99f67000fb7102a692407cb182a97c5c47bbbd2013685e4e2f::m::Bar" } }, "hasPublicTransfer": false @@ -61,7 +61,7 @@ Response: { "asMoveObject": { "contents": { "type": { - "repr": "0xf20b090301ab61ceb34be16da44ff8e09152d5fbdd5fa4d3476dcd00bb62e874::m::Foo" + "repr": "0x90fe12b6a159cd99f67000fb7102a692407cb182a97c5c47bbbd2013685e4e2f::m::Foo" } }, "hasPublicTransfer": true diff --git a/crates/iota-graphql-e2e-tests/tests/objects/received.exp b/crates/iota-graphql-e2e-tests/tests/objects/received.exp index 0c277d8257c..d12cb1a5b46 100644 --- a/crates/iota-graphql-e2e-tests/tests/objects/received.exp +++ b/crates/iota-graphql-e2e-tests/tests/objects/received.exp @@ -30,7 +30,7 @@ Response: { "receivedTransactionBlocks": { "nodes": [ { - "digest": "6N5853NzZGb8qVny7GYYyTV7KHzHeve2EkQN2SNmhWnm" + "digest": "8Tpmc27hRrtKVmzNYax4GUjS9KjxV6gp6TWU85arSBuF" } ] } diff --git a/crates/iota-graphql-e2e-tests/tests/objects/staked_iota.exp b/crates/iota-graphql-e2e-tests/tests/objects/staked_iota.exp index f41146995e5..36ea35aec35 100644 --- a/crates/iota-graphql-e2e-tests/tests/objects/staked_iota.exp +++ b/crates/iota-graphql-e2e-tests/tests/objects/staked_iota.exp @@ -10,7 +10,7 @@ Response: { "objects": { "edges": [ { - "cursor": "INQL0hyC3RWJ7AoHFsaMLF+j7sHWw1uQC2CiOldxPT0yAAAAAAAAAAA=", + "cursor": "ID2b/KDmn+mINf+fV2rpfJtyLKYwbJXgm/zNF3KeS3QhAAAAAAAAAAA=", "node": { "asMoveObject": { "asStakedIota": { @@ -39,11 +39,11 @@ gas summary: computation_cost: 1000000, storage_cost: 1976000, storage_rebate: task 3, line 38: //# run 0x3::iota_system::request_add_stake --args object(0x5) object(2,0) @validator_0 --sender C -events: Event { package_id: iota_system, transaction_module: Identifier("iota_system"), sender: C, type_: StructTag { address: iota_system, module: Identifier("validator"), name: Identifier("StakingRequestEvent"), type_params: [] }, contents: [130, 133, 141, 116, 98, 77, 209, 200, 13, 154, 143, 120, 101, 224, 220, 131, 206, 238, 67, 219, 169, 92, 239, 127, 252, 57, 174, 151, 122, 150, 154, 152, 175, 163, 158, 79, 0, 218, 226, 120, 249, 119, 199, 198, 147, 10, 94, 44, 118, 232, 93, 23, 165, 38, 215, 36, 187, 206, 15, 184, 31, 176, 125, 76, 140, 202, 78, 28, 224, 186, 89, 4, 206, 166, 29, 249, 36, 45, 162, 247, 210, 158, 62, 243, 40, 251, 126, 192, 124, 8, 107, 59, 244, 124, 166, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 11, 84, 2, 0, 0, 0] } +events: Event { package_id: iota_system, transaction_module: Identifier("iota_system"), sender: C, type_: StructTag { address: iota_system, module: Identifier("validator"), name: Identifier("StakingRequestEvent"), type_params: [] }, contents: [233, 207, 22, 117, 92, 142, 77, 109, 192, 159, 55, 48, 51, 243, 196, 130, 69, 227, 174, 117, 15, 72, 135, 76, 78, 53, 195, 204, 77, 84, 130, 131, 175, 163, 158, 79, 0, 218, 226, 120, 249, 119, 199, 198, 147, 10, 94, 44, 118, 232, 93, 23, 165, 38, 215, 36, 187, 206, 15, 184, 31, 176, 125, 76, 140, 202, 78, 28, 224, 186, 89, 4, 206, 166, 29, 249, 36, 45, 162, 247, 210, 158, 62, 243, 40, 251, 126, 192, 124, 8, 107, 59, 244, 124, 166, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 11, 84, 2, 0, 0, 0] } created: object(3,0), object(3,1) mutated: 0x0000000000000000000000000000000000000000000000000000000000000005, object(0,0) deleted: object(_), object(2,0) -gas summary: computation_cost: 1000000, storage_cost: 14789600, storage_rebate: 1976000, non_refundable_storage_fee: 0 +gas summary: computation_cost: 1000000, storage_cost: 14561600, storage_rebate: 1976000, non_refundable_storage_fee: 0 task 4, line 40: //# create-checkpoint @@ -60,34 +60,34 @@ Response: { "objects": { "edges": [ { - "cursor": "IAlPg7XDD4HXzJ8tBoWdIOCk9CHWGLC6skWBLuCO9o7OAgAAAAAAAAA=", + "cursor": "ID2b/KDmn+mINf+fV2rpfJtyLKYwbJXgm/zNF3KeS3QhAgAAAAAAAAA=", "node": { "asMoveObject": { "asStakedIota": { - "principal": "10000000000", - "poolId": "0x82858d74624dd1c80d9a8f7865e0dc83ceee43dba95cef7ffc39ae977a969a98" + "principal": "1500000000000000", + "poolId": "0xe9cf16755c8e4d6dc09f373033f3c48245e3ae750f48874c4e35c3cc4d548283" } } } }, { - "cursor": "INMoknhK71B8eaQFADCHApV/6LcSSVZh9wpgdTjDKSowAgAAAAAAAAA=", + "cursor": "IMqZuQSI1P4/w7vGb7cegyAhP7MlN0wtU6CPLPVuQweKAgAAAAAAAAA=", "node": { "asMoveObject": { "asStakedIota": { "principal": "15340000000000", - "poolId": "0x82858d74624dd1c80d9a8f7865e0dc83ceee43dba95cef7ffc39ae977a969a98" + "poolId": "0xe9cf16755c8e4d6dc09f373033f3c48245e3ae750f48874c4e35c3cc4d548283" } } } }, { - "cursor": "INQL0hyC3RWJ7AoHFsaMLF+j7sHWw1uQC2CiOldxPT0yAgAAAAAAAAA=", + "cursor": "IOnE7aJU6U1Isae47+9Q/LjemKofCkTn6xN5WNNmjvrdAgAAAAAAAAA=", "node": { "asMoveObject": { "asStakedIota": { - "principal": "1500000000000000", - "poolId": "0x82858d74624dd1c80d9a8f7865e0dc83ceee43dba95cef7ffc39ae977a969a98" + "principal": "10000000000", + "poolId": "0xe9cf16755c8e4d6dc09f373033f3c48245e3ae750f48874c4e35c3cc4d548283" } } } @@ -98,7 +98,7 @@ Response: { "stakedIotas": { "edges": [ { - "cursor": "IAlPg7XDD4HXzJ8tBoWdIOCk9CHWGLC6skWBLuCO9o7OAgAAAAAAAAA=", + "cursor": "IOnE7aJU6U1Isae47+9Q/LjemKofCkTn6xN5WNNmjvrdAgAAAAAAAAA=", "node": { "principal": "10000000000" } diff --git a/crates/iota-graphql-e2e-tests/tests/owner/downcasts.exp b/crates/iota-graphql-e2e-tests/tests/owner/downcasts.exp index 372b2ca604d..b41f08d1d15 100644 --- a/crates/iota-graphql-e2e-tests/tests/owner/downcasts.exp +++ b/crates/iota-graphql-e2e-tests/tests/owner/downcasts.exp @@ -24,7 +24,7 @@ Response: { }, "coin": { "asObject": { - "digest": "FUMdC1RJBNi9WNLyQJmYSegNAyJzEEnN9Jc73XjHEBqk" + "digest": "CJYTW4TXXaEQJvcmgyenkLnWccpto2ydL5GsngYtKh6r" } } } diff --git a/crates/iota-graphql-e2e-tests/tests/owner/root_version.exp b/crates/iota-graphql-e2e-tests/tests/owner/root_version.exp index 1e55ca6d967..4b3f1605e94 100644 --- a/crates/iota-graphql-e2e-tests/tests/owner/root_version.exp +++ b/crates/iota-graphql-e2e-tests/tests/owner/root_version.exp @@ -124,10 +124,10 @@ Response: { "version": 11, "contents": { "json": { - "id": "0x5068f0c18aa3563e5d80262449a34a47b09496ca653a3d59c2b935c50a641726", + "id": "0x929221e11df0175aa1eabad96d59c8d410b9d21b645aaf79d7dffe8a2ca6fd5e", "count": "1", "wrapped": { - "id": "0x1658e2602aa07920100c1adba1ca75454295991e122b7074ab40d25a392ca2eb", + "id": "0xc63a859ad3565d14dd2a6e86727feeb50f7c83e8fd6ef0ba6060a27a987a6779", "count": "1" } } @@ -141,10 +141,10 @@ Response: { "version": 10, "contents": { "json": { - "id": "0x5068f0c18aa3563e5d80262449a34a47b09496ca653a3d59c2b935c50a641726", + "id": "0x929221e11df0175aa1eabad96d59c8d410b9d21b645aaf79d7dffe8a2ca6fd5e", "count": "1", "wrapped": { - "id": "0x1658e2602aa07920100c1adba1ca75454295991e122b7074ab40d25a392ca2eb", + "id": "0xc63a859ad3565d14dd2a6e86727feeb50f7c83e8fd6ef0ba6060a27a987a6779", "count": "1" } } @@ -158,10 +158,10 @@ Response: { "version": 8, "contents": { "json": { - "id": "0x5068f0c18aa3563e5d80262449a34a47b09496ca653a3d59c2b935c50a641726", + "id": "0x929221e11df0175aa1eabad96d59c8d410b9d21b645aaf79d7dffe8a2ca6fd5e", "count": "1", "wrapped": { - "id": "0x1658e2602aa07920100c1adba1ca75454295991e122b7074ab40d25a392ca2eb", + "id": "0xc63a859ad3565d14dd2a6e86727feeb50f7c83e8fd6ef0ba6060a27a987a6779", "count": "0" } } @@ -175,10 +175,10 @@ Response: { "version": 7, "contents": { "json": { - "id": "0x5068f0c18aa3563e5d80262449a34a47b09496ca653a3d59c2b935c50a641726", + "id": "0x929221e11df0175aa1eabad96d59c8d410b9d21b645aaf79d7dffe8a2ca6fd5e", "count": "0", "wrapped": { - "id": "0x1658e2602aa07920100c1adba1ca75454295991e122b7074ab40d25a392ca2eb", + "id": "0xc63a859ad3565d14dd2a6e86727feeb50f7c83e8fd6ef0ba6060a27a987a6779", "count": "0" } } @@ -199,7 +199,7 @@ Response: { "version": 7, "contents": { "json": { - "id": "0x6891acaaaaac846f8083441393290e600639dbe33185a073d9f76e101fdaabad", + "id": "0x4ad8511fbee8662b83da22a400b18d49bf895a1bad9949f877664346cb778d6d", "count": "0" } } @@ -212,7 +212,7 @@ Response: { "version": 10, "contents": { "json": { - "id": "0x6891acaaaaac846f8083441393290e600639dbe33185a073d9f76e101fdaabad", + "id": "0x4ad8511fbee8662b83da22a400b18d49bf895a1bad9949f877664346cb778d6d", "count": "1" } } @@ -225,7 +225,7 @@ Response: { "version": 10, "contents": { "json": { - "id": "0x6891acaaaaac846f8083441393290e600639dbe33185a073d9f76e101fdaabad", + "id": "0x4ad8511fbee8662b83da22a400b18d49bf895a1bad9949f877664346cb778d6d", "count": "1" } } @@ -238,7 +238,7 @@ Response: { "version": 7, "contents": { "json": { - "id": "0x6891acaaaaac846f8083441393290e600639dbe33185a073d9f76e101fdaabad", + "id": "0x4ad8511fbee8662b83da22a400b18d49bf895a1bad9949f877664346cb778d6d", "count": "0" } } @@ -251,7 +251,7 @@ Response: { "version": 7, "contents": { "json": { - "id": "0x6891acaaaaac846f8083441393290e600639dbe33185a073d9f76e101fdaabad", + "id": "0x4ad8511fbee8662b83da22a400b18d49bf895a1bad9949f877664346cb778d6d", "count": "0" } } @@ -271,7 +271,7 @@ Response: { "version": 7, "contents": { "json": { - "id": "0x636c71f1134e0301da22c21965f558dd1c8cfd474d60a70dc0a31d408919ddc8", + "id": "0x4e0d15c4938faa6096532976870ea525d839acc4c009c31f1c91b2d583f0ca2a", "count": "0" } } @@ -284,7 +284,7 @@ Response: { "version": 11, "contents": { "json": { - "id": "0x636c71f1134e0301da22c21965f558dd1c8cfd474d60a70dc0a31d408919ddc8", + "id": "0x4e0d15c4938faa6096532976870ea525d839acc4c009c31f1c91b2d583f0ca2a", "count": "1" } } @@ -297,7 +297,7 @@ Response: { "version": 7, "contents": { "json": { - "id": "0x636c71f1134e0301da22c21965f558dd1c8cfd474d60a70dc0a31d408919ddc8", + "id": "0x4e0d15c4938faa6096532976870ea525d839acc4c009c31f1c91b2d583f0ca2a", "count": "0" } } diff --git a/crates/iota-graphql-e2e-tests/tests/packages/datatypes.exp b/crates/iota-graphql-e2e-tests/tests/packages/datatypes.exp index 3323245065d..ed011d80157 100644 --- a/crates/iota-graphql-e2e-tests/tests/packages/datatypes.exp +++ b/crates/iota-graphql-e2e-tests/tests/packages/datatypes.exp @@ -155,7 +155,7 @@ task 5, lines 73-97: Response: { "data": { "object": { - "address": "0xf1c07bd0ab7583d96a3edde759111a1ee40ae70efbf57c1dcd571730e64fc478", + "address": "0x1cf6f19e22c23560433d84559c5eb7e454e90934f1cdbaf80c0217a3d41b7813", "asMovePackage": { "module": { "datatypes": { @@ -190,7 +190,7 @@ task 6, lines 99-144: Response: { "data": { "object": { - "address": "0xf1c07bd0ab7583d96a3edde759111a1ee40ae70efbf57c1dcd571730e64fc478", + "address": "0x1cf6f19e22c23560433d84559c5eb7e454e90934f1cdbaf80c0217a3d41b7813", "asMovePackage": { "module": { "datatypes": { diff --git a/crates/iota-graphql-e2e-tests/tests/packages/enums.exp b/crates/iota-graphql-e2e-tests/tests/packages/enums.exp index cfd6ca5596d..9d1e1b8a447 100644 --- a/crates/iota-graphql-e2e-tests/tests/packages/enums.exp +++ b/crates/iota-graphql-e2e-tests/tests/packages/enums.exp @@ -25,19 +25,13 @@ Response: { "nodes": [ { "outputState": { - "address": "0x0bf53c5e9e1c570293d7a26c02d4b2c78a418b90597ebe11f54c55fd58188a56", + "address": "0x0db69147531907018e7ef8ffb915739dec59f5429d05c9185fbadb7611fc809e", "asMovePackage": null } }, { "outputState": { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", - "asMovePackage": null - } - }, - { - "outputState": { - "address": "0x6272669b448ea7486bc2487f8a12291a02428aa00cb0036ec7aa06c85cfc61a4", + "address": "0x13ab44ee556ad8724e413be666922fa51857ffe553640a8a81a0b077a9454c49", "asMovePackage": { "module": { "enum": { @@ -93,6 +87,12 @@ Response: { } } } + }, + { + "outputState": { + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", + "asMovePackage": null + } } ] } @@ -125,25 +125,25 @@ Response: { "nodes": [ { "outputState": { - "address": "0x0bf53c5e9e1c570293d7a26c02d4b2c78a418b90597ebe11f54c55fd58188a56", + "address": "0x0db69147531907018e7ef8ffb915739dec59f5429d05c9185fbadb7611fc809e", "asMovePackage": null } }, { "outputState": { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", "asMovePackage": null } }, { "outputState": { - "address": "0xf6fa65250492fb5dc1a2c1d7bb9f4fbd225348d6bf286a1623d59d13f7961323", + "address": "0xee91556fa4546eb038a6a74f34443839d75f83514c7eee2c567aac6ca5daca50", "asMovePackage": { "module": { "s": { "module": { "package": { - "address": "0x6272669b448ea7486bc2487f8a12291a02428aa00cb0036ec7aa06c85cfc61a4" + "address": "0x13ab44ee556ad8724e413be666922fa51857ffe553640a8a81a0b077a9454c49" } }, "name": "S", @@ -198,7 +198,7 @@ Response: { "t": { "module": { "package": { - "address": "0xf6fa65250492fb5dc1a2c1d7bb9f4fbd225348d6bf286a1623d59d13f7961323" + "address": "0xee91556fa4546eb038a6a74f34443839d75f83514c7eee2c567aac6ca5daca50" } }, "name": "T", @@ -228,12 +228,12 @@ Response: { { "name": "s", "type": { - "repr": "0x6272669b448ea7486bc2487f8a12291a02428aa00cb0036ec7aa06c85cfc61a4::m::S", + "repr": "0x13ab44ee556ad8724e413be666922fa51857ffe553640a8a81a0b077a9454c49::m::S", "signature": { "ref": null, "body": { "datatype": { - "package": "0x6272669b448ea7486bc2487f8a12291a02428aa00cb0036ec7aa06c85cfc61a4", + "package": "0x13ab44ee556ad8724e413be666922fa51857ffe553640a8a81a0b077a9454c49", "module": "m", "type": "S", "typeParameters": [] @@ -267,7 +267,7 @@ Response: { { "name": "t", "type": { - "repr": "0x6272669b448ea7486bc2487f8a12291a02428aa00cb0036ec7aa06c85cfc61a4::m::T<0x6272669b448ea7486bc2487f8a12291a02428aa00cb0036ec7aa06c85cfc61a4::m::S>" + "repr": "0x13ab44ee556ad8724e413be666922fa51857ffe553640a8a81a0b077a9454c49::m::T<0x13ab44ee556ad8724e413be666922fa51857ffe553640a8a81a0b077a9454c49::m::S>" } } ] diff --git a/crates/iota-graphql-e2e-tests/tests/packages/friends.exp b/crates/iota-graphql-e2e-tests/tests/packages/friends.exp index b004b4bc7ad..8438ebbed7a 100644 --- a/crates/iota-graphql-e2e-tests/tests/packages/friends.exp +++ b/crates/iota-graphql-e2e-tests/tests/packages/friends.exp @@ -23,6 +23,11 @@ Response: { "effects": { "objectChanges": { "nodes": [ + { + "outputState": { + "asMovePackage": null + } + }, { "outputState": { "asMovePackage": { @@ -97,11 +102,6 @@ Response: { } } }, - { - "outputState": { - "asMovePackage": null - } - }, { "outputState": { "asMovePackage": null @@ -128,14 +128,14 @@ Response: { "nodes": [ { "outputState": { - "asMovePackage": { - "module": null - } + "asMovePackage": null } }, { "outputState": { - "asMovePackage": null + "asMovePackage": { + "module": null + } } }, { @@ -166,7 +166,7 @@ Response: { "effects", "objectChanges", "nodes", - 0, + 1, "outputState", "asMovePackage", "module", @@ -189,6 +189,11 @@ Response: { "effects": { "objectChanges": { "nodes": [ + { + "outputState": { + "asMovePackage": null + } + }, { "outputState": { "asMovePackage": { @@ -265,11 +270,6 @@ Response: { } } }, - { - "outputState": { - "asMovePackage": null - } - }, { "outputState": { "asMovePackage": null diff --git a/crates/iota-graphql-e2e-tests/tests/packages/functions.exp b/crates/iota-graphql-e2e-tests/tests/packages/functions.exp index fc3ec1af7ba..184e066e9dc 100644 --- a/crates/iota-graphql-e2e-tests/tests/packages/functions.exp +++ b/crates/iota-graphql-e2e-tests/tests/packages/functions.exp @@ -95,19 +95,25 @@ Response: { "nodes": [ { "outputState": { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", "asMovePackage": null } }, { "outputState": { - "address": "0x45df39e2c017840f4dfb5d3f69851692571efea43ae110cd5c87b4606f6f2962", + "address": "0xc1d3538ac73128faa829ebaa9b30627b579215e00c2e47960311bbd2d5086c09", + "asMovePackage": null + } + }, + { + "outputState": { + "address": "0xf2091469462fa60ab4f96f0f5ef490f77890aae5fa8d485ab5f05d8fe6a9e5b3", "asMovePackage": { "module": { "function": { "module": { "package": { - "address": "0x45df39e2c017840f4dfb5d3f69851692571efea43ae110cd5c87b4606f6f2962" + "address": "0xf2091469462fa60ab4f96f0f5ef490f77890aae5fa8d485ab5f05d8fe6a9e5b3" } }, "name": "f", @@ -137,12 +143,6 @@ Response: { } } } - }, - { - "outputState": { - "address": "0x8ad58b6b9e13bb109711a33a2ff3536550ff78be3dfa966d84fe9269bc516281", - "asMovePackage": null - } } ] } @@ -175,25 +175,13 @@ Response: { "nodes": [ { "outputState": { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", - "asMovePackage": null - } - }, - { - "outputState": { - "address": "0x8ad58b6b9e13bb109711a33a2ff3536550ff78be3dfa966d84fe9269bc516281", - "asMovePackage": null - } - }, - { - "outputState": { - "address": "0x8af7a745b3856490be3c4a3419ead6572f5f7028316bda953763bafccd7bb853", + "address": "0x114752060737346a4ec7c59dac8629f83b1934589d8f085401d3bbd783bfba90", "asMovePackage": { "module": { "f": { "module": { "package": { - "address": "0x8af7a745b3856490be3c4a3419ead6572f5f7028316bda953763bafccd7bb853" + "address": "0x114752060737346a4ec7c59dac8629f83b1934589d8f085401d3bbd783bfba90" } }, "name": "f", @@ -223,7 +211,7 @@ Response: { "g": { "module": { "package": { - "address": "0x8af7a745b3856490be3c4a3419ead6572f5f7028316bda953763bafccd7bb853" + "address": "0x114752060737346a4ec7c59dac8629f83b1934589d8f085401d3bbd783bfba90" } }, "name": "g", @@ -240,6 +228,18 @@ Response: { } } } + }, + { + "outputState": { + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", + "asMovePackage": null + } + }, + { + "outputState": { + "address": "0xc1d3538ac73128faa829ebaa9b30627b579215e00c2e47960311bbd2d5086c09", + "asMovePackage": null + } } ] } diff --git a/crates/iota-graphql-e2e-tests/tests/packages/modules.exp b/crates/iota-graphql-e2e-tests/tests/packages/modules.exp index f6622bc7739..f812edc1c62 100644 --- a/crates/iota-graphql-e2e-tests/tests/packages/modules.exp +++ b/crates/iota-graphql-e2e-tests/tests/packages/modules.exp @@ -22,25 +22,25 @@ Response: { "nodes": [ { "outputState": { - "address": "0x3d0df58ea7563a0a435e386ad08732fd9d186fd45406d0ebc97c6fcb4dab9c31", + "address": "0x51e8c26146c1df0ca5c935c4e0b2d9a99ef83e9e201735f71e647f3b1255d56c", + "asMovePackage": null + } + }, + { + "outputState": { + "address": "0xa21b5f9202bbe1625bd3639eb01a88aa92b75343751327d1ba99f7044789cd7b", "asMovePackage": { "module": { "name": "m", "package": { - "address": "0x3d0df58ea7563a0a435e386ad08732fd9d186fd45406d0ebc97c6fcb4dab9c31" + "address": "0xa21b5f9202bbe1625bd3639eb01a88aa92b75343751327d1ba99f7044789cd7b" }, "fileFormatVersion": 6, - "bytes": "oRzrCwYAAAAIAQAGAgYKAxARBCEEBSUfB0QkCGhADKgBMAAGAQMBBQEADAEAAQIBAgAABAABAQIAAgIBAAEHBQEBAAIEAAYCAwYLAAEJAAEDAQYLAAEIAQABCQABBgsAAQkAAQgBBENvaW4ESU9UQQNiYXIEY29pbgNmb28EaW90YQFtBXZhbHVlPQ31jqdWOgpDXjhq0Icy/Z0Yb9RUBtDryXxvy02rnDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgABAAADBQsBOAALABYCAQEAAAMIBioAAAAAAAAACgA4AQYrAAAAAAAAAAsAOAEYAgA=", - "disassembly": "// Move bytecode v6\nmodule 3d0df58ea7563a0a435e386ad08732fd9d186fd45406d0ebc97c6fcb4dab9c31.m {\nuse 0000000000000000000000000000000000000000000000000000000000000002::coin;\nuse 0000000000000000000000000000000000000000000000000000000000000002::iota;\n\n\n\n\n\n\npublic foo(Arg0: u64, Arg1: &Coin): u64 {\nB0:\n\t0: MoveLoc[1](Arg1: &Coin)\n\t1: Call coin::value(&Coin): u64\n\t2: MoveLoc[0](Arg0: u64)\n\t3: Add\n\t4: Ret\n\n}\npublic bar(Arg0: &Coin): u64 {\nB0:\n\t0: LdU64(42)\n\t1: CopyLoc[0](Arg0: &Coin)\n\t2: Call foo(u64, &Coin): u64\n\t3: LdU64(43)\n\t4: MoveLoc[0](Arg0: &Coin)\n\t5: Call foo(u64, &Coin): u64\n\t6: Mul\n\t7: Ret\n\n}\n}" + "bytes": "oRzrCwYAAAAIAQAGAgYKAxARBCEEBSUfB0QkCGhADKgBMAAGAQMBBQEADAEAAQIBAgAABAABAQIAAgIBAAEHBQEBAAIEAAYCAwYLAAEJAAEDAQYLAAEIAQABCQABBgsAAQkAAQgBBENvaW4ESU9UQQNiYXIEY29pbgNmb28EaW90YQFtBXZhbHVlohtfkgK74WJb02OesBqIqpK3U0N1EyfRupn3BEeJzXsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgABAAADBQsBOAALABYCAQEAAAMIBioAAAAAAAAACgA4AQYrAAAAAAAAAAsAOAEYAgA=", + "disassembly": "// Move bytecode v6\nmodule a21b5f9202bbe1625bd3639eb01a88aa92b75343751327d1ba99f7044789cd7b.m {\nuse 0000000000000000000000000000000000000000000000000000000000000002::coin;\nuse 0000000000000000000000000000000000000000000000000000000000000002::iota;\n\n\n\n\n\n\npublic foo(Arg0: u64, Arg1: &Coin): u64 {\nB0:\n\t0: MoveLoc[1](Arg1: &Coin)\n\t1: Call coin::value(&Coin): u64\n\t2: MoveLoc[0](Arg0: u64)\n\t3: Add\n\t4: Ret\n\n}\npublic bar(Arg0: &Coin): u64 {\nB0:\n\t0: LdU64(42)\n\t1: CopyLoc[0](Arg0: &Coin)\n\t2: Call foo(u64, &Coin): u64\n\t3: LdU64(43)\n\t4: MoveLoc[0](Arg0: &Coin)\n\t5: Call foo(u64, &Coin): u64\n\t6: Mul\n\t7: Ret\n\n}\n}" } } } - }, - { - "outputState": { - "address": "0xc5535686aa2907a01a21788ea80f64964405315c9520b508fe7d2d5c89e00773", - "asMovePackage": null - } } ] } @@ -63,7 +63,13 @@ Response: { "nodes": [ { "outputState": { - "address": "0x3d0df58ea7563a0a435e386ad08732fd9d186fd45406d0ebc97c6fcb4dab9c31", + "address": "0x51e8c26146c1df0ca5c935c4e0b2d9a99ef83e9e201735f71e647f3b1255d56c", + "asMovePackage": null + } + }, + { + "outputState": { + "address": "0xa21b5f9202bbe1625bd3639eb01a88aa92b75343751327d1ba99f7044789cd7b", "asMovePackage": { "all": { "edges": [ @@ -133,12 +139,6 @@ Response: { } } } - }, - { - "outputState": { - "address": "0xc5535686aa2907a01a21788ea80f64964405315c9520b508fe7d2d5c89e00773", - "asMovePackage": null - } } ] } @@ -161,7 +161,13 @@ Response: { "nodes": [ { "outputState": { - "address": "0x3d0df58ea7563a0a435e386ad08732fd9d186fd45406d0ebc97c6fcb4dab9c31", + "address": "0x51e8c26146c1df0ca5c935c4e0b2d9a99ef83e9e201735f71e647f3b1255d56c", + "asMovePackage": null + } + }, + { + "outputState": { + "address": "0xa21b5f9202bbe1625bd3639eb01a88aa92b75343751327d1ba99f7044789cd7b", "asMovePackage": { "prefix": { "edges": [ @@ -273,12 +279,6 @@ Response: { } } } - }, - { - "outputState": { - "address": "0xc5535686aa2907a01a21788ea80f64964405315c9520b508fe7d2d5c89e00773", - "asMovePackage": null - } } ] } diff --git a/crates/iota-graphql-e2e-tests/tests/packages/structs.exp b/crates/iota-graphql-e2e-tests/tests/packages/structs.exp index cb1fbc36f98..09ca1e93224 100644 --- a/crates/iota-graphql-e2e-tests/tests/packages/structs.exp +++ b/crates/iota-graphql-e2e-tests/tests/packages/structs.exp @@ -154,13 +154,19 @@ Response: { "nodes": [ { "outputState": { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", + "address": "0x37256da94764212f98d6ad0e8127abfa76f1f162ef41d95418647d57e8eaca7a", "asMovePackage": null } }, { "outputState": { - "address": "0x627b9b56673e42b32a8e911925d1f509363f09fc10805435d5c158b2334bb0b6", + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", + "asMovePackage": null + } + }, + { + "outputState": { + "address": "0x9f6e2de5e33a325a9cdb4202adeef86f2f8b503595fcbf291a8c697e2ff8e8ce", "asMovePackage": { "module": { "struct": { @@ -186,12 +192,6 @@ Response: { } } } - }, - { - "outputState": { - "address": "0x95cd9a125215d9a9c2f0e7886a58f854bacad26d8112fba1221d32b88812ddc3", - "asMovePackage": null - } } ] } @@ -224,25 +224,13 @@ Response: { "nodes": [ { "outputState": { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", - "asMovePackage": null - } - }, - { - "outputState": { - "address": "0x95cd9a125215d9a9c2f0e7886a58f854bacad26d8112fba1221d32b88812ddc3", - "asMovePackage": null - } - }, - { - "outputState": { - "address": "0xa61843baeef134a5c51631e34a1d9e26cc93fe8e3b866b75211a1215c6ab2de0", + "address": "0x10be345598e39acb2359e836c0b9abc86e1d7f952964f32e94bc7df976af1639", "asMovePackage": { "module": { "s": { "module": { "package": { - "address": "0x627b9b56673e42b32a8e911925d1f509363f09fc10805435d5c158b2334bb0b6" + "address": "0x9f6e2de5e33a325a9cdb4202adeef86f2f8b503595fcbf291a8c697e2ff8e8ce" } }, "name": "S", @@ -267,7 +255,7 @@ Response: { "t": { "module": { "package": { - "address": "0xa61843baeef134a5c51631e34a1d9e26cc93fe8e3b866b75211a1215c6ab2de0" + "address": "0x10be345598e39acb2359e836c0b9abc86e1d7f952964f32e94bc7df976af1639" } }, "name": "T", @@ -294,12 +282,12 @@ Response: { { "name": "s", "type": { - "repr": "0x627b9b56673e42b32a8e911925d1f509363f09fc10805435d5c158b2334bb0b6::m::S", + "repr": "0x9f6e2de5e33a325a9cdb4202adeef86f2f8b503595fcbf291a8c697e2ff8e8ce::m::S", "signature": { "ref": null, "body": { "datatype": { - "package": "0x627b9b56673e42b32a8e911925d1f509363f09fc10805435d5c158b2334bb0b6", + "package": "0x9f6e2de5e33a325a9cdb4202adeef86f2f8b503595fcbf291a8c697e2ff8e8ce", "module": "m", "type": "S", "typeParameters": [] @@ -328,7 +316,7 @@ Response: { { "name": "t", "type": { - "repr": "0x627b9b56673e42b32a8e911925d1f509363f09fc10805435d5c158b2334bb0b6::m::T<0x627b9b56673e42b32a8e911925d1f509363f09fc10805435d5c158b2334bb0b6::m::S>" + "repr": "0x9f6e2de5e33a325a9cdb4202adeef86f2f8b503595fcbf291a8c697e2ff8e8ce::m::T<0x9f6e2de5e33a325a9cdb4202adeef86f2f8b503595fcbf291a8c697e2ff8e8ce::m::S>" } } ] @@ -336,6 +324,18 @@ Response: { } } } + }, + { + "outputState": { + "address": "0x37256da94764212f98d6ad0e8127abfa76f1f162ef41d95418647d57e8eaca7a", + "asMovePackage": null + } + }, + { + "outputState": { + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", + "asMovePackage": null + } } ] } @@ -356,16 +356,6 @@ Response: { "effects": { "objectChanges": { "nodes": [ - { - "outputState": { - "asMovePackage": null - } - }, - { - "outputState": { - "asMovePackage": null - } - }, { "outputState": { "asMovePackage": { @@ -385,6 +375,16 @@ Response: { } } } + }, + { + "outputState": { + "asMovePackage": null + } + }, + { + "outputState": { + "asMovePackage": null + } } ] } diff --git a/crates/iota-graphql-e2e-tests/tests/packages/types.exp b/crates/iota-graphql-e2e-tests/tests/packages/types.exp index c871621a795..4e5af50b04f 100644 --- a/crates/iota-graphql-e2e-tests/tests/packages/types.exp +++ b/crates/iota-graphql-e2e-tests/tests/packages/types.exp @@ -275,7 +275,7 @@ Response: { "data": null, "errors": [ { - "message": "Internal error occurred while processing request: Error calculating layout for 0x1131e2744f14320fa60d4672cab8081c5523cd6e19d29249d8bd15186ebb9eb2::m::S1: Type layout nesting exceeded limit of 128", + "message": "Internal error occurred while processing request: Error calculating layout for 0xdd96816456c86fc4fc43a5befdf6bdde3192f61c386009b917c0d00302dd149c::m::S1: Type layout nesting exceeded limit of 128", "locations": [ { "line": 4, diff --git a/crates/iota-graphql-e2e-tests/tests/packages/versioning.exp b/crates/iota-graphql-e2e-tests/tests/packages/versioning.exp index 3d02ea6d934..4c2a051c2b5 100644 --- a/crates/iota-graphql-e2e-tests/tests/packages/versioning.exp +++ b/crates/iota-graphql-e2e-tests/tests/packages/versioning.exp @@ -31,14 +31,14 @@ Response: { "packageVersions": { "nodes": [ { - "address": "0xa453b905910869e3ee2006990059311f34a3b6a228b90e5dd46d17eeec3c7887", + "address": "0x131afb2e02cb300d9b0c5c4c04ad792ca6e557fae7e6179d125580be4f3ba1f5", "version": 1 } ] } }, "firstPackage": { - "address": "0xa453b905910869e3ee2006990059311f34a3b6a228b90e5dd46d17eeec3c7887", + "address": "0x131afb2e02cb300d9b0c5c4c04ad792ca6e557fae7e6179d125580be4f3ba1f5", "version": 1, "module": { "functions": { @@ -52,7 +52,7 @@ Response: { "packageVersions": { "nodes": [ { - "address": "0xa453b905910869e3ee2006990059311f34a3b6a228b90e5dd46d17eeec3c7887", + "address": "0x131afb2e02cb300d9b0c5c4c04ad792ca6e557fae7e6179d125580be4f3ba1f5", "version": 1 } ] @@ -85,7 +85,7 @@ Response: { "version": 1 }, { - "address": "0xa453b905910869e3ee2006990059311f34a3b6a228b90e5dd46d17eeec3c7887", + "address": "0x131afb2e02cb300d9b0c5c4c04ad792ca6e557fae7e6179d125580be4f3ba1f5", "version": 1 } ] @@ -124,18 +124,18 @@ Response: { "packageVersions": { "nodes": [ { - "address": "0xa453b905910869e3ee2006990059311f34a3b6a228b90e5dd46d17eeec3c7887", + "address": "0x131afb2e02cb300d9b0c5c4c04ad792ca6e557fae7e6179d125580be4f3ba1f5", "version": 1 }, { - "address": "0xe95987bebd20cbc250b28b04ca58b4ad971050ccfb35eb34c2d1ac1f1a8c6008", + "address": "0xe59cf51865936dc000487a5672ad3b32b94f6ad8d4831b2b5d352e099540402a", "version": 2 } ] } }, "firstPackage": { - "address": "0xa453b905910869e3ee2006990059311f34a3b6a228b90e5dd46d17eeec3c7887", + "address": "0x131afb2e02cb300d9b0c5c4c04ad792ca6e557fae7e6179d125580be4f3ba1f5", "version": 1, "module": { "functions": { @@ -149,11 +149,11 @@ Response: { "packageVersions": { "nodes": [ { - "address": "0xa453b905910869e3ee2006990059311f34a3b6a228b90e5dd46d17eeec3c7887", + "address": "0x131afb2e02cb300d9b0c5c4c04ad792ca6e557fae7e6179d125580be4f3ba1f5", "version": 1 }, { - "address": "0xe95987bebd20cbc250b28b04ca58b4ad971050ccfb35eb34c2d1ac1f1a8c6008", + "address": "0xe59cf51865936dc000487a5672ad3b32b94f6ad8d4831b2b5d352e099540402a", "version": 2 } ] @@ -186,11 +186,11 @@ Response: { "version": 1 }, { - "address": "0xa453b905910869e3ee2006990059311f34a3b6a228b90e5dd46d17eeec3c7887", + "address": "0x131afb2e02cb300d9b0c5c4c04ad792ca6e557fae7e6179d125580be4f3ba1f5", "version": 1 }, { - "address": "0xe95987bebd20cbc250b28b04ca58b4ad971050ccfb35eb34c2d1ac1f1a8c6008", + "address": "0xe59cf51865936dc000487a5672ad3b32b94f6ad8d4831b2b5d352e099540402a", "version": 2 } ] @@ -232,22 +232,22 @@ Response: { "packageVersions": { "nodes": [ { - "address": "0xa453b905910869e3ee2006990059311f34a3b6a228b90e5dd46d17eeec3c7887", + "address": "0x131afb2e02cb300d9b0c5c4c04ad792ca6e557fae7e6179d125580be4f3ba1f5", "version": 1 }, { - "address": "0xe95987bebd20cbc250b28b04ca58b4ad971050ccfb35eb34c2d1ac1f1a8c6008", + "address": "0xe59cf51865936dc000487a5672ad3b32b94f6ad8d4831b2b5d352e099540402a", "version": 2 }, { - "address": "0x6fccb56f16be4cf3185408098f7ff20f23cc341127aa255af3360424cecdef4e", + "address": "0xc9f52b52c53c55f1412d98e7cfa069c37a1af74dbf12fd3f0420400c7ee18d3c", "version": 3 } ] } }, "firstPackage": { - "address": "0xa453b905910869e3ee2006990059311f34a3b6a228b90e5dd46d17eeec3c7887", + "address": "0x131afb2e02cb300d9b0c5c4c04ad792ca6e557fae7e6179d125580be4f3ba1f5", "version": 1, "module": { "functions": { @@ -261,15 +261,15 @@ Response: { "packageVersions": { "nodes": [ { - "address": "0xa453b905910869e3ee2006990059311f34a3b6a228b90e5dd46d17eeec3c7887", + "address": "0x131afb2e02cb300d9b0c5c4c04ad792ca6e557fae7e6179d125580be4f3ba1f5", "version": 1 }, { - "address": "0xe95987bebd20cbc250b28b04ca58b4ad971050ccfb35eb34c2d1ac1f1a8c6008", + "address": "0xe59cf51865936dc000487a5672ad3b32b94f6ad8d4831b2b5d352e099540402a", "version": 2 }, { - "address": "0x6fccb56f16be4cf3185408098f7ff20f23cc341127aa255af3360424cecdef4e", + "address": "0xc9f52b52c53c55f1412d98e7cfa069c37a1af74dbf12fd3f0420400c7ee18d3c", "version": 3 } ] @@ -302,15 +302,15 @@ Response: { "version": 1 }, { - "address": "0xa453b905910869e3ee2006990059311f34a3b6a228b90e5dd46d17eeec3c7887", + "address": "0x131afb2e02cb300d9b0c5c4c04ad792ca6e557fae7e6179d125580be4f3ba1f5", "version": 1 }, { - "address": "0xe95987bebd20cbc250b28b04ca58b4ad971050ccfb35eb34c2d1ac1f1a8c6008", + "address": "0xe59cf51865936dc000487a5672ad3b32b94f6ad8d4831b2b5d352e099540402a", "version": 2 }, { - "address": "0x6fccb56f16be4cf3185408098f7ff20f23cc341127aa255af3360424cecdef4e", + "address": "0xc9f52b52c53c55f1412d98e7cfa069c37a1af74dbf12fd3f0420400c7ee18d3c", "version": 3 } ] @@ -738,7 +738,7 @@ Response: { "after": { "nodes": [ { - "address": "0xe95987bebd20cbc250b28b04ca58b4ad971050ccfb35eb34c2d1ac1f1a8c6008", + "address": "0xe59cf51865936dc000487a5672ad3b32b94f6ad8d4831b2b5d352e099540402a", "version": 2, "previousTransactionBlock": { "effects": { @@ -749,7 +749,7 @@ Response: { } }, { - "address": "0x6fccb56f16be4cf3185408098f7ff20f23cc341127aa255af3360424cecdef4e", + "address": "0xc9f52b52c53c55f1412d98e7cfa069c37a1af74dbf12fd3f0420400c7ee18d3c", "version": 3, "previousTransactionBlock": { "effects": { @@ -764,7 +764,7 @@ Response: { "between": { "nodes": [ { - "address": "0xe95987bebd20cbc250b28b04ca58b4ad971050ccfb35eb34c2d1ac1f1a8c6008", + "address": "0xe59cf51865936dc000487a5672ad3b32b94f6ad8d4831b2b5d352e099540402a", "version": 2, "previousTransactionBlock": { "effects": { @@ -786,15 +786,15 @@ Response: { "packageVersions": { "nodes": [ { - "address": "0xa453b905910869e3ee2006990059311f34a3b6a228b90e5dd46d17eeec3c7887", + "address": "0x131afb2e02cb300d9b0c5c4c04ad792ca6e557fae7e6179d125580be4f3ba1f5", "version": 1 }, { - "address": "0xe95987bebd20cbc250b28b04ca58b4ad971050ccfb35eb34c2d1ac1f1a8c6008", + "address": "0xe59cf51865936dc000487a5672ad3b32b94f6ad8d4831b2b5d352e099540402a", "version": 2 }, { - "address": "0x6fccb56f16be4cf3185408098f7ff20f23cc341127aa255af3360424cecdef4e", + "address": "0xc9f52b52c53c55f1412d98e7cfa069c37a1af74dbf12fd3f0420400c7ee18d3c", "version": 3 } ] @@ -802,11 +802,11 @@ Response: { "after": { "nodes": [ { - "address": "0xe95987bebd20cbc250b28b04ca58b4ad971050ccfb35eb34c2d1ac1f1a8c6008", + "address": "0xe59cf51865936dc000487a5672ad3b32b94f6ad8d4831b2b5d352e099540402a", "version": 2 }, { - "address": "0x6fccb56f16be4cf3185408098f7ff20f23cc341127aa255af3360424cecdef4e", + "address": "0xc9f52b52c53c55f1412d98e7cfa069c37a1af74dbf12fd3f0420400c7ee18d3c", "version": 3 } ] @@ -814,11 +814,11 @@ Response: { "before": { "nodes": [ { - "address": "0xa453b905910869e3ee2006990059311f34a3b6a228b90e5dd46d17eeec3c7887", + "address": "0x131afb2e02cb300d9b0c5c4c04ad792ca6e557fae7e6179d125580be4f3ba1f5", "version": 1 }, { - "address": "0xe95987bebd20cbc250b28b04ca58b4ad971050ccfb35eb34c2d1ac1f1a8c6008", + "address": "0xe59cf51865936dc000487a5672ad3b32b94f6ad8d4831b2b5d352e099540402a", "version": 2 } ] @@ -826,7 +826,7 @@ Response: { "between": { "nodes": [ { - "address": "0xe95987bebd20cbc250b28b04ca58b4ad971050ccfb35eb34c2d1ac1f1a8c6008", + "address": "0xe59cf51865936dc000487a5672ad3b32b94f6ad8d4831b2b5d352e099540402a", "version": 2 } ] diff --git a/crates/iota-graphql-e2e-tests/tests/transaction_block_effects/balance_changes.exp b/crates/iota-graphql-e2e-tests/tests/transaction_block_effects/balance_changes.exp index 18dd50701de..9ab65b66f26 100644 --- a/crates/iota-graphql-e2e-tests/tests/transaction_block_effects/balance_changes.exp +++ b/crates/iota-graphql-e2e-tests/tests/transaction_block_effects/balance_changes.exp @@ -54,7 +54,7 @@ Response: { }, { "node": { - "amount": "2000" + "amount": "1000" }, "cursor": "eyJpIjoxLCJjIjoyfQ" }, @@ -66,19 +66,19 @@ Response: { }, { "node": { - "amount": "1000" + "amount": "3000" }, "cursor": "eyJpIjozLCJjIjoyfQ" }, { "node": { - "amount": "4000" + "amount": "2000" }, "cursor": "eyJpIjo0LCJjIjoyfQ" }, { "node": { - "amount": "3000" + "amount": "4000" }, "cursor": "eyJpIjo1LCJjIjoyfQ" } @@ -111,13 +111,13 @@ Response: { "edges": [ { "node": { - "amount": "1000" + "amount": "3000" }, "cursor": "eyJpIjozLCJjIjoxfQ" }, { "node": { - "amount": "4000" + "amount": "2000" }, "cursor": "eyJpIjo0LCJjIjoxfQ" } @@ -156,7 +156,7 @@ Response: { }, { "node": { - "amount": "2000" + "amount": "1000" }, "cursor": "eyJpIjoxLCJjIjoxfQ" }, diff --git a/crates/iota-graphql-e2e-tests/tests/transaction_block_effects/dependencies.exp b/crates/iota-graphql-e2e-tests/tests/transaction_block_effects/dependencies.exp index 07419711566..0ff47387599 100644 --- a/crates/iota-graphql-e2e-tests/tests/transaction_block_effects/dependencies.exp +++ b/crates/iota-graphql-e2e-tests/tests/transaction_block_effects/dependencies.exp @@ -65,7 +65,7 @@ Response: { "transactionBlocks": { "nodes": [ { - "digest": "G3zJ6KGNDB63vRVbV7qfzzxWXbxkQPXDimUQE484zdk8", + "digest": "FbcsxoLgm67eMhxSJRGFmfHjBbNCzL3BnjFZv3saDvKR", "effects": { "dependencies": { "pageInfo": { @@ -78,25 +78,7 @@ Response: { { "cursor": "eyJpIjowLCJjIjoxfQ", "node": { - "digest": "CWFW8Gbs1FhvtgReQVQGYaYqXAUxVrD3RCiZjxk6Kpww", - "kind": { - "__typename": "ProgrammableTransactionBlock", - "transactions": { - "nodes": [ - {}, - { - "module": "package", - "functionName": "make_immutable" - } - ] - } - } - } - }, - { - "cursor": "eyJpIjoxLCJjIjoxfQ", - "node": { - "digest": "GKY11WCjiXKjnfZcwyA6mtoqXRpLP7gAEtMrXWLppf2S", + "digest": "6i44bwXAW6MXN7GAcqGCF7aYqP3G4MBENSLpdUr583B", "kind": { "__typename": "ProgrammableTransactionBlock", "transactions": { @@ -121,6 +103,24 @@ Response: { } } } + }, + { + "cursor": "eyJpIjoxLCJjIjoxfQ", + "node": { + "digest": "5ihQLwkWokwDJhgsx7VxuBeivmkWEysWg8DXA9rK3Uum", + "kind": { + "__typename": "ProgrammableTransactionBlock", + "transactions": { + "nodes": [ + {}, + { + "module": "package", + "functionName": "make_immutable" + } + ] + } + } + } } ] } @@ -138,7 +138,7 @@ Response: { "transactionBlocks": { "nodes": [ { - "digest": "G3zJ6KGNDB63vRVbV7qfzzxWXbxkQPXDimUQE484zdk8", + "digest": "FbcsxoLgm67eMhxSJRGFmfHjBbNCzL3BnjFZv3saDvKR", "effects": { "dependencies": { "pageInfo": { @@ -151,26 +151,15 @@ Response: { { "cursor": "eyJpIjoxLCJjIjoxfQ", "node": { - "digest": "GKY11WCjiXKjnfZcwyA6mtoqXRpLP7gAEtMrXWLppf2S", + "digest": "5ihQLwkWokwDJhgsx7VxuBeivmkWEysWg8DXA9rK3Uum", "kind": { "__typename": "ProgrammableTransactionBlock", "transactions": { "nodes": [ + {}, { - "module": "M1", - "functionName": "sum" - }, - { - "module": "M1", - "functionName": "sum" - }, - { - "module": "M1", - "functionName": "sum" - }, - { - "module": "M1", - "functionName": "create" + "module": "package", + "functionName": "make_immutable" } ] } diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/at_checkpoint.exp b/crates/iota-graphql-e2e-tests/tests/transactions/at_checkpoint.exp index 96945c28ea2..9cdc0d06c2e 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/at_checkpoint.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/at_checkpoint.exp @@ -30,7 +30,7 @@ Response: { "c0": { "nodes": [ { - "digest": "Gri6dhCH1DX3r3x8mp82QdUEGcbfeUJUkoAMdt9sVcYV", + "digest": "JBuShctBdzAwMsiNHQnxTJqUhRuJgrTdUEyCbFc8S86L", "kind": { "__typename": "GenesisTransaction" } @@ -46,7 +46,7 @@ Response: { } }, { - "digest": "7RpsViKsnLfnT8UfGt6biJ1vg9aM9FTESi6uGZPc75ha", + "digest": "CgGRbLYTFKi8nSsm4UEsXR2FrJkZA8beUx3LUP2p6m6A", "kind": { "__typename": "ProgrammableTransactionBlock" } @@ -87,7 +87,7 @@ Response: { "transactionBlocks": { "nodes": [ { - "digest": "Gri6dhCH1DX3r3x8mp82QdUEGcbfeUJUkoAMdt9sVcYV", + "digest": "JBuShctBdzAwMsiNHQnxTJqUhRuJgrTdUEyCbFc8S86L", "kind": { "__typename": "GenesisTransaction" } @@ -105,7 +105,7 @@ Response: { } }, { - "digest": "7RpsViKsnLfnT8UfGt6biJ1vg9aM9FTESi6uGZPc75ha", + "digest": "CgGRbLYTFKi8nSsm4UEsXR2FrJkZA8beUx3LUP2p6m6A", "kind": { "__typename": "ProgrammableTransactionBlock" } @@ -154,7 +154,7 @@ Response: { "transactionBlocks": { "nodes": [ { - "digest": "Gri6dhCH1DX3r3x8mp82QdUEGcbfeUJUkoAMdt9sVcYV", + "digest": "JBuShctBdzAwMsiNHQnxTJqUhRuJgrTdUEyCbFc8S86L", "kind": { "__typename": "GenesisTransaction" } @@ -172,7 +172,7 @@ Response: { } }, { - "digest": "7RpsViKsnLfnT8UfGt6biJ1vg9aM9FTESi6uGZPc75ha", + "digest": "CgGRbLYTFKi8nSsm4UEsXR2FrJkZA8beUx3LUP2p6m6A", "kind": { "__typename": "ProgrammableTransactionBlock" } diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/errors.exp b/crates/iota-graphql-e2e-tests/tests/transactions/errors.exp index 39a59b66332..823e479d2ca 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/errors.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/errors.exp @@ -25,7 +25,7 @@ Response: { { "effects": { "status": "FAILURE", - "errors": "Error in 1st command, from '0xc2271c0699f0f726463bd4589ca1b5fa100fdab828c91e5636dd3d82c2e1c21b::m::boom' (instruction 1), abort code: 42" + "errors": "Error in 1st command, from '0xeb1c83c67776e844cbb6af066709ed47641f75be7bf5a850ab338d5ddf99d31b::m::boom' (instruction 1), abort code: 42" } } ] @@ -54,7 +54,7 @@ Response: { { "effects": { "status": "FAILURE", - "errors": "Error in 3rd command, from '0xc2271c0699f0f726463bd4589ca1b5fa100fdab828c91e5636dd3d82c2e1c21b::m::boom' (instruction 1), abort code: 42" + "errors": "Error in 3rd command, from '0xeb1c83c67776e844cbb6af066709ed47641f75be7bf5a850ab338d5ddf99d31b::m::boom' (instruction 1), abort code: 42" } } ] diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/filters/kind.exp b/crates/iota-graphql-e2e-tests/tests/transactions/filters/kind.exp index e65d9c9d1d7..2d6f87efd9c 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/filters/kind.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/filters/kind.exp @@ -60,7 +60,7 @@ Response: { }, "nodes": [ { - "digest": "J1u184aPpB6TgHsfDYc5Tsv94vvfBwkhxCfberHTCFZ1", + "digest": "BHnWbs1bAGTHvqmVM8QakhekPkR5xoNa4LSaeFRaU9oU", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -68,7 +68,7 @@ Response: { } }, { - "digest": "4QwMW1aWPFEzQKYnR4cTJbcKBXj42uek93TooDD5wKuR", + "digest": "GfT83ydV3hZD4JE7BpRfiqqZ5TFENQDzAVeiEUSVJKdJ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -76,7 +76,7 @@ Response: { } }, { - "digest": "7xh8bTQJC2t71cGLCHi2h12CQ1ECNheTYpmg5nFJ85hV", + "digest": "J5WeQemqsD7PiAYUk8o5jbf7m7G4bNqejJ4dUwijQmh5", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -84,7 +84,7 @@ Response: { } }, { - "digest": "LxveXjHLNrnL1Phg738qQe1B6WRNN9rrqHGWNfwzwoa", + "digest": "89Eq2RtFcvykVH8jYAF91mjF1DBRsLeGU4gfnL96jMoC", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -92,7 +92,7 @@ Response: { } }, { - "digest": "Hv7UJA6pU37uTqwt2MurVJof576haZe4ibst3ALzaDdQ", + "digest": "9RMtDD1o2929hoHsxJt5RhPXkKAVBREjCpDCiRSGWD4j", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -117,7 +117,7 @@ Response: { }, "nodes": [ { - "digest": "J1u184aPpB6TgHsfDYc5Tsv94vvfBwkhxCfberHTCFZ1", + "digest": "BHnWbs1bAGTHvqmVM8QakhekPkR5xoNa4LSaeFRaU9oU", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -142,7 +142,7 @@ Response: { }, "nodes": [ { - "digest": "4QwMW1aWPFEzQKYnR4cTJbcKBXj42uek93TooDD5wKuR", + "digest": "GfT83ydV3hZD4JE7BpRfiqqZ5TFENQDzAVeiEUSVJKdJ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -167,7 +167,7 @@ Response: { }, "nodes": [ { - "digest": "7xh8bTQJC2t71cGLCHi2h12CQ1ECNheTYpmg5nFJ85hV", + "digest": "J5WeQemqsD7PiAYUk8o5jbf7m7G4bNqejJ4dUwijQmh5", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -192,7 +192,7 @@ Response: { }, "nodes": [ { - "digest": "LxveXjHLNrnL1Phg738qQe1B6WRNN9rrqHGWNfwzwoa", + "digest": "89Eq2RtFcvykVH8jYAF91mjF1DBRsLeGU4gfnL96jMoC", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -217,7 +217,7 @@ Response: { }, "nodes": [ { - "digest": "Hv7UJA6pU37uTqwt2MurVJof576haZe4ibst3ALzaDdQ", + "digest": "9RMtDD1o2929hoHsxJt5RhPXkKAVBREjCpDCiRSGWD4j", "effects": { "checkpoint": { "sequenceNumber": 2 diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/programmable.exp b/crates/iota-graphql-e2e-tests/tests/transactions/programmable.exp index 829469fcc82..0241771046d 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/programmable.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/programmable.exp @@ -20,12 +20,12 @@ Response: { "transactionBlocks": { "nodes": [ { - "digest": "3DSbRnTPBWwD7etcG4tzp82DC1QN3dbKj2ihxqrou4ai", + "digest": "ZUbAobS9qYvY2zJRbjLRktjrF2iYTbB71VeF3G1AH9h", "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" }, "signatures": [ - "AJR8GgePLyr8/ocLmIukc6L7f4FFPcI7ztaeoFzw0m+ZSz9syiNiQS9NzT8PHl8oYlttiegCkIXS+04BLVXf+QZ/UUY663bYjcm3XmNyULIgxJz1t5Z9vxfB+fp8WUoJKA==" + "APNPMlU6mtK7kyV+DrL5Fp/WskzHMYZipLckBE+bVvCK9Ubp7gjioKxQF3Unpe9X4vZClyXfowHm7O+yUAphpg1/UUY663bYjcm3XmNyULIgxJz1t5Z9vxfB+fp8WUoJKA==" ], "gasInput": { "gasSponsor": { @@ -34,7 +34,7 @@ Response: { "gasPayment": { "nodes": [ { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117" + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c" } ] }, @@ -96,7 +96,7 @@ Response: { "dependencies": { "nodes": [ { - "digest": "Gri6dhCH1DX3r3x8mp82QdUEGcbfeUJUkoAMdt9sVcYV" + "digest": "JBuShctBdzAwMsiNHQnxTJqUhRuJgrTdUEyCbFc8S86L" } ] }, @@ -116,37 +116,37 @@ Response: { "objectChanges": { "nodes": [ { - "address": "0x3c9eb2ff926a6bdd3668c9952bfea8fcb69b53dd3fcd33f9432c0aec455d39b4", + "address": "0x546651aa715c29ee68ae0bb3d18aada7c2e76d51c82776bf400b13e864415294", "idCreated": true, "idDeleted": false, "outputState": { - "address": "0x3c9eb2ff926a6bdd3668c9952bfea8fcb69b53dd3fcd33f9432c0aec455d39b4", - "digest": "hjvNjwBMvJDEqq381jeo5mUUv7hJ4L2CiUhh8pU1n3g" + "address": "0x546651aa715c29ee68ae0bb3d18aada7c2e76d51c82776bf400b13e864415294", + "digest": "AEVaWDFKA3n7tVyT4wUk2s8kLdk3sYio2JnZseCWVNZb" } }, { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", - "idCreated": false, + "address": "0x728c8a7066d6ddefc37cc27f5fa9d8da87d3fbb14ea89b7e086ad243f90c1377", + "idCreated": true, "idDeleted": false, "outputState": { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", - "digest": "7ktEAd1EEGTju8ovMi6z2QRPNrHqpQzmiXqJuAUan8wM" + "address": "0x728c8a7066d6ddefc37cc27f5fa9d8da87d3fbb14ea89b7e086ad243f90c1377", + "digest": "NYGzm4bKmhujbFFQZu3qQqY9vSypUxfShyZkQEQ86Rr" } }, { - "address": "0xc8d95d34fe5a3c06aa6a2331584f073946b64bcc97dcb163f9fbd9cfc6243ee5", - "idCreated": true, + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", + "idCreated": false, "idDeleted": false, "outputState": { - "address": "0xc8d95d34fe5a3c06aa6a2331584f073946b64bcc97dcb163f9fbd9cfc6243ee5", - "digest": "91hMfHEJSq6zhboK6SXk2M6LhKSVwBK4kv72FLiTjGTk" + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", + "digest": "4rLL3j957kPuUUA392cdFdUEg1P4UGopS1PpXQPwfSty" } } ] }, "gasEffects": { "gasObject": { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117" + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c" }, "gasSummary": { "computationCost": "1000000", @@ -163,7 +163,7 @@ Response: { "sequenceNumber": 1 }, "transactionBlock": { - "digest": "3DSbRnTPBWwD7etcG4tzp82DC1QN3dbKj2ihxqrou4ai" + "digest": "ZUbAobS9qYvY2zJRbjLRktjrF2iYTbB71VeF3G1AH9h" } }, "expiration": null @@ -190,12 +190,12 @@ Response: { "transactionBlocks": { "nodes": [ { - "digest": "7MYMRethozwYZxvY9cRyfwPVmf3Uk1XfsFmntQvN6idu", + "digest": "BecbdoVwCC8UzhxBZTe4W9PYRQ8sTmd24eN8PTkvC6mp", "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" }, "signatures": [ - "APAiPWkYG05kkZWEfH3Yj3FWx8kZyJFRlem0ahCOmlwYyk+QkIPi1mzhhh2hmTxCXbbAzCUUsp2F6D253tzzgwp/UUY663bYjcm3XmNyULIgxJz1t5Z9vxfB+fp8WUoJKA==" + "AOSbBTMsSnDQBiaV6h0zRPeXAZ9OSBfvS8kdAGOHFOm3i79pjXeBWS1ZKwfpc9/lrHDVRp2EfFlrDZ/hmz5MfAR/UUY663bYjcm3XmNyULIgxJz1t5Z9vxfB+fp8WUoJKA==" ], "gasInput": { "gasSponsor": { @@ -204,7 +204,7 @@ Response: { "gasPayment": { "nodes": [ { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117" + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c" } ] }, @@ -219,21 +219,21 @@ Response: { "cursor": "eyJpIjowLCJjIjoyfQ", "node": { "__typename": "OwnedOrImmutable", - "address": "0x3c9eb2ff926a6bdd3668c9952bfea8fcb69b53dd3fcd33f9432c0aec455d39b4", + "address": "0x546651aa715c29ee68ae0bb3d18aada7c2e76d51c82776bf400b13e864415294", "version": 2, - "digest": "hjvNjwBMvJDEqq381jeo5mUUv7hJ4L2CiUhh8pU1n3g", + "digest": "AEVaWDFKA3n7tVyT4wUk2s8kLdk3sYio2JnZseCWVNZb", "object": { - "address": "0x3c9eb2ff926a6bdd3668c9952bfea8fcb69b53dd3fcd33f9432c0aec455d39b4", + "address": "0x546651aa715c29ee68ae0bb3d18aada7c2e76d51c82776bf400b13e864415294", "version": 2, - "digest": "hjvNjwBMvJDEqq381jeo5mUUv7hJ4L2CiUhh8pU1n3g", + "digest": "AEVaWDFKA3n7tVyT4wUk2s8kLdk3sYio2JnZseCWVNZb", "asMoveObject": { "contents": { "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::package::UpgradeCap" }, "json": { - "id": "0x3c9eb2ff926a6bdd3668c9952bfea8fcb69b53dd3fcd33f9432c0aec455d39b4", - "package": "0xc8d95d34fe5a3c06aa6a2331584f073946b64bcc97dcb163f9fbd9cfc6243ee5", + "id": "0x546651aa715c29ee68ae0bb3d18aada7c2e76d51c82776bf400b13e864415294", + "package": "0x728c8a7066d6ddefc37cc27f5fa9d8da87d3fbb14ea89b7e086ad243f90c1377", "version": "1", "policy": 0 } @@ -315,7 +315,7 @@ Response: { "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000002" ], - "currentPackage": "0xc8d95d34fe5a3c06aa6a2331584f073946b64bcc97dcb163f9fbd9cfc6243ee5", + "currentPackage": "0x728c8a7066d6ddefc37cc27f5fa9d8da87d3fbb14ea89b7e086ad243f90c1377", "upgradeTicket": { "__typename": "Result", "cmd": 0, @@ -367,10 +367,10 @@ Response: { "dependencies": { "nodes": [ { - "digest": "3DSbRnTPBWwD7etcG4tzp82DC1QN3dbKj2ihxqrou4ai" + "digest": "ZUbAobS9qYvY2zJRbjLRktjrF2iYTbB71VeF3G1AH9h" }, { - "digest": "Gri6dhCH1DX3r3x8mp82QdUEGcbfeUJUkoAMdt9sVcYV" + "digest": "JBuShctBdzAwMsiNHQnxTJqUhRuJgrTdUEyCbFc8S86L" } ] }, @@ -390,37 +390,37 @@ Response: { "objectChanges": { "nodes": [ { - "address": "0x12674f241df607abfadbbc26ad063b3710ac0b583c8f2a65746833fb6c3b7efb", + "address": "0x169bb0aedf2afe70f81aab6fa4ca35821ecfdf49aa4387e541f593922152294a", "idCreated": true, "idDeleted": false, "outputState": { - "address": "0x12674f241df607abfadbbc26ad063b3710ac0b583c8f2a65746833fb6c3b7efb", - "digest": "2e39taxAuG7YAejJXu7gCu9MPkjUHQWr9zLkqBEc5e7a" + "address": "0x169bb0aedf2afe70f81aab6fa4ca35821ecfdf49aa4387e541f593922152294a", + "digest": "6H4hmau8qvGqfnfMXhdfcwgBWFKh8gZG1C6ViR1GpXW6" } }, { - "address": "0x3c9eb2ff926a6bdd3668c9952bfea8fcb69b53dd3fcd33f9432c0aec455d39b4", + "address": "0x546651aa715c29ee68ae0bb3d18aada7c2e76d51c82776bf400b13e864415294", "idCreated": false, "idDeleted": false, "outputState": { - "address": "0x3c9eb2ff926a6bdd3668c9952bfea8fcb69b53dd3fcd33f9432c0aec455d39b4", - "digest": "FVdtV7B62EG7iRXLeVfNXGAhzmQWEdyRpaqGwGw9La2X" + "address": "0x546651aa715c29ee68ae0bb3d18aada7c2e76d51c82776bf400b13e864415294", + "digest": "2r8yRaT1XWQYzzEdfmBoLcsBG4p75SkKn9drYvcnsNsU" } }, { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", "idCreated": false, "idDeleted": false, "outputState": { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", - "digest": "FkwF4ASNDEfkAMAZSWo9ex4rjWByhF3chXALZLr3uARX" + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", + "digest": "EyDiCnSu3gSi8XRcFEwzG4qdjPzLG33asQ4P81TraEfq" } } ] }, "gasEffects": { "gasObject": { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117" + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c" }, "gasSummary": { "computationCost": "1000000", @@ -437,7 +437,7 @@ Response: { "sequenceNumber": 2 }, "transactionBlock": { - "digest": "7MYMRethozwYZxvY9cRyfwPVmf3Uk1XfsFmntQvN6idu" + "digest": "BecbdoVwCC8UzhxBZTe4W9PYRQ8sTmd24eN8PTkvC6mp" } }, "expiration": null @@ -482,12 +482,12 @@ Response: { "transactionBlocks": { "nodes": [ { - "digest": "12gH87MNnTsGSitFAhkQPefL8HjnXXFfbXwZ2pcyKkr3", + "digest": "GWe4UJgcoRJZDmjc2ayBhfwM8Yy7KvWXUHJ4wK5oPe9F", "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" }, "signatures": [ - "AOsiUmgbicdOco/MidXQ08Vm4f2Fy4ZjW+Es6vHwaruX8VVpdvSkTd+rq7SHI5imO/4QHD+U2jdmJkklxHOXkwN/UUY663bYjcm3XmNyULIgxJz1t5Z9vxfB+fp8WUoJKA==" + "AMeXJ/X9zAOnWVa5Go9e4sfrB2Ays1ZOwMbWYjBmpx5VePg5a5rGBal1Umeps8GS+Yzqvf6kFH/M1uRBIC64FwN/UUY663bYjcm3XmNyULIgxJz1t5Z9vxfB+fp8WUoJKA==" ], "gasInput": { "gasSponsor": { @@ -496,7 +496,7 @@ Response: { "gasPayment": { "nodes": [ { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117" + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c" } ] }, @@ -591,7 +591,7 @@ Response: { "cursor": "eyJpIjozLCJjIjozfQ", "node": { "__typename": "MoveCallTransaction", - "package": "0x12674f241df607abfadbbc26ad063b3710ac0b583c8f2a65746833fb6c3b7efb", + "package": "0x169bb0aedf2afe70f81aab6fa4ca35821ecfdf49aa4387e541f593922152294a", "module": "m", "functionName": "new", "typeArguments": [], @@ -615,7 +615,7 @@ Response: { ], "return": [ { - "repr": "0xc8d95d34fe5a3c06aa6a2331584f073946b64bcc97dcb163f9fbd9cfc6243ee5::m::Foo" + "repr": "0x728c8a7066d6ddefc37cc27f5fa9d8da87d3fbb14ea89b7e086ad243f90c1377::m::Foo" } ] } @@ -642,7 +642,7 @@ Response: { "cursor": "eyJpIjo1LCJjIjozfQ", "node": { "__typename": "MoveCallTransaction", - "package": "0x12674f241df607abfadbbc26ad063b3710ac0b583c8f2a65746833fb6c3b7efb", + "package": "0x169bb0aedf2afe70f81aab6fa4ca35821ecfdf49aa4387e541f593922152294a", "module": "m", "functionName": "new", "typeArguments": [], @@ -666,7 +666,7 @@ Response: { ], "return": [ { - "repr": "0xc8d95d34fe5a3c06aa6a2331584f073946b64bcc97dcb163f9fbd9cfc6243ee5::m::Foo" + "repr": "0x728c8a7066d6ddefc37cc27f5fa9d8da87d3fbb14ea89b7e086ad243f90c1377::m::Foo" } ] } @@ -676,7 +676,7 @@ Response: { "cursor": "eyJpIjo2LCJjIjozfQ", "node": { "__typename": "MoveCallTransaction", - "package": "0x12674f241df607abfadbbc26ad063b3710ac0b583c8f2a65746833fb6c3b7efb", + "package": "0x169bb0aedf2afe70f81aab6fa4ca35821ecfdf49aa4387e541f593922152294a", "module": "m", "functionName": "burn", "typeArguments": [], @@ -692,7 +692,7 @@ Response: { "typeParameters": [], "parameters": [ { - "repr": "0xc8d95d34fe5a3c06aa6a2331584f073946b64bcc97dcb163f9fbd9cfc6243ee5::m::Foo" + "repr": "0x728c8a7066d6ddefc37cc27f5fa9d8da87d3fbb14ea89b7e086ad243f90c1377::m::Foo" } ], "return": [] @@ -744,10 +744,10 @@ Response: { "dependencies": { "nodes": [ { - "digest": "7HNnodt8V3EkTR7kaxF3aacVdW63Fdh1chbsEt6XBAV5" + "digest": "9SGG8wjvABKmhGZGN8ZS8UzzqP3LHnTikE14z5P91e3B" }, { - "digest": "7MYMRethozwYZxvY9cRyfwPVmf3Uk1XfsFmntQvN6idu" + "digest": "BecbdoVwCC8UzhxBZTe4W9PYRQ8sTmd24eN8PTkvC6mp" } ] }, @@ -767,19 +767,19 @@ Response: { "objectChanges": { "nodes": [ { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", "idCreated": false, "idDeleted": false, "outputState": { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", - "digest": "BkdYp5ujpqrZjDaUhFUTJibKHe2t8KpNjJ4JHxMrF7zf", + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", + "digest": "6ZNLDZAUBWeWxUBnLg65KWXnYHxutPpbBakZe8k2tPsE", "asMoveObject": { "contents": { "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" }, "json": { - "id": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", + "id": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", "balance": { "value": "299999982082400" } @@ -789,45 +789,45 @@ Response: { } }, { - "address": "0x75fb35283c4fed78d4fd79b027a5dc57ecbed1a3ec3935c1ff715a8fb31831c0", + "address": "0x836d268782552c67bfba754975f2a4c65eba95bfb20e90109f2cd0042b86e138", "idCreated": true, "idDeleted": false, "outputState": { - "address": "0x75fb35283c4fed78d4fd79b027a5dc57ecbed1a3ec3935c1ff715a8fb31831c0", - "digest": "9Gtiyad2QNJbCN4DknFZP4a7P9WAD8sBJXpCSRpvDm3g", + "address": "0x836d268782552c67bfba754975f2a4c65eba95bfb20e90109f2cd0042b86e138", + "digest": "8z6Et5PK2UemWbFaA7DyRrHjQcymBmzYHYRf3AbvNqWL", "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" + "repr": "0x728c8a7066d6ddefc37cc27f5fa9d8da87d3fbb14ea89b7e086ad243f90c1377::m::Foo" }, "json": { - "id": "0x75fb35283c4fed78d4fd79b027a5dc57ecbed1a3ec3935c1ff715a8fb31831c0", - "balance": { - "value": "2000" - } + "id": "0x836d268782552c67bfba754975f2a4c65eba95bfb20e90109f2cd0042b86e138", + "xs": [ + "42", + "43" + ] } } } } }, { - "address": "0xb1e87710acb21b557622803dcd54dbe64a54e4d838414f56f9377c8dfdf30881", + "address": "0xae540e061a6faeaebf8a526b06721ef2c062d648d62dfd1af51f2b0865ead81f", "idCreated": true, "idDeleted": false, "outputState": { - "address": "0xb1e87710acb21b557622803dcd54dbe64a54e4d838414f56f9377c8dfdf30881", - "digest": "8sCwLVRxWbhCYqKncJSSCEnPuk8RwXDKF5yTJFnQdhxh", + "address": "0xae540e061a6faeaebf8a526b06721ef2c062d648d62dfd1af51f2b0865ead81f", + "digest": "27hwyX9cgvmSEEU4Zin8g6Mykm24M22cKPzmQKVsKNc1", "asMoveObject": { "contents": { "type": { - "repr": "0xc8d95d34fe5a3c06aa6a2331584f073946b64bcc97dcb163f9fbd9cfc6243ee5::m::Foo" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" }, "json": { - "id": "0xb1e87710acb21b557622803dcd54dbe64a54e4d838414f56f9377c8dfdf30881", - "xs": [ - "42", - "43" - ] + "id": "0xae540e061a6faeaebf8a526b06721ef2c062d648d62dfd1af51f2b0865ead81f", + "balance": { + "value": "2000" + } } } } @@ -837,7 +837,7 @@ Response: { }, "gasEffects": { "gasObject": { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117" + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c" }, "gasSummary": { "computationCost": "1000000", @@ -854,7 +854,7 @@ Response: { "sequenceNumber": 3 }, "transactionBlock": { - "digest": "12gH87MNnTsGSitFAhkQPefL8HjnXXFfbXwZ2pcyKkr3" + "digest": "GWe4UJgcoRJZDmjc2ayBhfwM8Yy7KvWXUHJ4wK5oPe9F" } }, "expiration": null @@ -881,12 +881,12 @@ Response: { "transactionBlocks": { "nodes": [ { - "digest": "DGp3E2onKoJaW4sAyxbAci7FemwYraZxuRD1EJt8Fr8F", + "digest": "AkfM4f9bFkhH3oHtk1SxQoJg6hd4YEUipZ5nEHGUuyhE", "sender": { "address": "0x8cca4e1ce0ba5904cea61df9242da2f7d29e3ef328fb7ec07c086b3bf47ca61a" }, "signatures": [ - "ADDTRR67kqcepxRuN2zrO/X7q6tS0micpLVpGhCC23kIHDqfAbd+QwZzedOyZc89xZKOVyr2FLSqO82H0Ort2gF/UUY663bYjcm3XmNyULIgxJz1t5Z9vxfB+fp8WUoJKA==" + "AHhUjshtxmJOoXShHpdM4zp2PIV/veE97JWH2BhKRa/njO9/CFKGf31/VXHKilUTj7zuRfC4/hPhNd0meG+KDwp/UUY663bYjcm3XmNyULIgxJz1t5Z9vxfB+fp8WUoJKA==" ], "gasInput": { "gasSponsor": { @@ -895,7 +895,7 @@ Response: { "gasPayment": { "nodes": [ { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117" + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c" } ] }, @@ -942,7 +942,7 @@ Response: { "dependencies": { "nodes": [ { - "digest": "12gH87MNnTsGSitFAhkQPefL8HjnXXFfbXwZ2pcyKkr3" + "digest": "GWe4UJgcoRJZDmjc2ayBhfwM8Yy7KvWXUHJ4wK5oPe9F" } ] }, @@ -962,19 +962,19 @@ Response: { "objectChanges": { "nodes": [ { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", "idCreated": false, "idDeleted": false, "outputState": { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117", - "digest": "2n1WdNcSsyZ6EDmFvvkcm6SxEvFnohEyJ9cwuuJFLYBw" + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c", + "digest": "7TpRhyt5go4geHBvPgiMPNWrFVfi1j6sAfTW5YrLszDu" } } ] }, "gasEffects": { "gasObject": { - "address": "0x3e7da712102730fe4b1e22606d7df9502dbd13fd9f8424101c70d509e5a74117" + "address": "0x7ab276e07bc81d3c00ac3f5234cce7214b5e69f5cbfa07535f14b05eeca5597c" }, "gasSummary": { "computationCost": "1000000", @@ -991,7 +991,7 @@ Response: { "sequenceNumber": 4 }, "transactionBlock": { - "digest": "DGp3E2onKoJaW4sAyxbAci7FemwYraZxuRD1EJt8Fr8F" + "digest": "AkfM4f9bFkhH3oHtk1SxQoJg6hd4YEUipZ5nEHGUuyhE" } }, "expiration": null diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/random.exp b/crates/iota-graphql-e2e-tests/tests/transactions/random.exp index 85adccf3c08..932362d55f8 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/random.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/random.exp @@ -19,7 +19,7 @@ Response: { "json": { "id": "0x0000000000000000000000000000000000000000000000000000000000000008", "inner": { - "id": "0x9b0bff650abbfb6f12494e571d931a5d67d633bdcb4cf09c0266d682e9a2670d", + "id": "0x64245391f93d86304a99e09b136505481f2374b4bf9e6aeeae25976310517f76", "version": "1" } } diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/alternating.exp b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/alternating.exp index 70e01781bc0..9776e283cec 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/alternating.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/alternating.exp @@ -96,7 +96,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "82N4LBFmaEscQ9GKkdnxsSPBMTYF6SWFgQZE9ktU1zLb", + "digest": "mwCyozmxsNvmGdRkPQFGnz1FWbSsbi1Y5nAwwoCEvYj", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -124,7 +124,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo0LCJpIjpmYWxzZX0", "node": { - "digest": "EL2y9pXhcQ7jdKdhtxiggBDG8L887rZBNyrZ8DLqk1j1", + "digest": "8JVhaHpmcF8nXEiddc27dbsY2kUQYcNTm6Hnh27LWDmM", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -135,7 +135,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo2LCJpIjpmYWxzZX0", "node": { - "digest": "BpHP1cdAfDYy5FpXgd5JY9Cj6p2BqqAbaWNQ4g14Qm8f", + "digest": "DhuoWAfbY5rhBBmNA8BF2UPgCkZ4hL4kzFSHy568ZCxQ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -163,7 +163,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo0LCJpIjpmYWxzZX0", "node": { - "digest": "EL2y9pXhcQ7jdKdhtxiggBDG8L887rZBNyrZ8DLqk1j1", + "digest": "8JVhaHpmcF8nXEiddc27dbsY2kUQYcNTm6Hnh27LWDmM", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -191,7 +191,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo4LCJpIjpmYWxzZX0", "node": { - "digest": "AQrGU4HkLwDQh2yQsc5vuvx674EhEZRXKibUTEkKKiyh", + "digest": "6ZBJU5xxGpDGCV6ppjMaobNEjXn4vWFZ2M2uxA4SeUbg", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -219,7 +219,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo2LCJpIjpmYWxzZX0", "node": { - "digest": "BpHP1cdAfDYy5FpXgd5JY9Cj6p2BqqAbaWNQ4g14Qm8f", + "digest": "DhuoWAfbY5rhBBmNA8BF2UPgCkZ4hL4kzFSHy568ZCxQ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -230,7 +230,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo4LCJpIjpmYWxzZX0", "node": { - "digest": "AQrGU4HkLwDQh2yQsc5vuvx674EhEZRXKibUTEkKKiyh", + "digest": "6ZBJU5xxGpDGCV6ppjMaobNEjXn4vWFZ2M2uxA4SeUbg", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -258,7 +258,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoxMCwiaSI6ZmFsc2V9", "node": { - "digest": "vYpcLTqmt69frK9fCE4rXMkbpkc6apXpSvdBjgk5pyH", + "digest": "4qbyWF6ThFK1cvfjzoTBvPn1CjbHr89KamgvMABSsVfY", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -286,7 +286,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoxMCwiaSI6ZmFsc2V9", "node": { - "digest": "vYpcLTqmt69frK9fCE4rXMkbpkc6apXpSvdBjgk5pyH", + "digest": "4qbyWF6ThFK1cvfjzoTBvPn1CjbHr89KamgvMABSsVfY", "effects": { "checkpoint": { "sequenceNumber": 3 diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/both_cursors.exp b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/both_cursors.exp index 51fcb4a904f..7cd694e7d50 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/both_cursors.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/both_cursors.exp @@ -96,7 +96,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0Ijo0LCJpIjpmYWxzZX0", "node": { - "digest": "6bfFwPs8Hkjc7eaztsXXSKS84ticY27fEL3zq3h6FhSS", + "digest": "3gWiKogJTZXwNofPHC8o6VSFAqZ94YDqw2nJkWxKj9UW", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -124,7 +124,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0Ijo0LCJpIjpmYWxzZX0", "node": { - "digest": "6bfFwPs8Hkjc7eaztsXXSKS84ticY27fEL3zq3h6FhSS", + "digest": "3gWiKogJTZXwNofPHC8o6VSFAqZ94YDqw2nJkWxKj9UW", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -135,7 +135,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0Ijo2LCJpIjpmYWxzZX0", "node": { - "digest": "8upnpxNJkeBDqLwk7zayaVQYANo55oJfZCg1JQwbKsuh", + "digest": "b4pDNoqxfBPsQ7WnHcLG5sZ81CrxVtUgWiUJ8DPggxk", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -163,7 +163,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0Ijo1LCJpIjpmYWxzZX0", "node": { - "digest": "8KCuLqYGLc8tVcbDYZPyv8nUjXRiCFt2PTs5Z8HQAXmt", + "digest": "4moXjSKeRMSz1d3X9mf5WVoufqXpy9yNsy7UtVczW5t7", "effects": { "checkpoint": { "sequenceNumber": 2 diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/equal/first.exp b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/equal/first.exp index 2e4ae90503d..3472aea5585 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/equal/first.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/equal/first.exp @@ -96,7 +96,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "E8kF2A56xvnkYLD4BDps6aLwq2Cie3s9Ukiic1ZH7viP", + "digest": "4zKyKcWSZ8q5JAis9wDq6s6Dd2QK3xxZJGbj4kA3xeDs", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -107,7 +107,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo0LCJpIjpmYWxzZX0", "node": { - "digest": "6bfFwPs8Hkjc7eaztsXXSKS84ticY27fEL3zq3h6FhSS", + "digest": "3gWiKogJTZXwNofPHC8o6VSFAqZ94YDqw2nJkWxKj9UW", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -118,7 +118,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo2LCJpIjpmYWxzZX0", "node": { - "digest": "8upnpxNJkeBDqLwk7zayaVQYANo55oJfZCg1JQwbKsuh", + "digest": "b4pDNoqxfBPsQ7WnHcLG5sZ81CrxVtUgWiUJ8DPggxk", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -129,7 +129,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoxMCwiaSI6ZmFsc2V9", "node": { - "digest": "5xBgXz26tENUjcExEDjVutzbvCU8HWwWtB2a7razFr1D", + "digest": "638XQvJJ3thhxEWXSguc1CgYogWZ4qbJqRv8GoX93q3J", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -140,7 +140,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoxMSwiaSI6ZmFsc2V9", "node": { - "digest": "DgudPYaSZbXdypJYSsr9thh9pYvJF22AR78jfYqZG2ej", + "digest": "ECJfcn3hTE2pb5PruJsfjZNHiRezpFTPRxBS9XMy6HwH", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -168,7 +168,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "E8kF2A56xvnkYLD4BDps6aLwq2Cie3s9Ukiic1ZH7viP", + "digest": "4zKyKcWSZ8q5JAis9wDq6s6Dd2QK3xxZJGbj4kA3xeDs", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -196,7 +196,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0Ijo0LCJpIjpmYWxzZX0", "node": { - "digest": "6bfFwPs8Hkjc7eaztsXXSKS84ticY27fEL3zq3h6FhSS", + "digest": "3gWiKogJTZXwNofPHC8o6VSFAqZ94YDqw2nJkWxKj9UW", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -224,7 +224,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0Ijo2LCJpIjpmYWxzZX0", "node": { - "digest": "8upnpxNJkeBDqLwk7zayaVQYANo55oJfZCg1JQwbKsuh", + "digest": "b4pDNoqxfBPsQ7WnHcLG5sZ81CrxVtUgWiUJ8DPggxk", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -268,7 +268,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0IjoxMCwiaSI6ZmFsc2V9", "node": { - "digest": "5xBgXz26tENUjcExEDjVutzbvCU8HWwWtB2a7razFr1D", + "digest": "638XQvJJ3thhxEWXSguc1CgYogWZ4qbJqRv8GoX93q3J", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -279,7 +279,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0IjoxMSwiaSI6ZmFsc2V9", "node": { - "digest": "DgudPYaSZbXdypJYSsr9thh9pYvJF22AR78jfYqZG2ej", + "digest": "ECJfcn3hTE2pb5PruJsfjZNHiRezpFTPRxBS9XMy6HwH", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -333,7 +333,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0IjoxMCwiaSI6ZmFsc2V9", "node": { - "digest": "5xBgXz26tENUjcExEDjVutzbvCU8HWwWtB2a7razFr1D", + "digest": "638XQvJJ3thhxEWXSguc1CgYogWZ4qbJqRv8GoX93q3J", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -344,7 +344,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0IjoxMSwiaSI6ZmFsc2V9", "node": { - "digest": "DgudPYaSZbXdypJYSsr9thh9pYvJF22AR78jfYqZG2ej", + "digest": "ECJfcn3hTE2pb5PruJsfjZNHiRezpFTPRxBS9XMy6HwH", "effects": { "checkpoint": { "sequenceNumber": 3 diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/equal/last.exp b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/equal/last.exp index ed9a0f61b21..6d78c4b0f1b 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/equal/last.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/equal/last.exp @@ -96,7 +96,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "E8kF2A56xvnkYLD4BDps6aLwq2Cie3s9Ukiic1ZH7viP", + "digest": "4zKyKcWSZ8q5JAis9wDq6s6Dd2QK3xxZJGbj4kA3xeDs", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -107,7 +107,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjozLCJpIjpmYWxzZX0", "node": { - "digest": "381JoeMBiPrexDn1WJRBgXvL8YLm1YD4WrbTMmhVXn8G", + "digest": "5mukuWJ2kPAe8Pg2NcMf9vZPk4ioUH9Tv4NMBXcK7Mw7", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -118,7 +118,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo3LCJpIjpmYWxzZX0", "node": { - "digest": "DxABrPfCXkTBM5EpSdjuUSWjz7XfcXQhQrk62iezziaV", + "digest": "8YjT1HZeAY2qEE5mYbZMS4aGzyt1YDXoHhgScA9NUgBR", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -129,7 +129,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo5LCJpIjpmYWxzZX0", "node": { - "digest": "kUr2QWovVEmFs7E5Gfhh5v3u99HcKS8pEoDFmKuEHYd", + "digest": "B3tP4VxNzXd1Y4WP5dwsRbnRtcRTfQSenZ15EbfEQH3p", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -140,7 +140,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoxMSwiaSI6ZmFsc2V9", "node": { - "digest": "E3Rn9vkpCiZcJtYFHdAUMbD4RKFNFq9Kpmav2hAnm98f", + "digest": "2ywy8D7ccV9TXjq5fK3YSW988JduU6cno22z2veFDwAa", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -168,7 +168,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoxMSwiaSI6ZmFsc2V9", "node": { - "digest": "E3Rn9vkpCiZcJtYFHdAUMbD4RKFNFq9Kpmav2hAnm98f", + "digest": "2ywy8D7ccV9TXjq5fK3YSW988JduU6cno22z2veFDwAa", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -196,7 +196,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0Ijo5LCJpIjpmYWxzZX0", "node": { - "digest": "kUr2QWovVEmFs7E5Gfhh5v3u99HcKS8pEoDFmKuEHYd", + "digest": "B3tP4VxNzXd1Y4WP5dwsRbnRtcRTfQSenZ15EbfEQH3p", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -224,7 +224,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0Ijo3LCJpIjpmYWxzZX0", "node": { - "digest": "DxABrPfCXkTBM5EpSdjuUSWjz7XfcXQhQrk62iezziaV", + "digest": "8YjT1HZeAY2qEE5mYbZMS4aGzyt1YDXoHhgScA9NUgBR", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -268,7 +268,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "E8kF2A56xvnkYLD4BDps6aLwq2Cie3s9Ukiic1ZH7viP", + "digest": "4zKyKcWSZ8q5JAis9wDq6s6Dd2QK3xxZJGbj4kA3xeDs", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -279,7 +279,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0IjozLCJpIjpmYWxzZX0", "node": { - "digest": "381JoeMBiPrexDn1WJRBgXvL8YLm1YD4WrbTMmhVXn8G", + "digest": "5mukuWJ2kPAe8Pg2NcMf9vZPk4ioUH9Tv4NMBXcK7Mw7", "effects": { "checkpoint": { "sequenceNumber": 2 diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/ge_page/first.exp b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/ge_page/first.exp index 5742ce26b91..bcc56c614e1 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/ge_page/first.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/ge_page/first.exp @@ -164,7 +164,7 @@ Response: { { "cursor": "eyJjIjo1LCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "82N4LBFmaEscQ9GKkdnxsSPBMTYF6SWFgQZE9ktU1zLb", + "digest": "mwCyozmxsNvmGdRkPQFGnz1FWbSsbi1Y5nAwwoCEvYj", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -175,7 +175,7 @@ Response: { { "cursor": "eyJjIjo1LCJ0IjozLCJpIjpmYWxzZX0", "node": { - "digest": "7ZqZsYUVDfoiXP3kUtmxUv69YkJVaQVpw7758rYZrzq9", + "digest": "HXhwQy2Cd8biC8fe111TFSYLKYYZoi5cWAFb7n4Epfdr", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -186,7 +186,7 @@ Response: { { "cursor": "eyJjIjo1LCJ0IjoxNywiaSI6ZmFsc2V9", "node": { - "digest": "74qSE5g6oMNsCSCzdqgTzk2EhEZa5Aq7o8zcUh6H3VwP", + "digest": "4w9544BVTSDYvvDibJmDsTJanU8zK8SpVMDzEzCMyv5W", "effects": { "checkpoint": { "sequenceNumber": 5 @@ -197,7 +197,7 @@ Response: { { "cursor": "eyJjIjo1LCJ0IjoxOCwiaSI6ZmFsc2V9", "node": { - "digest": "CiXB5Pmn8uu2swTvV6xGHBbft1pLSxsDvZ9jr6mx7ub", + "digest": "HatuDy6reNH1mTyo6fAwmJ84Syx53poEjZyYh22fMmcJ", "effects": { "checkpoint": { "sequenceNumber": 5 @@ -208,7 +208,7 @@ Response: { { "cursor": "eyJjIjo1LCJ0IjoyMSwiaSI6ZmFsc2V9", "node": { - "digest": "7PtWxxxvP5sDTm867WHwuyf8ZKKdi67w7S6Q2Tqb8ppU", + "digest": "E93RP9r3oqbpfxyrBi93MgHAvF4tWZhk4XHrvBcgevyZ", "effects": { "checkpoint": { "sequenceNumber": 5 @@ -236,7 +236,7 @@ Response: { { "cursor": "eyJjIjo1LCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "82N4LBFmaEscQ9GKkdnxsSPBMTYF6SWFgQZE9ktU1zLb", + "digest": "mwCyozmxsNvmGdRkPQFGnz1FWbSsbi1Y5nAwwoCEvYj", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -264,7 +264,7 @@ Response: { { "cursor": "eyJjIjo3LCJ0IjozLCJpIjpmYWxzZX0", "node": { - "digest": "7ZqZsYUVDfoiXP3kUtmxUv69YkJVaQVpw7758rYZrzq9", + "digest": "HXhwQy2Cd8biC8fe111TFSYLKYYZoi5cWAFb7n4Epfdr", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -308,7 +308,7 @@ Response: { { "cursor": "eyJjIjo3LCJ0IjoxNywiaSI6ZmFsc2V9", "node": { - "digest": "74qSE5g6oMNsCSCzdqgTzk2EhEZa5Aq7o8zcUh6H3VwP", + "digest": "4w9544BVTSDYvvDibJmDsTJanU8zK8SpVMDzEzCMyv5W", "effects": { "checkpoint": { "sequenceNumber": 5 @@ -336,7 +336,7 @@ Response: { { "cursor": "eyJjIjo3LCJ0IjoxOCwiaSI6ZmFsc2V9", "node": { - "digest": "CiXB5Pmn8uu2swTvV6xGHBbft1pLSxsDvZ9jr6mx7ub", + "digest": "HatuDy6reNH1mTyo6fAwmJ84Syx53poEjZyYh22fMmcJ", "effects": { "checkpoint": { "sequenceNumber": 5 @@ -364,7 +364,7 @@ Response: { { "cursor": "eyJjIjo3LCJ0IjoyMSwiaSI6ZmFsc2V9", "node": { - "digest": "7PtWxxxvP5sDTm867WHwuyf8ZKKdi67w7S6Q2Tqb8ppU", + "digest": "E93RP9r3oqbpfxyrBi93MgHAvF4tWZhk4XHrvBcgevyZ", "effects": { "checkpoint": { "sequenceNumber": 5 diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/ge_page/last.exp b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/ge_page/last.exp index ae4c134ce20..e5244a5f968 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/ge_page/last.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/ge_page/last.exp @@ -164,7 +164,7 @@ Response: { { "cursor": "eyJjIjo1LCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "82N4LBFmaEscQ9GKkdnxsSPBMTYF6SWFgQZE9ktU1zLb", + "digest": "mwCyozmxsNvmGdRkPQFGnz1FWbSsbi1Y5nAwwoCEvYj", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -175,7 +175,7 @@ Response: { { "cursor": "eyJjIjo1LCJ0IjozLCJpIjpmYWxzZX0", "node": { - "digest": "7ZqZsYUVDfoiXP3kUtmxUv69YkJVaQVpw7758rYZrzq9", + "digest": "HXhwQy2Cd8biC8fe111TFSYLKYYZoi5cWAFb7n4Epfdr", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -186,7 +186,7 @@ Response: { { "cursor": "eyJjIjo1LCJ0IjoxNywiaSI6ZmFsc2V9", "node": { - "digest": "74qSE5g6oMNsCSCzdqgTzk2EhEZa5Aq7o8zcUh6H3VwP", + "digest": "4w9544BVTSDYvvDibJmDsTJanU8zK8SpVMDzEzCMyv5W", "effects": { "checkpoint": { "sequenceNumber": 5 @@ -197,7 +197,7 @@ Response: { { "cursor": "eyJjIjo1LCJ0IjoyMSwiaSI6ZmFsc2V9", "node": { - "digest": "HtuUyxc3FEATfG54UmSWPwPKjxp7dVbu5Yqagw1s58s7", + "digest": "9zEYeCv3r6s91Kg4YuD9PdNNNagSbQcCWHVFVa7xddMx", "effects": { "checkpoint": { "sequenceNumber": 5 @@ -225,7 +225,7 @@ Response: { { "cursor": "eyJjIjo1LCJ0IjoyMSwiaSI6ZmFsc2V9", "node": { - "digest": "HtuUyxc3FEATfG54UmSWPwPKjxp7dVbu5Yqagw1s58s7", + "digest": "9zEYeCv3r6s91Kg4YuD9PdNNNagSbQcCWHVFVa7xddMx", "effects": { "checkpoint": { "sequenceNumber": 5 @@ -253,7 +253,7 @@ Response: { { "cursor": "eyJjIjo3LCJ0IjoxNywiaSI6ZmFsc2V9", "node": { - "digest": "74qSE5g6oMNsCSCzdqgTzk2EhEZa5Aq7o8zcUh6H3VwP", + "digest": "4w9544BVTSDYvvDibJmDsTJanU8zK8SpVMDzEzCMyv5W", "effects": { "checkpoint": { "sequenceNumber": 5 @@ -313,7 +313,7 @@ Response: { { "cursor": "eyJjIjo3LCJ0IjozLCJpIjpmYWxzZX0", "node": { - "digest": "7ZqZsYUVDfoiXP3kUtmxUv69YkJVaQVpw7758rYZrzq9", + "digest": "HXhwQy2Cd8biC8fe111TFSYLKYYZoi5cWAFb7n4Epfdr", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -341,7 +341,7 @@ Response: { { "cursor": "eyJjIjo3LCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "82N4LBFmaEscQ9GKkdnxsSPBMTYF6SWFgQZE9ktU1zLb", + "digest": "mwCyozmxsNvmGdRkPQFGnz1FWbSsbi1Y5nAwwoCEvYj", "effects": { "checkpoint": { "sequenceNumber": 2 diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/le_page/first.exp b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/le_page/first.exp index 0f529337cd9..b2b204cf6e5 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/le_page/first.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/le_page/first.exp @@ -96,7 +96,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "82N4LBFmaEscQ9GKkdnxsSPBMTYF6SWFgQZE9ktU1zLb", + "digest": "mwCyozmxsNvmGdRkPQFGnz1FWbSsbi1Y5nAwwoCEvYj", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -107,7 +107,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjozLCJpIjpmYWxzZX0", "node": { - "digest": "21JZwfC2UgQ5FSDrx5KagLzKTvKiyjqb2E9C4CFD3oe6", + "digest": "7WkPvP5a39xpy98ZNga8NrTAJLdShhovwvvmCxiZFaz2", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -118,7 +118,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo0LCJpIjpmYWxzZX0", "node": { - "digest": "EL2y9pXhcQ7jdKdhtxiggBDG8L887rZBNyrZ8DLqk1j1", + "digest": "8JVhaHpmcF8nXEiddc27dbsY2kUQYcNTm6Hnh27LWDmM", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -129,7 +129,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo1LCJpIjpmYWxzZX0", "node": { - "digest": "9dao66sYWHWsUjwK4kto3f8SUeUjBjEmpRAhadg7isKC", + "digest": "9ReXMV51j2TMW2Hj9mc3mk2V4NuYqRUjrG3H7osPGWgN", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -140,7 +140,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo2LCJpIjpmYWxzZX0", "node": { - "digest": "BpHP1cdAfDYy5FpXgd5JY9Cj6p2BqqAbaWNQ4g14Qm8f", + "digest": "DhuoWAfbY5rhBBmNA8BF2UPgCkZ4hL4kzFSHy568ZCxQ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -151,7 +151,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo3LCJpIjpmYWxzZX0", "node": { - "digest": "3V9KMtrv7DZ31rJ24nwNMbH2ZMadopfYankeb7qi257E", + "digest": "FEHxAg62jzcSDiMqqw5dX821XsMhcTDUhyXGcqVo9uY6", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -162,7 +162,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo4LCJpIjpmYWxzZX0", "node": { - "digest": "AQrGU4HkLwDQh2yQsc5vuvx674EhEZRXKibUTEkKKiyh", + "digest": "6ZBJU5xxGpDGCV6ppjMaobNEjXn4vWFZ2M2uxA4SeUbg", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -173,7 +173,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo5LCJpIjpmYWxzZX0", "node": { - "digest": "EXacrf1BUxBuhqY3LPTqVYujEf9HxP6nunMoHLxN8r4V", + "digest": "FTASFTZ9Rcr52HKv5V5v8n1dN5cYMBRQc9Qyo716WpiN", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -184,7 +184,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoxMCwiaSI6ZmFsc2V9", "node": { - "digest": "vYpcLTqmt69frK9fCE4rXMkbpkc6apXpSvdBjgk5pyH", + "digest": "4qbyWF6ThFK1cvfjzoTBvPn1CjbHr89KamgvMABSsVfY", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -195,7 +195,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoxMSwiaSI6ZmFsc2V9", "node": { - "digest": "2wv6uo96d6svx9U9h7FeyqfRxm3SWvKLqEW6vZfAcJU4", + "digest": "5kuiVU9xejCQ2Ziw2srV3UA2Lon3o1mF5UJVkHoL36eH", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -223,7 +223,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "82N4LBFmaEscQ9GKkdnxsSPBMTYF6SWFgQZE9ktU1zLb", + "digest": "mwCyozmxsNvmGdRkPQFGnz1FWbSsbi1Y5nAwwoCEvYj", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -251,7 +251,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0Ijo0LCJpIjpmYWxzZX0", "node": { - "digest": "EL2y9pXhcQ7jdKdhtxiggBDG8L887rZBNyrZ8DLqk1j1", + "digest": "8JVhaHpmcF8nXEiddc27dbsY2kUQYcNTm6Hnh27LWDmM", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -279,7 +279,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0Ijo2LCJpIjpmYWxzZX0", "node": { - "digest": "BpHP1cdAfDYy5FpXgd5JY9Cj6p2BqqAbaWNQ4g14Qm8f", + "digest": "DhuoWAfbY5rhBBmNA8BF2UPgCkZ4hL4kzFSHy568ZCxQ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -290,7 +290,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0Ijo4LCJpIjpmYWxzZX0", "node": { - "digest": "AQrGU4HkLwDQh2yQsc5vuvx674EhEZRXKibUTEkKKiyh", + "digest": "6ZBJU5xxGpDGCV6ppjMaobNEjXn4vWFZ2M2uxA4SeUbg", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -318,7 +318,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0IjoxMCwiaSI6ZmFsc2V9", "node": { - "digest": "vYpcLTqmt69frK9fCE4rXMkbpkc6apXpSvdBjgk5pyH", + "digest": "4qbyWF6ThFK1cvfjzoTBvPn1CjbHr89KamgvMABSsVfY", "effects": { "checkpoint": { "sequenceNumber": 3 diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/le_page/last.exp b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/le_page/last.exp index 7365a8352db..ffa5ee71059 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/le_page/last.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/le_page/last.exp @@ -96,7 +96,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "82N4LBFmaEscQ9GKkdnxsSPBMTYF6SWFgQZE9ktU1zLb", + "digest": "mwCyozmxsNvmGdRkPQFGnz1FWbSsbi1Y5nAwwoCEvYj", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -107,7 +107,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjozLCJpIjpmYWxzZX0", "node": { - "digest": "21JZwfC2UgQ5FSDrx5KagLzKTvKiyjqb2E9C4CFD3oe6", + "digest": "7WkPvP5a39xpy98ZNga8NrTAJLdShhovwvvmCxiZFaz2", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -118,7 +118,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo0LCJpIjpmYWxzZX0", "node": { - "digest": "EL2y9pXhcQ7jdKdhtxiggBDG8L887rZBNyrZ8DLqk1j1", + "digest": "8JVhaHpmcF8nXEiddc27dbsY2kUQYcNTm6Hnh27LWDmM", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -129,7 +129,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo1LCJpIjpmYWxzZX0", "node": { - "digest": "9dao66sYWHWsUjwK4kto3f8SUeUjBjEmpRAhadg7isKC", + "digest": "9ReXMV51j2TMW2Hj9mc3mk2V4NuYqRUjrG3H7osPGWgN", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -140,7 +140,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo2LCJpIjpmYWxzZX0", "node": { - "digest": "BpHP1cdAfDYy5FpXgd5JY9Cj6p2BqqAbaWNQ4g14Qm8f", + "digest": "DhuoWAfbY5rhBBmNA8BF2UPgCkZ4hL4kzFSHy568ZCxQ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -151,7 +151,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo3LCJpIjpmYWxzZX0", "node": { - "digest": "3V9KMtrv7DZ31rJ24nwNMbH2ZMadopfYankeb7qi257E", + "digest": "FEHxAg62jzcSDiMqqw5dX821XsMhcTDUhyXGcqVo9uY6", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -162,7 +162,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo4LCJpIjpmYWxzZX0", "node": { - "digest": "AQrGU4HkLwDQh2yQsc5vuvx674EhEZRXKibUTEkKKiyh", + "digest": "6ZBJU5xxGpDGCV6ppjMaobNEjXn4vWFZ2M2uxA4SeUbg", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -173,7 +173,7 @@ Response: { { "cursor": "eyJjIjozLCJ0Ijo5LCJpIjpmYWxzZX0", "node": { - "digest": "EXacrf1BUxBuhqY3LPTqVYujEf9HxP6nunMoHLxN8r4V", + "digest": "FTASFTZ9Rcr52HKv5V5v8n1dN5cYMBRQc9Qyo716WpiN", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -184,7 +184,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoxMCwiaSI6ZmFsc2V9", "node": { - "digest": "vYpcLTqmt69frK9fCE4rXMkbpkc6apXpSvdBjgk5pyH", + "digest": "4qbyWF6ThFK1cvfjzoTBvPn1CjbHr89KamgvMABSsVfY", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -195,7 +195,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoxMSwiaSI6ZmFsc2V9", "node": { - "digest": "2wv6uo96d6svx9U9h7FeyqfRxm3SWvKLqEW6vZfAcJU4", + "digest": "5kuiVU9xejCQ2Ziw2srV3UA2Lon3o1mF5UJVkHoL36eH", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -223,7 +223,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoxMCwiaSI6ZmFsc2V9", "node": { - "digest": "vYpcLTqmt69frK9fCE4rXMkbpkc6apXpSvdBjgk5pyH", + "digest": "4qbyWF6ThFK1cvfjzoTBvPn1CjbHr89KamgvMABSsVfY", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -251,7 +251,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0Ijo4LCJpIjpmYWxzZX0", "node": { - "digest": "AQrGU4HkLwDQh2yQsc5vuvx674EhEZRXKibUTEkKKiyh", + "digest": "6ZBJU5xxGpDGCV6ppjMaobNEjXn4vWFZ2M2uxA4SeUbg", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -279,7 +279,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0Ijo2LCJpIjpmYWxzZX0", "node": { - "digest": "BpHP1cdAfDYy5FpXgd5JY9Cj6p2BqqAbaWNQ4g14Qm8f", + "digest": "DhuoWAfbY5rhBBmNA8BF2UPgCkZ4hL4kzFSHy568ZCxQ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -307,7 +307,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0Ijo0LCJpIjpmYWxzZX0", "node": { - "digest": "EL2y9pXhcQ7jdKdhtxiggBDG8L887rZBNyrZ8DLqk1j1", + "digest": "8JVhaHpmcF8nXEiddc27dbsY2kUQYcNTm6Hnh27LWDmM", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -335,7 +335,7 @@ Response: { { "cursor": "eyJjIjo0LCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "82N4LBFmaEscQ9GKkdnxsSPBMTYF6SWFgQZE9ktU1zLb", + "digest": "mwCyozmxsNvmGdRkPQFGnz1FWbSsbi1Y5nAwwoCEvYj", "effects": { "checkpoint": { "sequenceNumber": 2 diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/require.exp b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/require.exp index fd55522375e..304a5a18043 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/require.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/scan_limit/require.exp @@ -94,7 +94,7 @@ Response: { }, "nodes": [ { - "digest": "E8kF2A56xvnkYLD4BDps6aLwq2Cie3s9Ukiic1ZH7viP", + "digest": "4zKyKcWSZ8q5JAis9wDq6s6Dd2QK3xxZJGbj4kA3xeDs", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -102,7 +102,7 @@ Response: { } }, { - "digest": "381JoeMBiPrexDn1WJRBgXvL8YLm1YD4WrbTMmhVXn8G", + "digest": "5mukuWJ2kPAe8Pg2NcMf9vZPk4ioUH9Tv4NMBXcK7Mw7", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -110,7 +110,7 @@ Response: { } }, { - "digest": "6eQjG3m7dHWpAVFPodWZfvM2UrM3MjW47MdJZn9vzu8W", + "digest": "H1hNjz6fLwZM2gtcnDBbJDFCdMGt1dXNBMj6SYtkVbrZ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -118,7 +118,7 @@ Response: { } }, { - "digest": "3vqZRmWevrxy8GQv2FpbuBqge21KZ6ANbp1KKgBJHC75", + "digest": "77y9Ar7drhCp1fG4AbEEcND8b3UC1AinA719tCKeAUaQ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -126,7 +126,7 @@ Response: { } }, { - "digest": "F5i62q7626r5BpFgS98ipUzH9qKpZYtynQVokRMr4Bud", + "digest": "3K2kUPMCVQX82QSL7TVXVoyJVo3TJVqgk5k6gB96oLbF", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -134,7 +134,7 @@ Response: { } }, { - "digest": "2eeRQ3XbsLZgH21mfmpBaoUiDJj3HbKwGcHMksU5RbT3", + "digest": "AoaNoKrkQAW7R8epyboHAhrNmiJed7WqxUYHX2p9W3Gi", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -142,7 +142,7 @@ Response: { } }, { - "digest": "8XusPMVAwdySmqJL7nMqPMn3Kude5kvrAEKtmT9pa8uy", + "digest": "2LnbVjwp4WsEPTCttuU3Ae3ZaMYDbU9hAjAtYZHABfNU", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -150,7 +150,7 @@ Response: { } }, { - "digest": "5MjTfiLsxWBUGdohn2ugDrmshzgDQVFDta3GEC5SrbdD", + "digest": "5Kh9fi4ppVyknuXtAPKszkh4iGGjLgoKLjUosLsJYrNM", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -158,7 +158,7 @@ Response: { } }, { - "digest": "4B6QNjxvt3dpDDf6tAWVRYoft8dYXU9fAHNn7WmKJard", + "digest": "5hB8rPyv4pApk9abZStGxoJQ72ecDB4JmnR2Cd5CAQ5T", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -166,7 +166,7 @@ Response: { } }, { - "digest": "2p2mpwjUNzYRm27vpM6aWF8ZRGFZGMfecT3yqmbmCpVK", + "digest": "3pNVMUJVJwDwUzebUReA3pXEHtyWLhGR1UeuGdZFPoNP", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -191,7 +191,7 @@ Response: { }, "nodes": [ { - "digest": "E8kF2A56xvnkYLD4BDps6aLwq2Cie3s9Ukiic1ZH7viP", + "digest": "4zKyKcWSZ8q5JAis9wDq6s6Dd2QK3xxZJGbj4kA3xeDs", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -199,7 +199,7 @@ Response: { } }, { - "digest": "381JoeMBiPrexDn1WJRBgXvL8YLm1YD4WrbTMmhVXn8G", + "digest": "5mukuWJ2kPAe8Pg2NcMf9vZPk4ioUH9Tv4NMBXcK7Mw7", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -207,7 +207,7 @@ Response: { } }, { - "digest": "6eQjG3m7dHWpAVFPodWZfvM2UrM3MjW47MdJZn9vzu8W", + "digest": "H1hNjz6fLwZM2gtcnDBbJDFCdMGt1dXNBMj6SYtkVbrZ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -215,7 +215,7 @@ Response: { } }, { - "digest": "3vqZRmWevrxy8GQv2FpbuBqge21KZ6ANbp1KKgBJHC75", + "digest": "77y9Ar7drhCp1fG4AbEEcND8b3UC1AinA719tCKeAUaQ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -223,7 +223,7 @@ Response: { } }, { - "digest": "F5i62q7626r5BpFgS98ipUzH9qKpZYtynQVokRMr4Bud", + "digest": "3K2kUPMCVQX82QSL7TVXVoyJVo3TJVqgk5k6gB96oLbF", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -231,7 +231,7 @@ Response: { } }, { - "digest": "2eeRQ3XbsLZgH21mfmpBaoUiDJj3HbKwGcHMksU5RbT3", + "digest": "AoaNoKrkQAW7R8epyboHAhrNmiJed7WqxUYHX2p9W3Gi", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -239,7 +239,7 @@ Response: { } }, { - "digest": "8XusPMVAwdySmqJL7nMqPMn3Kude5kvrAEKtmT9pa8uy", + "digest": "2LnbVjwp4WsEPTCttuU3Ae3ZaMYDbU9hAjAtYZHABfNU", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -247,7 +247,7 @@ Response: { } }, { - "digest": "5MjTfiLsxWBUGdohn2ugDrmshzgDQVFDta3GEC5SrbdD", + "digest": "5Kh9fi4ppVyknuXtAPKszkh4iGGjLgoKLjUosLsJYrNM", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -255,7 +255,7 @@ Response: { } }, { - "digest": "4B6QNjxvt3dpDDf6tAWVRYoft8dYXU9fAHNn7WmKJard", + "digest": "5hB8rPyv4pApk9abZStGxoJQ72ecDB4JmnR2Cd5CAQ5T", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -263,7 +263,7 @@ Response: { } }, { - "digest": "2p2mpwjUNzYRm27vpM6aWF8ZRGFZGMfecT3yqmbmCpVK", + "digest": "3pNVMUJVJwDwUzebUReA3pXEHtyWLhGR1UeuGdZFPoNP", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -311,7 +311,7 @@ Response: { }, "nodes": [ { - "digest": "E8kF2A56xvnkYLD4BDps6aLwq2Cie3s9Ukiic1ZH7viP", + "digest": "4zKyKcWSZ8q5JAis9wDq6s6Dd2QK3xxZJGbj4kA3xeDs", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -319,7 +319,7 @@ Response: { } }, { - "digest": "381JoeMBiPrexDn1WJRBgXvL8YLm1YD4WrbTMmhVXn8G", + "digest": "5mukuWJ2kPAe8Pg2NcMf9vZPk4ioUH9Tv4NMBXcK7Mw7", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -327,7 +327,7 @@ Response: { } }, { - "digest": "6eQjG3m7dHWpAVFPodWZfvM2UrM3MjW47MdJZn9vzu8W", + "digest": "H1hNjz6fLwZM2gtcnDBbJDFCdMGt1dXNBMj6SYtkVbrZ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -335,7 +335,7 @@ Response: { } }, { - "digest": "3vqZRmWevrxy8GQv2FpbuBqge21KZ6ANbp1KKgBJHC75", + "digest": "77y9Ar7drhCp1fG4AbEEcND8b3UC1AinA719tCKeAUaQ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -343,7 +343,7 @@ Response: { } }, { - "digest": "F5i62q7626r5BpFgS98ipUzH9qKpZYtynQVokRMr4Bud", + "digest": "3K2kUPMCVQX82QSL7TVXVoyJVo3TJVqgk5k6gB96oLbF", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -351,7 +351,7 @@ Response: { } }, { - "digest": "2eeRQ3XbsLZgH21mfmpBaoUiDJj3HbKwGcHMksU5RbT3", + "digest": "AoaNoKrkQAW7R8epyboHAhrNmiJed7WqxUYHX2p9W3Gi", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -359,7 +359,7 @@ Response: { } }, { - "digest": "8XusPMVAwdySmqJL7nMqPMn3Kude5kvrAEKtmT9pa8uy", + "digest": "2LnbVjwp4WsEPTCttuU3Ae3ZaMYDbU9hAjAtYZHABfNU", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -367,7 +367,7 @@ Response: { } }, { - "digest": "5MjTfiLsxWBUGdohn2ugDrmshzgDQVFDta3GEC5SrbdD", + "digest": "5Kh9fi4ppVyknuXtAPKszkh4iGGjLgoKLjUosLsJYrNM", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -375,7 +375,7 @@ Response: { } }, { - "digest": "4B6QNjxvt3dpDDf6tAWVRYoft8dYXU9fAHNn7WmKJard", + "digest": "5hB8rPyv4pApk9abZStGxoJQ72ecDB4JmnR2Cd5CAQ5T", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -383,7 +383,7 @@ Response: { } }, { - "digest": "2p2mpwjUNzYRm27vpM6aWF8ZRGFZGMfecT3yqmbmCpVK", + "digest": "3pNVMUJVJwDwUzebUReA3pXEHtyWLhGR1UeuGdZFPoNP", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -431,7 +431,7 @@ Response: { }, "nodes": [ { - "digest": "E8kF2A56xvnkYLD4BDps6aLwq2Cie3s9Ukiic1ZH7viP", + "digest": "4zKyKcWSZ8q5JAis9wDq6s6Dd2QK3xxZJGbj4kA3xeDs", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -439,7 +439,7 @@ Response: { } }, { - "digest": "381JoeMBiPrexDn1WJRBgXvL8YLm1YD4WrbTMmhVXn8G", + "digest": "5mukuWJ2kPAe8Pg2NcMf9vZPk4ioUH9Tv4NMBXcK7Mw7", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -447,7 +447,7 @@ Response: { } }, { - "digest": "6eQjG3m7dHWpAVFPodWZfvM2UrM3MjW47MdJZn9vzu8W", + "digest": "H1hNjz6fLwZM2gtcnDBbJDFCdMGt1dXNBMj6SYtkVbrZ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -455,7 +455,7 @@ Response: { } }, { - "digest": "3vqZRmWevrxy8GQv2FpbuBqge21KZ6ANbp1KKgBJHC75", + "digest": "77y9Ar7drhCp1fG4AbEEcND8b3UC1AinA719tCKeAUaQ", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -463,7 +463,7 @@ Response: { } }, { - "digest": "F5i62q7626r5BpFgS98ipUzH9qKpZYtynQVokRMr4Bud", + "digest": "3K2kUPMCVQX82QSL7TVXVoyJVo3TJVqgk5k6gB96oLbF", "effects": { "checkpoint": { "sequenceNumber": 2 @@ -471,7 +471,7 @@ Response: { } }, { - "digest": "2eeRQ3XbsLZgH21mfmpBaoUiDJj3HbKwGcHMksU5RbT3", + "digest": "AoaNoKrkQAW7R8epyboHAhrNmiJed7WqxUYHX2p9W3Gi", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -479,7 +479,7 @@ Response: { } }, { - "digest": "8XusPMVAwdySmqJL7nMqPMn3Kude5kvrAEKtmT9pa8uy", + "digest": "2LnbVjwp4WsEPTCttuU3Ae3ZaMYDbU9hAjAtYZHABfNU", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -487,7 +487,7 @@ Response: { } }, { - "digest": "5MjTfiLsxWBUGdohn2ugDrmshzgDQVFDta3GEC5SrbdD", + "digest": "5Kh9fi4ppVyknuXtAPKszkh4iGGjLgoKLjUosLsJYrNM", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -495,7 +495,7 @@ Response: { } }, { - "digest": "4B6QNjxvt3dpDDf6tAWVRYoft8dYXU9fAHNn7WmKJard", + "digest": "5hB8rPyv4pApk9abZStGxoJQ72ecDB4JmnR2Cd5CAQ5T", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -503,7 +503,7 @@ Response: { } }, { - "digest": "2p2mpwjUNzYRm27vpM6aWF8ZRGFZGMfecT3yqmbmCpVK", + "digest": "3pNVMUJVJwDwUzebUReA3pXEHtyWLhGR1UeuGdZFPoNP", "effects": { "checkpoint": { "sequenceNumber": 3 @@ -592,7 +592,7 @@ Response: { { "cursor": "eyJjIjozLCJ0IjoyLCJpIjpmYWxzZX0", "node": { - "digest": "E8kF2A56xvnkYLD4BDps6aLwq2Cie3s9Ukiic1ZH7viP", + "digest": "4zKyKcWSZ8q5JAis9wDq6s6Dd2QK3xxZJGbj4kA3xeDs", "effects": { "checkpoint": { "sequenceNumber": 2 diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/shared.exp b/crates/iota-graphql-e2e-tests/tests/transactions/shared.exp index 9b4c4f42156..61af8b17941 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/shared.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/shared.exp @@ -42,7 +42,7 @@ Response: { "transactions": { "nodes": [ { - "package": "0xf9fc400a000c3d386bc82b2fce66cfd9af411aa08644ae3ec0b12931079f3747", + "package": "0x81fecfec8cda1ae043aaf7af6c09e893ed847c1551585cef97e4f66e48d2f979", "module": "m", "functionName": "get" } @@ -55,17 +55,17 @@ Response: { "nodes": [ { "__typename": "SharedObjectRead", - "address": "0x86326d81edb82c2f82fa925fcb6e69bbd02dda8f19b61efb01621e555bf8de6a", + "address": "0x925dea6dd7c8fcb192b66c8ca68159433a2c4bc13a418b330d2da39c5dacb4ed", "version": 2, - "digest": "GTLkfmQnXxUTskYsN5PZwgtutXdgaEqK2xHeKvVakZTZ", + "digest": "8sg1MfrfY93MygRY2VmiZNkq94uWETfK3BihkyMrgzag", "object": { "asMoveObject": { "contents": { "type": { - "repr": "0xf9fc400a000c3d386bc82b2fce66cfd9af411aa08644ae3ec0b12931079f3747::m::Foo" + "repr": "0x81fecfec8cda1ae043aaf7af6c09e893ed847c1551585cef97e4f66e48d2f979::m::Foo" }, "json": { - "id": "0x86326d81edb82c2f82fa925fcb6e69bbd02dda8f19b61efb01621e555bf8de6a", + "id": "0x925dea6dd7c8fcb192b66c8ca68159433a2c4bc13a418b330d2da39c5dacb4ed", "x": "0" } } @@ -82,7 +82,7 @@ Response: { "transactions": { "nodes": [ { - "package": "0xf9fc400a000c3d386bc82b2fce66cfd9af411aa08644ae3ec0b12931079f3747", + "package": "0x81fecfec8cda1ae043aaf7af6c09e893ed847c1551585cef97e4f66e48d2f979", "module": "m", "functionName": "inc" } @@ -102,12 +102,12 @@ Response: { "transactions": { "nodes": [ { - "package": "0xf9fc400a000c3d386bc82b2fce66cfd9af411aa08644ae3ec0b12931079f3747", + "package": "0x81fecfec8cda1ae043aaf7af6c09e893ed847c1551585cef97e4f66e48d2f979", "module": "m", "functionName": "get" }, { - "package": "0xf9fc400a000c3d386bc82b2fce66cfd9af411aa08644ae3ec0b12931079f3747", + "package": "0x81fecfec8cda1ae043aaf7af6c09e893ed847c1551585cef97e4f66e48d2f979", "module": "m", "functionName": "inc" } diff --git a/crates/iota-graphql-e2e-tests/tests/transactions/system.exp b/crates/iota-graphql-e2e-tests/tests/transactions/system.exp index c5166f9b177..b278397ab15 100644 --- a/crates/iota-graphql-e2e-tests/tests/transactions/system.exp +++ b/crates/iota-graphql-e2e-tests/tests/transactions/system.exp @@ -7,7 +7,7 @@ Response: { "transactionBlocks": { "nodes": [ { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS", + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx", "sender": null, "signatures": [ "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" @@ -407,7 +407,7 @@ Response: { "json": { "id": "0x0000000000000000000000000000000000000000000000000000000000000008", "inner": { - "id": "0x9b0bff650abbfb6f12494e571d931a5d67d633bdcb4cf09c0266d682e9a2670d", + "id": "0x64245391f93d86304a99e09b136505481f2374b4bf9e6aeeae25976310517f76", "version": "1" } } @@ -489,7 +489,7 @@ Response: { "json": { "id": "0x0000000000000000000000000000000000000000000000000000000000000403", "lists": { - "id": "0x3d983c2ef1bb228a71282a622fe7ce49979e88ca70e4df9b4832f1d494afac6e", + "id": "0xee738f1521522ab7f2c552e22cda46f96661774331fb5b4cd4577f0e31488488", "size": "0" } } @@ -641,15 +641,15 @@ Response: { { "cursor": "eyJpIjoxMCwiYyI6MH0", "node": { - "address": "0x2e5e399d18ca7ecd319b2dc0ad24eeac2a73a4cae66617384a50873805a05cdc", + "address": "0x45dbc1fa6aa265ea050c6f6aa7e4e729de563d9c1c078e9e043654961030ef3e", "asMoveObject": { "contents": { "type": { "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field<0x0000000000000000000000000000000000000000000000000000000000000002::object::ID,address>" }, "json": { - "id": "0x2e5e399d18ca7ecd319b2dc0ad24eeac2a73a4cae66617384a50873805a05cdc", - "name": "0x8cd284d020e13d86f523347e580827a00e0290c058bf869e1f9171064156c422", + "id": "0x45dbc1fa6aa265ea050c6f6aa7e4e729de563d9c1c078e9e043654961030ef3e", + "name": "0xa03d52faa695d20a45273c3a571d79c5881257ec9bbd82f894d9b1271ae68ee2", "value": "0x28f02a953f3553f51a9365593c7d4bd0643d2085f004b18c6ca9de51682b2c80" } } @@ -659,6 +659,26 @@ Response: { }, { "cursor": "eyJpIjoxMSwiYyI6MH0", + "node": { + "address": "0x51e8c26146c1df0ca5c935c4e0b2d9a99ef83e9e201735f71e647f3b1255d56c", + "asMoveObject": { + "contents": { + "type": { + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" + }, + "json": { + "id": "0x51e8c26146c1df0ca5c935c4e0b2d9a99ef83e9e201735f71e647f3b1255d56c", + "balance": { + "value": "300000000000000" + } + } + } + }, + "asMovePackage": null + } + }, + { + "cursor": "eyJpIjoxMiwiYyI6MH0", "node": { "address": "0x5a6383eb592bab4ff7c037a2118c514149ba9a86cf5a3b019c7034686365183f", "asMoveObject": { @@ -696,18 +716,22 @@ Response: { } }, { - "cursor": "eyJpIjoxMiwiYyI6MH0", + "cursor": "eyJpIjoxMywiYyI6MH0", "node": { - "address": "0x5bd1afad59adf47ff03ce0903c23d9e730486ae8bc8a4fab7f3a232e753cec95", + "address": "0x681869e3055b2680391dd8aaf2bd5b842a638c7921870ca06ca2e553761d5912", "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" }, "json": { - "id": "0x5bd1afad59adf47ff03ce0903c23d9e730486ae8bc8a4fab7f3a232e753cec95", - "balance": { - "value": "30000000000000000" + "id": "0x681869e3055b2680391dd8aaf2bd5b842a638c7921870ca06ca2e553761d5912", + "decimals": 9, + "name": "IOTA", + "symbol": "IOTA", + "description": "The main (gas)token of the IOTA Network.", + "icon_url": { + "url": "https://iota.org/logo.png" } } } @@ -716,7 +740,7 @@ Response: { } }, { - "cursor": "eyJpIjoxMywiYyI6MH0", + "cursor": "eyJpIjoxNCwiYyI6MH0", "node": { "address": "0x6af2a2b7ca60bf76174adfd3e9c4957f8e937759603182f9b46c7f6c5f19c6d2", "asMoveObject": { @@ -733,7 +757,7 @@ Response: { "system_state_version": "1", "iota_treasury_cap": { "inner": { - "id": "0xcb3716cce2d720cab8d16276a3463033b04885f668ea8cda8d6a4d8b37d58e88", + "id": "0x862d63508303377f807e4c9ce89fa5b634ce6b008043f22433f253b27fc92b14", "total_supply": { "value": "31800000000000000" } @@ -745,7 +769,7 @@ Response: { { "metadata": { "iota_address": "0x28f02a953f3553f51a9365593c7d4bd0643d2085f004b18c6ca9de51682b2c80", - "protocol_pubkey_bytes": [ + "authority_pubkey_bytes": [ 168, 10, 113, @@ -877,7 +901,7 @@ Response: { 152, 85 ], - "worker_pubkey_bytes": [ + "protocol_pubkey_bytes": [ 172, 116, 152, @@ -972,25 +996,23 @@ Response: { "net_address": "/ip4/127.0.0.1/tcp/8000/http", "p2p_address": "/ip4/127.0.0.1/udp/8001/http", "primary_address": "/ip4/127.0.0.1/udp/8004/http", - "worker_address": "/ip4/127.0.0.1/udp/8005/http", - "next_epoch_protocol_pubkey_bytes": null, + "next_epoch_authority_pubkey_bytes": null, "next_epoch_proof_of_possession": null, "next_epoch_network_pubkey_bytes": null, - "next_epoch_worker_pubkey_bytes": null, + "next_epoch_protocol_pubkey_bytes": null, "next_epoch_net_address": null, "next_epoch_p2p_address": null, "next_epoch_primary_address": null, - "next_epoch_worker_address": null, "extra_fields": { - "id": "0x88cdce81617929f864ec57fbfcc79d24eb34cb3e0d7432a1f587a339c0484aad", + "id": "0xdabf658011a9b3da6b4e71e6191b7770c5e76f4cc4d1da4b1c1424c062b57f07", "size": "0" } }, "voting_power": "10000", - "operation_cap_id": "0xfdde00adbcba41b235bdd32e4604b6beda90c1799d329885b2ca634e5f0acda9", + "operation_cap_id": "0x79994b0548d23ce03bd642b598c53f4b8cf20eab38292b2320a9cb6e1502c87a", "gas_price": "1000", "staking_pool": { - "id": "0x8cd284d020e13d86f523347e580827a00e0290c058bf869e1f9171064156c422", + "id": "0xa03d52faa695d20a45273c3a571d79c5881257ec9bbd82f894d9b1271ae68ee2", "activation_epoch": "0", "deactivation_epoch": null, "iota_balance": "1500000000000000", @@ -999,14 +1021,14 @@ Response: { }, "pool_token_balance": "1500000000000000", "exchange_rates": { - "id": "0x8346021e7700cb9863b90cbacce1eed0ec4e056869269040a1a3ca9a2388e0a6", + "id": "0xbfde46aaacc31bdb8d0411fdba5bb4296c6fdc072a8dbae80944074fc7952028", "size": "1" }, "pending_stake": "0", "pending_total_iota_withdraw": "0", "pending_pool_token_withdraw": "0", "extra_fields": { - "id": "0xfb657ce48ad724066cac09f7f627bc301d8faba3bc22124ddf7692f20b3c9ba9", + "id": "0xf455b5850dc4209b0481eb309a0041259ccfb1fa2843e55e785e9ff5d4af7c5a", "size": "0" } }, @@ -1015,35 +1037,35 @@ Response: { "next_epoch_gas_price": "1000", "next_epoch_commission_rate": "200", "extra_fields": { - "id": "0xb19d8a00d933c1f6c902783f6a9532f3bace7cb0f2b551643e8b7931c0a41fcc", + "id": "0x923d1346474058ee4f3819a1b25e526ca769c1536fb0ade6e3f97dd149d0ce1f", "size": "0" } } ], "pending_active_validators": { "contents": { - "id": "0x6038b75940d4d60023be22ceb7382231fe9ff12df87c8a5d4fd9b083a7d9c959", + "id": "0xf8dc8eeba758061f21dc5684a06e256e96849b1f22f1f851925452eb482c8eaa", "size": "0" } }, "pending_removals": [], "staking_pool_mappings": { - "id": "0xb0b78b6f7fd0292d0426f5d43fd08ff40aab790ae763e24f4277b8d60f95ea8b", + "id": "0xf85a9c08864de10f1d7e61e50f5d9e126b65590e19629121ac85d46f8006a0b6", "size": "1" }, "inactive_validators": { - "id": "0xaa75dbf439e25feca225bb6d9cf5020ef4248a1e44d4f3182bef2aaf6d57316e", + "id": "0xc51471ea897ce3f100e6139ce44a8778e167700ec3bc470cbba84da31f2812e1", "size": "0" }, "validator_candidates": { - "id": "0x0c8ff6b962f84638b45618d59921f52155c31037b692345722eb306aea3958ed", + "id": "0xabda552c6a55960a548cc7bb17ea12e5d74b0d110627d53d6a5d09e8cbefc1aa", "size": "0" }, "at_risk_validators": { "contents": [] }, "extra_fields": { - "id": "0x258b1425cc21143065592e0b0583ace1c70b65ef8c1be0d4b77aae5f00a073ae", + "id": "0x5b30d95c028bbbcee4c6ce4282d4c1bca38a5e40875abe1ea8531ae1b6037d85", "size": "0" } }, @@ -1063,7 +1085,7 @@ Response: { "validator_very_low_stake_threshold": "1000000000000000", "validator_low_stake_grace_period": "7", "extra_fields": { - "id": "0xc971bfbb567f68e0b0f2786ffe99ca20cda50b54a67ab24bb546a973a1939922", + "id": "0xf72dcf525876ce27556d1cf350dae51b5c6bb23956d41f6494941d38309fc48e", "size": "0" } }, @@ -1082,7 +1104,7 @@ Response: { "safe_mode_non_refundable_storage_fee": "0", "epoch_start_timestamp_ms": "0", "extra_fields": { - "id": "0xe6e63dd5255e53cc6327e0b33381e62d1dbd6502c629fe92de1d91369208a127", + "id": "0x13653a79a25720aa3e179ba31ef4c916fbaa5d8594ed96451cfef42866272480", "size": "0" } } @@ -1092,76 +1114,18 @@ Response: { "asMovePackage": null } }, - { - "cursor": "eyJpIjoxNCwiYyI6MH0", - "node": { - "address": "0x752b9d1d48c269700369ab5f605bcdbedd8439713ac3e3700dd1d88940539079", - "asMoveObject": { - "contents": { - "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field" - }, - "json": { - "id": "0x752b9d1d48c269700369ab5f605bcdbedd8439713ac3e3700dd1d88940539079", - "name": "0", - "value": { - "iota_amount": "0", - "pool_token_amount": "0" - } - } - } - }, - "asMovePackage": null - } - }, { "cursor": "eyJpIjoxNSwiYyI6MH0", "node": { - "address": "0xaa95175b10fb46393b0345df4f2d601d973779e57930cf4f5fd815243f07e25b", + "address": "0x79994b0548d23ce03bd642b598c53f4b8cf20eab38292b2320a9cb6e1502c87a", "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::display::Display<0x000000000000000000000000000000000000000000000000000000000000107a::nft::Nft>" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000003::validator_cap::UnverifiedValidatorOperationCap" }, "json": { - "id": "0xaa95175b10fb46393b0345df4f2d601d973779e57930cf4f5fd815243f07e25b", - "fields": { - "contents": [ - { - "key": "name", - "value": "{immutable_metadata.name}" - }, - { - "key": "image_url", - "value": "{immutable_metadata.uri}" - }, - { - "key": "description", - "value": "{immutable_metadata.description}" - }, - { - "key": "creator", - "value": "{immutable_metadata.issuer_name}" - }, - { - "key": "version", - "value": "{immutable_metadata.version}" - }, - { - "key": "media_type", - "value": "{immutable_metadata.media_type}" - }, - { - "key": "collection_name", - "value": "{immutable_metadata.collection_name}" - }, - { - "key": "immutable_issuer", - "value": "{immutable_issuer}" - } - ] - }, - "version": 1 + "id": "0x79994b0548d23ce03bd642b598c53f4b8cf20eab38292b2320a9cb6e1502c87a", + "authorizer_validator_address": "0x28f02a953f3553f51a9365593c7d4bd0643d2085f004b18c6ca9de51682b2c80" } } }, @@ -1171,20 +1135,18 @@ Response: { { "cursor": "eyJpIjoxNiwiYyI6MH0", "node": { - "address": "0xb3c00060d11753961f85d64a1eb75e4c8ecbedcd6a01c129dc9371e997c8e820", + "address": "0x874cd6b1950b41facb75642efb93086de732df26f262036684b209971233adf6", "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedIota" }, "json": { - "id": "0xb3c00060d11753961f85d64a1eb75e4c8ecbedcd6a01c129dc9371e997c8e820", - "name": "1", - "value": { - "version": "1", - "epoch": "0", - "randomness_round": "0", - "random_bytes": [] + "id": "0x874cd6b1950b41facb75642efb93086de732df26f262036684b209971233adf6", + "pool_id": "0xa03d52faa695d20a45273c3a571d79c5881257ec9bbd82f894d9b1271ae68ee2", + "stake_activation_epoch": "0", + "principal": { + "value": "1500000000000000" } } } @@ -1195,18 +1157,18 @@ Response: { { "cursor": "eyJpIjoxNywiYyI6MH0", "node": { - "address": "0xc0373196e899fd39844faf7136371e96bb670937e6ca6db40a23f6d3beb0f73d", + "address": "0xbb85fe8b6ec147c867b7ab232b89b244ddf1d18e35b6ec47d4258b663059930a", "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000003::staking_pool::StakedIota" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field" }, "json": { - "id": "0xc0373196e899fd39844faf7136371e96bb670937e6ca6db40a23f6d3beb0f73d", - "pool_id": "0x8cd284d020e13d86f523347e580827a00e0290c058bf869e1f9171064156c422", - "stake_activation_epoch": "0", - "principal": { - "value": "1500000000000000" + "id": "0xbb85fe8b6ec147c867b7ab232b89b244ddf1d18e35b6ec47d4258b663059930a", + "name": "0", + "value": { + "iota_amount": "0", + "pool_token_amount": "0" } } } @@ -1217,16 +1179,20 @@ Response: { { "cursor": "eyJpIjoxOCwiYyI6MH0", "node": { - "address": "0xc5535686aa2907a01a21788ea80f64964405315c9520b508fe7d2d5c89e00773", + "address": "0xc4929aa8e82af543ad1bd995384f8a7ef5d9013e9157eba19386040ba3142c56", "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::dynamic_field::Field" }, "json": { - "id": "0xc5535686aa2907a01a21788ea80f64964405315c9520b508fe7d2d5c89e00773", - "balance": { - "value": "300000000000000" + "id": "0xc4929aa8e82af543ad1bd995384f8a7ef5d9013e9157eba19386040ba3142c56", + "name": "1", + "value": { + "version": "1", + "epoch": "0", + "randomness_round": "0", + "random_bytes": [] } } } @@ -1237,20 +1203,16 @@ Response: { { "cursor": "eyJpIjoxOSwiYyI6MH0", "node": { - "address": "0xe5aac8bcf554c1042d4ef2d8d0f10f3d7cbea696e3a273edceb6e5a9a0f5bc3c", + "address": "0xeaaefbe68cb12a738b9900cae483e21a64774a96ae31057197e557f3ea37449f", "asMoveObject": { "contents": { "type": { - "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::CoinMetadata<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" + "repr": "0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<0x0000000000000000000000000000000000000000000000000000000000000002::iota::IOTA>" }, "json": { - "id": "0xe5aac8bcf554c1042d4ef2d8d0f10f3d7cbea696e3a273edceb6e5a9a0f5bc3c", - "decimals": 9, - "name": "IOTA", - "symbol": "IOTA", - "description": "The main (gas)token of the IOTA Network.", - "icon_url": { - "url": "https://iota.org/logo.png" + "id": "0xeaaefbe68cb12a738b9900cae483e21a64774a96ae31057197e557f3ea37449f", + "balance": { + "value": "30000000000000000" } } } @@ -1298,7 +1260,7 @@ Response: { "idDeleted": false, "outputState": { "address": "0x0000000000000000000000000000000000000000000000000000000000000001", - "digest": "7cgNadRpZenpQ7ygpVmZM9GKxkeWw35hgJPtphSAnUe2" + "digest": "FqMtZucg8Kq9QV3eNTvV9M15EyWj3ECNKC12qfudsDru" } }, { @@ -1307,7 +1269,7 @@ Response: { "idDeleted": false, "outputState": { "address": "0x0000000000000000000000000000000000000000000000000000000000000002", - "digest": "FsCStMzwMzkniXfb2ogr3t7nMowr848JYek6MoohyiF3" + "digest": "E7uXTMYN2oQ15g7Xd8vR1TV3bABDAn2PPVPz9H1qXj52" } }, { @@ -1316,7 +1278,7 @@ Response: { "idDeleted": false, "outputState": { "address": "0x0000000000000000000000000000000000000000000000000000000000000003", - "digest": "s3KTF9G1VsMpvs683DrgFCd2AAcE31FAy9Wbtdbrxoy" + "digest": "6PG85JzqvBkA1PSWhjhmPSGQXVxcvGjA5e3hjZP7dwBh" } }, { @@ -1325,7 +1287,7 @@ Response: { "idDeleted": false, "outputState": { "address": "0x0000000000000000000000000000000000000000000000000000000000000005", - "digest": "8NRT2wkVGJU9M4JJ9oPWjayoyH9tzKnS2pAUuk57sdt3" + "digest": "14PhfJCzB1D6yKDPC62RRBFuxL3fSPj2TcTCKMtekbma" } }, { @@ -1334,7 +1296,7 @@ Response: { "idDeleted": false, "outputState": { "address": "0x0000000000000000000000000000000000000000000000000000000000000006", - "digest": "GMR5XB9aRMsMPF4xcSzLp8vgfF1J1k2CvU5VMHfhaipk" + "digest": "13t46kxDvMkddcwtFXAWLCK2ryVEh6b1yNJLfPDwf5ne" } }, { @@ -1343,7 +1305,7 @@ Response: { "idDeleted": false, "outputState": { "address": "0x0000000000000000000000000000000000000000000000000000000000000008", - "digest": "8Lv49VmxfFtxThUqLUZ3j1A6YcferFXrNJonSPYvdeFQ" + "digest": "3kTwojhZSxhQQgyKqQdBmfHjqhNM1bXK3KXXheMrgZMC" } }, { @@ -1352,7 +1314,7 @@ Response: { "idDeleted": false, "outputState": { "address": "0x000000000000000000000000000000000000000000000000000000000000000b", - "digest": "57D38y7312YkS9cc9rEkubnrmDtiLMtzGGzxoYcCVs2G" + "digest": "8G372JGHTJJvDN7r67itdCve4PxkXAct7Jajed2jkWBv" } }, { @@ -1361,7 +1323,7 @@ Response: { "idDeleted": false, "outputState": { "address": "0x0000000000000000000000000000000000000000000000000000000000000403", - "digest": "2dWsccWc9tdVJoTGxXTvjinugXhMEedGkfQ86xDjjha7" + "digest": "FHJUE3aPtVYZf4fbLgYdEk7vFB9Jo5AcfGg8Ji9BuQV8" } }, { @@ -1370,7 +1332,7 @@ Response: { "idDeleted": false, "outputState": { "address": "0x000000000000000000000000000000000000000000000000000000000000107a", - "digest": "xG5U3Ye8DVrZn3EoKdA7MEBtbSvWnkVWV4gQKJ2Khgn" + "digest": "7FrGBvKzGaWfHaNkT7TRN8wecP1gcuURGK6sApUjc6ir" } }, { @@ -1379,97 +1341,97 @@ Response: { "idDeleted": false, "outputState": { "address": "0x000000000000000000000000000000000000000000000000000000000000dee9", - "digest": "4fx27DmgdtUzbg2r5ASLLHVGovhxtSmiqNb2T41QjhWX" + "digest": "A9k6BCqVW7zBTdQdr7CnCErDGYwKmJijyTyQqgfUzPGh" } }, { - "address": "0x2e5e399d18ca7ecd319b2dc0ad24eeac2a73a4cae66617384a50873805a05cdc", + "address": "0x45dbc1fa6aa265ea050c6f6aa7e4e729de563d9c1c078e9e043654961030ef3e", "idCreated": true, "idDeleted": false, "outputState": { - "address": "0x2e5e399d18ca7ecd319b2dc0ad24eeac2a73a4cae66617384a50873805a05cdc", - "digest": "8Hx9kdvcGHKi5cT1jac3ftZKUCWvyKt1aoY9rDWS5nZ7" + "address": "0x45dbc1fa6aa265ea050c6f6aa7e4e729de563d9c1c078e9e043654961030ef3e", + "digest": "4S5VPqmC9CnjESxHHYF4v1mftEvN9PaRJDzg3nJ2DmME" } }, { - "address": "0x5a6383eb592bab4ff7c037a2118c514149ba9a86cf5a3b019c7034686365183f", + "address": "0x51e8c26146c1df0ca5c935c4e0b2d9a99ef83e9e201735f71e647f3b1255d56c", "idCreated": true, "idDeleted": false, "outputState": { - "address": "0x5a6383eb592bab4ff7c037a2118c514149ba9a86cf5a3b019c7034686365183f", - "digest": "GxVKeKVUbR8oyCYz7bKypUJco36TmSFcmke2qGXEGrb4" + "address": "0x51e8c26146c1df0ca5c935c4e0b2d9a99ef83e9e201735f71e647f3b1255d56c", + "digest": "AVFcpLipQ2Qv6DqMeX5v6KmAJzFdbD97Xx5eyQkdudAj" } }, { - "address": "0x5bd1afad59adf47ff03ce0903c23d9e730486ae8bc8a4fab7f3a232e753cec95", + "address": "0x5a6383eb592bab4ff7c037a2118c514149ba9a86cf5a3b019c7034686365183f", "idCreated": true, "idDeleted": false, "outputState": { - "address": "0x5bd1afad59adf47ff03ce0903c23d9e730486ae8bc8a4fab7f3a232e753cec95", - "digest": "A4S7hPQ4bG5dzzoskiVyJnDu4Hs7PbcPvJrygKZKLTbJ" + "address": "0x5a6383eb592bab4ff7c037a2118c514149ba9a86cf5a3b019c7034686365183f", + "digest": "FnLwiFscb5G5wgumck3xFUstJW4Khq5fwp3dFX4jPsGq" } }, { - "address": "0x6af2a2b7ca60bf76174adfd3e9c4957f8e937759603182f9b46c7f6c5f19c6d2", + "address": "0x681869e3055b2680391dd8aaf2bd5b842a638c7921870ca06ca2e553761d5912", "idCreated": true, "idDeleted": false, "outputState": { - "address": "0x6af2a2b7ca60bf76174adfd3e9c4957f8e937759603182f9b46c7f6c5f19c6d2", - "digest": "EhZjsQeqGqD855yBns5c7Rib7wTmcdK71etNZb9DwEEF" + "address": "0x681869e3055b2680391dd8aaf2bd5b842a638c7921870ca06ca2e553761d5912", + "digest": "BFQLZfosURZrNbckqj3j8Ue81LMJbUbDtbCbofwTtZwP" } }, { - "address": "0x752b9d1d48c269700369ab5f605bcdbedd8439713ac3e3700dd1d88940539079", + "address": "0x6af2a2b7ca60bf76174adfd3e9c4957f8e937759603182f9b46c7f6c5f19c6d2", "idCreated": true, "idDeleted": false, "outputState": { - "address": "0x752b9d1d48c269700369ab5f605bcdbedd8439713ac3e3700dd1d88940539079", - "digest": "3YbcuCVWCJJqUAVzwPNDHbjJdMiRb54e5CDMtpnfkuU5" + "address": "0x6af2a2b7ca60bf76174adfd3e9c4957f8e937759603182f9b46c7f6c5f19c6d2", + "digest": "C93UhbkSunpDSB17Zk3sU3M6oeBwHpaLmcJKrH6sBNvR" } }, { - "address": "0xaa95175b10fb46393b0345df4f2d601d973779e57930cf4f5fd815243f07e25b", + "address": "0x79994b0548d23ce03bd642b598c53f4b8cf20eab38292b2320a9cb6e1502c87a", "idCreated": true, "idDeleted": false, "outputState": { - "address": "0xaa95175b10fb46393b0345df4f2d601d973779e57930cf4f5fd815243f07e25b", - "digest": "9SzpvTRVPqS5ZorvBkaU2SYGGybjN4pvLMLPk7y1WLE6" + "address": "0x79994b0548d23ce03bd642b598c53f4b8cf20eab38292b2320a9cb6e1502c87a", + "digest": "5dgGjiQitdPuRcsQrCp2TULGGoo8dVFSBcvh5fdbo1y4" } }, { - "address": "0xb3c00060d11753961f85d64a1eb75e4c8ecbedcd6a01c129dc9371e997c8e820", + "address": "0x874cd6b1950b41facb75642efb93086de732df26f262036684b209971233adf6", "idCreated": true, "idDeleted": false, "outputState": { - "address": "0xb3c00060d11753961f85d64a1eb75e4c8ecbedcd6a01c129dc9371e997c8e820", - "digest": "CshpM12CqWmxLNhXYDELLz7Q9ovRXky942yvuAUhyYQc" + "address": "0x874cd6b1950b41facb75642efb93086de732df26f262036684b209971233adf6", + "digest": "FZR3VA4xcX4GoXDuFZG9baVNAGtGEEXiAgUuZyYeDw2C" } }, { - "address": "0xc0373196e899fd39844faf7136371e96bb670937e6ca6db40a23f6d3beb0f73d", + "address": "0xbb85fe8b6ec147c867b7ab232b89b244ddf1d18e35b6ec47d4258b663059930a", "idCreated": true, "idDeleted": false, "outputState": { - "address": "0xc0373196e899fd39844faf7136371e96bb670937e6ca6db40a23f6d3beb0f73d", - "digest": "KiEQRVkgNnqFo3yjmzrTGm6BuxorcgEW6g8kEMmk8BN" + "address": "0xbb85fe8b6ec147c867b7ab232b89b244ddf1d18e35b6ec47d4258b663059930a", + "digest": "GN988s2Y7Sbxiw7cpbQVD5jfHT1swhD7jTCaxsk4Za79" } }, { - "address": "0xc5535686aa2907a01a21788ea80f64964405315c9520b508fe7d2d5c89e00773", + "address": "0xc4929aa8e82af543ad1bd995384f8a7ef5d9013e9157eba19386040ba3142c56", "idCreated": true, "idDeleted": false, "outputState": { - "address": "0xc5535686aa2907a01a21788ea80f64964405315c9520b508fe7d2d5c89e00773", - "digest": "2KB73tvWw1mENKAVVCdCK8FgSPHvs28ENzjyEiCSeji6" + "address": "0xc4929aa8e82af543ad1bd995384f8a7ef5d9013e9157eba19386040ba3142c56", + "digest": "C72bNNQVye2tACfrgVvdzPFk2FoabBZ7CeKDvq1ZW9dP" } }, { - "address": "0xe5aac8bcf554c1042d4ef2d8d0f10f3d7cbea696e3a273edceb6e5a9a0f5bc3c", + "address": "0xeaaefbe68cb12a738b9900cae483e21a64774a96ae31057197e557f3ea37449f", "idCreated": true, "idDeleted": false, "outputState": { - "address": "0xe5aac8bcf554c1042d4ef2d8d0f10f3d7cbea696e3a273edceb6e5a9a0f5bc3c", - "digest": "3GDVtpc52mMrxEt6wk4R65SY9VhAsiV9q2z2ims4EudZ" + "address": "0xeaaefbe68cb12a738b9900cae483e21a64774a96ae31057197e557f3ea37449f", + "digest": "FcPs3Nxpp6LhuD6Xi8h8ssnCXYhh61fYsMCbarCPzpDA" } } ] @@ -1491,7 +1453,7 @@ Response: { "sequenceNumber": 0 }, "transactionBlock": { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS" + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx" } }, "expiration": null @@ -1543,7 +1505,7 @@ Response: { "dependencies": { "nodes": [ { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS" + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx" } ] }, @@ -1643,7 +1605,7 @@ Response: { "dependencies": { "nodes": [ { - "digest": "3HWGXfhsMbMDbQ9KGYSmhxzqnWAbtCfzxu7MjGKJQbnS" + "digest": "3Q2jsrXKU4XeL54Zha5iaGZ1o8vS8v2w1yNmzctFP8nx" } ] }, @@ -1661,22 +1623,13 @@ Response: { "digest": "CGyGKFu385GVbKPD57rNrb1fPoLg1G3trazCFvfNWFXF" } }, - { - "address": "0x141a865c4fc0f666c50cdc3ef8abdd4a50a667694b02999dfa8d0061edc69140", - "idCreated": true, - "idDeleted": false, - "outputState": { - "address": "0x141a865c4fc0f666c50cdc3ef8abdd4a50a667694b02999dfa8d0061edc69140", - "digest": "8K6VqD7hofR2uwWEE47XM6HmSLTUvKDMapqCzA3X428o" - } - }, { "address": "0x4509fa198370254af0418248c9718bb206e810e1bce9fc8ffd0c500aef972f4d", "idCreated": true, "idDeleted": false, "outputState": { "address": "0x4509fa198370254af0418248c9718bb206e810e1bce9fc8ffd0c500aef972f4d", - "digest": "8s4nsKXNNPpvvKUAfkfPoNTxBE9uHvo4E4m4zCLJupiz" + "digest": "EoM3cVCZHPGBwDKUrnBWyPnJcMHsBALsEcCdq85AKEtx" } }, { @@ -1685,7 +1638,7 @@ Response: { "idDeleted": false, "outputState": { "address": "0x5b890eaf2abcfa2ab90b77b8e6f3d5d8609586c3e583baf3dccd5af17edf48d1", - "digest": "5YdnW7Yrv1VfiEKbJA7tdr8LbNpp6kWTW4hLUaJZy3U2" + "digest": "HSrKyJrhztCE3pE1H3MwzsrCPLmWbWV6e9J4rnCNdMRP" } }, { @@ -1693,6 +1646,15 @@ Response: { "idCreated": false, "idDeleted": true, "outputState": null + }, + { + "address": "0xfd27bf6efc37fc3de219ef5d16c3094c3dfe5c43394c8b8d4e22ad0e98dda500", + "idCreated": true, + "idDeleted": false, + "outputState": { + "address": "0xfd27bf6efc37fc3de219ef5d16c3094c3dfe5c43394c8b8d4e22ad0e98dda500", + "digest": "AUqUZbUJ46XKxaFJy8F26vdxepvvPeYBJoMefc9ahKeM" + } } ] }, diff --git a/crates/iota-graphql-rpc/schema.graphql b/crates/iota-graphql-rpc/schema.graphql index 4a94721baf3..fba63a69734 100644 --- a/crates/iota-graphql-rpc/schema.graphql +++ b/crates/iota-graphql-rpc/schema.graphql @@ -4511,14 +4511,13 @@ type ValidatorConnection { The credentials related fields associated with a validator. """ type ValidatorCredentials { - protocolPubKey: Base64 + authorityPubKey: Base64 networkPubKey: Base64 - workerPubKey: Base64 + protocolPubKey: Base64 proofOfPossession: Base64 netAddress: String p2PAddress: String primaryAddress: String - workerAddress: String } """ diff --git a/crates/iota-graphql-rpc/src/types/validator.rs b/crates/iota-graphql-rpc/src/types/validator.rs index f590b6aafbe..44da1a62143 100644 --- a/crates/iota-graphql-rpc/src/types/validator.rs +++ b/crates/iota-graphql-rpc/src/types/validator.rs @@ -140,14 +140,13 @@ impl Validator { async fn credentials(&self) -> Option { let v = &self.validator_summary; let credentials = ValidatorCredentials { - protocol_pub_key: Some(Base64::from(v.protocol_pubkey_bytes.clone())), + authority_pub_key: Some(Base64::from(v.authority_pubkey_bytes.clone())), network_pub_key: Some(Base64::from(v.network_pubkey_bytes.clone())), - worker_pub_key: Some(Base64::from(v.worker_pubkey_bytes.clone())), + protocol_pub_key: Some(Base64::from(v.protocol_pubkey_bytes.clone())), proof_of_possession: Some(Base64::from(v.proof_of_possession_bytes.clone())), net_address: Some(v.net_address.clone()), p2p_address: Some(v.p2p_address.clone()), primary_address: Some(v.primary_address.clone()), - worker_address: Some(v.worker_address.clone()), }; Some(credentials) } @@ -156,17 +155,19 @@ impl Validator { async fn next_epoch_credentials(&self) -> Option { let v = &self.validator_summary; let credentials = ValidatorCredentials { + authority_pub_key: v + .next_epoch_authority_pubkey_bytes + .as_ref() + .map(Base64::from), + network_pub_key: v.next_epoch_network_pubkey_bytes.as_ref().map(Base64::from), protocol_pub_key: v .next_epoch_protocol_pubkey_bytes .as_ref() .map(Base64::from), - network_pub_key: v.next_epoch_network_pubkey_bytes.as_ref().map(Base64::from), - worker_pub_key: v.next_epoch_worker_pubkey_bytes.as_ref().map(Base64::from), proof_of_possession: v.next_epoch_proof_of_possession.as_ref().map(Base64::from), net_address: v.next_epoch_net_address.clone(), p2p_address: v.next_epoch_p2p_address.clone(), primary_address: v.next_epoch_primary_address.clone(), - worker_address: v.next_epoch_worker_address.clone(), }; Some(credentials) } diff --git a/crates/iota-graphql-rpc/src/types/validator_credentials.rs b/crates/iota-graphql-rpc/src/types/validator_credentials.rs index 3c1c89c10a5..1391ebdcf71 100644 --- a/crates/iota-graphql-rpc/src/types/validator_credentials.rs +++ b/crates/iota-graphql-rpc/src/types/validator_credentials.rs @@ -9,12 +9,11 @@ use crate::types::base64::Base64; /// The credentials related fields associated with a validator. #[derive(Clone, Debug, PartialEq, Eq, SimpleObject)] pub(crate) struct ValidatorCredentials { - pub protocol_pub_key: Option, + pub authority_pub_key: Option, pub network_pub_key: Option, - pub worker_pub_key: Option, + pub protocol_pub_key: Option, pub proof_of_possession: Option, pub net_address: Option, pub p2p_address: Option, pub primary_address: Option, - pub worker_address: Option, } diff --git a/crates/iota-graphql-rpc/tests/snapshots/snapshot_tests__schema_sdl_export.snap b/crates/iota-graphql-rpc/tests/snapshots/snapshot_tests__schema_sdl_export.snap index 79aec2555f9..3713703a57d 100644 --- a/crates/iota-graphql-rpc/tests/snapshots/snapshot_tests__schema_sdl_export.snap +++ b/crates/iota-graphql-rpc/tests/snapshots/snapshot_tests__schema_sdl_export.snap @@ -4515,14 +4515,13 @@ type ValidatorConnection { The credentials related fields associated with a validator. """ type ValidatorCredentials { - protocolPubKey: Base64 + authorityPubKey: Base64 networkPubKey: Base64 - workerPubKey: Base64 + protocolPubKey: Base64 proofOfPossession: Base64 netAddress: String p2PAddress: String primaryAddress: String - workerAddress: String } """ diff --git a/crates/iota-indexer/examples/index_genesis_transaction.rs b/crates/iota-indexer/examples/index_genesis_transaction.rs index e92bf68240a..cc2de930778 100644 --- a/crates/iota-indexer/examples/index_genesis_transaction.rs +++ b/crates/iota-indexer/examples/index_genesis_transaction.rs @@ -47,7 +47,7 @@ fn genesis_builder(migration_sources: Vec) -> GenesisBuilder { let validator_info = validator_config.to_validator_info(format!("validator-{i}")); let validator_addr = validator_info.info.iota_address(); validators.push(validator_addr); - key_pairs.push(validator_config.key_pair); + key_pairs.push(validator_config.authority_key_pair); builder = builder.add_validator(validator_info.info, validator_info.proof_of_possession); } diff --git a/crates/iota-json-rpc-types/src/iota_extended.rs b/crates/iota-json-rpc-types/src/iota_extended.rs index 95b5b54507f..bf7d3688c1c 100644 --- a/crates/iota-json-rpc-types/src/iota_extended.rs +++ b/crates/iota-json-rpc-types/src/iota_extended.rs @@ -54,7 +54,7 @@ impl EpochInfo { pub fn committee(&self) -> Result { let mut voting_rights = BTreeMap::new(); for validator in &self.validators { - let name = AuthorityName::from_bytes(&validator.protocol_pubkey_bytes)?; + let name = AuthorityName::from_bytes(&validator.authority_pubkey_bytes)?; voting_rights.insert(name, validator.voting_power); } Ok(Committee::new(self.epoch, voting_rights)) diff --git a/crates/iota-node/src/lib.rs b/crates/iota-node/src/lib.rs index 0468eaefa39..d0d58adf2ce 100644 --- a/crates/iota-node/src/lib.rs +++ b/crates/iota-node/src/lib.rs @@ -430,7 +430,7 @@ impl IotaNode { let is_full_node = !is_validator; let prometheus_registry = registry_service.default_registry(); - info!(node =? config.protocol_public_key(), + info!(node =? config.authority_public_key(), "Initializing iota-node listening on {}", config.network_address ); @@ -456,7 +456,7 @@ impl IotaNode { None }; - let secret = Arc::pin(config.protocol_key_pair().copy()); + let secret = Arc::pin(config.authority_key_pair().copy()); let genesis_committee = genesis.committee()?; let committee_store = Arc::new(CommitteeStore::new( config.db_path().join("epochs"), @@ -509,7 +509,7 @@ impl IotaNode { let epoch_options = default_db_options().optimize_db_for_write_throughput(4); let epoch_store = AuthorityPerEpochStore::new( - config.protocol_public_key(), + config.authority_public_key(), committee.clone(), &config.db_path().join("store"), Some(epoch_options.options), @@ -665,7 +665,7 @@ impl IotaNode { genesis_objects.extend(migration_tx_data.get_objects()); } - let authority_name = config.protocol_public_key(); + let authority_name = config.authority_public_key(); let validator_tx_finalizer = config .enable_validator_tx_finalizer @@ -1059,7 +1059,7 @@ impl IotaNode { .build(); let (randomness, randomness_router) = - randomness::Builder::new(config.protocol_public_key(), randomness_tx) + randomness::Builder::new(config.authority_public_key(), randomness_tx) .config(config.p2p_config.randomness.clone().unwrap_or_default()) .with_metrics(prometheus_registry) .build(); @@ -1306,7 +1306,7 @@ impl IotaNode { Arc::downgrade(&epoch_store), Box::new(consensus_adapter.clone()), randomness_handle, - config.protocol_key_pair(), + config.authority_key_pair(), ) .await; if let Some(randomness_manager) = randomness_manager { @@ -1402,7 +1402,7 @@ impl IotaNode { let checkpoint_output = Box::new(SubmitCheckpointToConsensus { sender: consensus_adapter, signer: state.secret.clone(), - authority: config.protocol_public_key(), + authority: config.authority_public_key(), next_reconfiguration_timestamp_ms: epoch_start_timestamp_ms .checked_add(epoch_duration_ms) .expect("Overflow calculating next_reconfiguration_timestamp_ms"), @@ -1956,7 +1956,7 @@ fn send_trusted_peer_change( ) -> Result<(), watch::error::SendError> { sender .send(TrustedPeerChangeEvent { - new_peers: epoch_state_state.get_validator_as_p2p_peers(config.protocol_public_key()), + new_peers: epoch_state_state.get_validator_as_p2p_peers(config.authority_public_key()), }) .tap_err(|err| { warn!( diff --git a/crates/iota-open-rpc/spec/openrpc.json b/crates/iota-open-rpc/spec/openrpc.json index f4c6899650f..188b2b54eae 100644 --- a/crates/iota-open-rpc/spec/openrpc.json +++ b/crates/iota-open-rpc/spec/openrpc.json @@ -8812,6 +8812,7 @@ "description": "This is the JSON-RPC type for the IOTA validator. It flattens all inner structures to top-level fields so that they are decoupled from the internal definitions.", "type": "object", "required": [ + "authorityPubkeyBytes", "commissionRate", "description", "exchangeRatesId", @@ -8838,11 +8839,12 @@ "rewardsPool", "stakingPoolId", "stakingPoolIotaBalance", - "votingPower", - "workerAddress", - "workerPubkeyBytes" + "votingPower" ], "properties": { + "authorityPubkeyBytes": { + "$ref": "#/components/schemas/Base64" + }, "commissionRate": { "$ref": "#/components/schemas/BigInt_for_uint64" }, @@ -8883,6 +8885,17 @@ "networkPubkeyBytes": { "$ref": "#/components/schemas/Base64" }, + "nextEpochAuthorityPubkeyBytes": { + "default": null, + "anyOf": [ + { + "$ref": "#/components/schemas/Base64" + }, + { + "type": "null" + } + ] + }, "nextEpochCommissionRate": { "$ref": "#/components/schemas/BigInt_for_uint64" }, @@ -8943,23 +8956,6 @@ "nextEpochStake": { "$ref": "#/components/schemas/BigInt_for_uint64" }, - "nextEpochWorkerAddress": { - "type": [ - "string", - "null" - ] - }, - "nextEpochWorkerPubkeyBytes": { - "default": null, - "anyOf": [ - { - "$ref": "#/components/schemas/Base64" - }, - { - "type": "null" - } - ] - }, "operationCapId": { "$ref": "#/components/schemas/ObjectID" }, @@ -9060,12 +9056,6 @@ }, "votingPower": { "$ref": "#/components/schemas/BigInt_for_uint64" - }, - "workerAddress": { - "type": "string" - }, - "workerPubkeyBytes": { - "$ref": "#/components/schemas/Base64" } } }, diff --git a/crates/iota-rest-api/openapi/openapi.json b/crates/iota-rest-api/openapi/openapi.json index d9baa5a2d21..a04cc963c4a 100644 --- a/crates/iota-rest-api/openapi/openapi.json +++ b/crates/iota-rest-api/openapi/openapi.json @@ -5190,6 +5190,7 @@ "type": "object", "required": [ "address", + "authority_public_key", "commission_rate", "description", "exchange_rates_id", @@ -5215,14 +5216,15 @@ "rewards_pool", "staking_pool_id", "staking_pool_iota_balance", - "voting_power", - "worker_address", - "worker_public_key" + "voting_power" ], "properties": { "address": { "$ref": "#/components/schemas/Address" }, + "authority_public_key": { + "$ref": "#/components/schemas/Bls12381PublicKey" + }, "commission_rate": { "description": "Radix-10 encoded 64-bit unsigned integer", "type": "string", @@ -5261,6 +5263,9 @@ "network_public_key": { "$ref": "#/components/schemas/Ed25519PublicKey" }, + "next_epoch_authority_public_key": { + "$ref": "#/components/schemas/Bls12381PublicKey" + }, "next_epoch_commission_rate": { "description": "Radix-10 encoded 64-bit unsigned integer", "type": "string", @@ -5288,19 +5293,13 @@ "type": "string" }, "next_epoch_protocol_public_key": { - "$ref": "#/components/schemas/Bls12381PublicKey" + "$ref": "#/components/schemas/Ed25519PublicKey" }, "next_epoch_stake": { "description": "Radix-10 encoded 64-bit unsigned integer", "type": "string", "format": "u64" }, - "next_epoch_worker_address": { - "type": "string" - }, - "next_epoch_worker_public_key": { - "$ref": "#/components/schemas/Ed25519PublicKey" - }, "operation_cap_id": { "$ref": "#/components/schemas/ObjectId" }, @@ -5337,7 +5336,7 @@ "type": "string" }, "protocol_public_key": { - "$ref": "#/components/schemas/Bls12381PublicKey" + "$ref": "#/components/schemas/Ed25519PublicKey" }, "rewards_pool": { "description": "The epoch stake rewards will be added here at the end of each epoch.", @@ -5373,12 +5372,6 @@ "description": "Radix-10 encoded 64-bit unsigned integer", "type": "string", "format": "u64" - }, - "worker_address": { - "type": "string" - }, - "worker_public_key": { - "$ref": "#/components/schemas/Ed25519PublicKey" } } }, diff --git a/crates/iota-rest-api/src/system.rs b/crates/iota-rest-api/src/system.rs index e56f43ecbd8..f64c0ddd7c0 100644 --- a/crates/iota-rest-api/src/system.rs +++ b/crates/iota-rest-api/src/system.rs @@ -231,9 +231,9 @@ pub struct SystemStateSummary { pub struct ValidatorSummary { // Metadata pub address: Address, - pub protocol_public_key: iota_sdk2::types::Bls12381PublicKey, + pub authority_public_key: iota_sdk2::types::Bls12381PublicKey, pub network_public_key: iota_sdk2::types::Ed25519PublicKey, - pub worker_public_key: iota_sdk2::types::Ed25519PublicKey, + pub protocol_public_key: iota_sdk2::types::Ed25519PublicKey, #[serde_as(as = "fastcrypto::encoding::Base64")] #[schemars(with = "String")] pub proof_of_possession_bytes: Vec, @@ -244,17 +244,15 @@ pub struct ValidatorSummary { pub net_address: String, pub p2p_address: String, pub primary_address: String, - pub worker_address: String, - pub next_epoch_protocol_public_key: Option, + pub next_epoch_authority_public_key: Option, pub next_epoch_network_public_key: Option, - pub next_epoch_worker_public_key: Option, + pub next_epoch_protocol_public_key: Option, #[serde_as(as = "Option")] #[schemars(with = "Option")] pub next_epoch_proof_of_possession: Option>, pub next_epoch_net_address: Option, pub next_epoch_p2p_address: Option, pub next_epoch_primary_address: Option, - pub next_epoch_worker_address: Option, #[serde_as(as = "iota_types::iota_serde::BigInt")] #[schemars(with = "crate::_schemars::U64")] @@ -330,9 +328,9 @@ impl From Self { let iota_types::iota_system_state::iota_system_state_summary::IotaValidatorSummary { iota_address, - protocol_pubkey_bytes, + authority_pubkey_bytes, network_pubkey_bytes, - worker_pubkey_bytes, + protocol_pubkey_bytes, proof_of_possession_bytes, name, description, @@ -341,15 +339,13 @@ impl From, @@ -65,30 +63,31 @@ pub struct ValidatorGenesisConfig { impl ValidatorGenesisConfig { pub fn to_validator_info(&self, name: String) -> GenesisValidatorInfo { - let protocol_key: AuthorityPublicKeyBytes = self.key_pair.public().into(); + let authority_key: AuthorityPublicKeyBytes = self.authority_key_pair.public().into(); let account_key: PublicKey = self.account_key_pair.public(); let network_key: NetworkPublicKey = self.network_key_pair.public().clone(); - let worker_key: NetworkPublicKey = self.worker_key_pair.public().clone(); + let protocol_key: NetworkPublicKey = self.protocol_key_pair.public().clone(); let network_address = self.network_address.clone(); let info = ValidatorInfo { name, + authority_key, protocol_key, - worker_key, network_key, account_address: IotaAddress::from(&account_key), gas_price: self.gas_price, commission_rate: self.commission_rate, network_address, p2p_address: self.p2p_address.clone(), - narwhal_primary_address: self.narwhal_primary_address.clone(), - narwhal_worker_address: self.narwhal_worker_address.clone(), + primary_address: self.primary_address.clone(), description: String::new(), image_url: String::new(), project_url: String::new(), }; - let proof_of_possession = - generate_proof_of_possession(&self.key_pair, (&self.account_key_pair.public()).into()); + let proof_of_possession = generate_proof_of_possession( + &self.authority_key_pair, + (&self.account_key_pair.public()).into(), + ); GenesisValidatorInfo { info, proof_of_possession, @@ -97,13 +96,13 @@ impl ValidatorGenesisConfig { /// Use validator public key as validator name. pub fn to_validator_info_with_random_name(&self) -> GenesisValidatorInfo { - self.to_validator_info(self.key_pair.public().to_string()) + self.to_validator_info(self.authority_key_pair.public().to_string()) } } #[derive(Default)] pub struct ValidatorGenesisConfigBuilder { - protocol_key_pair: Option, + authority_key_pair: Option, account_key_pair: Option, ip: Option, gas_price: Option, @@ -120,8 +119,8 @@ impl ValidatorGenesisConfigBuilder { Self::default() } - pub fn with_protocol_key_pair(mut self, key_pair: AuthorityKeyPair) -> Self { - self.protocol_key_pair = Some(key_pair); + pub fn with_authority_key_pair(mut self, key_pair: AuthorityKeyPair) -> Self { + self.authority_key_pair = Some(key_pair); self } @@ -154,15 +153,15 @@ impl ValidatorGenesisConfigBuilder { let ip = self.ip.unwrap_or_else(local_ip_utils::get_new_ip); let localhost = local_ip_utils::localhost_for_testing(); - let protocol_key_pair = self - .protocol_key_pair + let authority_key_pair = self + .authority_key_pair .unwrap_or_else(|| get_key_pair_from_rng(rng).1); let account_key_pair = self .account_key_pair .unwrap_or_else(|| get_key_pair_from_rng(rng).1); let gas_price = self.gas_price.unwrap_or(DEFAULT_VALIDATOR_GAS_PRICE); - let (worker_key_pair, network_key_pair): (NetworkKeyPair, NetworkKeyPair) = + let (protocol_key_pair, network_key_pair): (NetworkKeyPair, NetworkKeyPair) = (get_key_pair_from_rng(rng).1, get_key_pair_from_rng(rng).1); let ( @@ -170,9 +169,7 @@ impl ValidatorGenesisConfigBuilder { p2p_address, metrics_address, narwhal_metrics_address, - narwhal_primary_address, - narwhal_worker_address, - consensus_address, + primary_address, ) = if let Some(offset) = self.port_offset { ( local_ip_utils::new_deterministic_tcp_address_for_testing(&ip, offset), @@ -182,8 +179,6 @@ impl ValidatorGenesisConfigBuilder { local_ip_utils::new_deterministic_tcp_address_for_testing(&ip, offset + 3) .with_zero_ip(), local_ip_utils::new_deterministic_udp_address_for_testing(&ip, offset + 4), - local_ip_utils::new_deterministic_udp_address_for_testing(&ip, offset + 5), - local_ip_utils::new_deterministic_tcp_address_for_testing(&ip, offset + 6), ) } else { ( @@ -192,8 +187,6 @@ impl ValidatorGenesisConfigBuilder { local_ip_utils::new_tcp_address_for_testing(&localhost), local_ip_utils::new_tcp_address_for_testing(&localhost), local_ip_utils::new_udp_address_for_testing(&ip), - local_ip_utils::new_udp_address_for_testing(&ip), - local_ip_utils::new_tcp_address_for_testing(&ip), ) }; @@ -202,8 +195,8 @@ impl ValidatorGenesisConfigBuilder { .map(|ip| SocketAddr::new(ip, p2p_address.port().unwrap())); ValidatorGenesisConfig { - key_pair: protocol_key_pair, - worker_key_pair, + authority_key_pair, + protocol_key_pair, account_key_pair: account_key_pair.into(), network_key_pair, network_address, @@ -213,9 +206,7 @@ impl ValidatorGenesisConfigBuilder { narwhal_metrics_address, gas_price, commission_rate: DEFAULT_COMMISSION_RATE, - narwhal_primary_address, - narwhal_worker_address, - consensus_address, + primary_address, stake: iota_types::governance::VALIDATOR_LOW_STAKE_THRESHOLD_NANOS, name: None, } diff --git a/crates/iota-swarm-config/src/network_config_builder.rs b/crates/iota-swarm-config/src/network_config_builder.rs index f15cd75c790..6add83639f6 100644 --- a/crates/iota-swarm-config/src/network_config_builder.rs +++ b/crates/iota-swarm-config/src/network_config_builder.rs @@ -331,7 +331,7 @@ impl ConfigBuilder { let mut rng = self.rng.unwrap(); let validators = match committee { CommitteeConfig::Size(size) => { - // We always get fixed protocol keys from this function (which is isolated from + // We always get fixed authority keys from this function (which is isolated from // external test randomness because it uses a fixed seed). Necessary because // some tests call `make_tx_certs_and_signed_effects`, which // locally forges a cert using this same committee. @@ -340,7 +340,7 @@ impl ConfigBuilder { keys.into_iter() .map(|authority_key| { let mut builder = ValidatorGenesisConfigBuilder::new() - .with_protocol_key_pair(authority_key); + .with_authority_key_pair(authority_key); if let Some(rgp) = self.reference_gas_price { builder = builder.with_gas_price(rgp); } @@ -352,13 +352,13 @@ impl ConfigBuilder { CommitteeConfig::Validators(v) => v, CommitteeConfig::AccountKeys(keys) => { - // See above re fixed protocol keys - let (_, protocol_keys) = Committee::new_simple_test_committee_of_size(keys.len()); + // See above re fixed authority keys + let (_, authority_keys) = Committee::new_simple_test_committee_of_size(keys.len()); keys.into_iter() - .zip(protocol_keys) - .map(|(account_key, protocol_key)| { + .zip(authority_keys) + .map(|(account_key, authority_key)| { let mut builder = ValidatorGenesisConfigBuilder::new() - .with_protocol_key_pair(protocol_key) + .with_authority_key_pair(authority_key) .with_account_key_pair(account_key); if let Some(rgp) = self.reference_gas_price { builder = builder.with_gas_price(rgp); @@ -449,7 +449,7 @@ impl ConfigBuilder { builder = builder.with_token_distribution_schedule(token_distribution_schedule); for validator in &validators { - builder = builder.add_validator_signature(&validator.key_pair); + builder = builder.add_validator_signature(&validator.authority_key_pair); } builder.build() @@ -504,7 +504,7 @@ impl ConfigBuilder { } ProtocolVersionsConfig::Global(v) => *v, ProtocolVersionsConfig::PerValidator(func) => { - func(idx, Some(validator.key_pair.public().into())) + func(idx, Some(validator.authority_key_pair.public().into())) } }; builder = builder.with_supported_protocol_versions(supported_versions); diff --git a/crates/iota-swarm-config/src/node_config_builder.rs b/crates/iota-swarm-config/src/node_config_builder.rs index e3109db002d..6b1fda9bf48 100644 --- a/crates/iota-swarm-config/src/node_config_builder.rs +++ b/crates/iota-swarm-config/src/node_config_builder.rs @@ -122,7 +122,7 @@ impl ValidatorConfigBuilder { } pub fn build_without_genesis(self, validator: ValidatorGenesisConfig) -> NodeConfig { - let key_path = get_key_path(&validator.key_pair); + let key_path = get_key_path(&validator.authority_key_pair); let config_directory = self .config_directory .unwrap_or_else(|| tempfile::tempdir().unwrap().into_path()); @@ -132,11 +132,9 @@ impl ValidatorConfigBuilder { .join(AUTHORITIES_DB_NAME) .join(key_path.clone()); let network_address = validator.network_address; - let consensus_address = validator.consensus_address; let consensus_db_path = config_directory.join(CONSENSUS_DB_NAME).join(key_path); let localhost = local_ip_utils::localhost_for_testing(); let consensus_config = ConsensusConfig { - address: consensus_address, db_path: consensus_db_path, db_retention_epochs: None, db_pruner_period_secs: None, @@ -174,12 +172,14 @@ impl ValidatorConfigBuilder { }; NodeConfig { - protocol_key_pair: AuthorityKeyPairWithPath::new(validator.key_pair), + authority_key_pair: AuthorityKeyPairWithPath::new(validator.authority_key_pair), network_key_pair: KeyPairWithPath::new(IotaKeyPair::Ed25519( validator.network_key_pair, )), account_key_pair: KeyPairWithPath::new(validator.account_key_pair), - worker_key_pair: KeyPairWithPath::new(IotaKeyPair::Ed25519(validator.worker_key_pair)), + protocol_key_pair: KeyPairWithPath::new(IotaKeyPair::Ed25519( + validator.protocol_key_pair, + )), db_path, network_address, metrics_address: validator.metrics_address, @@ -190,7 +190,7 @@ impl ValidatorConfigBuilder { consensus_config: Some(consensus_config), remove_deprecated_tables: false, enable_index_processing: default_enable_index_processing(), - genesis: iota_config::node::Genesis::new_empty(), + genesis: Genesis::new_empty(), migration_tx_data_path, grpc_load_shed: None, grpc_concurrency_limit: Some(DEFAULT_GRPC_CONCURRENCY_LIMIT), @@ -401,7 +401,7 @@ impl FullnodeConfigBuilder { .ip() .to_string(); - let key_path = get_key_path(&validator_config.key_pair); + let key_path = get_key_path(&validator_config.authority_key_pair); let config_directory = self .config_directory .unwrap_or_else(|| tempfile::tempdir().unwrap().into_path()); @@ -457,10 +457,10 @@ impl FullnodeConfigBuilder { }; NodeConfig { - protocol_key_pair: AuthorityKeyPairWithPath::new(validator_config.key_pair), + authority_key_pair: AuthorityKeyPairWithPath::new(validator_config.authority_key_pair), account_key_pair: KeyPairWithPath::new(validator_config.account_key_pair), - worker_key_pair: KeyPairWithPath::new(IotaKeyPair::Ed25519( - validator_config.worker_key_pair, + protocol_key_pair: KeyPairWithPath::new(IotaKeyPair::Ed25519( + validator_config.protocol_key_pair, )), network_key_pair: self.network_key_pair.unwrap_or(KeyPairWithPath::new( IotaKeyPair::Ed25519(validator_config.network_key_pair), diff --git a/crates/iota-swarm-config/src/test_utils.rs b/crates/iota-swarm-config/src/test_utils.rs index f2b7c00818c..24eeb877f8d 100644 --- a/crates/iota-swarm-config/src/test_utils.rs +++ b/crates/iota-swarm-config/src/test_utils.rs @@ -73,9 +73,9 @@ impl CommitteeFixture { network_config .validator_configs() .iter() - .find(|config| config.protocol_public_key() == *name) + .find(|config| config.authority_public_key() == *name) .unwrap() - .protocol_key_pair() + .authority_key_pair() .copy(), *stake, ), diff --git a/crates/iota-swarm-config/tests/snapshot_tests.rs b/crates/iota-swarm-config/tests/snapshot_tests.rs index 071e54d3274..2994f8d0ad1 100644 --- a/crates/iota-swarm-config/tests/snapshot_tests.rs +++ b/crates/iota-swarm-config/tests/snapshot_tests.rs @@ -61,27 +61,26 @@ fn populated_genesis_snapshot_matches() { .generate_accounts(StdRng::from_seed([0; 32])) .unwrap(); let mut rng = StdRng::from_seed([0; 32]); - let key: AuthorityKeyPair = get_key_pair_from_rng(&mut rng).1; - let worker_key: NetworkKeyPair = get_key_pair_from_rng(&mut rng).1; + let authority_key: AuthorityKeyPair = get_key_pair_from_rng(&mut rng).1; + let protocol_key: NetworkKeyPair = get_key_pair_from_rng(&mut rng).1; let network_key: NetworkKeyPair = get_key_pair_from_rng(&mut rng).1; let account_key: AccountKeyPair = get_key_pair_from_rng(&mut rng).1; let validator = ValidatorInfo { name: "0".into(), - protocol_key: key.public().into(), - worker_key: worker_key.public().clone(), + authority_key: authority_key.public().into(), + protocol_key: protocol_key.public().clone(), account_address: IotaAddress::from(account_key.public()), network_key: network_key.public().clone(), gas_price: DEFAULT_VALIDATOR_GAS_PRICE, commission_rate: DEFAULT_COMMISSION_RATE, network_address: "/ip4/127.0.0.1/tcp/80".parse().unwrap(), p2p_address: "/ip4/127.0.0.1/udp/80".parse().unwrap(), - narwhal_primary_address: "/ip4/127.0.0.1/udp/80".parse().unwrap(), - narwhal_worker_address: "/ip4/127.0.0.1/udp/80".parse().unwrap(), + primary_address: "/ip4/127.0.0.1/udp/80".parse().unwrap(), description: String::new(), image_url: String::new(), project_url: String::new(), }; - let pop = generate_proof_of_possession(&key, account_key.public().into()); + let pop = generate_proof_of_possession(&authority_key, account_key.public().into()); let token_distribution_schedule = { let mut builder = TokenDistributionScheduleBuilder::new(); @@ -99,7 +98,7 @@ fn populated_genesis_snapshot_matches() { chain_start_timestamp_ms: 10, ..GenesisCeremonyParameters::new() }) - .add_validator_signature(&key) + .add_validator_signature(&authority_key) .build(); assert_yaml_snapshot!(genesis.iota_system_wrapper_object()); assert_yaml_snapshot!( @@ -139,7 +138,6 @@ fn network_config_snapshot_matches() { validator_config.p2p_config.external_address = None; validator_config.admin_interface_port = 8888; if let Some(consensus_config) = validator_config.consensus_config.as_mut() { - consensus_config.address = Multiaddr::empty(); consensus_config.db_path = PathBuf::from("/tmp/foo/"); } } diff --git a/crates/iota-swarm-config/tests/snapshots/snapshot_tests__network_config_snapshot_matches.snap b/crates/iota-swarm-config/tests/snapshots/snapshot_tests__network_config_snapshot_matches.snap index 2a09c1ab3a5..bbf1ad8c93f 100644 --- a/crates/iota-swarm-config/tests/snapshots/snapshot_tests__network_config_snapshot_matches.snap +++ b/crates/iota-swarm-config/tests/snapshots/snapshot_tests__network_config_snapshot_matches.snap @@ -3,9 +3,9 @@ source: crates/iota-swarm-config/tests/snapshot_tests.rs expression: network_config --- validator_configs: - - protocol-key-pair: + - authority-key-pair: value: VTDx4HjVmRBqdqBWg2zN+zcFE20io3CrBchGy/iV1lo= - worker-key-pair: + protocol-key-pair: value: AH7M/Ot6iUd/Jj47r5aGmQROL24mxT4K8EF1Gvjhk0zT account-key-pair: value: AH45w+v4xGlEc6QI3WT6iaD1K9yo+kl3XxPyZGlRclZp @@ -24,7 +24,6 @@ validator_configs: max-pending-transactions: ~ max-submit-position: ~ submit-delay-step-override-millis: ~ - address: "" parameters: ~ enable-index-processing: true jsonrpc-server-type: ~ @@ -124,9 +123,9 @@ validator_configs: max-transaction-manager-per-object-queue-length: 100 execution-cache: passthrough-cache enable-validator-tx-finalizer: true - - protocol-key-pair: + - authority-key-pair: value: avYcyVgYMXTyaUYh9IRwLK0gSzl7YF6ZQDAbrS1Bhvo= - worker-key-pair: + protocol-key-pair: value: ABZRTK3YmdGRxzGX33BUjWwIxKGcl9/6vrJAKvjNY3gN account-key-pair: value: AClK2/gtiS+cypPl2il6YC49PJgkHoAgnpKZ0dEiwIUw @@ -145,7 +144,6 @@ validator_configs: max-pending-transactions: ~ max-submit-position: ~ submit-delay-step-override-millis: ~ - address: "" parameters: ~ enable-index-processing: true jsonrpc-server-type: ~ @@ -245,9 +243,9 @@ validator_configs: max-transaction-manager-per-object-queue-length: 100 execution-cache: passthrough-cache enable-validator-tx-finalizer: true - - protocol-key-pair: + - authority-key-pair: value: OXnx3yM1C/ppgnDMx/o1d49fJs7E05kq11mXNae/O+I= - worker-key-pair: + protocol-key-pair: value: ANuTFymJGw6l1rSGV5du4G4ROOLd4adUItxxVhy31lnN account-key-pair: value: AHs3lfh8LlhanWE/zTjOqDFkNiDL2ouxjjJ+WDT5/hVg @@ -266,7 +264,6 @@ validator_configs: max-pending-transactions: ~ max-submit-position: ~ submit-delay-step-override-millis: ~ - address: "" parameters: ~ enable-index-processing: true jsonrpc-server-type: ~ @@ -366,9 +363,9 @@ validator_configs: max-transaction-manager-per-object-queue-length: 100 execution-cache: passthrough-cache enable-validator-tx-finalizer: true - - protocol-key-pair: + - authority-key-pair: value: CyNkjqNVr3HrHTH7f/NLs7u5lUHJzuPAw0PqMTD2y2s= - worker-key-pair: + protocol-key-pair: value: AGGCaIy1OwvvLtr2rcHewlJJBILLzhrEao4QmF0D2UTz account-key-pair: value: ANQ4duxTsOdofUAHfSIo8kauNj7SRmLZgmdkb12DwxF6 @@ -387,7 +384,6 @@ validator_configs: max-pending-transactions: ~ max-submit-position: ~ submit-delay-step-override-millis: ~ - address: "" parameters: ~ enable-index-processing: true jsonrpc-server-type: ~ @@ -487,9 +483,9 @@ validator_configs: max-transaction-manager-per-object-queue-length: 100 execution-cache: passthrough-cache enable-validator-tx-finalizer: true - - protocol-key-pair: + - authority-key-pair: value: X/I/kM+KvHcxAKEf2UU6Sr7SpN3bhiE9nP5CuM/iIY0= - worker-key-pair: + protocol-key-pair: value: ABB1+x4nRFoyYG3rKucsVmnAZB1Mf8ACwfdDJvEomhGW account-key-pair: value: AAQtIbw/tafBD2X+p6ef4RsZM1kKG4vvWMebYPcunc+5 @@ -508,7 +504,6 @@ validator_configs: max-pending-transactions: ~ max-submit-position: ~ submit-delay-step-override-millis: ~ - address: "" parameters: ~ enable-index-processing: true jsonrpc-server-type: ~ @@ -608,9 +603,9 @@ validator_configs: max-transaction-manager-per-object-queue-length: 100 execution-cache: passthrough-cache enable-validator-tx-finalizer: true - - protocol-key-pair: + - authority-key-pair: value: N272EiFDyKtxRbDKbyN6ujenJ+skPcRoc/XolpOLGnU= - worker-key-pair: + protocol-key-pair: value: AHNbJ+TbMK2C5vo2buMguifUhvMpyG2dyqGXF69UJSTC account-key-pair: value: AI0OYrH3grOXDvJEH0aDYhOhMdudJ4hLVwh+1OGNyoXe @@ -629,7 +624,6 @@ validator_configs: max-pending-transactions: ~ max-submit-position: ~ submit-delay-step-override-millis: ~ - address: "" parameters: ~ enable-index-processing: true jsonrpc-server-type: ~ @@ -729,9 +723,9 @@ validator_configs: max-transaction-manager-per-object-queue-length: 100 execution-cache: passthrough-cache enable-validator-tx-finalizer: true - - protocol-key-pair: + - authority-key-pair: value: a74f03IOjL8ZFSWFChFVEi+wiMwHNwNCPDGIYkGfgjs= - worker-key-pair: + protocol-key-pair: value: AFKq0My7gQHTDG58VQMYImhU18+j2le9HtF08nhehbvK account-key-pair: value: ACdIQ0IILpTytmU6RjVq3Ifr4O9zkPZVn0V7vbjfkKPP @@ -750,7 +744,6 @@ validator_configs: max-pending-transactions: ~ max-submit-position: ~ submit-delay-step-override-millis: ~ - address: "" parameters: ~ enable-index-processing: true jsonrpc-server-type: ~ diff --git a/crates/iota-swarm-config/tests/snapshots/snapshot_tests__populated_genesis_snapshot_matches-2.snap b/crates/iota-swarm-config/tests/snapshots/snapshot_tests__populated_genesis_snapshot_matches-2.snap index b64085862d2..ae0cb8c12c2 100644 --- a/crates/iota-swarm-config/tests/snapshots/snapshot_tests__populated_genesis_snapshot_matches-2.snap +++ b/crates/iota-swarm-config/tests/snapshots/snapshot_tests__populated_genesis_snapshot_matches-2.snap @@ -8,7 +8,7 @@ system_state_version: 1 iota_treasury_cap: inner: id: - id: "0x94439611c4d34770c1c994e80b2e362b5ef1ed2a113878fc835bda51f28389d9" + id: "0xbcc56dc228d08d0d9324efb875272bdc9d3cd65c80c81b229549352212b1603a" total_supply: value: "751500000000000000" validators: @@ -16,7 +16,7 @@ validators: active_validators: - metadata: iota_address: "0xb877dacaef0724a0a155ad7c6ae1289580b96646aef3caafd6ebcb1bcf8bd13f" - protocol_pubkey_bytes: + authority_pubkey_bytes: - 153 - 242 - 94 @@ -146,7 +146,7 @@ validators: - 97 - 144 - 155 - worker_pubkey_bytes: + protocol_pubkey_bytes: - 31 - 42 - 121 @@ -235,24 +235,22 @@ validators: net_address: /ip4/127.0.0.1/tcp/80 p2p_address: /ip4/127.0.0.1/udp/80 primary_address: /ip4/127.0.0.1/udp/80 - worker_address: /ip4/127.0.0.1/udp/80 - next_epoch_protocol_pubkey_bytes: ~ + next_epoch_authority_pubkey_bytes: ~ next_epoch_proof_of_possession: ~ next_epoch_network_pubkey_bytes: ~ - next_epoch_worker_pubkey_bytes: ~ + next_epoch_protocol_pubkey_bytes: ~ next_epoch_net_address: ~ next_epoch_p2p_address: ~ next_epoch_primary_address: ~ - next_epoch_worker_address: ~ extra_fields: id: - id: "0xc3db9a157245a48974242dc16f766119442271d9c99da9916d510089902ea68e" + id: "0x6e1a6eab42d57998689e98043933df58e0cc685a595e02eb98c31e8747e2075f" size: 0 voting_power: 10000 - operation_cap_id: "0x2a41e010736f9dfd4448f2b806f10a81c576a6d2d389b6a84760c01c5351cd0d" + operation_cap_id: "0xa8a7a177bc4241ba371708657809a230f36b5438bb47de2c194340bbf9be5a4c" gas_price: 1000 staking_pool: - id: "0x815f3199e8683e39d64820f4a1c3660f67e2a9fd722c72bb5217cdfd7648c50a" + id: "0xd6303962a98fb58ec8161738bfe41b57b75ff1cd98eea0f5bf20f7950bfa89bc" activation_epoch: 0 deactivation_epoch: ~ iota_balance: 1500000000000000 @@ -260,14 +258,14 @@ validators: value: 0 pool_token_balance: 1500000000000000 exchange_rates: - id: "0x44ff567c594c42b5952c5640d0d14e543014b4243985ea7c1c14aa352739f7d1" + id: "0x92be067395b6a056a83502dd1dc7f11ea5d5a895af950bb9a601ab2f04564307" size: 1 pending_stake: 0 pending_total_iota_withdraw: 0 pending_pool_token_withdraw: 0 extra_fields: id: - id: "0x35c6817c099978dc0995d9d22ed4f42897824045ca3030e7f784c42512f9821d" + id: "0x4cb9e52c1bde4fb125bc645a7e10f84a933f9a5a2bb033150818c3a3c0a715f4" size: 0 commission_rate: 200 next_epoch_stake: 1500000000000000 @@ -275,27 +273,27 @@ validators: next_epoch_commission_rate: 200 extra_fields: id: - id: "0x79a4116f8770de159790e13c8372d9cd8392dbfcaccd01fe87e5bcdc6f0d636a" + id: "0xb71bf2d65890434770555a17b390f685fe1a3156788c87ed9103dda374a56d23" size: 0 pending_active_validators: contents: - id: "0x6191fa4acc23df2011a935ec73655e588f3df6782fd48f15f358b0592da4b17e" + id: "0x863b489d464eeba819e5e7b89105699a996e2012951cf81cc407b97f33667f0f" size: 0 pending_removals: [] staking_pool_mappings: - id: "0x345b705f891b4c93f0f6654ed7eb5faf54cda7ce90c0c70dd700538d7be66648" + id: "0xa2c1ea03cd0de682cb3becef4243df26fdfb71d76947e21a10d82121b75dad6a" size: 1 inactive_validators: - id: "0xbcfe5b338a054ea09e5ef33465d911c5a4ce79fad47b5e192244ba0e175e286d" + id: "0x4319c9e20eb938ab6bacc279a4d0f846d306df456557ea5a62abf366aeee47bb" size: 0 validator_candidates: - id: "0x5e48ef9dc1eeb7cdd019158e19b35114e91ca44629e6a24ce5a30cd04c872d7b" + id: "0xc0ef087d4b78a311a59f919930baecdd9ce6ae9f143f20c70d86d2f6a3cb24f4" size: 0 at_risk_validators: contents: [] extra_fields: id: - id: "0x3cc391a50075e2e57d4bae3718475e1ac3b1a20ea644a89b313ed90283181267" + id: "0xbcedd10b11e3cb1337e0a1e0cd51e0932756ccbd28b2452721031587be408298" size: 0 storage_fund: total_object_storage_rebates: @@ -311,7 +309,7 @@ parameters: validator_low_stake_grace_period: 7 extra_fields: id: - id: "0x7e30c8f512021bea66cbb126f096b9f79de6800e0dc04717fe7d873ea5dc1035" + id: "0x58471edf0cdb26470191f3e31730ed38bf6c691a29d281f6ee936d2d4bdfb179" size: 0 reference_gas_price: 1000 validator_report_records: @@ -326,5 +324,5 @@ safe_mode_non_refundable_storage_fee: 0 epoch_start_timestamp_ms: 10 extra_fields: id: - id: "0x1e4c2bdb44aa4cc06b531aae44c9518e8021383274b3f78e045a1897c0cb44f2" + id: "0xd836d6b9f016d4aafda8fa979b639a76bdeca422b665981c7894ab49f0e42a8f" size: 0 diff --git a/crates/iota-swarm/src/memory/container-sim.rs b/crates/iota-swarm/src/memory/container-sim.rs index 04d7725de1f..7d637f3ccab 100644 --- a/crates/iota-swarm/src/memory/container-sim.rs +++ b/crates/iota-swarm/src/memory/container-sim.rs @@ -57,7 +57,7 @@ impl Container { let startup_sender = Arc::new(startup_sender); let node = builder .ip(ip) - .name(&format!("{:?}", config.protocol_public_key().concise())) + .name(&format!("{:?}", config.authority_public_key().concise())) .init(move || { info!("Node restarted"); let config = config.clone(); diff --git a/crates/iota-swarm/src/memory/container.rs b/crates/iota-swarm/src/memory/container.rs index 06514d42ec2..066965abd4b 100644 --- a/crates/iota-swarm/src/memory/container.rs +++ b/crates/iota-swarm/src/memory/container.rs @@ -51,7 +51,7 @@ impl Container { pub async fn spawn(config: NodeConfig, runtime: RuntimeType) -> Self { let (startup_sender, startup_receiver) = tokio::sync::oneshot::channel(); let (cancel_sender, cancel_receiver) = tokio::sync::oneshot::channel(); - let name = AuthorityPublicKeyBytes::from(config.protocol_key_pair().public()) + let name = AuthorityPublicKeyBytes::from(config.authority_key_pair().public()) .concise() .to_string(); @@ -66,7 +66,7 @@ impl Container { Some(tracing::span!( tracing::Level::INFO, "node", - name =% AuthorityPublicKeyBytes::from(config.protocol_key_pair().public()).concise(), + name =% AuthorityPublicKeyBytes::from(config.authority_key_pair().public()).concise(), )) }; diff --git a/crates/iota-swarm/src/memory/node.rs b/crates/iota-swarm/src/memory/node.rs index 7e9e1c976da..fbc9b0d6912 100644 --- a/crates/iota-swarm/src/memory/node.rs +++ b/crates/iota-swarm/src/memory/node.rs @@ -44,7 +44,7 @@ impl Node { /// Return the `name` of this Node pub fn name(&self) -> AuthorityName { - self.config().protocol_public_key() + self.config().authority_public_key() } pub fn config(&self) -> MutexGuard<'_, NodeConfig> { diff --git a/crates/iota-swarm/src/memory/swarm.rs b/crates/iota-swarm/src/memory/swarm.rs index 858d92e7e83..65145e1e306 100644 --- a/crates/iota-swarm/src/memory/swarm.rs +++ b/crates/iota-swarm/src/memory/swarm.rs @@ -384,9 +384,9 @@ impl SwarmBuilder { .map(|config| { info!( "SwarmBuilder configuring validator with name {}", - config.protocol_public_key() + config.authority_public_key() ); - (config.protocol_public_key(), Node::new(config.to_owned())) + (config.authority_public_key(), Node::new(config.to_owned())) }) .collect(); @@ -424,9 +424,9 @@ impl SwarmBuilder { let config = builder.build(&mut OsRng, &network_config); info!( "SwarmBuilder configuring full node with name {}", - config.protocol_public_key() + config.authority_public_key() ); - nodes.insert(config.protocol_public_key(), Node::new(config)); + nodes.insert(config.authority_public_key(), Node::new(config)); }); } Swarm { @@ -535,7 +535,7 @@ impl Swarm { } pub async fn spawn_new_node(&mut self, config: NodeConfig) -> IotaNodeHandle { - let name = config.protocol_public_key(); + let name = config.authority_public_key(); let node = Node::new(config); node.start().await.unwrap(); let handle = node.get_node_handle().unwrap(); diff --git a/crates/iota-test-transaction-builder/src/lib.rs b/crates/iota-test-transaction-builder/src/lib.rs index 220bd36b6cc..839f5ec90e7 100644 --- a/crates/iota-test-transaction-builder/src/lib.rs +++ b/crates/iota-test-transaction-builder/src/lib.rs @@ -203,9 +203,9 @@ impl TestTransactionBuilder { "request_add_validator_candidate", vec![ CallArg::IOTA_SYSTEM_MUT, - CallArg::Pure(bcs::to_bytes(&validator.protocol_public_key).unwrap()), + CallArg::Pure(bcs::to_bytes(&validator.authority_public_key).unwrap()), CallArg::Pure(bcs::to_bytes(&validator.network_public_key).unwrap()), - CallArg::Pure(bcs::to_bytes(&validator.worker_public_key).unwrap()), + CallArg::Pure(bcs::to_bytes(&validator.protocol_public_key).unwrap()), CallArg::Pure(bcs::to_bytes(&validator.proof_of_possession).unwrap()), CallArg::Pure(bcs::to_bytes(validator.name.as_bytes()).unwrap()), CallArg::Pure(bcs::to_bytes(validator.description.as_bytes()).unwrap()), @@ -214,7 +214,6 @@ impl TestTransactionBuilder { CallArg::Pure(bcs::to_bytes(&validator.network_address).unwrap()), CallArg::Pure(bcs::to_bytes(&validator.p2p_address).unwrap()), CallArg::Pure(bcs::to_bytes(&validator.primary_address).unwrap()), - CallArg::Pure(bcs::to_bytes(&validator.worker_address).unwrap()), CallArg::Pure(bcs::to_bytes(&DEFAULT_VALIDATOR_GAS_PRICE).unwrap()), // gas_price CallArg::Pure(bcs::to_bytes(&0u64).unwrap()), // commission_rate ], diff --git a/crates/iota-tool/src/commands.rs b/crates/iota-tool/src/commands.rs index d708d44afd4..ab139db7e78 100644 --- a/crates/iota-tool/src/commands.rs +++ b/crates/iota-tool/src/commands.rs @@ -215,7 +215,7 @@ pub enum ToolCommand { #[arg( long = "concise", - help = "show concise output - name, protocol key and network address" + help = "show concise output - name, authority key and network address" )] concise: bool, }, diff --git a/crates/iota-tool/src/lib.rs b/crates/iota-tool/src/lib.rs index d1611ab8745..27fbe1d2839 100644 --- a/crates/iota-tool/src/lib.rs +++ b/crates/iota-tool/src/lib.rs @@ -119,7 +119,7 @@ async fn make_clients( .map_err(|err| anyhow!(err.to_string()))?; let client = NetworkAuthorityClient::new(channel); let public_key_bytes = - AuthorityPublicKeyBytes::from_bytes(&validator.protocol_pubkey_bytes)?; + AuthorityPublicKeyBytes::from_bytes(&validator.authority_pubkey_bytes)?; authority_clients.insert(public_key_bytes, (net_addr.clone(), client)); } diff --git a/crates/iota-types/src/committee.rs b/crates/iota-types/src/committee.rs index 60786cf0ccc..f82226db75d 100644 --- a/crates/iota-types/src/committee.rs +++ b/crates/iota-types/src/committee.rs @@ -368,7 +368,7 @@ pub trait CommitteeTrait { #[derive(Clone, Debug, Serialize, Deserialize)] pub struct NetworkMetadata { pub network_address: Multiaddr, - pub narwhal_primary_address: Multiaddr, + pub primary_address: Multiaddr, } #[derive(Clone, Debug, Serialize, Deserialize)] diff --git a/crates/iota-types/src/crypto.rs b/crates/iota-types/src/crypto.rs index bdf9715a4de..e9887a20102 100644 --- a/crates/iota-types/src/crypto.rs +++ b/crates/iota-types/src/crypto.rs @@ -106,8 +106,8 @@ pub const DEFAULT_EPOCH_ID: EpochId = 0; pub const IOTA_PRIV_KEY_PREFIX: &str = "iotaprivkey"; /// Creates a proof of that the authority account address is owned by the -/// holder of authority protocol key, and also ensures that the authority -/// protocol public key exists. A proof of possession is an authority +/// holder of authority key, and also ensures that the authority +/// public key exists. A proof of possession is an authority /// signature committed over the intent message `intent || message || epoch` /// (See more at [struct IntentMessage] and [struct Intent]) where the message /// is constructed as `authority_pubkey_bytes || authority_account_address`. @@ -126,23 +126,23 @@ pub fn generate_proof_of_possession( } /// Verify proof of possession against the expected intent message, -/// consisting of the protocol pubkey and the authority account address. +/// consisting of the authority pubkey and the authority account address. pub fn verify_proof_of_possession( pop: &AuthoritySignature, - protocol_pubkey: &AuthorityPublicKey, + authority_pubkey: &AuthorityPublicKey, iota_address: IotaAddress, ) -> Result<(), IotaError> { - protocol_pubkey + authority_pubkey .validate() .map_err(|_| IotaError::InvalidSignature { error: "Fail to validate pubkey".to_string(), })?; - let mut msg = protocol_pubkey.as_bytes().to_vec(); + let mut msg = authority_pubkey.as_bytes().to_vec(); msg.extend_from_slice(iota_address.as_ref()); pop.verify_secure( &IntentMessage::new(Intent::iota_app(IntentScope::ProofOfPossession), msg), DEFAULT_EPOCH_ID, - protocol_pubkey.into(), + authority_pubkey.into(), ) } /////////////////////////////////////////////// diff --git a/crates/iota-types/src/iota_system_state/epoch_start_iota_system_state.rs b/crates/iota-types/src/iota_system_state/epoch_start_iota_system_state.rs index bde95f16ba8..45d800b9293 100644 --- a/crates/iota-types/src/iota_system_state/epoch_start_iota_system_state.rs +++ b/crates/iota-types/src/iota_system_state/epoch_start_iota_system_state.rs @@ -164,7 +164,7 @@ impl EpochStartSystemStateTrait for EpochStartSystemStateV1 { validator.authority_name(), (validator.voting_power, NetworkMetadata { network_address: validator.iota_net_address.clone(), - narwhal_primary_address: validator.narwhal_primary_address.clone(), + primary_address: validator.primary_address.clone(), }), ) }) @@ -187,23 +187,21 @@ impl EpochStartSystemStateTrait for EpochStartSystemStateV1 { for validator in self.active_validators.iter() { authorities.push(Authority { stake: validator.voting_power as consensus_config::Stake, - // TODO(mysticeti): Add EpochStartValidatorInfoV2 with new field for mysticeti - // address. - address: validator.narwhal_primary_address.clone(), + address: validator.primary_address.clone(), hostname: validator.hostname.clone(), authority_key: consensus_config::AuthorityPublicKey::new( - validator.protocol_pubkey.clone(), + validator.authority_pubkey.clone(), ), protocol_key: consensus_config::ProtocolPublicKey::new( - validator.narwhal_worker_pubkey.clone(), + validator.protocol_pubkey.clone(), ), network_key: consensus_config::NetworkPublicKey::new( - validator.narwhal_network_pubkey.clone(), + validator.network_pubkey.clone(), ), }); } - // Sort the authorities by their protocol (public) key in ascending order, same + // Sort the authorities by their authority (public) key in ascending order, same // as the order in the Iota committee returned from get_iota_committee(). authorities.sort_by(|a1, a2| a1.authority_key.cmp(&a2.authority_key)); @@ -233,7 +231,7 @@ impl EpochStartSystemStateTrait for EpochStartSystemStateV1 { .to_anemo_address() .into_iter() .collect::>(); - let peer_id = PeerId(validator.narwhal_network_pubkey.0.to_bytes()); + let peer_id = PeerId(validator.network_pubkey.0.to_bytes()); if address.is_empty() { warn!( ?peer_id, @@ -254,7 +252,7 @@ impl EpochStartSystemStateTrait for EpochStartSystemStateV1 { .iter() .map(|validator| { let name = validator.authority_name(); - let peer_id = PeerId(validator.narwhal_network_pubkey.0.to_bytes()); + let peer_id = PeerId(validator.network_pubkey.0.to_bytes()); (name, peer_id) }) @@ -277,20 +275,19 @@ impl EpochStartSystemStateTrait for EpochStartSystemStateV1 { #[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)] pub struct EpochStartValidatorInfoV1 { pub iota_address: IotaAddress, - pub protocol_pubkey: AuthorityPublicKey, - pub narwhal_network_pubkey: NetworkPublicKey, - pub narwhal_worker_pubkey: NetworkPublicKey, + pub authority_pubkey: AuthorityPublicKey, + pub network_pubkey: NetworkPublicKey, + pub protocol_pubkey: NetworkPublicKey, pub iota_net_address: Multiaddr, pub p2p_address: Multiaddr, - pub narwhal_primary_address: Multiaddr, - pub narwhal_worker_address: Multiaddr, + pub primary_address: Multiaddr, pub voting_power: StakeUnit, pub hostname: String, } impl EpochStartValidatorInfoV1 { pub fn authority_name(&self) -> AuthorityName { - (&self.protocol_pubkey).into() + (&self.authority_pubkey).into() } } @@ -316,18 +313,17 @@ mod test { let mut active_validators = vec![]; for i in 0..10 { - let (iota_address, protocol_key): (IotaAddress, AuthorityKeyPair) = get_key_pair(); - let narwhal_network_key = NetworkKeyPair::generate(&mut thread_rng()); + let (iota_address, authority_key): (IotaAddress, AuthorityKeyPair) = get_key_pair(); + let protocol_network_key = NetworkKeyPair::generate(&mut thread_rng()); active_validators.push(EpochStartValidatorInfoV1 { iota_address, - protocol_pubkey: protocol_key.public().clone(), - narwhal_network_pubkey: narwhal_network_key.public().clone(), - narwhal_worker_pubkey: narwhal_network_key.public().clone(), + authority_pubkey: authority_key.public().clone(), + network_pubkey: protocol_network_key.public().clone(), + protocol_pubkey: protocol_network_key.public().clone(), iota_net_address: Multiaddr::empty(), p2p_address: Multiaddr::empty(), - narwhal_primary_address: Multiaddr::empty(), - narwhal_worker_address: Multiaddr::empty(), + primary_address: Multiaddr::empty(), voting_power: 1_000, hostname: format!("host-{i}").to_string(), }) diff --git a/crates/iota-types/src/iota_system_state/iota_system_state_inner_v1.rs b/crates/iota-types/src/iota_system_state/iota_system_state_inner_v1.rs index 572d793843c..3246042c5d0 100644 --- a/crates/iota-types/src/iota_system_state/iota_system_state_inner_v1.rs +++ b/crates/iota-types/src/iota_system_state/iota_system_state_inner_v1.rs @@ -31,13 +31,12 @@ use crate::{ }; const E_METADATA_INVALID_POP: u64 = 0; -const E_METADATA_INVALID_PUBKEY: u64 = 1; +const E_METADATA_INVALID_AUTHORITY_PUBKEY: u64 = 1; const E_METADATA_INVALID_NET_PUBKEY: u64 = 2; -const E_METADATA_INVALID_WORKER_PUBKEY: u64 = 3; +const E_METADATA_INVALID_PROTOCOL_PUBKEY: u64 = 3; const E_METADATA_INVALID_NET_ADDR: u64 = 4; const E_METADATA_INVALID_P2P_ADDR: u64 = 5; const E_METADATA_INVALID_PRIMARY_ADDR: u64 = 6; -const E_METADATA_INVALID_WORKER_ADDR: u64 = 7; /// Rust version of the Move iota::iota_system::SystemParameters type #[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq)] @@ -72,9 +71,9 @@ pub struct SystemParametersV1 { #[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq)] pub struct ValidatorMetadataV1 { pub iota_address: IotaAddress, - pub protocol_pubkey_bytes: Vec, + pub authority_pubkey_bytes: Vec, pub network_pubkey_bytes: Vec, - pub worker_pubkey_bytes: Vec, + pub protocol_pubkey_bytes: Vec, pub proof_of_possession_bytes: Vec, pub name: String, pub description: String, @@ -83,15 +82,13 @@ pub struct ValidatorMetadataV1 { pub net_address: String, pub p2p_address: String, pub primary_address: String, - pub worker_address: String, - pub next_epoch_protocol_pubkey_bytes: Option>, + pub next_epoch_authority_pubkey_bytes: Option>, pub next_epoch_proof_of_possession: Option>, pub next_epoch_network_pubkey_bytes: Option>, - pub next_epoch_worker_pubkey_bytes: Option>, + pub next_epoch_protocol_pubkey_bytes: Option>, pub next_epoch_net_address: Option, pub next_epoch_p2p_address: Option, pub next_epoch_primary_address: Option, - pub next_epoch_worker_address: Option, pub extra_fields: Bag, } @@ -99,9 +96,9 @@ pub struct ValidatorMetadataV1 { #[derivative(Debug)] pub struct VerifiedValidatorMetadataV1 { pub iota_address: IotaAddress, - pub protocol_pubkey: AuthorityPublicKey, + pub authority_pubkey: AuthorityPublicKey, pub network_pubkey: NetworkPublicKey, - pub worker_pubkey: NetworkPublicKey, + pub protocol_pubkey: NetworkPublicKey, #[derivative(Debug = "ignore")] pub proof_of_possession_bytes: Vec, pub name: String, @@ -111,20 +108,18 @@ pub struct VerifiedValidatorMetadataV1 { pub net_address: Multiaddr, pub p2p_address: Multiaddr, pub primary_address: Multiaddr, - pub worker_address: Multiaddr, - pub next_epoch_protocol_pubkey: Option, + pub next_epoch_authority_pubkey: Option, pub next_epoch_proof_of_possession: Option>, pub next_epoch_network_pubkey: Option, - pub next_epoch_worker_pubkey: Option, + pub next_epoch_protocol_pubkey: Option, pub next_epoch_net_address: Option, pub next_epoch_p2p_address: Option, pub next_epoch_primary_address: Option, - pub next_epoch_worker_address: Option, } impl VerifiedValidatorMetadataV1 { pub fn iota_pubkey_bytes(&self) -> AuthorityPublicKeyBytes { - (&self.protocol_pubkey).into() + (&self.authority_pubkey).into() } } @@ -132,27 +127,27 @@ impl ValidatorMetadataV1 { /// Verify validator metadata and return a verified version (on success) or /// error code (on failure) pub fn verify(&self) -> Result { - let protocol_pubkey = AuthorityPublicKey::from_bytes(self.protocol_pubkey_bytes.as_ref()) - .map_err(|_| E_METADATA_INVALID_PUBKEY)?; + let authority_pubkey = AuthorityPublicKey::from_bytes(self.authority_pubkey_bytes.as_ref()) + .map_err(|_| E_METADATA_INVALID_AUTHORITY_PUBKEY)?; - // Verify proof of possession for the protocol key + // Verify proof of possession for the authority key let pop = AuthoritySignature::from_bytes(self.proof_of_possession_bytes.as_ref()) .map_err(|_| E_METADATA_INVALID_POP)?; - verify_proof_of_possession(&pop, &protocol_pubkey, self.iota_address) + verify_proof_of_possession(&pop, &authority_pubkey, self.iota_address) .map_err(|_| E_METADATA_INVALID_POP)?; let network_pubkey = NetworkPublicKey::from_bytes(self.network_pubkey_bytes.as_ref()) .map_err(|_| E_METADATA_INVALID_NET_PUBKEY)?; - let worker_pubkey = NetworkPublicKey::from_bytes(self.worker_pubkey_bytes.as_ref()) - .map_err(|_| E_METADATA_INVALID_WORKER_PUBKEY)?; - if worker_pubkey == network_pubkey { - return Err(E_METADATA_INVALID_WORKER_PUBKEY); + let protocol_pubkey = NetworkPublicKey::from_bytes(self.protocol_pubkey_bytes.as_ref()) + .map_err(|_| E_METADATA_INVALID_PROTOCOL_PUBKEY)?; + if protocol_pubkey == network_pubkey { + return Err(E_METADATA_INVALID_PROTOCOL_PUBKEY); } let net_address = Multiaddr::try_from(self.net_address.clone()) .map_err(|_| E_METADATA_INVALID_NET_ADDR)?; - // Ensure p2p, primary, and worker addresses are both Multiaddr's and valid + // Ensure p2p and primary address are both Multiaddr's and valid // anemo addresses let p2p_address = Multiaddr::try_from(self.p2p_address.clone()) .map_err(|_| E_METADATA_INVALID_P2P_ADDR)?; @@ -166,17 +161,11 @@ impl ValidatorMetadataV1 { .to_anemo_address() .map_err(|_| E_METADATA_INVALID_PRIMARY_ADDR)?; - let worker_address = Multiaddr::try_from(self.worker_address.clone()) - .map_err(|_| E_METADATA_INVALID_WORKER_ADDR)?; - worker_address - .to_anemo_address() - .map_err(|_| E_METADATA_INVALID_WORKER_ADDR)?; - - let next_epoch_protocol_pubkey = match self.next_epoch_protocol_pubkey_bytes.clone() { + let next_epoch_authority_pubkey = match self.next_epoch_authority_pubkey_bytes.clone() { None => Ok::, u64>(None), Some(bytes) => Ok(Some( AuthorityPublicKey::from_bytes(bytes.as_ref()) - .map_err(|_| E_METADATA_INVALID_PUBKEY)?, + .map_err(|_| E_METADATA_INVALID_AUTHORITY_PUBKEY)?, )), }?; @@ -187,13 +176,13 @@ impl ValidatorMetadataV1 { .map_err(|_| E_METADATA_INVALID_POP)?, )), }?; - // Verify proof of possession for the next epoch protocol key - if let Some(ref next_epoch_protocol_pubkey) = next_epoch_protocol_pubkey { + // Verify proof of possession for the next epoch authority key + if let Some(ref next_epoch_authority_pubkey) = next_epoch_authority_pubkey { match next_epoch_pop { Some(next_epoch_pop) => { verify_proof_of_possession( &next_epoch_pop, - next_epoch_protocol_pubkey, + next_epoch_authority_pubkey, self.iota_address, ) .map_err(|_| E_METADATA_INVALID_POP)?; @@ -212,18 +201,18 @@ impl ValidatorMetadataV1 { )), }?; - let next_epoch_worker_pubkey: Option = - match self.next_epoch_worker_pubkey_bytes.clone() { + let next_epoch_protocol_pubkey: Option = + match self.next_epoch_protocol_pubkey_bytes.clone() { None => Ok::, u64>(None), Some(bytes) => Ok(Some( NetworkPublicKey::from_bytes(bytes.as_ref()) - .map_err(|_| E_METADATA_INVALID_WORKER_PUBKEY)?, + .map_err(|_| E_METADATA_INVALID_PROTOCOL_PUBKEY)?, )), }?; if next_epoch_network_pubkey.is_some() - && next_epoch_network_pubkey == next_epoch_worker_pubkey + && next_epoch_network_pubkey == next_epoch_protocol_pubkey { - return Err(E_METADATA_INVALID_WORKER_PUBKEY); + return Err(E_METADATA_INVALID_PROTOCOL_PUBKEY); } let next_epoch_net_address = match self.next_epoch_net_address.clone() { @@ -259,24 +248,11 @@ impl ValidatorMetadataV1 { } }?; - let next_epoch_worker_address = match self.next_epoch_worker_address.clone() { - None => Ok::, u64>(None), - Some(address) => { - let address = - Multiaddr::try_from(address).map_err(|_| E_METADATA_INVALID_WORKER_ADDR)?; - address - .to_anemo_address() - .map_err(|_| E_METADATA_INVALID_WORKER_ADDR)?; - - Ok(Some(address)) - } - }?; - Ok(VerifiedValidatorMetadataV1 { iota_address: self.iota_address, - protocol_pubkey, + authority_pubkey, network_pubkey, - worker_pubkey, + protocol_pubkey, proof_of_possession_bytes: self.proof_of_possession_bytes.clone(), name: self.name.clone(), description: self.description.clone(), @@ -285,15 +261,13 @@ impl ValidatorMetadataV1 { net_address, p2p_address, primary_address, - worker_address, - next_epoch_protocol_pubkey, + next_epoch_authority_pubkey, next_epoch_proof_of_possession: self.next_epoch_proof_of_possession.clone(), next_epoch_network_pubkey, - next_epoch_worker_pubkey, + next_epoch_protocol_pubkey, next_epoch_net_address, next_epoch_p2p_address, next_epoch_primary_address, - next_epoch_worker_address, }) } } @@ -330,9 +304,9 @@ impl ValidatorV1 { metadata: ValidatorMetadataV1 { iota_address, - protocol_pubkey_bytes, + authority_pubkey_bytes, network_pubkey_bytes, - worker_pubkey_bytes, + protocol_pubkey_bytes, proof_of_possession_bytes, name, description, @@ -341,15 +315,13 @@ impl ValidatorV1 { net_address, p2p_address, primary_address, - worker_address, - next_epoch_protocol_pubkey_bytes, + next_epoch_authority_pubkey_bytes, next_epoch_proof_of_possession, next_epoch_network_pubkey_bytes, - next_epoch_worker_pubkey_bytes, + next_epoch_protocol_pubkey_bytes, next_epoch_net_address, next_epoch_p2p_address, next_epoch_primary_address, - next_epoch_worker_address, extra_fields: _, }, verified_metadata: _, @@ -382,9 +354,9 @@ impl ValidatorV1 { } = self; IotaValidatorSummary { iota_address, - protocol_pubkey_bytes, + authority_pubkey_bytes, network_pubkey_bytes, - worker_pubkey_bytes, + protocol_pubkey_bytes, proof_of_possession_bytes, name, description, @@ -393,15 +365,13 @@ impl ValidatorV1 { net_address, p2p_address, primary_address, - worker_address, - next_epoch_protocol_pubkey_bytes, + next_epoch_authority_pubkey_bytes, next_epoch_proof_of_possession, next_epoch_network_pubkey_bytes, - next_epoch_worker_pubkey_bytes, + next_epoch_protocol_pubkey_bytes, next_epoch_net_address, next_epoch_p2p_address, next_epoch_primary_address, - next_epoch_worker_address, voting_power, operation_cap_id: operation_cap_id.bytes, gas_price, @@ -537,7 +507,7 @@ impl IotaSystemStateTrait for IotaSystemStateInnerV1 { name, (validator.voting_power, NetworkMetadata { network_address: verified_metadata.net_address.clone(), - narwhal_primary_address: verified_metadata.primary_address.clone(), + primary_address: verified_metadata.primary_address.clone(), }), ) }) @@ -574,13 +544,12 @@ impl IotaSystemStateTrait for IotaSystemStateInnerV1 { let metadata = validator.verified_metadata(); EpochStartValidatorInfoV1 { iota_address: metadata.iota_address, + authority_pubkey: metadata.authority_pubkey.clone(), + network_pubkey: metadata.network_pubkey.clone(), protocol_pubkey: metadata.protocol_pubkey.clone(), - narwhal_network_pubkey: metadata.network_pubkey.clone(), - narwhal_worker_pubkey: metadata.worker_pubkey.clone(), iota_net_address: metadata.net_address.clone(), p2p_address: metadata.p2p_address.clone(), - narwhal_primary_address: metadata.primary_address.clone(), - narwhal_worker_address: metadata.worker_address.clone(), + primary_address: metadata.primary_address.clone(), voting_power: validator.voting_power, hostname: metadata.name.clone(), } diff --git a/crates/iota-types/src/iota_system_state/iota_system_state_inner_v2.rs b/crates/iota-types/src/iota_system_state/iota_system_state_inner_v2.rs index 0d8930c6e2a..494593e78c1 100644 --- a/crates/iota-types/src/iota_system_state/iota_system_state_inner_v2.rs +++ b/crates/iota-types/src/iota_system_state/iota_system_state_inner_v2.rs @@ -135,7 +135,7 @@ impl IotaSystemStateTrait for IotaSystemStateInnerV2 { name, (validator.voting_power, NetworkMetadata { network_address: verified_metadata.net_address.clone(), - narwhal_primary_address: verified_metadata.primary_address.clone(), + primary_address: verified_metadata.primary_address.clone(), }), ) }) @@ -172,13 +172,12 @@ impl IotaSystemStateTrait for IotaSystemStateInnerV2 { let metadata = validator.verified_metadata(); EpochStartValidatorInfoV1 { iota_address: metadata.iota_address, + authority_pubkey: metadata.authority_pubkey.clone(), + network_pubkey: metadata.network_pubkey.clone(), protocol_pubkey: metadata.protocol_pubkey.clone(), - narwhal_network_pubkey: metadata.network_pubkey.clone(), - narwhal_worker_pubkey: metadata.worker_pubkey.clone(), iota_net_address: metadata.net_address.clone(), p2p_address: metadata.p2p_address.clone(), - narwhal_primary_address: metadata.primary_address.clone(), - narwhal_worker_address: metadata.worker_address.clone(), + primary_address: metadata.primary_address.clone(), voting_power: validator.voting_power, hostname: metadata.name.clone(), } diff --git a/crates/iota-types/src/iota_system_state/iota_system_state_summary.rs b/crates/iota-types/src/iota_system_state/iota_system_state_summary.rs index 2d138c0b917..bfa25a83156 100644 --- a/crates/iota-types/src/iota_system_state/iota_system_state_summary.rs +++ b/crates/iota-types/src/iota_system_state/iota_system_state_summary.rs @@ -183,16 +183,14 @@ impl IotaSystemStateSummary { .active_validators .iter() .map(|validator| { - let name = AuthorityName::from_bytes(&validator.protocol_pubkey_bytes).unwrap(); + let name = AuthorityName::from_bytes(&validator.authority_pubkey_bytes).unwrap(); ( name, (validator.voting_power, NetworkMetadata { network_address: Multiaddr::try_from(validator.net_address.clone()) .unwrap(), - narwhal_primary_address: Multiaddr::try_from( - validator.primary_address.clone(), - ) - .unwrap(), + primary_address: Multiaddr::try_from(validator.primary_address.clone()) + .unwrap(), }), ) }) @@ -212,13 +210,13 @@ pub struct IotaValidatorSummary { pub iota_address: IotaAddress, #[schemars(with = "Base64")] #[serde_as(as = "Base64")] - pub protocol_pubkey_bytes: Vec, + pub authority_pubkey_bytes: Vec, #[schemars(with = "Base64")] #[serde_as(as = "Base64")] pub network_pubkey_bytes: Vec, #[schemars(with = "Base64")] #[serde_as(as = "Base64")] - pub worker_pubkey_bytes: Vec, + pub protocol_pubkey_bytes: Vec, #[schemars(with = "Base64")] #[serde_as(as = "Base64")] pub proof_of_possession_bytes: Vec, @@ -229,10 +227,9 @@ pub struct IotaValidatorSummary { pub net_address: String, pub p2p_address: String, pub primary_address: String, - pub worker_address: String, #[schemars(with = "Option")] #[serde_as(as = "Option")] - pub next_epoch_protocol_pubkey_bytes: Option>, + pub next_epoch_authority_pubkey_bytes: Option>, #[schemars(with = "Option")] #[serde_as(as = "Option")] pub next_epoch_proof_of_possession: Option>, @@ -241,11 +238,10 @@ pub struct IotaValidatorSummary { pub next_epoch_network_pubkey_bytes: Option>, #[schemars(with = "Option")] #[serde_as(as = "Option")] - pub next_epoch_worker_pubkey_bytes: Option>, + pub next_epoch_protocol_pubkey_bytes: Option>, pub next_epoch_net_address: Option, pub next_epoch_p2p_address: Option, pub next_epoch_primary_address: Option, - pub next_epoch_worker_address: Option, #[schemars(with = "BigInt")] #[serde_as(as = "Readable, _>")] @@ -357,9 +353,9 @@ impl Default for IotaValidatorSummary { fn default() -> Self { Self { iota_address: IotaAddress::default(), - protocol_pubkey_bytes: vec![], + authority_pubkey_bytes: vec![], network_pubkey_bytes: vec![], - worker_pubkey_bytes: vec![], + protocol_pubkey_bytes: vec![], proof_of_possession_bytes: vec![], name: String::new(), description: String::new(), @@ -368,15 +364,13 @@ impl Default for IotaValidatorSummary { net_address: String::new(), p2p_address: String::new(), primary_address: String::new(), - worker_address: String::new(), - next_epoch_protocol_pubkey_bytes: None, + next_epoch_authority_pubkey_bytes: None, next_epoch_proof_of_possession: None, next_epoch_network_pubkey_bytes: None, - next_epoch_worker_pubkey_bytes: None, + next_epoch_protocol_pubkey_bytes: None, next_epoch_net_address: None, next_epoch_p2p_address: None, next_epoch_primary_address: None, - next_epoch_worker_address: None, voting_power: 0, operation_cap_id: ObjectID::ZERO, gas_price: 0, diff --git a/crates/iota-types/src/iota_system_state/simtest_iota_system_state_inner.rs b/crates/iota-types/src/iota_system_state/simtest_iota_system_state_inner.rs index e13ded15b88..d02e99e090b 100644 --- a/crates/iota-types/src/iota_system_state/simtest_iota_system_state_inner.rs +++ b/crates/iota-types/src/iota_system_state/simtest_iota_system_state_inner.rs @@ -73,56 +73,52 @@ impl SimTestValidatorV1 { #[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq)] pub struct SimTestValidatorMetadataV1 { pub iota_address: IotaAddress, - pub protocol_pubkey_bytes: Vec, + pub authority_pubkey_bytes: Vec, pub network_pubkey_bytes: Vec, - pub worker_pubkey_bytes: Vec, + pub protocol_pubkey_bytes: Vec, pub net_address: String, pub p2p_address: String, pub primary_address: String, - pub worker_address: String, pub extra_fields: Bag, } #[derive(Debug, Serialize, Deserialize, Clone, Eq, PartialEq)] pub struct VerifiedSimTestValidatorMetadataV1 { pub iota_address: IotaAddress, - pub protocol_pubkey: AuthorityPublicKey, + pub authority_pubkey: AuthorityPublicKey, pub network_pubkey: NetworkPublicKey, - pub worker_pubkey: NetworkPublicKey, + pub protocol_pubkey: NetworkPublicKey, pub net_address: Multiaddr, pub p2p_address: Multiaddr, pub primary_address: Multiaddr, - pub worker_address: Multiaddr, } impl SimTestValidatorMetadataV1 { pub fn verify(&self) -> VerifiedSimTestValidatorMetadataV1 { - let protocol_pubkey = - AuthorityPublicKey::from_bytes(self.protocol_pubkey_bytes.as_ref()).unwrap(); + let authority_pubkey = + AuthorityPublicKey::from_bytes(self.authority_pubkey_bytes.as_ref()).unwrap(); let network_pubkey = NetworkPublicKey::from_bytes(self.network_pubkey_bytes.as_ref()).unwrap(); - let worker_pubkey = - NetworkPublicKey::from_bytes(self.worker_pubkey_bytes.as_ref()).unwrap(); + let protocol_pubkey = + NetworkPublicKey::from_bytes(self.protocol_pubkey_bytes.as_ref()).unwrap(); let net_address = Multiaddr::try_from(self.net_address.clone()).unwrap(); let p2p_address = Multiaddr::try_from(self.p2p_address.clone()).unwrap(); let primary_address = Multiaddr::try_from(self.primary_address.clone()).unwrap(); - let worker_address = Multiaddr::try_from(self.worker_address.clone()).unwrap(); VerifiedSimTestValidatorMetadataV1 { iota_address: self.iota_address, - protocol_pubkey, + authority_pubkey, network_pubkey, - worker_pubkey, + protocol_pubkey, net_address, p2p_address, primary_address, - worker_address, } } } impl VerifiedSimTestValidatorMetadataV1 { pub fn iota_pubkey_bytes(&self) -> AuthorityPublicKeyBytes { - (&self.protocol_pubkey).into() + (&self.authority_pubkey).into() } } @@ -174,7 +170,7 @@ impl IotaSystemStateTrait for SimTestIotaSystemStateInnerV1 { name, (validator.voting_power, NetworkMetadata { network_address: verified_metadata.net_address.clone(), - narwhal_primary_address: verified_metadata.primary_address.clone(), + primary_address: verified_metadata.primary_address.clone(), }), ) }) @@ -204,13 +200,12 @@ impl IotaSystemStateTrait for SimTestIotaSystemStateInnerV1 { let metadata = validator.verified_metadata(); EpochStartValidatorInfoV1 { iota_address: metadata.iota_address, + authority_pubkey: metadata.authority_pubkey.clone(), + network_pubkey: metadata.network_pubkey.clone(), protocol_pubkey: metadata.protocol_pubkey.clone(), - narwhal_network_pubkey: metadata.network_pubkey.clone(), - narwhal_worker_pubkey: metadata.worker_pubkey.clone(), iota_net_address: metadata.net_address.clone(), p2p_address: metadata.p2p_address.clone(), - narwhal_primary_address: metadata.primary_address.clone(), - narwhal_worker_address: metadata.worker_address.clone(), + primary_address: metadata.primary_address.clone(), voting_power: validator.voting_power, hostname: "".to_string(), } @@ -287,7 +282,7 @@ impl IotaSystemStateTrait for SimTestIotaSystemStateInnerShallowV2 { name, (validator.voting_power, NetworkMetadata { network_address: verified_metadata.net_address.clone(), - narwhal_primary_address: verified_metadata.primary_address.clone(), + primary_address: verified_metadata.primary_address.clone(), }), ) }) @@ -317,13 +312,12 @@ impl IotaSystemStateTrait for SimTestIotaSystemStateInnerShallowV2 { let metadata = validator.verified_metadata(); EpochStartValidatorInfoV1 { iota_address: metadata.iota_address, + authority_pubkey: metadata.authority_pubkey.clone(), + network_pubkey: metadata.network_pubkey.clone(), protocol_pubkey: metadata.protocol_pubkey.clone(), - narwhal_network_pubkey: metadata.network_pubkey.clone(), - narwhal_worker_pubkey: metadata.worker_pubkey.clone(), iota_net_address: metadata.net_address.clone(), p2p_address: metadata.p2p_address.clone(), - narwhal_primary_address: metadata.primary_address.clone(), - narwhal_worker_address: metadata.worker_address.clone(), + primary_address: metadata.primary_address.clone(), voting_power: validator.voting_power, hostname: "".to_string(), } @@ -429,7 +423,7 @@ impl IotaSystemStateTrait for SimTestIotaSystemStateInnerDeepV2 { name, (validator.voting_power, NetworkMetadata { network_address: verified_metadata.net_address.clone(), - narwhal_primary_address: verified_metadata.primary_address.clone(), + primary_address: verified_metadata.primary_address.clone(), }), ) }) @@ -459,13 +453,12 @@ impl IotaSystemStateTrait for SimTestIotaSystemStateInnerDeepV2 { let metadata = validator.verified_metadata(); EpochStartValidatorInfoV1 { iota_address: metadata.iota_address, + authority_pubkey: metadata.authority_pubkey.clone(), + network_pubkey: metadata.network_pubkey.clone(), protocol_pubkey: metadata.protocol_pubkey.clone(), - narwhal_network_pubkey: metadata.network_pubkey.clone(), - narwhal_worker_pubkey: metadata.worker_pubkey.clone(), iota_net_address: metadata.net_address.clone(), p2p_address: metadata.p2p_address.clone(), - narwhal_primary_address: metadata.primary_address.clone(), - narwhal_worker_address: metadata.worker_address.clone(), + primary_address: metadata.primary_address.clone(), voting_power: validator.voting_power, hostname: "".to_string(), } diff --git a/crates/iota/genesis.md b/crates/iota/genesis.md index a071786c827..d8bd8082abc 100644 --- a/crates/iota/genesis.md +++ b/crates/iota/genesis.md @@ -10,8 +10,7 @@ Each validator participating in the ceremony will need the following: - Ed25519 Public key(s) - Iota network address - p2p_address network address -- Narwhal_primary_address network address -- Narwhal_worker_address network address +- primary_address network address Note: @@ -39,20 +38,19 @@ $ git push 2. Contribute Validator information -Once the shared workspace has been initialized, each validator can contribute their information (worker key and network key must be different): +Once the shared workspace has been initialized, each validator can contribute their information (protocol key and network key must be different): ``` $ git clone && cd genesis $ iota genesis-ceremony add-validator \ --name \ - --validator-key-file \ - --worker-key-file \ + --authority-key-file \ + --protocol-key-file \ --account-key-file \ --network-key-file \ --network-address \ --p2p-address \ - --narwhal-primary-address \ - --narwhal-worker-address \ + --primary-address \ --description \ --image-url \ --project-url @@ -67,14 +65,13 @@ Example: ``` $ iota genesis-ceremony add-validator \ --name validator0 \ - --validator-key-file ./validator0/bls-0x7f9ca307a22d8ef380f1c702743e385baa1b01ba33a7e99f15ced59352e5a0a7.key \ - --worker-key-file ./validator0/0x6c58f5df3d6749863ebac6592b1e4320e73ca7785764c93af7ea9ad63b98ded4.key \ + --authority-key-file ./validator0/bls-0x7f9ca307a22d8ef380f1c702743e385baa1b01ba33a7e99f15ced59352e5a0a7.key \ + --protocol-key-file ./validator0/0x6c58f5df3d6749863ebac6592b1e4320e73ca7785764c93af7ea9ad63b98ded4.key \ --account-key-file ./validator0/0x1d1d0a66c82ba4b2c6a307b8fb85f675aa8af66d1ec1e41e21e677b3c3b38053.key \ --network-key-file ./validator0/0x1d1d0a66c82ba4b2c6a307b8fb85f675aa8af66d1ec1e41e21e677b3c3b38053.key \ --network-address /ip4/127.0.0.1/tcp/38189/http \ --p2p-address /ip4/127.0.0.1/udp/34523 \ - --narwhal-primary-address /ip4/127.0.0.1/udp/38603 \ - --narwhal-worker-address /ip4/127.0.0.1/udp/36603 \ + --primary-address /ip4/127.0.0.1/udp/38603 \ --description validator0 \ --image-url https://www.iota.org/favicon.png \ --project-url https://www.iota.org diff --git a/crates/iota/src/fire_drill.rs b/crates/iota/src/fire_drill.rs index e487b5e325f..9588788a3d7 100644 --- a/crates/iota/src/fire_drill.rs +++ b/crates/iota/src/fire_drill.rs @@ -143,21 +143,22 @@ async fn update_next_epoch_metadata( let mut new_config = config.clone(); - // protocol key - let new_protocol_key_pair = get_authority_key_pair().1; - let new_protocol_key_pair_copy = new_protocol_key_pair.copy(); - let pop = generate_proof_of_possession(&new_protocol_key_pair, iota_address); - new_config.protocol_key_pair = AuthorityKeyPairWithPath::new(new_protocol_key_pair); + // authority key + let new_authority_key_pair = get_authority_key_pair().1; + let new_authority_key_pair_copy = new_authority_key_pair.copy(); + let pop = generate_proof_of_possession(&new_authority_key_pair, iota_address); + new_config.authority_key_pair = AuthorityKeyPairWithPath::new(new_authority_key_pair); // network key let new_network_key_pair: Ed25519KeyPair = get_key_pair().1; let new_network_key_pair_copy = new_network_key_pair.copy(); new_config.network_key_pair = KeyPairWithPath::new(IotaKeyPair::Ed25519(new_network_key_pair)); - // worker key - let new_worker_key_pair: Ed25519KeyPair = get_key_pair().1; - let new_worker_key_pair_copy = new_worker_key_pair.copy(); - new_config.worker_key_pair = KeyPairWithPath::new(IotaKeyPair::Ed25519(new_worker_key_pair)); + // protocol key + let new_protocol_key_pair: Ed25519KeyPair = get_key_pair().1; + let new_protocol_key_pair_copy = new_protocol_key_pair.copy(); + new_config.protocol_key_pair = + KeyPairWithPath::new(IotaKeyPair::Ed25519(new_protocol_key_pair)); let validators = iota_client .governance_api() @@ -208,23 +209,6 @@ async fn update_next_epoch_metadata( new_primary_addresses.push(Protocol::Udp(new_port)); info!("New primary address: {:?}", new_primary_addresses); - // worker address - let mut new_worker_addresses = Multiaddr::try_from( - validators - .iter() - .find(|v| v.iota_address == iota_address) - .unwrap() - .worker_address - .clone(), - ) - .unwrap(); - info!("Current worker address: {:?}", new_worker_addresses); - // pop out udp - new_worker_addresses.pop().unwrap(); - let new_port = local_ip_utils::get_available_port(&localhost); - new_worker_addresses.push(Protocol::Udp(new_port)); - info!("New worker address:: {:?}", new_worker_addresses); - // Save new config let mut new_config_path = iota_node_config_path.to_path_buf(); new_config_path.pop(); @@ -233,13 +217,13 @@ async fn update_next_epoch_metadata( ); new_config.persisted(&new_config_path).save()?; - // update protocol pubkey on chain + // update protocol authority pubkey on chain update_metadata_on_chain( account_key, - "update_validator_next_epoch_protocol_pubkey", + "update_validator_next_epoch_authority_pubkey", vec![ CallArg::Pure( - bcs::to_bytes(&new_protocol_key_pair_copy.public().as_bytes().to_vec()).unwrap(), + bcs::to_bytes(&new_authority_key_pair_copy.public().as_bytes().to_vec()).unwrap(), ), CallArg::Pure(bcs::to_bytes(&pop.as_bytes().to_vec()).unwrap()), ], @@ -258,12 +242,12 @@ async fn update_next_epoch_metadata( ) .await?; - // update worker pubkey on chain + // update protocol pubkey on chain update_metadata_on_chain( account_key, - "update_validator_next_epoch_worker_pubkey", + "update_validator_next_epoch_protocol_pubkey", vec![CallArg::Pure( - bcs::to_bytes(&new_worker_key_pair_copy.public().as_bytes().to_vec()).unwrap(), + bcs::to_bytes(&new_protocol_key_pair_copy.public().as_bytes().to_vec()).unwrap(), )], iota_client, ) @@ -298,15 +282,6 @@ async fn update_next_epoch_metadata( ) .await?; - // update worker address - update_metadata_on_chain( - account_key, - "update_validator_next_epoch_worker_address", - vec![CallArg::Pure(bcs::to_bytes(&new_worker_addresses).unwrap())], - iota_client, - ) - .await?; - Ok(new_config_path) } diff --git a/crates/iota/src/generate_genesis_checkpoint.rs b/crates/iota/src/generate_genesis_checkpoint.rs index 1a490a8c91f..3f73081f419 100644 --- a/crates/iota/src/generate_genesis_checkpoint.rs +++ b/crates/iota/src/generate_genesis_checkpoint.rs @@ -21,28 +21,27 @@ async fn main() { let mut builder = Builder::new(); let mut keys = Vec::new(); for i in 0..2 { - let key: AuthorityKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; - let worker_key: NetworkKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; + let authority_key: AuthorityKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; + let protocol_key: NetworkKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; let account_key: AccountKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; let network_key: NetworkKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; let validator = ValidatorInfo { name: format!("Validator {}", i), - protocol_key: key.public().into(), - worker_key: worker_key.public().clone(), + authority_key: authority_key.public().into(), + protocol_key: protocol_key.public().clone(), account_address: IotaAddress::from(account_key.public()), network_key: network_key.public().clone(), gas_price: iota_config::node::DEFAULT_VALIDATOR_GAS_PRICE, commission_rate: iota_config::node::DEFAULT_COMMISSION_RATE, network_address: local_ip_utils::new_local_tcp_address_for_testing(), p2p_address: local_ip_utils::new_local_udp_address_for_testing(), - narwhal_primary_address: local_ip_utils::new_local_udp_address_for_testing(), - narwhal_worker_address: local_ip_utils::new_local_udp_address_for_testing(), + primary_address: local_ip_utils::new_local_udp_address_for_testing(), description: String::new(), image_url: String::new(), project_url: String::new(), }; - let pop = generate_proof_of_possession(&key, account_key.public().into()); - keys.push(key); + let pop = generate_proof_of_possession(&authority_key, account_key.public().into()); + keys.push(authority_key); builder = builder.add_validator(validator, pop); } diff --git a/crates/iota/src/genesis_ceremony.rs b/crates/iota/src/genesis_ceremony.rs index 0003177c2d6..413f17d1fea 100644 --- a/crates/iota/src/genesis_ceremony.rs +++ b/crates/iota/src/genesis_ceremony.rs @@ -64,10 +64,10 @@ pub enum CeremonyCommand { name: String, /// The path to the BLS12381 authority key file for the validator. #[clap(long)] - validator_key_file: PathBuf, - /// The path to the Ed25519 network key file for the worker. + authority_key_file: PathBuf, + /// The path to the Ed25519 network key file for the consensus protocol. #[clap(long)] - worker_key_file: PathBuf, + protocol_key_file: PathBuf, /// The path to the Ed25519 network key file for the account. #[clap(long)] account_key_file: PathBuf, @@ -81,14 +81,10 @@ pub enum CeremonyCommand { /// format. #[clap(long)] p2p_address: Multiaddr, - /// The narwhal primary address. This must be a UDP address in ASCII + /// The primary address. This must be a UDP address in ASCII /// format. #[clap(long)] - narwhal_primary_address: Multiaddr, - /// The narwhal worker address. This must be a UDP address in ASCII - /// format. - #[clap(long)] - narwhal_worker_address: Multiaddr, + primary_address: Multiaddr, /// An optional description of the validator. #[clap(long)] description: Option, @@ -187,37 +183,40 @@ pub async fn run(cmd: Ceremony) -> Result<()> { CeremonyCommand::AddValidator { name, - validator_key_file, - worker_key_file, + authority_key_file, + protocol_key_file, account_key_file, network_key_file, network_address, p2p_address, - narwhal_primary_address, - narwhal_worker_address, + primary_address, description, image_url, project_url, } => { let mut builder = Builder::load(&dir).await?; - let keypair: AuthorityKeyPair = read_authority_keypair_from_file(validator_key_file)?; + let authority_keypair: AuthorityKeyPair = + read_authority_keypair_from_file(authority_key_file)?; let account_keypair: IotaKeyPair = read_keypair_from_file(account_key_file)?; - let worker_keypair: NetworkKeyPair = read_network_keypair_from_file(worker_key_file)?; + let protocol_keypair: NetworkKeyPair = + read_network_keypair_from_file(protocol_key_file)?; let network_keypair: NetworkKeyPair = read_network_keypair_from_file(network_key_file)?; - let pop = generate_proof_of_possession(&keypair, (&account_keypair.public()).into()); + let pop = generate_proof_of_possession( + &authority_keypair, + (&account_keypair.public()).into(), + ); builder = builder.add_validator( iota_genesis_builder::validator_info::ValidatorInfo { name, - protocol_key: keypair.public().into(), - worker_key: worker_keypair.public().clone(), + authority_key: authority_keypair.public().into(), + protocol_key: protocol_keypair.public().clone(), account_address: IotaAddress::from(&account_keypair.public()), network_key: network_keypair.public().clone(), gas_price: iota_config::node::DEFAULT_VALIDATOR_GAS_PRICE, commission_rate: iota_config::node::DEFAULT_COMMISSION_RATE, network_address, p2p_address, - narwhal_primary_address, - narwhal_worker_address, + primary_address, description: description.unwrap_or_default(), image_url: image_url.unwrap_or_default(), project_url: project_url.unwrap_or_default(), @@ -225,7 +224,7 @@ pub async fn run(cmd: Ceremony) -> Result<()> { pop, ); builder.save(dir)?; - println!("Successfully added validator",); + println!("Successfully added validator"); } CeremonyCommand::ListValidators => { @@ -378,8 +377,9 @@ mod test { let validators = (0..10) .map(|i| { - let keypair: AuthorityKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; - let worker_keypair: NetworkKeyPair = + let authority_keypair: AuthorityKeyPair = + get_key_pair_from_rng(&mut rand::rngs::OsRng).1; + let protocol_keypair: NetworkKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; let network_keypair: NetworkKeyPair = get_key_pair_from_rng(&mut rand::rngs::OsRng).1; @@ -387,25 +387,24 @@ mod test { get_key_pair_from_rng(&mut rand::rngs::OsRng).1; let info = ValidatorInfo { name: format!("validator-{i}"), - protocol_key: keypair.public().into(), - worker_key: worker_keypair.public().clone(), + authority_key: authority_keypair.public().into(), + protocol_key: protocol_keypair.public().clone(), account_address: IotaAddress::from(account_keypair.public()), network_key: network_keypair.public().clone(), gas_price: iota_config::node::DEFAULT_VALIDATOR_GAS_PRICE, commission_rate: iota_config::node::DEFAULT_COMMISSION_RATE, network_address: local_ip_utils::new_local_tcp_address_for_testing(), p2p_address: local_ip_utils::new_local_udp_address_for_testing(), - narwhal_primary_address: local_ip_utils::new_local_udp_address_for_testing(), - narwhal_worker_address: local_ip_utils::new_local_udp_address_for_testing(), + primary_address: local_ip_utils::new_local_udp_address_for_testing(), description: String::new(), image_url: String::new(), project_url: String::new(), }; - let key_file = dir.path().join(format!("{}-0.key", info.name)); - write_authority_keypair_to_file(&keypair, &key_file).unwrap(); + let authority_key_file = dir.path().join(format!("{}-0.key", info.name)); + write_authority_keypair_to_file(&authority_keypair, &authority_key_file).unwrap(); - let worker_key_file = dir.path().join(format!("{}.key", info.name)); - write_keypair_to_file(&IotaKeyPair::Ed25519(worker_keypair), &worker_key_file) + let protocol_key_file = dir.path().join(format!("{}.key", info.name)); + write_keypair_to_file(&IotaKeyPair::Ed25519(protocol_keypair), &protocol_key_file) .unwrap(); let network_key_file = dir.path().join(format!("{}-1.key", info.name)); @@ -417,8 +416,8 @@ mod test { .unwrap(); ( - key_file, - worker_key_file, + authority_key_file, + protocol_key_file, network_key_file, account_key_file, info, @@ -435,22 +434,26 @@ mod test { command.run().await?; // Add the validators - for (key_file, worker_key_file, network_key_file, account_key_file, validator) in - &validators + for ( + authority_key_file, + protocol_key_file, + network_key_file, + account_key_file, + validator, + ) in &validators { let command = Ceremony { path: Some(dir.path().into()), protocol_version: MAX_PROTOCOL_VERSION, command: CeremonyCommand::AddValidator { name: validator.name().to_owned(), - validator_key_file: key_file.into(), - worker_key_file: worker_key_file.into(), + authority_key_file: authority_key_file.into(), + protocol_key_file: protocol_key_file.into(), network_key_file: network_key_file.into(), account_key_file: account_key_file.into(), network_address: validator.network_address().to_owned(), p2p_address: validator.p2p_address().to_owned(), - narwhal_primary_address: validator.narwhal_primary_address.clone(), - narwhal_worker_address: validator.narwhal_worker_address.clone(), + primary_address: validator.primary_address.clone(), description: None, image_url: None, project_url: None, @@ -479,12 +482,12 @@ mod test { command.run().await?; // Have all the validators verify and sign genesis - for (key, _worker_key, _network_key, _account_key, _validator) in &validators { + for (authority_key, _protocol_key, _network_key, _account_key, _validator) in &validators { let command = Ceremony { path: Some(dir.path().into()), protocol_version: MAX_PROTOCOL_VERSION, command: CeremonyCommand::VerifyAndSign { - key_file: key.into(), + key_file: authority_key.into(), }, }; command.run().await?; diff --git a/crates/iota/src/keytool.rs b/crates/iota/src/keytool.rs index 61948cecdc2..059eccb635d 100644 --- a/crates/iota/src/keytool.rs +++ b/crates/iota/src/keytool.rs @@ -153,8 +153,8 @@ pub enum KeyToolCommand { /// This reads the content at the provided file path. The accepted format /// is a Bech32 encoded [enum IotaKeyPair] or `type AuthorityKeyPair` /// (Base64 encoded `privkey`). This prints out the account keypair as - /// Base64 encoded `flag || privkey`, the network keypair, worker - /// keypair, protocol keypair as Base64 encoded `privkey`. + /// Base64 encoded `flag || privkey`, the network keypair, protocol + /// keypair, authority keypair as Base64 encoded `privkey`. LoadKeypair { file: PathBuf }, /// To MultiSig Iota Address. Pass in a list of all public keys `flag || pk` /// in Base64. See `keytool list` for example public keys. @@ -361,7 +361,7 @@ pub struct ExportedKey { pub struct KeypairData { account_keypair: String, network_keypair: Option, - worker_keypair: Option, + protocol_keypair: Option, key_scheme: String, } @@ -669,16 +669,16 @@ impl KeyToolCommand { let output = match read_keypair_from_file(&file) { Ok(keypair) => { // Account keypair is encoded with the key scheme flag {}, - // and network and worker keypair are not. - let network_worker_keypair = match &keypair { + // and network and protocol keypair are not. + let network_protocol_keypair = match &keypair { IotaKeyPair::Ed25519(kp) => kp.encode_base64(), IotaKeyPair::Secp256k1(kp) => kp.encode_base64(), IotaKeyPair::Secp256r1(kp) => kp.encode_base64(), }; KeypairData { account_keypair: keypair.encode_base64(), - network_keypair: Some(network_worker_keypair.clone()), - worker_keypair: Some(network_worker_keypair), + network_keypair: Some(network_protocol_keypair.clone()), + protocol_keypair: Some(network_protocol_keypair), key_scheme: keypair.public().scheme().to_string(), } } @@ -689,7 +689,7 @@ impl KeyToolCommand { Ok(keypair) => KeypairData { account_keypair: keypair.encode_base64(), network_keypair: None, - worker_keypair: None, + protocol_keypair: None, key_scheme: SignatureScheme::BLS12381.to_string(), }, Err(e) => { diff --git a/crates/iota/src/validator_commands.rs b/crates/iota/src/validator_commands.rs index c853ccc907d..f9565c555af 100644 --- a/crates/iota/src/validator_commands.rs +++ b/crates/iota/src/validator_commands.rs @@ -70,7 +70,7 @@ const DEFAULT_GAS_BUDGET: u64 = 200_000_000; // 0.2 IOTA #[clap(rename_all = "kebab-case")] pub enum IotaValidatorCommand { /// Generate a `validator.info` file and 4 key pair files (account, network, - /// protocol, worker). + /// authority, protocol). #[clap(name = "make-validator-info")] MakeValidatorInfo { name: String, @@ -165,9 +165,9 @@ pub enum IotaValidatorCommand { /// Authority account address encoded in hex with 0x prefix. #[clap(name = "account-address", long)] account_address: IotaAddress, - /// Authority protocol public key encoded in hex. + /// Authority public key encoded in hex. #[clap(name = "protocol-public-key", long)] - protocol_public_key: AuthorityPublicKeyBytes, + authority_public_key: AuthorityPublicKeyBytes, }, /// Print out the serialized data of a transaction that sets the gas price /// quote for a validator. @@ -256,13 +256,13 @@ pub enum IotaValidatorCommandResponse { fn make_key_files( file_name: PathBuf, - is_protocol_key: bool, + is_authority_key: bool, key: Option, ) -> Result<()> { if file_name.exists() { println!("Use existing {:?} key file.", file_name); return Ok(()); - } else if is_protocol_key { + } else if is_authority_key { let (_, keypair) = get_authority_key_pair(); write_authority_keypair_to_file(&keypair, file_name.clone())?; println!("Generated new key file: {:?}.", file_name); @@ -303,7 +303,7 @@ impl IotaValidatorCommand { gas_price, } => { let dir = std::env::current_dir()?; - let protocol_key_file_name = dir.join("protocol.key"); + let authority_key_file_name = dir.join("authority.key"); let account_key = match context.config.keystore.get_key(&iota_address)? { IotaKeyPair::Ed25519(account_key) => IotaKeyPair::Ed25519(account_key.copy()), _ => panic!( @@ -312,26 +312,28 @@ impl IotaValidatorCommand { }; let account_key_file_name = dir.join("account.key"); let network_key_file_name = dir.join("network.key"); - let worker_key_file_name = dir.join("worker.key"); - make_key_files(protocol_key_file_name.clone(), true, None)?; + let protocol_key_file_name = dir.join("protocol.key"); + make_key_files(authority_key_file_name.clone(), true, None)?; make_key_files(account_key_file_name.clone(), false, Some(account_key))?; make_key_files(network_key_file_name.clone(), false, None)?; - make_key_files(worker_key_file_name.clone(), false, None)?; + make_key_files(protocol_key_file_name.clone(), false, None)?; - let keypair: AuthorityKeyPair = - read_authority_keypair_from_file(protocol_key_file_name)?; + let authority_keypair: AuthorityKeyPair = + read_authority_keypair_from_file(authority_key_file_name)?; let account_keypair: IotaKeyPair = read_keypair_from_file(account_key_file_name)?; - let worker_keypair: NetworkKeyPair = - read_network_keypair_from_file(worker_key_file_name)?; + let protocol_keypair: NetworkKeyPair = + read_network_keypair_from_file(protocol_key_file_name)?; let network_keypair: NetworkKeyPair = read_network_keypair_from_file(network_key_file_name)?; - let pop = - generate_proof_of_possession(&keypair, (&account_keypair.public()).into()); + let pop = generate_proof_of_possession( + &authority_keypair, + (&account_keypair.public()).into(), + ); let validator_info = GenesisValidatorInfo { info: iota_genesis_builder::validator_info::ValidatorInfo { name, - protocol_key: keypair.public().into(), - worker_key: worker_keypair.public().clone(), + authority_key: authority_keypair.public().into(), + protocol_key: protocol_keypair.public().clone(), account_address: IotaAddress::from(&account_keypair.public()), network_key: network_keypair.public().clone(), gas_price, @@ -341,14 +343,10 @@ impl IotaValidatorCommand { host_name ))?, p2p_address: Multiaddr::try_from(format!("/dns/{}/udp/8084", host_name))?, - narwhal_primary_address: Multiaddr::try_from(format!( + primary_address: Multiaddr::try_from(format!( "/dns/{}/udp/8081", host_name ))?, - narwhal_worker_address: Multiaddr::try_from(format!( - "/dns/{}/udp/8082", - host_name - ))?, description, image_url, project_url, @@ -376,7 +374,7 @@ impl IotaValidatorCommand { let args = vec![ CallArg::Pure( bcs::to_bytes(&AuthorityPublicKeyBytes::from_bytes( - validator.protocol_key().as_bytes(), + validator.authority_key().as_bytes(), )?) .unwrap(), ), @@ -384,7 +382,7 @@ impl IotaValidatorCommand { bcs::to_bytes(&validator.network_key().as_bytes().to_vec()).unwrap(), ), CallArg::Pure( - bcs::to_bytes(&validator.worker_key().as_bytes().to_vec()).unwrap(), + bcs::to_bytes(&validator.protocol_key().as_bytes().to_vec()).unwrap(), ), CallArg::Pure( bcs::to_bytes(&validator_info.proof_of_possession.as_ref().to_vec()) @@ -404,8 +402,7 @@ impl IotaValidatorCommand { ), CallArg::Pure(bcs::to_bytes(validator.network_address()).unwrap()), CallArg::Pure(bcs::to_bytes(validator.p2p_address()).unwrap()), - CallArg::Pure(bcs::to_bytes(validator.narwhal_primary_address()).unwrap()), - CallArg::Pure(bcs::to_bytes(validator.narwhal_worker_address()).unwrap()), + CallArg::Pure(bcs::to_bytes(validator.primary_address()).unwrap()), CallArg::Pure(bcs::to_bytes(&validator.gas_price()).unwrap()), CallArg::Pure(bcs::to_bytes(&validator.commission_rate()).unwrap()), ]; @@ -483,10 +480,10 @@ impl IotaValidatorCommand { IotaValidatorCommand::SerializePayloadForPoP { account_address, - protocol_public_key, + authority_public_key, } => { let mut msg: Vec = Vec::new(); - msg.extend_from_slice(protocol_public_key.as_bytes()); + msg.extend_from_slice(authority_public_key.as_bytes()); msg.extend_from_slice(account_address.as_ref()); let mut intent_msg_bytes = bcs::to_bytes(&IntentMessage::new( Intent::iota_app(IntentScope::ProofOfPossession), @@ -1186,8 +1183,6 @@ pub enum MetadataUpdate { NetworkAddress { network_address: Multiaddr }, /// Update Primary Address. Effectuate from next epoch. PrimaryAddress { primary_address: Multiaddr }, - /// Update Worker Address. Effectuate from next epoch. - WorkerAddress { worker_address: Multiaddr }, /// Update P2P Address. Effectuate from next epoch. P2pAddress { p2p_address: Multiaddr }, /// Update Network Public Key. Effectuate from next epoch. @@ -1195,15 +1190,15 @@ pub enum MetadataUpdate { #[clap(name = "network-key-path")] file: PathBuf, }, - /// Update Worker Public Key. Effectuate from next epoch. - WorkerPubKey { - #[clap(name = "worker-key-path")] + /// Update Protocol Public Key. Effectuate from next epoch. + ProtocolPubKey { + #[clap(name = "protocol-key-path")] file: PathBuf, }, - /// Update Protocol Public Key and Proof and Possession. Effectuate from + /// Update Authority Public Key and Proof and Possession. Effectuate from /// next epoch. - ProtocolPubKey { - #[clap(name = "protocol-key-path")] + AuthorityPubKey { + #[clap(name = "authority-key-path")] file: PathBuf, }, } @@ -1266,21 +1261,6 @@ async fn update_metadata( ) .await } - MetadataUpdate::WorkerAddress { worker_address } => { - worker_address.to_anemo_address().map_err(|_| { - anyhow!("Invalid worker address, it must look like `/[ip4,ip6,dns]/.../udp/port`") - })?; - // Only an active validator can leave committee. - let _status = check_status(context, HashSet::from([Pending, Active])).await?; - let args = vec![CallArg::Pure(bcs::to_bytes(&worker_address).unwrap())]; - call_0x5( - context, - "update_validator_next_epoch_worker_address", - args, - gas_budget, - ) - .await - } MetadataUpdate::P2pAddress { p2p_address } => { p2p_address.to_anemo_address().map_err(|_| { anyhow!("Invalid p2p address, it must look like `/[ip4,ip6,dns]/.../udp/port`") @@ -1310,31 +1290,31 @@ async fn update_metadata( ) .await } - MetadataUpdate::WorkerPubKey { file } => { + MetadataUpdate::ProtocolPubKey { file } => { let _status = check_status(context, HashSet::from([Pending, Active])).await?; - let worker_pub_key: NetworkPublicKey = + let protocol_pub_key: NetworkPublicKey = read_network_keypair_from_file(file)?.public().clone(); let args = vec![CallArg::Pure( - bcs::to_bytes(&worker_pub_key.as_bytes().to_vec()).unwrap(), + bcs::to_bytes(&protocol_pub_key.as_bytes().to_vec()).unwrap(), )]; call_0x5( context, - "update_validator_next_epoch_worker_pubkey", + "update_validator_next_epoch_protocol_pubkey", args, gas_budget, ) .await } - MetadataUpdate::ProtocolPubKey { file } => { + MetadataUpdate::AuthorityPubKey { file } => { let _status = check_status(context, HashSet::from([Pending, Active])).await?; let iota_address = context.active_address()?; - let protocol_key_pair: AuthorityKeyPair = read_authority_keypair_from_file(file)?; - let protocol_pub_key: AuthorityPublicKey = protocol_key_pair.public().clone(); - let pop = generate_proof_of_possession(&protocol_key_pair, iota_address); + let authority_key_pair: AuthorityKeyPair = read_authority_keypair_from_file(file)?; + let authority_pub_key: AuthorityPublicKey = authority_key_pair.public().clone(); + let pop = generate_proof_of_possession(&authority_key_pair, iota_address); let args = vec![ CallArg::Pure( bcs::to_bytes(&AuthorityPublicKeyBytes::from_bytes( - protocol_pub_key.as_bytes(), + authority_pub_key.as_bytes(), )?) .unwrap(), ), @@ -1342,7 +1322,7 @@ async fn update_metadata( ]; call_0x5( context, - "update_validator_next_epoch_protocol_pubkey", + "update_validator_next_epoch_authority_pubkey", args, gas_budget, ) diff --git a/crates/shared-crypto/src/intent.rs b/crates/shared-crypto/src/intent.rs index 69117c58d4b..493c2f8e7c8 100644 --- a/crates/shared-crypto/src/intent.rs +++ b/crates/shared-crypto/src/intent.rs @@ -66,7 +66,7 @@ pub enum IntentScope { PersonalMessage = 3, // Used for a user signature on a personal message. SenderSignedTransaction = 4, // Used for an authority signature on a user signed transaction. ProofOfPossession = 5, /* Used as a signature representing an authority's proof of - * possession of its authority protocol key. */ + * possession of its authority key. */ HeaderDigest = 6, // Used for narwhal authority signature on header digest. BridgeEventUnused = 7, // for bridge purposes but it's currently not included in messages. ConsensusBlock = 8, // Used for consensus authority signature on block's digest diff --git a/crates/simulacrum/src/store/in_mem_store.rs b/crates/simulacrum/src/store/in_mem_store.rs index ad27ae28bee..e704f797259 100644 --- a/crates/simulacrum/src/store/in_mem_store.rs +++ b/crates/simulacrum/src/store/in_mem_store.rs @@ -353,8 +353,8 @@ impl KeyStore { .iter() .map(|config| { ( - config.protocol_public_key(), - config.protocol_key_pair().copy(), + config.authority_public_key(), + config.authority_key_pair().copy(), ) }) .collect(); diff --git a/docker/iota-network/genesis/compose-validators.yaml b/docker/iota-network/genesis/compose-validators.yaml index 9f151b02cac..0c6fab83fc7 100644 --- a/docker/iota-network/genesis/compose-validators.yaml +++ b/docker/iota-network/genesis/compose-validators.yaml @@ -15,40 +15,32 @@ parameters: epoch_duration_ms: 120000 validator_config_info: - commission_rate: 0 - consensus_address: /ip4/127.0.0.1/tcp/8083/http gas_price: 1000 name: validator1 - narwhal_primary_address: /dns/validator1/udp/8081 - narwhal_worker_address: /dns/validator1/udp/8082 + primary_address: /dns/validator1/udp/8081 network_address: /dns/validator1/tcp/8080/http p2p_address: /dns/validator1/udp/8084 stake: 20000000000000000 genesis: genesis-file-location: /opt/iota/genesis.blob - commission_rate: 0 - consensus_address: /ip4/127.0.0.1/tcp/8083/http gas_price: 1000 name: validator2 - narwhal_primary_address: /dns/validator2/udp/8081 - narwhal_worker_address: /dns/validator2/udp/8082 + primary_address: /dns/validator2/udp/8081 network_address: /dns/validator2/tcp/8080/http p2p_address: /dns/validator2/udp/8084 stake: 20000000000000000 - commission_rate: 0 - consensus_address: /ip4/127.0.0.1/tcp/8083/http gas_price: 1000 name: validator3 - narwhal_primary_address: /dns/validator3/udp/8081 - narwhal_worker_address: /dns/validator3/udp/8082 + primary_address: /dns/validator3/udp/8081 network_address: /dns/validator3/tcp/8080/http p2p_address: /dns/validator3/udp/8084 stake: 20000000000000000 - commission_rate: 0 - consensus_address: /ip4/127.0.0.1/tcp/8083/http gas_price: 1000 name: validator4 - narwhal_primary_address: /dns/validator4/udp/8081 - narwhal_worker_address: /dns/validator4/udp/8082 + primary_address: /dns/validator4/udp/8081 network_address: /dns/validator4/tcp/8080/http p2p_address: /dns/validator4/udp/8084 stake: 20000000000000000 diff --git a/docker/iota-private-network/configs/genesis-template.yaml b/docker/iota-private-network/configs/genesis-template.yaml index 7475532dea0..0ce6832306c 100644 --- a/docker/iota-private-network/configs/genesis-template.yaml +++ b/docker/iota-private-network/configs/genesis-template.yaml @@ -20,36 +20,28 @@ validator_config_info: - commission_rate: 0 gas_price: 1000 name: validator-1 - consensus_address: /ip4/127.0.0.1/tcp/8083/http - narwhal_primary_address: /dns/validator-1/udp/8081 - narwhal_worker_address: /dns/validator-1/udp/8082 + primary_address: /dns/validator-1/udp/8081 network_address: /dns/validator-1/tcp/8080/http p2p_address: /dns/validator-1/udp/8084 stake: 20000000000000000 - commission_rate: 0 gas_price: 1000 name: validator-2 - consensus_address: /ip4/127.0.0.1/tcp/8083/http - narwhal_primary_address: /dns/validator-2/udp/8081 - narwhal_worker_address: /dns/validator-2/udp/8082 + primary_address: /dns/validator-2/udp/8081 network_address: /dns/validator-2/tcp/8080/http p2p_address: /dns/validator-2/udp/8084 stake: 20000000000000000 - commission_rate: 0 gas_price: 1000 name: validator-3 - consensus_address: /ip4/127.0.0.1/tcp/8083/http - narwhal_primary_address: /dns/validator-3/udp/8081 - narwhal_worker_address: /dns/validator-3/udp/8082 + primary_address: /dns/validator-3/udp/8081 network_address: /dns/validator-3/tcp/8080/http p2p_address: /dns/validator-3/udp/8084 stake: 20000000000000000 - commission_rate: 0 gas_price: 1000 name: validator-4 - consensus_address: /ip4/127.0.0.1/tcp/8083/http - narwhal_primary_address: /dns/validator-4/udp/8081 - narwhal_worker_address: /dns/validator-4/udp/8082 + primary_address: /dns/validator-4/udp/8081 network_address: /dns/validator-4/tcp/8080/http p2p_address: /dns/validator-4/udp/8084 stake: 20000000000000000 diff --git a/docs/content/developer/cryptography/transaction-auth/intent-signing.mdx b/docs/content/developer/cryptography/transaction-auth/intent-signing.mdx index 00ff1ba78c1..a2318989b24 100644 --- a/docs/content/developer/cryptography/transaction-auth/intent-signing.mdx +++ b/docs/content/developer/cryptography/transaction-auth/intent-signing.mdx @@ -73,13 +73,13 @@ Under the hood, the `new_secure` method in Rust and the `signData` method in Typ ## Authority Signature -The authority signature is created using the protocol key. The data that it commits to is also an intent message `intent || message`. See all available intent scopes [in the source code](https://github.com/iotaledger/iota/blob/cb515773e83495bff09569764bef70120c21474f/crates/shared-crypto/src/intent.rs#L62) +The authority signature is created using the authority key. The data that it commits to is also an intent message `intent || message`. See all available intent scopes [in the source code](https://github.com/iotaledger/iota/blob/cb515773e83495bff09569764bef70120c21474f/crates/shared-crypto/src/intent.rs#L62) ### How to Generate Proof of Possession for an Authority -When an authority request to join the network, the protocol public key and its proof of possession (PoP) are required to be submitted. PoP is required to prevent [rogue key attack](https://crypto.stanford.edu/~dabo/pubs/papers/BLSmultisig.html). +When an authority request to join the network, the authority public key and its proof of possession (PoP) are required to be submitted. PoP is required to prevent [rogue key attack](https://crypto.stanford.edu/~dabo/pubs/papers/BLSmultisig.html). -The proof of possession is a BLS signature created using the authority's protocol private key, committed over the following message: `intent || pubkey || address || epoch`. Here `intent` is serialized to `[5, 0, 0]` representing an intent with scope as "Proof of Possession", version as "V0" and app_id as "IOTA". `pubkey` is the serialized public key bytes of the authority's BLS protocol key. `address` is the account address associated with the authority's account key. `epoch` is serialized to `[0, 0, 0, 0, 0, 0, 0, 0]`. +The proof of possession is a BLS signature created using the authority's private key, committed over the following message: `intent || pubkey || address || epoch`. Here `intent` is serialized to `[5, 0, 0]` representing an intent with scope as "Proof of Possession", version as "V0" and app_id as "IOTA". `pubkey` is the serialized public key bytes of the authority's BLS authority key. `address` is the account address associated with the authority's account key. `epoch` is serialized to `[0, 0, 0, 0, 0, 0, 0, 0]`. To generate a proof of possession in Rust, see implementation at `fn generate_proof_of_possession`. For test vectors, see `fn test_proof_of_possession`. diff --git a/docs/content/developer/cryptography/transaction-auth/signatures.mdx b/docs/content/developer/cryptography/transaction-auth/signatures.mdx index 3edfb515154..b115d20e5fd 100644 --- a/docs/content/developer/cryptography/transaction-auth/signatures.mdx +++ b/docs/content/developer/cryptography/transaction-auth/signatures.mdx @@ -60,13 +60,13 @@ See a concrete example for offline signing using CLI in the [Offline Signing](of The Authority on IOTA (collection of validators) holds three distinctive keypairs: -1. [Protocol key pair](#protocol-key-pair) +1. [Authority key pair](#authority-key-pair) 1. [Account key pair](#account-key-pair) 1. [Network key pair](#network-key-pair) -### Protocol key pair +### Authority key pair -The protocol key pair provides authority signatures on user-signed transactions if they are verified. When a stake of the authorities that provide signatures on user transactions passes the required two-thirds threshold, IOTA executes the transaction. IOTA uses the BLS12381 scheme for its fast verification on aggregated signatures for a given number of authorities. In particular, IOTA uses the minSig BLS mode, where each individual public key is 96 bytes, while the signature is 48 bytes. The latter is important as typically validators register their keys once at the beginning of each epoch and then they continuously sign transactions; thus, we optimize on minimum signature size. +The Authority key pair provides authority signatures on user-signed transactions if they are verified. When a stake of the authorities that provide signatures on user transactions passes the required two-thirds threshold, IOTA executes the transaction. IOTA uses the BLS12381 scheme for its fast verification on aggregated signatures for a given number of authorities. In particular, IOTA uses the minSig BLS mode, where each individual public key is 96 bytes, while the signature is 48 bytes. The latter is important as typically validators register their keys once at the beginning of each epoch and then they continuously sign transactions; thus, we optimize on minimum signature size. As with the BLS scheme, you can aggregate independent signatures resulting in a single BLS signature payload. IOTA also accompanies the aggregated signature with a bitmap to denote which of the validators signed. This effectively reduces the authorities' signature size from (2f + 1) × `BLS_sig` size to just one `BLS_sig` payload, which in turn has significant network cost benefits resulting in compressed transaction certificates independently on the validators set size. diff --git a/docs/content/references/cli/ceremony.mdx b/docs/content/references/cli/ceremony.mdx index bfafd230d0e..5f6943ba522 100644 --- a/docs/content/references/cli/ceremony.mdx +++ b/docs/content/references/cli/ceremony.mdx @@ -69,14 +69,13 @@ Each validator is added one at a time, and is persisted in the `committee` folde ```shell iota genesis-ceremony add-validator \ --name validator0 \ - --validator-key-file validator.key \ - --worker-key-file validator-worker.key \ + --authority-key-file validator-authority.key \ + --protocol-key-file validator-protocol.key \ --account-key-file validator-account.key \ --network-key-file validator-network.key \ --network-address /ip4/127.0.0.1/tcp/38189/http \ --p2p-address /ip4/127.0.0.1/udp/34523 \ - --narwhal-primary-address /ip4/127.0.0.1/udp/38603 \ - --narwhal-worker-address /ip4/127.0.0.1/udp/36603 \ + --primary-address /ip4/127.0.0.1/udp/38603 \ --description validator0 \ --image-url https://www.iota.org/favicon.png \ --project-url https://www.iota.org @@ -91,15 +90,14 @@ iota genesis-ceremony add-validator \ info: name: validator0 account-address: 0xae12525173c83e472daf8c30e80ec6e220675c329029fe81dcae9bb3e53d4aef - protocol-key: l5SIw1DYpic0kkkKDQm5NuLxWhzICh2WymxnVCutKkIzsaJx8u71qWdvRzN7QoRqEsGONoGpkCu8VbRFp0+prU/lTzeozmJTeou5JmW8JWSIZ1aLrZ41+vKluYoV2tVB - worker-key: bjoiPMq9KY38ug6fwYKLIz/uPegBrghszVphlEHbX4c= + authority-key: l5SIw1DYpic0kkkKDQm5NuLxWhzICh2WymxnVCutKkIzsaJx8u71qWdvRzN7QoRqEsGONoGpkCu8VbRFp0+prU/lTzeozmJTeou5JmW8JWSIZ1aLrZ41+vKluYoV2tVB + protocol-key: bjoiPMq9KY38ug6fwYKLIz/uPegBrghszVphlEHbX4c= network-key: lMg+5fuSD/E65lxbk6bqB1QWPuVsxGAUIQWHEmSKJWg= gas-price: 1000 commission-rate: 200 network-address: /ip4/127.0.0.1/tcp/38189/http p2p-address: /ip4/127.0.0.1/udp/34523 - narwhal-primary-address: /ip4/127.0.0.1/udp/38603 - narwhal-worker-address: /ip4/127.0.0.1/udp/36603 + primary-address: /ip4/127.0.0.1/udp/38603 description: validator0 image-url: https://www.iota.org/favicon.png project-url: https://www.iota.org diff --git a/docs/content/references/cli/keytool.mdx b/docs/content/references/cli/keytool.mdx index 55ce922b3f0..f9ab9bcddc2 100644 --- a/docs/content/references/cli/keytool.mdx +++ b/docs/content/references/cli/keytool.mdx @@ -30,8 +30,8 @@ Commands: export Output the private key of the given key identity in Iota CLI Keystore as Bech32 encoded string starting with `iotaprivkey` list List all keys by its Iota address, Base64 encoded public key, key scheme name in iota.keystore load-keypair This reads the content at the provided file path. The accepted format can be [enum IotaKeyPair] (Base64 encoded of 33-byte `flag || privkey`) or `type - AuthorityKeyPair` (Base64 encoded `privkey`). This prints out the account keypair as Base64 encoded `flag || privkey`, the network keypair, worker keypair, - protocol keypair as Base64 encoded `privkey` + AuthorityKeyPair` (Base64 encoded `privkey`). This prints out the account keypair as Base64 encoded `flag || privkey`, the network keypair, protocol keypair, + authority keypair as Base64 encoded `privkey` multi-sig-address To MultiSig Iota Address. Pass in a list of all public keys `flag || pk` in Base64. See `keytool list` for example public keys multi-sig-combine-partial-sig Provides a list of participating signatures (`flag || sig || pk` encoded in Base64), threshold, a list of all public keys and a list of their weights that define the MultiSig address. Returns a valid MultiSig signature and its sender address. The result can be used as signature field for `iota client diff --git a/docs/content/references/cli/validator.mdx b/docs/content/references/cli/validator.mdx index 823de5f5dd1..9c80b24227e 100644 --- a/docs/content/references/cli/validator.mdx +++ b/docs/content/references/cli/validator.mdx @@ -14,7 +14,7 @@ A tool for validators and validator candidates Usage: iota validator [OPTIONS] [COMMAND] Commands: - make-validator-info Generate a `validator.info` file and 4 key pair files (account, network, protocol, worker) + make-validator-info Generate a `validator.info` file and 4 key pair files (account, network, authority, protocol) become-candidate Submit an on-chain transaction to become a validator candidate. The parameter is the file path to the `validator.info` generated by `MakeValidatorInfo` join-committee Once you collect enough staking amount, run this command to become a pending validator. A pending validator will become active and join the committee starting from next epoch leave-committee Leave committee starting with the next epoch @@ -22,7 +22,7 @@ Commands: update-metadata Update the validator metadata update-gas-price Update gas price that is used to calculate Reference Gas Price report-validator Report or un-report a validator as bad or non-performant - serialize-payload-pop Serialize the payload that is used to generate Proof of Possession. This is useful to take the payload offline for an Authority protocol keypair to sign + serialize-payload-pop Serialize the payload that is used to generate Proof of Possession. This is useful to take the payload offline for an Authority keypair to sign display-gas-price-update-raw-txn Print out the serialized data of a transaction that sets the gas price quote for a validator help Print this message or the help of the given subcommand(s) @@ -165,9 +165,9 @@ $ iota validator display-metadata 0x8359fff1dc629bad933cf1781564a6d98a7277ac391e 0x8359fff1dc629bad933cf1781564a6d98a7277ac391e70bd0af7e050b3927573's valdiator status: Active { "iotaAddress": "0x8359fff1dc629bad933cf1781564a6d98a7277ac391e70bd0af7e050b3927573", - "protocolPubkeyBytes": "lUhBLNuc6bosReVt+jv+BXZboiOjZQyT5tfJbMS1StEyBmPmF7TTuGl2vy/S8zKWGSEbPKPapz46phPZgFRy7TjXEdt6XjBHf/bkEg1atucEzAMPT/6cIx2G5We7wlXK", + "authorityPubkeyBytes": "lUhBLNuc6bosReVt+jv+BXZboiOjZQyT5tfJbMS1StEyBmPmF7TTuGl2vy/S8zKWGSEbPKPapz46phPZgFRy7TjXEdt6XjBHf/bkEg1atucEzAMPT/6cIx2G5We7wlXK", "networkPubkeyBytes": "1JiYHZHJFtuxim7woWhPGdBIe4QPoyvLVgpCRRZwUWg=", - "workerPubkeyBytes": "XhjH8q+isy4LP4GS1txLJYl+KQ9kV7b5dnu6C2x4XIk=", + "protocolPubkeyBytes": "XhjH8q+isy4LP4GS1txLJYl+KQ9kV7b5dnu6C2x4XIk=", "proofOfPossessionBytes": "ovRMD5206HPBOoTfx+TgB5NXIKpbra4AuJRVGFSaaFbP2hAAZBDWpP1OD0Nyackf", "name": "validator-2.r.iota-rebased-alphanet", "description": "validator-2.r.iota-rebased-alphanet", @@ -176,15 +176,13 @@ $ iota validator display-metadata 0x8359fff1dc629bad933cf1781564a6d98a7277ac391e "netAddress": "/dns/validator-2.r.iota-rebased-alphanet.iota.cafe/tcp/8080/http", "p2pAddress": "/dns/validator-2.r.iota-rebased-alphanet.iota.cafe/udp/8084", "primaryAddress": "/dns/validator-2.r.iota-rebased-alphanet.iota.cafe/udp/8081", - "workerAddress": "/dns/validator-2.r.iota-rebased-alphanet.iota.cafe/udp/8082", - "nextEpochProtocolPubkeyBytes": null, + "nextEpochAuthorityPubkeyBytes": null, "nextEpochProofOfPossession": null, "nextEpochNetworkPubkeyBytes": null, - "nextEpochWorkerPubkeyBytes": null, + "nextEpochProtocolPubkeyBytes": null, "nextEpochNetAddress": null, "nextEpochP2pAddress": null, "nextEpochPrimaryAddress": null, - "nextEpochWorkerAddress": null, "votingPower": "2500", "operationCapId": "0xa88b6ac306932c77f7bc228690c35104ab8b4cd4a174ace5296d01581ae4f2d5", "gasPrice": "1000", @@ -424,9 +422,9 @@ $ iota validator report-validator 0xf...3d9 ### Generate the Payload To Create PoP -Serialize the payload that is used to generate Proof of Possession. This allows the signer to take the payload offline for an Authority protocol BLS keypair to sign. +Serialize the payload that is used to generate Proof of Possession. This allows the signer to take the payload offline for an Authority BLS keypair to sign. ```shell -$ iota validator serialize-payload-pop --account-address $ACCOUNT_ADDRESS --protocol-public-key $BLS_PUBKEY +$ iota validator serialize-payload-pop --account-address $ACCOUNT_ADDRESS --authority-public-key $BLS_PUBKEY ``` ```shell diff --git a/docs/site/static/json/node-operators/validator-tools.json b/docs/site/static/json/node-operators/validator-tools.json index e5540bf1a0b..c0178eaba25 100644 --- a/docs/site/static/json/node-operators/validator-tools.json +++ b/docs/site/static/json/node-operators/validator-tools.json @@ -21,9 +21,9 @@ "questionText": "Which metadata changes take effect immediately for IOTA validators?", "answerOptions": [ { "answerText": "name, description, image URL, and project URL", "isCorrect": true }, - { "answerText": "network address, protocol public key, and worker public key", "isCorrect": false }, - { "answerText": "worker address, primary address, and protocol public key", "isCorrect": false }, - { "answerText": "worker address, description, and project URL", "isCorrect": false } + { "answerText": "network address, authority public key, and protocol public key", "isCorrect": false }, + { "answerText": "primary address, and authority public key", "isCorrect": false }, + { "answerText": "description, and project URL", "isCorrect": false } ] } ] diff --git a/nre/ansible/roles/iota-node/tasks/iptables.yaml b/nre/ansible/roles/iota-node/tasks/iptables.yaml index 2994d9ce312..aab3113f0f4 100644 --- a/nre/ansible/roles/iota-node/tasks/iptables.yaml +++ b/nre/ansible/roles/iota-node/tasks/iptables.yaml @@ -54,21 +54,13 @@ protocol: tcp comment: iota-node consensus -- name: Allow UDP destination port 8081 / iota-node narwhal-primary-address connectivity +- name: Allow UDP destination port 8081 / iota-node primary-address connectivity iptables: chain: INPUT destination_port: 8081 jump: ACCEPT protocol: udp - comment: iota-node narwhal-primary-address - -- name: Allow UDP destination port 8082 / iota-node narwhal-worker-address connectivity - iptables: - chain: INPUT - destination_port: 8082 - jump: ACCEPT - protocol: udp - comment: iota-node narwhal-worker-address + comment: iota-node primary-address - name: Allow UDP destination port 8084 / iota-node peer-to-peer connectivity iptables: diff --git a/nre/config/validator.yaml b/nre/config/validator.yaml index b070d7eb378..57773f17f7d 100644 --- a/nre/config/validator.yaml +++ b/nre/config/validator.yaml @@ -1,8 +1,8 @@ --- +authority-key-pair: + path: /opt/iota/key-pairs/authority.key protocol-key-pair: path: /opt/iota/key-pairs/protocol.key -worker-key-pair: - path: /opt/iota/key-pairs/worker.key network-key-pair: path: /opt/iota/key-pairs/network.key db-path: /opt/iota/db/authorities_db @@ -10,7 +10,6 @@ network-address: /ip4/0.0.0.0/tcp/8080/http metrics-address: 0.0.0.0:9184 admin-interface-port: 1337 consensus-config: - address: /ip4/127.0.0.1/tcp/8083/http db-path: /opt/iota/db/consensus_db internal-worker-address: null narwhal-config: diff --git a/nre/docker/README.md b/nre/docker/README.md index 3d604a55f76..e015e6077f6 100644 --- a/nre/docker/README.md +++ b/nre/docker/README.md @@ -14,10 +14,10 @@ Tested using: Add the paths to your private keys to validator.yaml. If you chose to put them in `/opt/iota/key-pairs`, you can use the following example: ``` -protocol-key-pair: +authority-key-pair: + path: /opt/iota/key-pairs/authority.key +protocol-key-pair: path: /opt/iota/key-pairs/protocol.key -worker-key-pair: - path: /opt/iota/key-pairs/worker.key network-key-pair: path: /opt/iota/key-pairs/network.key ``` diff --git a/nre/systemd/README.md b/nre/systemd/README.md index 1c43c26d7b8..b80e9a26fb6 100644 --- a/nre/systemd/README.md +++ b/nre/systemd/README.md @@ -48,10 +48,10 @@ Make sure when you copy them they retain `iota` user permissions. To be safe you Add the paths to your private keys to validator.yaml. If you chose to put them in `/opt/iota/key-pairs`, you can use the following example: ``` +authority-key-pair: + path: /opt/iota/key-pairs/authority.key protocol-key-pair: path: /opt/iota/key-pairs/protocol.key -worker-key-pair: - path: /opt/iota/key-pairs/worker.key network-key-pair: path: /opt/iota/key-pairs/network.key ``` diff --git a/nre/validator_tasks.md b/nre/validator_tasks.md index b78c2ea1e3b..ca99299c5e9 100644 --- a/nre/validator_tasks.md +++ b/nre/validator_tasks.md @@ -79,18 +79,18 @@ Iota Node uses the following ports by default: | protocol/port | reachability | purpose | | ------------- | ---------------- | --------------------------------- | | TCP/8080 | inbound | protocol/transaction interface | -| UDP/8081 | inbound/outbound | narwhal primary interface | -| UDP/8082 | inbound/outbound | narwhal worker interface | -| TCP/8083 | localhost | iota -> narwhal interface | +| UDP/8081 | inbound/outbound | primary interface | | UDP/8084 | inbound/outbound | peer to peer state sync interface | | TCP/8443 | outbound | metrics pushing | | TCP/9184 | localhost | metrics scraping | -To run a validator successfully it is critical that ports 8080-8084 are open as outlined above, including the specific protocol (TCP/UDP). +To run a validator successfully it is critical that ports 8080-8084 are open as outlined above, including the specific +protocol (TCP/UDP). ## Network Buffer -From load testing IOTA validator networks, it has been determined that the default Linux network buffer sizes are too small. +From load testing IOTA validator networks, it has been determined that the default Linux network buffer sizes are too +small. We recommend increasing them using one of the following two methods: ### Option 1: With /etc/sysctl.d/ @@ -114,7 +114,8 @@ sudo sysctl --system ### Option 2: With sysctl command -These modifications do not persist across system restarts. Therefore, the commands should be run each time the host restarts. +These modifications do not persist across system restarts. Therefore, the commands should be run each time the host +restarts. ```shell sudo sysctl -w net.core.wmem_max=104857600 @@ -133,7 +134,8 @@ sudo sysctl -a | egrep [rw]mem ## Storage -All Iota Node-related data is stored by default under `/opt/iota/db/`. This is controlled in the Iota Node configuration file. +All Iota Node-related data is stored by default under `/opt/iota/db/`. This is controlled in the Iota Node configuration +file. ```shell $ cat /opt/iota/config/validator.yaml | grep db-path @@ -162,12 +164,12 @@ sudo rm -rf /opt/iota/db/authorities_db /opt/iota/db/consensus_db The following keys are used by Iota Node: -| key | scheme | purpose | -| ------------ | -------- | -------------------------------- | -| protocol.key | bls12381 | transactions, narwhal consensus | -| account.key | ed25519 | controls assets for staking | -| network.key | ed25519 | narwhal primary, iota state sync | -| worker.key | ed25519 | validate narwhal workers | +| key | scheme | purpose | +| ------------- | -------- | ------------------------------------------------------- | +| authority.key | bls12381 | transactions, BLS key to create an aggregated signature | +| account.key | ed25519 | controls assets for staking | +| network.key | ed25519 | consensus primary, iota state sync | +| protocol.key | ed25519 | key to sign mysticeti consensus blocks | These are configured in the [Iota Node configuration file](#configuration). @@ -175,7 +177,8 @@ These are configured in the [Iota Node configuration file](#configuration). ### Metrics -Iota Node exposes metrics via a local HTTP interface. These can be scraped for use in a central monitoring system as well as viewed directly from the node. +Iota Node exposes metrics via a local HTTP interface. These can be scraped for use in a central monitoring system as +well as viewed directly from the node. - View all metrics: @@ -239,20 +242,27 @@ Public dashboard for network wide visibility: ## Software Updates -When an update is required to the Iota Node software the following process can be used. Follow the relevant Systemd or Docker Compose runbook depending on your deployment type. It is highly unlikely that you will want to restart with a clean database. +When an update is required to the Iota Node software the following process can be used. Follow the relevant Systemd or +Docker Compose runbook depending on your deployment type. It is highly unlikely that you will want to restart with a +clean database. - If using Systemd, [here](./systemd/#updates) - If using Docker Compose, [here](./docker/#updates) ## State Sync -Checkpoints in Iota contain the permanent history of the network. They are comparable to blocks in other blockchains with the biggest difference being that they are lagging instead of leading. All transactions are final and executed prior to being included in a checkpoint. +Checkpoints in Iota contain the permanent history of the network. They are comparable to blocks in other blockchains +with the biggest difference being that they are lagging instead of leading. All transactions are final and executed +prior to being included in a checkpoint. These checkpoints are synchronized between validators and fullnodes via a dedicated peer to peer state sync interface. -Inter-validator state sync is always permitted, however, there are controls available to limit what fullnodes are allowed to sync from a specific validator. +Inter-validator state sync is always permitted, however, there are controls available to limit what fullnodes are +allowed to sync from a specific validator. -The default and recommended `max-concurrent-connections: 0` configuration does not affect inter-validator state sync, but will restrict all fullnodes from syncing. The Iota Node [configuration](#configuration) can be modified to allow a known fullnode to sync from a validator: +The default and recommended `max-concurrent-connections: 0` configuration does not affect inter-validator state sync, +but will restrict all fullnodes from syncing. The Iota Node [configuration](#configuration) can be modified to allow a +known fullnode to sync from a validator: ```shell p2p-config: @@ -267,7 +277,8 @@ p2p-config: ## Chain Operations -The following chain operations are executed using the `iota` CLI. This binary is built and provided as a release similar to `iota-node`, examples: +The following chain operations are executed using the `iota` CLI. This binary is built and provided as a release similar +to `iota-node`, examples: ```shell wget https://releases.iota.io/$IOTA_SHA/iota @@ -285,7 +296,8 @@ It is recommended and often required that the `iota` binary release/version matc You can leverage the [Validator Tool](../validator-tools) to perform the majority of the following tasks. -An active/pending validator can update its on-chain metadata by submitting a transaction. Some metadata changes take effect immediately, including: +An active/pending validator can update its on-chain metadata by submitting a transaction. Some metadata changes take +effect immediately, including: - name - description @@ -302,7 +314,8 @@ To update metadata, a validator makes a MoveCall transaction that interacts with iota client call --package 0x3 --module iota_system --function update_validator_name --args 0x5 \"new_validator_name\" --gas-budget 10000 ``` -2. To update the p2p address starting from next epoch to `/ip4/192.168.1.1`, use the Iota Client CLI to call `iota_system::update_validator_next_epoch_p2p_address`: +2. To update the p2p address starting from next epoch to `/ip4/192.168.1.1`, use the Iota Client CLI to call + `iota_system::update_validator_next_epoch_p2p_address`: ```shell iota client call --package 0x3 --module iota_system --function update_validator_next_epoch_p2p_address --args 0x5 "[4, 192, 168, 1, 1]" --gas-budget 10000 @@ -313,26 +326,37 @@ iota client call --package 0x3 --module iota_system --function update_validator_ ### Operation Cap -To avoid touching account keys too often and allowing them to be stored offline, validators can delegate the operation ability to another address. This address can then update the reference gas price and tallying rule on behalf of the validator. +To avoid touching account keys too often and allowing them to be stored offline, validators can delegate the operation +ability to another address. This address can then update the reference gas price and tallying rule on behalf of the +validator. -Upon creating a `Validator`, an `UnverifiedValidatorOperationCap` is created as well and transferred to the validator address. The holder of this `Cap` object (short for "Capability") therefore could perform operational actions for this validator. To authorize another address to conduct these operations, a validator transfers the object to another address that they control. The transfer can be done by using the Iota Client CLI: `iota client transfer`. +Upon creating a `Validator`, an `UnverifiedValidatorOperationCap` is created as well and transferred to the validator +address. The holder of this `Cap` object (short for "Capability") therefore could perform operational actions for this +validator. To authorize another address to conduct these operations, a validator transfers the object to another address +that they control. The transfer can be done by using the Iota Client CLI: `iota client transfer`. -To rotate the delegatee address or revoke the authorization, the current holder of `Cap` transfers it to another address. In the event of compromised or lost keys, the validator could create a new `Cap` object to invalidate the incumbent one. This is done by calling `iota_system::rotate_operation_cap`: +To rotate the delegatee address or revoke the authorization, the current holder of `Cap` transfers it to another +address. In the event of compromised or lost keys, the validator could create a new `Cap` object to invalidate the +incumbent one. This is done by calling `iota_system::rotate_operation_cap`: ```shell iota client call --package 0x3 --module iota_system --function rotate_operation_cap --args 0x5 --gas-budget 10000 ``` -By default the new `Cap` object is transferred to the validator address, which then could be transferred to the new delegatee address. At this point, the old `Cap` becomes invalidated and no longer represents eligibility. +By default the new `Cap` object is transferred to the validator address, which then could be transferred to the new +delegatee address. At this point, the old `Cap` becomes invalidated and no longer represents eligibility. -To get the current valid `Cap` object's ID of a validator, use the Iota Client CLI `iota client objects` command after setting the holder as the active address. +To get the current valid `Cap` object's ID of a validator, use the Iota Client CLI `iota client objects` command after +setting the holder as the active address. ### Updating the Gas Price Survey Quote -To update the Gas Price Survey Quote of a validator, which is used to calculate the Reference Gas Price at the end of the epoch, the sender needs to hold a valid [`UnverifiedValidatorOperationCap`](#operation-cap). The sender could be the validator itself, or a trusted delegatee. To do so, call `iota_system::request_set_gas_price`: +To update the Gas Price Survey Quote of a validator, which is used to calculate the Reference Gas Price at the end of +the epoch, the sender needs to hold a valid [`UnverifiedValidatorOperationCap`](#operation-cap). The sender could be the +validator itself, or a trusted delegatee. To do so, call `iota_system::request_set_gas_price`: ```shell iota client call --package 0x3 --module iota_system --function request_set_gas_price --args 0x5 {cap_object_id} {new_gas_price} --gas-budget 10000 @@ -340,7 +364,8 @@ iota client call --package 0x3 --module iota_system --function request_set_gas_p ### Reporting/Un-reporting Validators -To report a validator or undo an existing report, the sender needs to hold a valid [`UnverifiedValidatorOperationCap`](#operation-cap). The sender could be the validator itself, or a trusted delegatee. To do so, call `iota_system::report_validator/undo_report_validator`: +To report a validator or undo an existing report, the sender needs to hold a valid [`UnverifiedValidatorOperationCap`](#operation-cap). The sender could be the validator itself, or a trusted delegatee. To +do so, call `iota_system::report_validator/undo_report_validator`: ```shell iota client call --package 0x3 --module iota_system --function report_validator/undo_report_validator --args 0x5 {cap_object_id} {reportee_address} --gas-budget 10000 @@ -350,14 +375,18 @@ Once a validator is reported by `2f + 1` other validators by voting power, their ### Joining the Validator Set -In order for an Iota address to join the validator set, they need to first sign up as a validator candidate by calling `iota_system::request_add_validator_candidate` with their metadata and initial configs: +In order for an Iota address to join the validator set, they need to first sign up as a validator candidate by calling +`iota_system::request_add_validator_candidate` with their metadata and initial configs: ```shell -iota client call --package 0x3 --module iota_system --function request_add_validator_candidate --args 0x5 {protocol_pubkey_bytes} {network_pubkey_bytes} {worker_pubkey_bytes} {proof_of_possession} {name} {description} {image_url} {project_url} {net_address} -{p2p_address} {primary_address} {worker_address} {gas_price} {commission_rate} --gas-budget 10000 +iota client call --package 0x3 --module iota_system --function request_add_validator_candidate --args 0x5 {authority_pubkey_bytes} {network_pubkey_bytes} {protocol_pubkey_bytes} {proof_of_possession} {name} {description} {image_url} {project_url} {net_address} +{p2p_address} {primary_address} {gas_price} {commission_rate} --gas-budget 10000 ``` -After an address becomes a validator candidate, any address (including the candidate address itself) can start staking with the candidate's staking pool. Once a candidate's staking pool has accumulated at least `iota_system::MIN_VALIDATOR_JOINING_STAKE` amount of stake, the candidate can call `iota_system::request_add_validator` to officially add themselves to the next epoch's active validator set: +After an address becomes a validator candidate, any address (including the candidate address itself) can start staking +with the candidate's staking pool. Once a candidate's staking pool has accumulated at least +`iota_system::MIN_VALIDATOR_JOINING_STAKE` amount of stake, the candidate can call `iota_system::request_add_validator` +to officially add themselves to the next epoch's active validator set: ```shell iota client call --package 0x3 --module iota_system --function request_add_validator --args 0x5 --gas-budget 10000000 @@ -365,29 +394,37 @@ iota client call --package 0x3 --module iota_system --function request_add_valid ### Leaving the Validator Set -To leave the validator set starting from the next epoch, the sender needs to be an active validator in the current epoch and should call `iota_system::request_remove_validator`: +To leave the validator set starting from the next epoch, the sender needs to be an active validator in the current epoch +and should call `iota_system::request_remove_validator`: ```shell iota client call --package 0x3 --module iota_system --function request_remove_validator --args 0x5 --gas-budget 10000 ``` -After the validator is removed at the next epoch change, the staking pool will become inactive and stakes can only be withdrawn from an inactive pool. +After the validator is removed at the next epoch change, the staking pool will become inactive and stakes can only be +withdrawn from an inactive pool. ## Private Security Fixes -There may be instances where urgent security fixes need to be rolled out before publicly announcing it's presence (issues affecting liveness, invariants such as IOTA supply, governance, etc.). In order to not be actively exploited the IOTA Foundation will release signed security binaries incorporating such fixes with a delay in publishing the source code until a large % of our validators have patched the vulnerability. +There may be instances where urgent security fixes need to be rolled out before publicly announcing it's presence ( +issues affecting liveness, invariants such as IOTA supply, governance, etc.). In order to not be actively exploited the +IOTA Foundation will release signed security binaries incorporating such fixes with a delay in publishing the source +code until a large % of our validators have patched the vulnerability. This release process will be different and we expect to announce the directory for such binaries out of band. -You can download all the necessary signed binaries and docker artifacts incorporating the security fixes by using the [download_private.sh](https://github.com/iotaledger/iota/blob/main/nre/download_private.sh) +You can download all the necessary signed binaries and docker artifacts incorporating the security fixes by using +the [download_private.sh](https://github.com/iotaledger/iota/blob/main/nre/download_private.sh) Usage `./download_private.sh ` -You can also download and verify specific binaries that may not be included by the above script using the [download_and_verify_private_binary.sh](https://github.com/iotaledger/iota/blob/main/nre/download_and_verify_private_binary.sh) script. +You can also download and verify specific binaries that may not be included by the above script using +the [download_and_verify_private_binary.sh](https://github.com/iotaledger/iota/blob/main/nre/download_and_verify_private_binary.sh) +script. Usage: `./download_and_verify_private_binary.sh ` diff --git a/nre/validator_tool.md b/nre/validator_tool.md index 3fe95e51390..6767f59076c 100644 --- a/nre/validator_tool.md +++ b/nre/validator_tool.md @@ -86,10 +86,9 @@ You can update the following on-chain metadata: 5. network address 6. p2p address 7. primary address -8. worker address -9. protocol public key -10. network public key -11. worker public key +8. authority public key +9. network public key +10. protocol public key Notably, only the first 4 metadata listed above take effect immediately. @@ -105,7 +104,7 @@ $IOTA_BINARY validator update-metadata --help Operation Cap allows a validator to authorizer another account to perform certain actions on behalf of this validator. Read about [Operation Cap here](./validator-operation/validator-tasks#operation-cap). -The Operation Cap holder (either the valdiator itself or the delegatee) updates its Gas Price and reports validator peers with the Operation Cap. +The Operation Cap holder (either the validator itself or the delegatee) updates its Gas Price and reports validator peers with the Operation Cap. #### Update Gas Price From f101ef2e78c7c892583c7efc329c98308c31f1f5 Mon Sep 17 00:00:00 2001 From: Piotr Macek <4007944+piotrm50@users.noreply.github.com> Date: Wed, 23 Oct 2024 17:19:54 +0200 Subject: [PATCH 07/21] chore(consensus): cleanup throughput_aware_consensus_submission (#3576) * Remove throughput_aware_consensus_submission protocol param * Update openrpc.json * Fix clippy * Remove `consensus_throughput_calculator` because it's unused * Fix cargo check reported errors --- crates/iota-core/src/authority_server.rs | 1 - crates/iota-core/src/consensus_adapter.rs | 54 +- crates/iota-core/src/consensus_handler.rs | 35 - .../src/consensus_throughput_calculator.rs | 754 ------------------ crates/iota-core/src/epoch/randomness.rs | 2 - crates/iota-core/src/lib.rs | 1 - .../src/unit_tests/consensus_tests.rs | 2 - .../src/unit_tests/execution_driver_tests.rs | 3 - crates/iota-node/src/lib.rs | 41 +- crates/iota-open-rpc/spec/openrpc.json | 1 - crates/iota-protocol-config/src/lib.rs | 8 - .../src/single_node.rs | 1 - 12 files changed, 10 insertions(+), 893 deletions(-) delete mode 100644 crates/iota-core/src/consensus_throughput_calculator.rs diff --git a/crates/iota-core/src/authority_server.rs b/crates/iota-core/src/authority_server.rs index b773a09feb3..b842127274f 100644 --- a/crates/iota-core/src/authority_server.rs +++ b/crates/iota-core/src/authority_server.rs @@ -136,7 +136,6 @@ impl AuthorityServer { None, None, ConsensusAdapterMetrics::new_test(), - state.epoch_store_for_testing().protocol_config().clone(), )); Self::new_for_test_with_consensus_adapter(state, consensus_adapter) } diff --git a/crates/iota-core/src/consensus_adapter.rs b/crates/iota-core/src/consensus_adapter.rs index 5ee7b9b01bd..de3318ce93d 100644 --- a/crates/iota-core/src/consensus_adapter.rs +++ b/crates/iota-core/src/consensus_adapter.rs @@ -13,7 +13,7 @@ use std::{ time::Instant, }; -use arc_swap::{ArcSwap, ArcSwapOption}; +use arc_swap::ArcSwap; use bytes::Bytes; use dashmap::{DashMap, try_result::TryResult}; use futures::{ @@ -22,7 +22,6 @@ use futures::{ pin_mut, }; use iota_metrics::{GaugeGuard, GaugeGuardFutureExt, spawn_monitored_task}; -use iota_protocol_config::ProtocolConfig; use iota_simulator::{anemo::PeerId, narwhal_network::connectivity::ConnectionStatus}; use iota_types::{ base_types::{AuthorityName, TransactionDigest}, @@ -51,7 +50,6 @@ use tracing::{debug, info, warn}; use crate::{ authority::authority_per_epoch_store::AuthorityPerEpochStore, consensus_handler::{SequencedConsensusTransactionKey, classify}, - consensus_throughput_calculator::{ConsensusThroughputProfiler, Level}, epoch::reconfiguration::{ReconfigState, ReconfigurationInitiator}, metrics::LatencyObserver, }; @@ -241,15 +239,11 @@ pub struct ConsensusAdapter { connection_monitor_status: Arc, /// A structure to check the reputation scores populated by Consensus low_scoring_authorities: ArcSwap>>>, - /// The throughput profiler to be used when making decisions to submit to - /// consensus - consensus_throughput_profiler: ArcSwapOption, /// A structure to register metrics metrics: ConsensusAdapterMetrics, /// Semaphore limiting parallel submissions to narwhal submit_semaphore: Semaphore, latency_observer: LatencyObserver, - protocol_config: ProtocolConfig, } pub trait CheckConnection: Send + Sync { @@ -281,7 +275,6 @@ impl ConsensusAdapter { max_submit_position: Option, submit_delay_step_override: Option, metrics: ConsensusAdapterMetrics, - protocol_config: ProtocolConfig, ) -> Self { let num_inflight_transactions = Default::default(); let low_scoring_authorities = @@ -298,8 +291,6 @@ impl ConsensusAdapter { metrics, submit_semaphore: Semaphore::new(max_pending_local_submissions), latency_observer: LatencyObserver::new(), - consensus_throughput_profiler: ArcSwapOption::empty(), - protocol_config, } } @@ -310,10 +301,6 @@ impl ConsensusAdapter { self.low_scoring_authorities.swap(Arc::new(new_low_scoring)); } - pub fn swap_throughput_profiler(&self, profiler: Arc) { - self.consensus_throughput_profiler.store(Some(profiler)) - } - // todo - this probably need to hold some kind of lock to make sure epoch does // not change while we are recovering pub fn submit_recovered(self: &Arc, epoch_store: &Arc) { @@ -404,7 +391,6 @@ impl ConsensusAdapter { let latency = std::cmp::max(latency, MIN_LATENCY); let latency = std::cmp::min(latency, MAX_LATENCY); let latency = latency * 2; - let latency = self.override_by_throughput_profiler(position, latency); let (delay_step, position) = self.override_by_max_submit_position_settings(latency, position); @@ -420,42 +406,6 @@ impl ConsensusAdapter { ) } - // According to the throughput profile we want to either allow some transaction - // duplication or not) When throughput profile is Low and the validator is - // in position = 1, then it will submit to consensus with much lower latency. - // When throughput profile is High then we go back to default operation and - // no-one co-submits. - fn override_by_throughput_profiler(&self, position: usize, latency: Duration) -> Duration { - const LOW_THROUGHPUT_DELAY_BEFORE_SUBMIT_MS: u64 = 0; - const MEDIUM_THROUGHPUT_DELAY_BEFORE_SUBMIT_MS: u64 = 2_500; - const HIGH_THROUGHPUT_DELAY_BEFORE_SUBMIT_MS: u64 = 3_500; - - let p = self.consensus_throughput_profiler.load(); - - if let Some(profiler) = p.as_ref() { - let (level, _) = profiler.throughput_level(); - - // we only run this for the position = 1 validator to co-submit with the - // validator of position = 0. We also enable this only when the - // feature is enabled on the protocol config. - if self.protocol_config.throughput_aware_consensus_submission() && position == 1 { - return match level { - Level::Low => Duration::from_millis(LOW_THROUGHPUT_DELAY_BEFORE_SUBMIT_MS), - Level::Medium => { - Duration::from_millis(MEDIUM_THROUGHPUT_DELAY_BEFORE_SUBMIT_MS) - } - Level::High => { - let l = Duration::from_millis(HIGH_THROUGHPUT_DELAY_BEFORE_SUBMIT_MS); - - // back off according to recorded latency if it's significantly higher - if latency >= 2 * l { latency } else { l } - } - }; - } - } - latency - } - /// Overrides the latency and the position if there are defined settings for /// `max_submit_position` and `submit_delay_step_override`. If the /// `max_submit_position` has defined, then that will always be used @@ -1179,7 +1129,6 @@ mod adapter_tests { Some(1), Some(Duration::from_secs(2)), ConsensusAdapterMetrics::new_test(), - iota_protocol_config::ProtocolConfig::get_for_max_version_UNSAFE(), ); // transaction to submit @@ -1209,7 +1158,6 @@ mod adapter_tests { None, None, ConsensusAdapterMetrics::new_test(), - iota_protocol_config::ProtocolConfig::get_for_max_version_UNSAFE(), ); let (delay_step, position, positions_moved, _) = diff --git a/crates/iota-core/src/consensus_handler.rs b/crates/iota-core/src/consensus_handler.rs index 196c58d951b..78b37ab4f86 100644 --- a/crates/iota-core/src/consensus_handler.rs +++ b/crates/iota-core/src/consensus_handler.rs @@ -37,7 +37,6 @@ use crate::{ epoch_start_configuration::EpochStartConfigTrait, }, checkpoints::{CheckpointService, CheckpointServiceNotify}, - consensus_throughput_calculator::ConsensusThroughputCalculator, consensus_types::{AuthorityIndex, consensus_output_api::ConsensusOutputAPI}, execution_cache::ObjectCacheRead, scoring_decision::update_low_scoring_authorities, @@ -49,7 +48,6 @@ pub struct ConsensusHandlerInitializer { checkpoint_service: Arc, epoch_store: Arc, low_scoring_authorities: Arc>>, - throughput_calculator: Arc, } impl ConsensusHandlerInitializer { @@ -58,14 +56,12 @@ impl ConsensusHandlerInitializer { checkpoint_service: Arc, epoch_store: Arc, low_scoring_authorities: Arc>>, - throughput_calculator: Arc, ) -> Self { Self { state, checkpoint_service, epoch_store, low_scoring_authorities, - throughput_calculator, } } @@ -78,10 +74,6 @@ impl ConsensusHandlerInitializer { checkpoint_service, epoch_store: state.epoch_store_for_testing().clone(), low_scoring_authorities: Arc::new(Default::default()), - throughput_calculator: Arc::new(ConsensusThroughputCalculator::new( - None, - state.metrics.clone(), - )), } } @@ -97,7 +89,6 @@ impl ConsensusHandlerInitializer { self.low_scoring_authorities.clone(), consensus_committee, self.state.metrics.clone(), - self.throughput_calculator.clone(), ) } } @@ -128,9 +119,6 @@ pub struct ConsensusHandler { /// Lru cache to quickly discard transactions processed by consensus processed_cache: LruCache, transaction_scheduler: AsyncTransactionScheduler, - /// Using the throughput calculator to record the current consensus - /// throughput - throughput_calculator: Arc, } const PROCESSED_CACHE_CAP: usize = 1024 * 1024; @@ -144,7 +132,6 @@ impl ConsensusHandler { low_scoring_authorities: Arc>>, committee: ConsensusCommittee, metrics: Arc, - throughput_calculator: Arc, ) -> Self { // Recover last_consensus_stats so it is consistent across validators. let mut last_consensus_stats = epoch_store @@ -166,7 +153,6 @@ impl ConsensusHandler { metrics, processed_cache: LruCache::new(NonZeroUsize::new(PROCESSED_CACHE_CAP).unwrap()), transaction_scheduler, - throughput_calculator, } } @@ -233,23 +219,9 @@ impl ConsensusHandler { // (serialized, transaction, output_cert) let mut transactions = vec![]; - let timestamp = consensus_output.commit_timestamp_ms(); let leader_author = consensus_output.leader_author_index(); let commit_sub_dag_index = consensus_output.commit_sub_dag_index(); - let epoch_start = self - .epoch_store - .epoch_start_config() - .epoch_start_timestamp_ms(); - let timestamp = if timestamp < epoch_start { - error!( - "Unexpected commit timestamp {timestamp} less then epoch start time {epoch_start}, author {leader_author}, round {round}", - ); - epoch_start - } else { - timestamp - }; - debug!( %consensus_output, epoch = ?self.epoch_store.epoch(), @@ -438,10 +410,6 @@ impl ConsensusHandler { .await .expect("Unrecoverable error in consensus handler"); - // update the calculated throughput - self.throughput_calculator - .add_transactions(timestamp, transactions_to_schedule.len() as u64); - fail_point_if!("correlated-crash-after-consensus-commit-boundary", || { let key = [commit_sub_dag_index, self.epoch_store.epoch()]; if iota_simulator::random::deterministic_probability(&key, 0.01) { @@ -888,8 +856,6 @@ mod tests { let metrics = Arc::new(AuthorityMetrics::new(&Registry::new())); - let throughput_calculator = ConsensusThroughputCalculator::new(None, metrics.clone()); - let mut consensus_handler = ConsensusHandler::new( epoch_store, Arc::new(CheckpointServiceNoop {}), @@ -898,7 +864,6 @@ mod tests { Arc::new(ArcSwap::default()), consensus_committee.clone(), metrics, - Arc::new(throughput_calculator), ); // AND diff --git a/crates/iota-core/src/consensus_throughput_calculator.rs b/crates/iota-core/src/consensus_throughput_calculator.rs deleted file mode 100644 index 344df131ccf..00000000000 --- a/crates/iota-core/src/consensus_throughput_calculator.rs +++ /dev/null @@ -1,754 +0,0 @@ -// Copyright (c) Mysten Labs, Inc. -// Modifications Copyright (c) 2024 IOTA Stiftung -// SPDX-License-Identifier: Apache-2.0 - -use std::{ - collections::{BTreeMap, VecDeque}, - num::NonZeroU64, - sync::Arc, -}; - -use arc_swap::ArcSwap; -use iota_protocol_config::Chain; -use iota_types::digests::ChainIdentifier; -use narwhal_types::TimestampMs; -use parking_lot::Mutex; -use tracing::{debug, warn}; - -use crate::authority::AuthorityMetrics; - -const DEFAULT_OBSERVATIONS_WINDOW: u64 = 120; // number of observations to use to calculate the past throughput -const DEFAULT_THROUGHPUT_PROFILE_UPDATE_INTERVAL_SECS: u64 = 60; // seconds that need to pass between two consecutive throughput profile updates -const DEFAULT_THROUGHPUT_PROFILE_COOL_DOWN_THRESHOLD: u64 = 10; // 10% of throughput - -#[derive(Clone, Copy, Debug, PartialEq, Eq, Ord, PartialOrd)] -pub struct ThroughputProfile { - pub level: Level, - /// The lower range of the throughput that this profile is referring to. For - /// example, if `throughput = 1_000`, then for values >= 1_000 this - /// throughput profile applies. - pub throughput: u64, -} - -#[derive(Clone, Copy, Debug, PartialEq, Eq, Ord, PartialOrd)] -pub enum Level { - Low, - Medium, - High, -} - -impl From for Level { - fn from(value: usize) -> Self { - if value == 0 { - Level::Low - } else if value == 1 { - Level::Medium - } else { - Level::High - } - } -} - -impl From for usize { - fn from(value: Level) -> Self { - match value { - Level::Low => 0, - Level::Medium => 1, - Level::High => 2, - } - } -} - -#[derive(Debug)] -pub struct ThroughputProfileRanges { - /// Holds the throughput profiles by the throughput range (upper_throughput, - /// cool_down_threshold) - profiles: BTreeMap, -} - -impl ThroughputProfileRanges { - pub fn from_chain(chain_id: ChainIdentifier) -> ThroughputProfileRanges { - let to_profiles = |medium: u64, high: u64| -> Vec { - vec![ - ThroughputProfile { - level: Level::Low, - throughput: 0, - }, - ThroughputProfile { - level: Level::Medium, - throughput: medium, - }, - ThroughputProfile { - level: Level::High, - throughput: high, - }, - ] - }; - - match chain_id.chain() { - Chain::Mainnet => ThroughputProfileRanges::new(&to_profiles(500, 2_000)), - Chain::Testnet => ThroughputProfileRanges::new(&to_profiles(500, 2_000)), - Chain::Unknown => ThroughputProfileRanges::new(&to_profiles(1_000, 2_000)), - } - } - - pub fn new(profiles: &[ThroughputProfile]) -> Self { - let mut p: BTreeMap = BTreeMap::new(); - - for profile in profiles { - assert!( - !p.iter().any(|(_, pr)| pr.level == profile.level), - "Attempted to insert profile with same level" - ); - assert!( - p.insert(profile.throughput, *profile).is_none(), - "Attempted to insert profile with same throughput" - ); - } - - // By default the Low profile should exist with throughput 0 - assert_eq!(*p.get(&0).unwrap(), ThroughputProfile { - level: Level::Low, - throughput: 0 - }); - - Self { profiles: p } - } - - pub fn lowest_profile(&self) -> ThroughputProfile { - *self - .profiles - .first_key_value() - .expect("Should contain at least one throughput profile") - .1 - } - - pub fn highest_profile(&self) -> ThroughputProfile { - *self - .profiles - .last_key_value() - .expect("Should contain at least one throughput profile") - .1 - } - /// Resolves the throughput profile that corresponds to the provided - /// throughput. - pub fn resolve(&self, current_throughput: u64) -> ThroughputProfile { - let mut iter = self.profiles.iter(); - while let Some((threshold, profile)) = iter.next_back() { - if current_throughput >= *threshold { - return *profile; - } - } - - warn!( - "Could not resolve throughput profile for throughput {} - we shouldn't end up here. Fallback to lowest profile as default.", - current_throughput - ); - - // If not found, then we should return the lowest possible profile as default to - // stay on safe side. - self.highest_profile() - } -} - -impl Default for ThroughputProfileRanges { - fn default() -> Self { - let profiles = vec![ - ThroughputProfile { - level: Level::Low, - throughput: 0, - }, - ThroughputProfile { - level: Level::High, - throughput: 2_000, - }, - ]; - ThroughputProfileRanges::new(&profiles) - } -} - -pub type TimestampSecs = u64; - -#[derive(Debug, Copy, Clone)] -pub struct ThroughputProfileEntry { - /// The throughput profile - profile: ThroughputProfile, - /// The time when this throughput profile was created - timestamp: TimestampSecs, - /// The calculated throughput when this profile created - throughput: u64, -} - -#[derive(Default)] -struct ConsensusThroughputCalculatorInner { - observations: VecDeque<(TimestampSecs, u64)>, - total_transactions: u64, - /// The last timestamp that we considered as oldest to calculate the - /// throughput over the observations window. - last_oldest_timestamp: Option, -} - -/// The ConsensusThroughputProfiler is responsible for assigning the right -/// throughput profile by polling the measured consensus throughput. It is -/// important to rely on the ConsensusThroughputCalculator to measure throughput -/// as we need to make sure that validators will see an as possible consistent -/// view to assign the right profile. -pub struct ConsensusThroughputProfiler { - /// The throughput profile will be eligible for update every - /// `throughput_profile_update_interval` seconds. A bucketing approach - /// is followed where the throughput timestamp is used in order to calculate - /// on which seconds bucket is assigned to. When we detect a change on - /// that bucket then an update is triggered (if a different profile is - /// calculated). That allows validators to align on the update timing and - /// ensure they will eventually converge as the consensus timestamps are - /// used. - throughput_profile_update_interval: TimestampSecs, - /// When current calculated throughput (A) is lower than previous, and the - /// assessed profile is now a lower than previous, we'll change to the - /// lower profile only when (A) <= (previous_profile.throughput) * (100 - - /// throughput_profile_cool_down_threshold) / 100. Otherwise we'll stick - /// to the previous profile. We want to do that to avoid any jittery - /// behaviour that alternates between two profiles. - throughput_profile_cool_down_threshold: u64, - /// The profile ranges to use to profile the throughput - profile_ranges: ThroughputProfileRanges, - /// The most recently calculated throughput profile - last_throughput_profile: ArcSwap, - metrics: Arc, - /// The throughput calculator to use to derive the current throughput. - calculator: Arc, -} - -impl ConsensusThroughputProfiler { - pub fn new( - calculator: Arc, - throughput_profile_update_interval: Option, - throughput_profile_cool_down_threshold: Option, - metrics: Arc, - profile_ranges: ThroughputProfileRanges, - ) -> Self { - let throughput_profile_update_interval = throughput_profile_update_interval - .unwrap_or(DEFAULT_THROUGHPUT_PROFILE_UPDATE_INTERVAL_SECS); - let throughput_profile_cool_down_threshold = throughput_profile_cool_down_threshold - .unwrap_or(DEFAULT_THROUGHPUT_PROFILE_COOL_DOWN_THRESHOLD); - - assert!( - throughput_profile_update_interval > 0, - "throughput_profile_update_interval should be >= 0" - ); - - assert!( - (0..=30).contains(&throughput_profile_cool_down_threshold), - "Out of bounds provided cool down threshold offset" - ); - - debug!("Profile ranges used: {:?}", profile_ranges); - - Self { - throughput_profile_update_interval, - throughput_profile_cool_down_threshold, - last_throughput_profile: ArcSwap::from_pointee(ThroughputProfileEntry { - profile: profile_ranges.highest_profile(), - timestamp: 0, - throughput: 0, - }), // assume high throughput so the node is more conservative on bootstrap - profile_ranges, - metrics, - calculator, - } - } - - // Return the current throughput level and the corresponding throughput when - // this was last updated. If that is not set yet then as default the High - // profile is returned and the throughput will be None. - pub fn throughput_level(&self) -> (Level, u64) { - // Update throughput profile if necessary time has passed - let (throughput, timestamp) = self.calculator.current_throughput(); - let profile = self.update_and_fetch_throughput_profile(throughput, timestamp); - - (profile.profile.level, profile.throughput) - } - - // Calculate and update the throughput profile based on the provided throughput. - // The throughput profile will only get updated when a different value has - // been calculated. For example, if the `last_throughput_profile` is `Low` , - // and again we calculate it as `Low` based on input, then we'll not update - // the profile or the timestamp. We do care to perform updates only when - // profiles differ. To ensure that we are protected against throughput - // profile change fluctuations, we update a throughput profile every - // `throughput_profile_update_interval` seconds based on the provided unix - // timestamps. The last throughput profile entry is returned. - fn update_and_fetch_throughput_profile( - &self, - throughput: u64, - timestamp: TimestampSecs, - ) -> ThroughputProfileEntry { - let last_profile = self.last_throughput_profile.load(); - - // Skip any processing if provided timestamp is older than the last used one. - // Also return existing profile when provided timestamp is 0 - this - // avoids triggering an immediate update eventually overriding - // the default value. - if timestamp == 0 || timestamp < last_profile.timestamp { - return **last_profile; - } - - let profile = self.profile_ranges.resolve(throughput); - - let current_seconds_bucket = timestamp / self.throughput_profile_update_interval; - let last_profile_seconds_bucket = - last_profile.timestamp / self.throughput_profile_update_interval; - - // Update only when we minimum time has been passed since last update. - // We allow the edge case to update on the same bucket when a different profile - // has been computed for the exact same timestamp. - let should_update_profile = if current_seconds_bucket > last_profile_seconds_bucket - || (profile != last_profile.profile && last_profile.timestamp == timestamp) - { - if profile < last_profile.profile { - // If new profile is smaller than previous one, then make sure the cool down - // threshold is respected. - let min_throughput = last_profile - .profile - .throughput - .saturating_mul(100 - self.throughput_profile_cool_down_threshold) - / 100; - throughput <= min_throughput - } else { - true - } - } else { - false - }; - - if should_update_profile { - let p = ThroughputProfileEntry { - profile, - timestamp, - throughput, - }; - debug!("Updating throughput profile to {:?}", p); - self.last_throughput_profile.store(Arc::new(p)); - - self.metrics - .consensus_calculated_throughput_profile - .set(usize::from(profile.level) as i64); - - p - } else { - **last_profile - } - } -} - -/// ConsensusThroughputCalculator is calculating the transaction throughput as -/// this is coming out from consensus. The throughput is calculated using a -/// sliding window approach and leveraging the timestamps provided by consensus. -pub struct ConsensusThroughputCalculator { - /// The number of transaction throughput observations that should be stored - /// within the observations vector in the - /// ConsensusThroughputCalculatorInner. Those observations will be used to - /// calculate the current transactions throughput. We want to select a - /// number that give us enough observations so we better calculate the - /// throughput and protected against spikes. A large enough value though - /// will make us less reactive to throughput changes. - observations_window: u64, - inner: Mutex, - current_throughput: ArcSwap<(u64, TimestampSecs)>, - metrics: Arc, -} - -impl ConsensusThroughputCalculator { - pub fn new(observations_window: Option, metrics: Arc) -> Self { - let observations_window = observations_window - .unwrap_or(NonZeroU64::new(DEFAULT_OBSERVATIONS_WINDOW).unwrap()) - .get(); - - Self { - observations_window, - inner: Mutex::new(ConsensusThroughputCalculatorInner::default()), - current_throughput: ArcSwap::from_pointee((0, 0)), - metrics, - } - } - - // Adds an observation of the number of transactions that have been sequenced - // after deduplication and the corresponding leader timestamp. The - // observation timestamps should be monotonically incremented otherwise - // observation will be ignored. - pub fn add_transactions(&self, timestamp_ms: TimestampMs, num_of_transactions: u64) { - let mut inner = self.inner.lock(); - let timestamp_secs: TimestampSecs = timestamp_ms / 1_000; // lowest bucket we care is seconds - - if let Some((front_ts, transactions)) = inner.observations.front_mut() { - // First check that the timestamp is monotonically incremented - ignore any - // observation that is not later from previous one (it shouldn't - // really happen). - if timestamp_secs < *front_ts { - warn!( - "Ignoring observation of transactions:{} as has earlier timestamp than last observation {}s < {}s", - num_of_transactions, timestamp_secs, front_ts - ); - return; - } - - // Not very likely, but if transactions refer to same second we add to the last - // element. - if timestamp_secs == *front_ts { - *transactions = transactions.saturating_add(num_of_transactions); - } else { - inner - .observations - .push_front((timestamp_secs, num_of_transactions)); - } - } else { - inner - .observations - .push_front((timestamp_secs, num_of_transactions)); - } - - // update total number of transactions in the observations list - inner.total_transactions = inner.total_transactions.saturating_add(num_of_transactions); - - // If we have more values on our window of max values, remove the last one, and - // calculate throughput. If we have the exact same values on our window - // of max values, then still calculate the throughput to ensure - // that we are taking into account the case where the last bucket gets updated - // because it falls into the same second. - if inner.observations.len() as u64 >= self.observations_window { - let last_element_ts = if inner.observations.len() as u64 == self.observations_window { - if let Some(ts) = inner.last_oldest_timestamp { - ts - } else { - warn!( - "Skip calculation - we still don't have enough elements to pop the last observation" - ); - return; - } - } else { - let (ts, txes) = inner.observations.pop_back().unwrap(); - inner.total_transactions = inner.total_transactions.saturating_sub(txes); - ts - }; - - // update the last oldest timestamp - inner.last_oldest_timestamp = Some(last_element_ts); - - // get the first element's timestamp to calculate the transaction rate - let (first_element_ts, _first_element_transactions) = inner - .observations - .front() - .expect("There should be at least on element in the list"); - - let period = first_element_ts.saturating_sub(last_element_ts); - - if period > 0 { - let current_throughput = inner.total_transactions / period; - - self.metrics - .consensus_calculated_throughput - .set(current_throughput as i64); - - self.current_throughput - .store(Arc::new((current_throughput, timestamp_secs))); - } else { - warn!( - "Skip calculating throughput as time period is {}. This is very unlikely to happen, should investigate.", - period - ); - } - } - } - - // Returns the current (live calculated) throughput and the corresponding - // timestamp of when this got updated. - pub fn current_throughput(&self) -> (u64, TimestampSecs) { - *self.current_throughput.load().as_ref() - } -} - -#[cfg(test)] -mod tests { - use prometheus::Registry; - - use super::*; - use crate::consensus_throughput_calculator::Level::{High, Low}; - - #[test] - pub fn test_throughput_profile_ranges() { - let ranges = ThroughputProfileRanges::default(); - - assert_eq!(ranges.resolve(0), ThroughputProfile { - level: Low, - throughput: 0 - }); - assert_eq!(ranges.resolve(1_000), ThroughputProfile { - level: Low, - throughput: 0 - }); - assert_eq!(ranges.resolve(2_000), ThroughputProfile { - level: High, - throughput: 2_000 - }); - assert_eq!(ranges.resolve(u64::MAX), ThroughputProfile { - level: High, - throughput: 2_000 - }); - } - - #[test] - #[cfg_attr(msim, ignore)] - pub fn test_consensus_throughput_calculator() { - let metrics = Arc::new(AuthorityMetrics::new(&Registry::new())); - let max_observation_points: NonZeroU64 = NonZeroU64::new(3).unwrap(); - - let calculator = ConsensusThroughputCalculator::new(Some(max_observation_points), metrics); - - assert_eq!(calculator.current_throughput(), (0, 0)); - - calculator.add_transactions(1000 as TimestampMs, 1_000); - calculator.add_transactions(2000 as TimestampMs, 1_000); - calculator.add_transactions(3000 as TimestampMs, 1_000); - calculator.add_transactions(4000 as TimestampMs, 1_000); - - // We expect to have a rate of 1K tx/sec with last update timestamp the 4th - // second - assert_eq!(calculator.current_throughput(), (1000, 4)); - - // We are adding more transactions to get over 2K tx/sec - calculator.add_transactions(5_000 as TimestampMs, 2_500); - calculator.add_transactions(6_000 as TimestampMs, 2_800); - assert_eq!(calculator.current_throughput(), (2100, 6)); - - // Let's now add 0 transactions after 5 seconds. Since 5 seconds have passed - // since the last update and now the transactions are 0 we expect the - // throughput to be calculate as: 2800 + 2500 + 0 = 5300 / (15sec - - // 4sec) = 5300 / 11sec = 481 tx/sec - calculator.add_transactions(15_000 as TimestampMs, 0); - - assert_eq!(calculator.current_throughput(), (481, 15)); - - // Adding zero transactions for the next 5 seconds will make throughput zero - calculator.add_transactions(17_000 as TimestampMs, 0); - assert_eq!(calculator.current_throughput(), (233, 17)); - - calculator.add_transactions(19_000 as TimestampMs, 0); - calculator.add_transactions(20_000 as TimestampMs, 0); - assert_eq!(calculator.current_throughput(), (0, 20)); - - // By adding now a few entries with lots of transactions increase again the - // throughput - calculator.add_transactions(21_000 as TimestampMs, 1_000); - calculator.add_transactions(22_000 as TimestampMs, 2_000); - calculator.add_transactions(23_000 as TimestampMs, 3_100); - assert_eq!(calculator.current_throughput(), (2033, 23)); - } - - #[test] - #[cfg_attr(msim, ignore)] - pub fn test_throughput_calculator_same_timestamp_observations() { - let metrics = Arc::new(AuthorityMetrics::new(&Registry::new())); - let max_observation_points: NonZeroU64 = NonZeroU64::new(2).unwrap(); - - let calculator = ConsensusThroughputCalculator::new(Some(max_observation_points), metrics); - - // adding one observation - calculator.add_transactions(1_000, 0); - - // Adding observations with same timestamp should fall under the same bucket and - // won't lead to throughput update. - for _ in 0..10 { - calculator.add_transactions(2_340, 100); - } - assert_eq!(calculator.current_throughput(), (0, 0)); - - // Adding now one observation on a different second bucket will change - // throughput - calculator.add_transactions(5_000, 0); - - assert_eq!(calculator.current_throughput(), (250, 5)); - - // Updating further the last bucket with more transactions it keeps updating the - // throughput - calculator.add_transactions(5_000, 400); - assert_eq!(calculator.current_throughput(), (350, 5)); - - calculator.add_transactions(5_000, 300); - assert_eq!(calculator.current_throughput(), (425, 5)); - } - - #[test] - #[cfg_attr(msim, ignore)] - pub fn test_consensus_throughput_profiler() { - let metrics = Arc::new(AuthorityMetrics::new(&Registry::new())); - let throughput_profile_update_interval: TimestampSecs = 5; - let max_observation_points: NonZeroU64 = NonZeroU64::new(3).unwrap(); - let throughput_profile_cool_down_threshold: u64 = 10; - - let ranges = ThroughputProfileRanges::default(); - - let calculator = Arc::new(ConsensusThroughputCalculator::new( - Some(max_observation_points), - metrics.clone(), - )); - let profiler = ConsensusThroughputProfiler::new( - calculator.clone(), - Some(throughput_profile_update_interval), - Some(throughput_profile_cool_down_threshold), - metrics, - ranges, - ); - - // When no transactions exists, the calculator will return by default "High" to - // err on the assumption that there is lots of load. - assert_eq!(profiler.throughput_level(), (High, 0)); - - calculator.add_transactions(1000 as TimestampMs, 1_000); - calculator.add_transactions(2000 as TimestampMs, 1_000); - calculator.add_transactions(3000 as TimestampMs, 1_000); - - // We expect to have a rate of 1K tx/sec, that's < 2K limit , so throughput - // profile remains to "High" - nothing gets updated - assert_eq!(profiler.throughput_level(), (High, 0)); - - // We are adding more transactions to get over 2K tx/sec, so throughput profile - // should now be categorised as "high" - calculator.add_transactions(4000 as TimestampMs, 2_500); - calculator.add_transactions(5000 as TimestampMs, 2_800); - assert_eq!(profiler.throughput_level(), (High, 2100)); - - // Let's now add 0 transactions after at least 5 seconds. Since the update - // should happen every 5 seconds now the transactions are 0 we expect - // the throughput to be calculate as: 2800 + 2800 + 0 = 5300 / 15 - 4sec - // = 5600 / 11sec = 509 tx/sec - calculator.add_transactions(7_000 as TimestampMs, 2_800); - calculator.add_transactions(15_000 as TimestampMs, 0); - - assert_eq!(profiler.throughput_level(), (Low, 509)); - - // Adding zero transactions for the next 5 seconds will make throughput zero. - // Profile will remain Low and throughput will get updated - calculator.add_transactions(17_000 as TimestampMs, 0); - calculator.add_transactions(19_000 as TimestampMs, 0); - calculator.add_transactions(20_000 as TimestampMs, 0); - - assert_eq!(profiler.throughput_level(), (Low, 0)); - - // By adding a few entries with lots of transactions for the exact same last - // timestamp it will trigger a throughput profile update. - calculator.add_transactions(20_000 as TimestampMs, 4_000); - calculator.add_transactions(20_000 as TimestampMs, 4_000); - calculator.add_transactions(20_000 as TimestampMs, 4_000); - assert_eq!(profiler.throughput_level(), (High, 2400)); - - // no further updates will happen until the next 5sec bucket update. - calculator.add_transactions(22_000 as TimestampMs, 0); - calculator.add_transactions(23_000 as TimestampMs, 0); - assert_eq!(profiler.throughput_level(), (High, 2400)); - } - - #[test] - #[cfg_attr(msim, ignore)] - pub fn test_consensus_throughput_profiler_update_interval() { - let metrics = Arc::new(AuthorityMetrics::new(&Registry::new())); - let throughput_profile_update_interval: TimestampSecs = 5; - let max_observation_points: NonZeroU64 = NonZeroU64::new(2).unwrap(); - - let ranges = ThroughputProfileRanges::default(); - - let calculator = Arc::new(ConsensusThroughputCalculator::new( - Some(max_observation_points), - metrics.clone(), - )); - let profiler = ConsensusThroughputProfiler::new( - calculator.clone(), - Some(throughput_profile_update_interval), - None, - metrics, - ranges, - ); - - // Current setup is `throughput_profile_update_interval` = 5sec, which means - // that throughput profile should get updated every 5 seconds (based on - // the provided unix timestamp). - - calculator.add_transactions(3_000 as TimestampMs, 2_200); - calculator.add_transactions(4_000 as TimestampMs, 4_200); - calculator.add_transactions(7_000 as TimestampMs, 4_200); - - assert_eq!(profiler.throughput_level(), (High, 2_100)); - - // When adding transactions at timestamp 10s the bucket changes and the profile - // should get updated - calculator.add_transactions(10_000 as TimestampMs, 1_000); - - assert_eq!(profiler.throughput_level(), (Low, 866)); - - // Now adding transactions at timestamp 16s the bucket changes and profile - // should get updated - calculator.add_transactions(16_000 as TimestampMs, 20_000); - - assert_eq!(profiler.throughput_level(), (High, 2333)); - - // Keep adding transactions that fall under the same timestamp as the previous - // one, even though traffic should be marked as low it doesn't until the - // bucket of 20s is updated. - calculator.add_transactions(17_000 as TimestampMs, 0); - calculator.add_transactions(18_000 as TimestampMs, 0); - calculator.add_transactions(19_000 as TimestampMs, 0); - - assert_eq!(profiler.throughput_level(), (High, 2333)); - - calculator.add_transactions(20_000 as TimestampMs, 0); - - assert_eq!(profiler.throughput_level(), (Low, 0)); - } - - #[test] - #[cfg_attr(msim, ignore)] - pub fn test_consensus_throughput_profiler_cool_down() { - let metrics = Arc::new(AuthorityMetrics::new(&Registry::new())); - let throughput_profile_update_window: TimestampSecs = 3; - let max_observation_points: NonZeroU64 = NonZeroU64::new(3).unwrap(); - let throughput_profile_cool_down_threshold: u64 = 10; - - let ranges = ThroughputProfileRanges::default(); - - let calculator = Arc::new(ConsensusThroughputCalculator::new( - Some(max_observation_points), - metrics.clone(), - )); - let profiler = ConsensusThroughputProfiler::new( - calculator.clone(), - Some(throughput_profile_update_window), - Some(throughput_profile_cool_down_threshold), - metrics, - ranges, - ); - - // Adding 4 observations of 3_000 tx/sec, so in the end throughput profile - // should be flagged as high - for i in 1..=4 { - calculator.add_transactions(i * 1_000, 3_000); - } - assert_eq!(profiler.throughput_level(), (High, 3_000)); - - // Now let's add some transactions to bring throughput little bit bellow the - // upper Low threshold (2000 tx/sec) but still above the 10% offset - // which is 1800 tx/sec. - calculator.add_transactions(5_000, 1_900); - calculator.add_transactions(6_000, 1_900); - calculator.add_transactions(7_000, 1_900); - - assert_eq!(calculator.current_throughput(), (1_900, 7)); - assert_eq!(profiler.throughput_level(), (High, 3_000)); - - // Let's bring down more throughput - now the throughput profile should get - // updated - calculator.add_transactions(8_000, 1_500); - calculator.add_transactions(9_000, 1_500); - calculator.add_transactions(10_000, 1_500); - - assert_eq!(profiler.throughput_level(), (Low, 1500)); - } -} diff --git a/crates/iota-core/src/epoch/randomness.rs b/crates/iota-core/src/epoch/randomness.rs index 73494a4548f..e94279ed176 100644 --- a/crates/iota-core/src/epoch/randomness.rs +++ b/crates/iota-core/src/epoch/randomness.rs @@ -902,7 +902,6 @@ mod tests { None, None, ConsensusAdapterMetrics::new_test(), - state.epoch_store_for_testing().protocol_config().clone(), )); let epoch_store = state.epoch_store_for_testing(); let randomness_manager = RandomnessManager::try_new( @@ -1034,7 +1033,6 @@ mod tests { None, None, ConsensusAdapterMetrics::new_test(), - state.epoch_store_for_testing().protocol_config().clone(), )); let epoch_store = state.epoch_store_for_testing(); let randomness_manager = RandomnessManager::try_new( diff --git a/crates/iota-core/src/lib.rs b/crates/iota-core/src/lib.rs index 25a2ea9e7d6..76e7ea8f71c 100644 --- a/crates/iota-core/src/lib.rs +++ b/crates/iota-core/src/lib.rs @@ -13,7 +13,6 @@ pub mod checkpoints; pub mod consensus_adapter; pub mod consensus_handler; pub mod consensus_manager; -pub mod consensus_throughput_calculator; pub(crate) mod consensus_types; pub mod consensus_validator; pub mod db_checkpoint_handler; diff --git a/crates/iota-core/src/unit_tests/consensus_tests.rs b/crates/iota-core/src/unit_tests/consensus_tests.rs index 9a605fceba1..5161a63ae23 100644 --- a/crates/iota-core/src/unit_tests/consensus_tests.rs +++ b/crates/iota-core/src/unit_tests/consensus_tests.rs @@ -144,7 +144,6 @@ pub fn make_consensus_adapter_for_test( Ok(()) } } - let epoch_store = state.epoch_store_for_testing(); // Make a new consensus adapter instance. Arc::new(ConsensusAdapter::new( Arc::new(SubmitDirectly(state.clone(), execute)), @@ -155,7 +154,6 @@ pub fn make_consensus_adapter_for_test( None, None, metrics, - epoch_store.protocol_config().clone(), )) } diff --git a/crates/iota-core/src/unit_tests/execution_driver_tests.rs b/crates/iota-core/src/unit_tests/execution_driver_tests.rs index 1c2b2d7273a..a2a51628601 100644 --- a/crates/iota-core/src/unit_tests/execution_driver_tests.rs +++ b/crates/iota-core/src/unit_tests/execution_driver_tests.rs @@ -770,7 +770,6 @@ async fn test_authority_txn_signing_pushback() { None, None, ConsensusAdapterMetrics::new_test(), - epoch_store.protocol_config().clone(), )); let validator_service = Arc::new(ValidatorService::new_for_tests( authority_state.clone(), @@ -892,7 +891,6 @@ async fn test_authority_txn_execution_pushback() { .await; // Create a validator service around the `authority_state`. - let epoch_store = authority_state.epoch_store_for_testing(); let consensus_adapter = Arc::new(ConsensusAdapter::new( Arc::new(MockSubmitToConsensus::new()), authority_state.name, @@ -902,7 +900,6 @@ async fn test_authority_txn_execution_pushback() { None, None, ConsensusAdapterMetrics::new_test(), - epoch_store.protocol_config().clone(), )); let validator_service = Arc::new(ValidatorService::new_for_tests( authority_state.clone(), diff --git a/crates/iota-node/src/lib.rs b/crates/iota-node/src/lib.rs index d0d58adf2ce..47bd2af4379 100644 --- a/crates/iota-node/src/lib.rs +++ b/crates/iota-node/src/lib.rs @@ -50,10 +50,8 @@ use iota_core::{ CheckConnection, ConnectionMonitorStatus, ConsensusAdapter, ConsensusAdapterMetrics, SubmitToConsensus, }, + consensus_handler::ConsensusHandlerInitializer, consensus_manager::{ConsensusClient, ConsensusManager, ConsensusManagerTrait}, - consensus_throughput_calculator::{ - ConsensusThroughputCalculator, ConsensusThroughputProfiler, ThroughputProfileRanges, - }, consensus_validator::{IotaTxValidator, IotaTxValidatorMetrics}, db_checkpoint_handler::DBCheckpointHandler, epoch::{ @@ -65,11 +63,13 @@ use iota_core::{ module_cache_metrics::ResolverMetrics, overload_monitor::overload_monitor, rest_index::RestIndexStore, + safe_client::SafeClientMetricsBase, signature_verifier::SignatureVerifierMetrics, state_accumulator::{StateAccumulator, StateAccumulatorMetrics}, storage::{RestReadStore, RocksDbStore}, traffic_controller::metrics::TrafficControllerMetrics, transaction_orchestrator::TransactionOrchestrator, + validator_tx_finalizer::ValidatorTxFinalizer, }; use iota_json_rpc::{ JsonRpcServerBuilder, bridge_api::BridgeReadApi, coin_api::CoinReadApi, @@ -99,6 +99,7 @@ use iota_types::{ crypto::{KeypairTraits, RandomnessRound}, digests::ChainIdentifier, error::{IotaError, IotaResult}, + execution_config_utils::to_binary_config, iota_system_state::{ IotaSystemState, IotaSystemStateTrait, epoch_start_iota_system_state::{EpochStartSystemState, EpochStartSystemStateTrait}, @@ -115,6 +116,10 @@ use narwhal_network::metrics::{ MetricsMakeCallbackHandler, NetworkConnectionMetrics, NetworkMetrics, }; use prometheus::Registry; +#[cfg(msim)] +pub use simulator::set_jwk_injector; +#[cfg(msim)] +use simulator::*; use tap::tap::TapFallible; use tokio::{ runtime::Handle, @@ -150,6 +155,7 @@ mod simulator { use std::sync::atomic::AtomicBool; use super::*; + pub(super) struct SimState { pub sim_node: iota_simulator::runtime::NodeHandle, pub sim_safe_mode_expected: AtomicBool, @@ -197,16 +203,6 @@ mod simulator { } } -use iota_core::{ - consensus_handler::ConsensusHandlerInitializer, safe_client::SafeClientMetricsBase, - validator_tx_finalizer::ValidatorTxFinalizer, -}; -use iota_types::execution_config_utils::to_binary_config; -#[cfg(msim)] -pub use simulator::set_jwk_injector; -#[cfg(msim)] -use simulator::*; - pub struct IotaNode { config: NodeConfig, validator_components: Mutex>, @@ -1199,7 +1195,6 @@ impl IotaNode { state.name, connection_monitor_status.clone(), ®istry_service.default_registry(), - epoch_store.protocol_config().clone(), client.clone(), )); let consensus_manager = @@ -1315,27 +1310,11 @@ impl IotaNode { .await?; } - let throughput_calculator = Arc::new(ConsensusThroughputCalculator::new( - None, - state.metrics.clone(), - )); - - let throughput_profiler = Arc::new(ConsensusThroughputProfiler::new( - throughput_calculator.clone(), - None, - None, - state.metrics.clone(), - ThroughputProfileRanges::from_chain(epoch_store.get_chain_identifier()), - )); - - consensus_adapter.swap_throughput_profiler(throughput_profiler); - let consensus_handler_initializer = ConsensusHandlerInitializer::new( state.clone(), checkpoint_service.clone(), epoch_store.clone(), low_scoring_authorities, - throughput_calculator, ); consensus_manager @@ -1434,7 +1413,6 @@ impl IotaNode { authority: AuthorityName, connection_monitor_status: Arc, prometheus_registry: &Registry, - protocol_config: ProtocolConfig, consensus_client: Arc, ) -> ConsensusAdapter { let ca_metrics = ConsensusAdapterMetrics::new(prometheus_registry); @@ -1450,7 +1428,6 @@ impl IotaNode { consensus_config.max_submit_position, consensus_config.submit_delay_step_override(), ca_metrics, - protocol_config, ) } diff --git a/crates/iota-open-rpc/spec/openrpc.json b/crates/iota-open-rpc/spec/openrpc.json index 188b2b54eae..c74f982d78d 100644 --- a/crates/iota-open-rpc/spec/openrpc.json +++ b/crates/iota-open-rpc/spec/openrpc.json @@ -1311,7 +1311,6 @@ "no_extraneous_module_bytes": true, "passkey_auth": true, "rethrow_serialization_type_layout_errors": true, - "throughput_aware_consensus_submission": false, "zklogin_auth": false }, "attributes": { diff --git a/crates/iota-protocol-config/src/lib.rs b/crates/iota-protocol-config/src/lib.rs index 033fd722790..864e6af8270 100644 --- a/crates/iota-protocol-config/src/lib.rs +++ b/crates/iota-protocol-config/src/lib.rs @@ -141,10 +141,6 @@ struct FeatureFlags { #[serde(skip_serializing_if = "is_false")] bridge: bool, - // Enable throughput aware consensus submission - #[serde(skip_serializing_if = "is_false")] - throughput_aware_consensus_submission: bool, - // If true, multisig containing zkLogin sig is accepted. #[serde(skip_serializing_if = "is_false")] accept_zklogin_in_multisig: bool, @@ -1040,10 +1036,6 @@ impl ProtocolConfig { self.feature_flags.zklogin_max_epoch_upper_bound_delta } - pub fn throughput_aware_consensus_submission(&self) -> bool { - self.feature_flags.throughput_aware_consensus_submission - } - pub fn hardened_otw_check(&self) -> bool { self.feature_flags.hardened_otw_check } diff --git a/crates/iota-single-node-benchmark/src/single_node.rs b/crates/iota-single-node-benchmark/src/single_node.rs index 2611f9b4e84..fd066c470e7 100644 --- a/crates/iota-single-node-benchmark/src/single_node.rs +++ b/crates/iota-single-node-benchmark/src/single_node.rs @@ -72,7 +72,6 @@ impl SingleValidator { None, None, ConsensusAdapterMetrics::new_test(), - epoch_store.protocol_config().clone(), )); // TODO: for validator benchmarking purposes, we should allow for traffic // control to be configurable and introduce traffic control benchmarks From 633c3fb9f0105af117be1d9db953443bad46d682 Mon Sep 17 00:00:00 2001 From: evavirseda Date: Wed, 23 Oct 2024 17:44:09 +0200 Subject: [PATCH 08/21] fix(explorer): white background shoring when zooming in or on very large screens (#3594) --- apps/explorer/src/components/layout/PageLayout.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/explorer/src/components/layout/PageLayout.tsx b/apps/explorer/src/components/layout/PageLayout.tsx index ec4f1a34853..dcd7ca952c8 100644 --- a/apps/explorer/src/components/layout/PageLayout.tsx +++ b/apps/explorer/src/components/layout/PageLayout.tsx @@ -44,7 +44,7 @@ export function PageLayout({ content, loading }: PageLayoutProps): JSX.Element { : "The explorer is running slower than usual. We're working to fix the issue and appreciate your patience."; return ( -

+
{renderNetworkDegradeBanner && (
)} -
+
{!loading &&
{content}
}