From 4daf77b471824641b30216a38eaee81abc0503e8 Mon Sep 17 00:00:00 2001 From: brentstone Date: Mon, 13 May 2024 12:00:09 -0600 Subject: [PATCH 1/4] improve `ValidatorState` documentation --- crates/proof_of_stake/src/types/mod.rs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/crates/proof_of_stake/src/types/mod.rs b/crates/proof_of_stake/src/types/mod.rs index 936c17507a..6be5b78fdb 100644 --- a/crates/proof_of_stake/src/types/mod.rs +++ b/crates/proof_of_stake/src/types/mod.rs @@ -534,7 +534,8 @@ impl Position { } } -/// Validator's state. +/// Validator's state. May correspond to the validator set within which the +/// validator belongs. #[derive( Debug, Clone, @@ -547,19 +548,22 @@ impl Position { Eq, )] pub enum ValidatorState { - /// A validator who may participate in the consensus + /// A validator who may participate in the consensus and is one of the top + /// `max_validator_slots` validators with stake above + /// `validator_stake_threshold` Consensus, - /// A validator who does not have enough stake to be considered in the - /// `Consensus` validator set but still may have active bonds and unbonds + /// A validator who has stake greater than the `validator_stake_threshold` + /// but is not one of the top `max_validator_slots` validators who have + /// such stake BelowCapacity, /// A validator who has stake less than the `validator_stake_threshold` /// parameter BelowThreshold, /// A validator who is deactivated via a tx when a validator no longer - /// wants to be one (not implemented yet) + /// wants to be considered for consensus Inactive, - /// A `Jailed` validator has been prohibited from participating in - /// consensus due to a misbehavior + /// A validator who is prohibited from participating in + /// consensus due to a misbehavior or downtime Jailed, } From 0400685b32fb2863e21b5e320812d7e5dd5b5ee0 Mon Sep 17 00:00:00 2001 From: brentstone Date: Wed, 22 May 2024 15:21:04 -0700 Subject: [PATCH 2/4] remove unused deps --- Cargo.lock | 52 ------- crates/apps/Cargo.toml | 3 - crates/ethereum_bridge/Cargo.toml | 5 - crates/ibc/Cargo.toml | 2 - crates/namada/Cargo.toml | 23 --- crates/parameters/Cargo.toml | 1 - crates/proof_of_stake/Cargo.toml | 2 - crates/sdk/Cargo.toml | 1 - crates/shielded_token/Cargo.toml | 1 - crates/state/Cargo.toml | 4 - crates/storage/Cargo.toml | 1 - crates/tests/Cargo.toml | 10 +- crates/tx_prelude/Cargo.toml | 2 - crates/vp_env/Cargo.toml | 1 - crates/vp_prelude/Cargo.toml | 1 - examples/Cargo.toml | 3 - wasm/Cargo.lock | 95 ------------ wasm_for_tests/Cargo.lock | 146 ------------------ wasm_for_tests/tx_fail/Cargo.toml | 2 - .../tx_infinite_guest_gas/Cargo.toml | 2 - .../tx_infinite_host_gas/Cargo.toml | 2 - wasm_for_tests/tx_invalid_data/Cargo.toml | 2 - wasm_for_tests/tx_memory_limit/Cargo.toml | 2 - wasm_for_tests/tx_no_op/Cargo.toml | 2 - wasm_for_tests/tx_proposal_code/Cargo.toml | 2 - .../Cargo.toml | 2 - .../tx_proposal_masp_reward/Cargo.toml | 2 - wasm_for_tests/tx_read_storage_key/Cargo.toml | 2 - wasm_for_tests/tx_write/Cargo.toml | 1 - wasm_for_tests/vp_always_false/Cargo.toml | 2 - wasm_for_tests/vp_always_true/Cargo.toml | 2 - wasm_for_tests/vp_eval/Cargo.toml | 1 - .../vp_infinite_guest_gas/Cargo.toml | 2 - .../vp_infinite_host_gas/Cargo.toml | 1 - wasm_for_tests/vp_memory_limit/Cargo.toml | 2 - wasm_for_tests/vp_read_storage_key/Cargo.toml | 2 - 36 files changed, 2 insertions(+), 384 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0a9d914fe1..c3b4a86b51 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4365,23 +4365,15 @@ dependencies = [ "assert_matches", "async-trait", "base58", - "bimap", "borsh 1.2.1", "borsh-ext", "byte-unit", - "circular-queue", "clru", - "data-encoding", - "derivation-path", - "derivative", - "ethbridge-bridge-contract", "ethers", "eyre", - "futures", "ibc-testkit", "itertools 0.12.1", "k256", - "konst", "linkme", "loupe", "masp_primitives", @@ -4393,7 +4385,6 @@ dependencies = [ "namada_gas", "namada_governance", "namada_ibc", - "namada_macros", "namada_migrations", "namada_parameters", "namada_proof_of_stake", @@ -4406,33 +4397,22 @@ dependencies = [ "namada_tx_env", "namada_vote_ext", "namada_vp_env", - "num-traits 0.2.17", - "num256", - "orion", - "owo-colors", "parity-wasm", - "paste", "pretty_assertions", "proptest", "prost 0.12.3", "rand 0.8.5", - "rand_core 0.6.4", "rayon", - "regex", "ripemd", - "serde 1.0.193", "serde_json", "sha2 0.9.9", - "slip10_ed25519", "smooth-operator", "tempfile", "tendermint-rpc", "test-log", "thiserror", "tiny-bip39", - "tiny-hderive", "tokio", - "toml 0.5.11", "tracing", "tracing-subscriber", "uint", @@ -4445,8 +4425,6 @@ dependencies = [ "wasmer-vm", "wasmparser 0.107.0", "wasmtimer", - "wat", - "zeroize", ] [[package]] @@ -4469,7 +4447,6 @@ version = "0.37.0" dependencies = [ "assert_matches", "bit-set", - "bytes", "color-eyre", "eyre", "git2", @@ -4484,9 +4461,7 @@ dependencies = [ "toml 0.5.11", "tracing", "tracing-subscriber", - "warp", "winapi", - "zeroize", ] [[package]] @@ -4668,11 +4643,7 @@ dependencies = [ "namada_trans_token", "namada_tx", "namada_vote_ext", - "rand 0.8.5", "serde 1.0.193", - "serde_json", - "tendermint 0.36.0", - "tendermint-proto 0.36.0", "thiserror", "toml 0.5.11", "tracing", @@ -4708,7 +4679,6 @@ dependencies = [ "namada_shielded_token", "namada_trans_token", "proptest", - "regex", "serde_json", "tokio", ] @@ -4766,7 +4736,6 @@ dependencies = [ "masp_primitives", "namada_core", "namada_events", - "namada_gas", "namada_governance", "namada_macros", "namada_migrations", @@ -4774,7 +4743,6 @@ dependencies = [ "namada_state", "namada_storage", "namada_token", - "namada_tx", "primitive-types", "proptest", "prost 0.12.3", @@ -4904,7 +4872,6 @@ dependencies = [ name = "namada_parameters" version = "0.37.0" dependencies = [ - "borsh 1.2.1", "namada_core", "namada_macros", "namada_storage", @@ -4917,7 +4884,6 @@ version = "0.37.0" dependencies = [ "assert_matches", "borsh 1.2.1", - "data-encoding", "derivative", "itertools 0.12.1", "konst", @@ -4933,7 +4899,6 @@ dependencies = [ "namada_state", "namada_storage", "namada_trans_token", - "num-traits 0.2.17", "once_cell", "pretty_assertions", "proptest", @@ -5015,7 +4980,6 @@ dependencies = [ "slip10_ed25519", "smooth-operator", "tempfile", - "tendermint-config", "tendermint-rpc", "thiserror", "tiny-bip39", @@ -5038,7 +5002,6 @@ dependencies = [ "namada_parameters", "namada_storage", "namada_trans_token", - "namada_tx", "proptest", "rayon", "serde 1.0.193", @@ -5054,7 +5017,6 @@ dependencies = [ "assert_matches", "borsh 1.2.1", "chrono", - "ics23", "itertools 0.12.1", "linkme", "namada_core", @@ -5070,12 +5032,9 @@ dependencies = [ "patricia_tree", "pretty_assertions", "proptest", - "sha2 0.9.9", "smooth-operator", - "sparse-merkle-tree", "test-log", "thiserror", - "tiny-keccak", "tracing", ] @@ -5092,7 +5051,6 @@ dependencies = [ "namada_migrations", "namada_replay_protection", "regex", - "serde 1.0.193", "smooth-operator", "thiserror", "tracing", @@ -5113,10 +5071,8 @@ version = "0.37.0" dependencies = [ "assert_cmd", "assert_matches", - "async-trait", "borsh 1.2.1", "borsh-ext", - "chrono", "color-eyre", "concat-idents", "data-encoding", @@ -5130,7 +5086,6 @@ dependencies = [ "ibc-testkit", "ics23", "itertools 0.12.1", - "lazy_static", "namada", "namada_apps_lib", "namada_core", @@ -5140,7 +5095,6 @@ dependencies = [ "namada_tx_prelude", "namada_vm_env", "namada_vp_prelude", - "num-traits 0.2.17", "once_cell", "pretty_assertions", "proptest", @@ -5157,8 +5111,6 @@ dependencies = [ "test-log", "tokio", "toml 0.5.11", - "tracing", - "tracing-subscriber", ] [[package]] @@ -5241,8 +5193,6 @@ dependencies = [ "namada_tx", "namada_tx_env", "namada_vm_env", - "sha2 0.9.9", - "thiserror", ] [[package]] @@ -5280,7 +5230,6 @@ dependencies = [ "namada_storage", "namada_tx", "smooth-operator", - "thiserror", ] [[package]] @@ -5302,7 +5251,6 @@ dependencies = [ "namada_vm_env", "namada_vp_env", "sha2 0.9.9", - "thiserror", ] [[package]] diff --git a/crates/apps/Cargo.toml b/crates/apps/Cargo.toml index 9faffd9963..d53b817861 100644 --- a/crates/apps/Cargo.toml +++ b/crates/apps/Cargo.toml @@ -61,9 +61,6 @@ tokio = {workspace = true, features = ["full"]} toml.workspace = true tracing-subscriber = { workspace = true, features = ["std", "json", "ansi", "tracing-log"]} tracing.workspace = true -zeroize.workspace = true -warp = "0.3.2" -bytes = "1.1.0" [target.'cfg(windows)'.dependencies] winapi.workspace = true diff --git a/crates/ethereum_bridge/Cargo.toml b/crates/ethereum_bridge/Cargo.toml index 89c558ecd9..0250028605 100644 --- a/crates/ethereum_bridge/Cargo.toml +++ b/crates/ethereum_bridge/Cargo.toml @@ -40,17 +40,12 @@ namada_tx = {path = "../tx"} namada_vote_ext = {path = "../vote_ext"} borsh.workspace = true -ethabi.workspace = true ethers.workspace = true eyre.workspace = true itertools.workspace = true konst.workspace = true linkme = {workspace = true, optional = true} serde.workspace = true -serde_json.workspace = true -rand.workspace = true -tendermint = {workspace = true} -tendermint-proto = {workspace = true} thiserror.workspace = true tracing = "0.1.30" diff --git a/crates/ibc/Cargo.toml b/crates/ibc/Cargo.toml index d523b9f793..6822e0b40f 100644 --- a/crates/ibc/Cargo.toml +++ b/crates/ibc/Cargo.toml @@ -23,7 +23,6 @@ testing = ["namada_core/testing", "ibc-testkit", "proptest"] [dependencies] namada_core = { path = "../core" } namada_events = { path = "../events", default-features = false } -namada_gas = { path = "../gas" } namada_governance = { path = "../governance" } namada_macros = {path = "../macros"} namada_migrations = {path = "../migrations", optional = true} @@ -31,7 +30,6 @@ namada_parameters = { path = "../parameters" } namada_state = { path = "../state" } namada_storage = { path = "../storage" } namada_token = { path = "../token" } -namada_tx = { path = "../tx"} borsh.workspace = true konst.workspace = true diff --git a/crates/namada/Cargo.toml b/crates/namada/Cargo.toml index 3f500eb42c..9099bf663e 100644 --- a/crates/namada/Cargo.toml +++ b/crates/namada/Cargo.toml @@ -92,7 +92,6 @@ namada_ethereum_bridge = { path = "../ethereum_bridge", default-features = false namada_gas = { path = "../gas" } namada_governance = { path = "../governance" } namada_ibc = { path = "../ibc" } -namada_macros = { path = "../macros" } namada_migrations = { path = "../migrations", optional = true } namada_parameters = { path = "../parameters" } namada_proof_of_stake = { path = "../proof_of_stake" } @@ -106,48 +105,29 @@ namada_vote_ext = { path = "../vote_ext" } namada_vp_env = { path = "../vp_env" } async-trait = { version = "0.1.51", optional = true } -bimap.workspace = true borsh.workspace = true borsh-ext.workspace = true -circular-queue.workspace = true clru.workspace = true -data-encoding.workspace = true -derivation-path.workspace = true -derivative.workspace = true -ethbridge-bridge-contract.workspace = true ethers.workspace = true eyre.workspace = true -futures.workspace = true itertools.workspace = true -konst.workspace = true linkme = {workspace = true, optional = true} loupe = { version = "0.1.3", optional = true } masp_primitives.workspace = true masp_proofs.workspace = true -num256.workspace = true -num-traits.workspace = true -orion.workspace = true -owo-colors = "3.5.0" parity-wasm = { version = "0.45.0", features = ["sign_ext"], optional = true } -paste.workspace = true proptest = { workspace = true, optional = true } prost.workspace = true rand.workspace = true -rand_core.workspace = true rayon = { version = "=1.5.3", optional = true } -regex.workspace = true ripemd.workspace = true -serde.workspace = true serde_json.workspace = true sha2.workspace = true -slip10_ed25519.workspace = true smooth-operator.workspace = true tempfile = { version = "3.2.0", optional = true } tendermint-rpc = { workspace = true, optional = true } thiserror.workspace = true tiny-bip39.workspace = true -tiny-hderive.workspace = true -toml.workspace = true tracing.workspace = true uint = "0.9.5" wasm-instrument = { workspace = true, optional = true } @@ -157,10 +137,7 @@ wasmer-compiler-singlepass = { workspace = true, optional = true } wasmer-engine-dylib = { git = "https://github.com/heliaxdev/wasmer", rev = "255054f7f58b7b4a525f2fee6b9b86422d1ca15b", optional = true } wasmer-engine-universal = { workspace = true, optional = true } wasmer-vm = { git = "https://github.com/heliaxdev/wasmer", rev = "255054f7f58b7b4a525f2fee6b9b86422d1ca15b", optional = true } -# Greater versions break in `test_tx_stack_limiter` and `test_vp_stack_limiter` -wat = "=1.0.71" wasmparser.workspace = true -zeroize.workspace = true [target.'cfg(not(target_family = "wasm"))'.dependencies] tokio = { workspace = true, features = ["full"] } diff --git a/crates/parameters/Cargo.toml b/crates/parameters/Cargo.toml index 6be22eda9c..131f49118c 100644 --- a/crates/parameters/Cargo.toml +++ b/crates/parameters/Cargo.toml @@ -24,5 +24,4 @@ namada_core = { path = "../core" } namada_macros = { path = "../macros" } namada_storage = { path = "../storage" } -borsh.workspace = true thiserror.workspace = true diff --git a/crates/proof_of_stake/Cargo.toml b/crates/proof_of_stake/Cargo.toml index 578ed50d18..0bcb8a5c4d 100644 --- a/crates/proof_of_stake/Cargo.toml +++ b/crates/proof_of_stake/Cargo.toml @@ -34,10 +34,8 @@ namada_parameters = { path = "../parameters" } namada_trans_token = { path = "../trans_token" } borsh.workspace = true -data-encoding.workspace = true konst.workspace = true linkme = {workspace = true, optional = true} -num-traits.workspace = true once_cell.workspace = true proptest = { workspace = true, optional = true } serde.workspace = true diff --git a/crates/sdk/Cargo.toml b/crates/sdk/Cargo.toml index d681124f8e..c408e74085 100644 --- a/crates/sdk/Cargo.toml +++ b/crates/sdk/Cargo.toml @@ -126,7 +126,6 @@ serde_json.workspace = true sha2.workspace = true slip10_ed25519.workspace = true smooth-operator.workspace = true -tendermint-config.workspace = true tendermint-rpc = { workspace = true, optional = true } thiserror.workspace = true tiny-bip39.workspace = true diff --git a/crates/shielded_token/Cargo.toml b/crates/shielded_token/Cargo.toml index 567ec8a239..c9d7618ab9 100644 --- a/crates/shielded_token/Cargo.toml +++ b/crates/shielded_token/Cargo.toml @@ -23,7 +23,6 @@ namada_core = { path = "../core" } namada_parameters = { path = "../parameters" } namada_storage = { path = "../storage" } namada_trans_token = { path = "../trans_token" } -namada_tx = { path = "../tx" } borsh.workspace = true masp_primitives.workspace = true diff --git a/crates/state/Cargo.toml b/crates/state/Cargo.toml index 69c34303af..56a80b261a 100644 --- a/crates/state/Cargo.toml +++ b/crates/state/Cargo.toml @@ -39,15 +39,11 @@ namada_replay_protection = { path = "../replay_protection" } namada_storage = { path = "../storage" } namada_tx = { path = "../tx" } -arse-merkle-tree.workspace = true borsh.workspace = true -ics23.workspace = true itertools.workspace = true linkme = {workspace = true, optional = true} -sha2.workspace = true smooth-operator.workspace = true thiserror.workspace = true -tiny-keccak.workspace = true tracing.workspace = true patricia_tree.workspace = true proptest = { workspace = true, optional = true } diff --git a/crates/storage/Cargo.toml b/crates/storage/Cargo.toml index 470c72caf8..6612b42dbb 100644 --- a/crates/storage/Cargo.toml +++ b/crates/storage/Cargo.toml @@ -33,7 +33,6 @@ borsh.workspace = true itertools.workspace = true linkme = {workspace = true, optional = true} regex.workspace = true -serde.workspace = true smooth-operator.workspace = true thiserror.workspace = true tracing.workspace = true diff --git a/crates/tests/Cargo.toml b/crates/tests/Cargo.toml index 75a2fbc0c9..6c76c5d816 100644 --- a/crates/tests/Cargo.toml +++ b/crates/tests/Cargo.toml @@ -37,29 +37,21 @@ namada_sdk = {path = "../sdk", default-features = false, features = ["tendermint namada_test_utils = {path = "../test_utils"} namada_tx_prelude = {path = "../tx_prelude"} namada_vp_prelude = {path = "../vp_prelude"} -async-trait.workspace = true -chrono.workspace = true concat-idents.workspace = true derivative.workspace = true -flate2.workspace = true hyper = {version = "0.14.20", features = ["full"]} ibc-testkit.workspace = true ics23.workspace = true itertools.workspace = true -lazy_static.workspace = true -num-traits.workspace = true proptest.workspace = true prost.workspace = true regex.workspace = true serde.workspace = true serde_json.workspace = true sha2.workspace = true -tar.workspace = true tempfile.workspace = true test-log.workspace = true tokio = {workspace = true, features = ["full"]} -tracing-subscriber.workspace = true -tracing.workspace = true [dev-dependencies] namada_apps_lib = {path = "../apps_lib", features = ["testing"]} @@ -75,11 +67,13 @@ data-encoding.workspace = true escargot = {workspace = true} # , features = ["print"]} expectrl.workspace = true eyre.workspace = true +flate2.workspace = true fs_extra.workspace = true once_cell.workspace = true pretty_assertions.workspace = true proptest-state-machine.workspace = true rand.workspace = true +tar.workspace = true tendermint-light-client.workspace = true test-log.workspace = true toml.workspace = true diff --git a/crates/tx_prelude/Cargo.toml b/crates/tx_prelude/Cargo.toml index 58c57ba5bf..83f5423f69 100644 --- a/crates/tx_prelude/Cargo.toml +++ b/crates/tx_prelude/Cargo.toml @@ -33,8 +33,6 @@ namada_vm_env = { path = "../vm_env" } borsh.workspace = true masp_primitives.workspace = true -sha2.workspace = true -thiserror.workspace = true [dev-dependencies] namada_token = { path = "../token", features = ["testing"] } diff --git a/crates/vp_env/Cargo.toml b/crates/vp_env/Cargo.toml index 29045213aa..e21b44ab11 100644 --- a/crates/vp_env/Cargo.toml +++ b/crates/vp_env/Cargo.toml @@ -22,4 +22,3 @@ namada_ibc = { path = "../ibc" } derivative.workspace = true masp_primitives.workspace = true smooth-operator.workspace = true -thiserror.workspace = true diff --git a/crates/vp_prelude/Cargo.toml b/crates/vp_prelude/Cargo.toml index a06c529d6a..e1275442c7 100644 --- a/crates/vp_prelude/Cargo.toml +++ b/crates/vp_prelude/Cargo.toml @@ -32,4 +32,3 @@ namada_vp_env = { path = "../vp_env" } borsh.workspace = true sha2.workspace = true -thiserror.workspace = true diff --git a/examples/Cargo.toml b/examples/Cargo.toml index a95700f17a..031e04248c 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -42,6 +42,3 @@ data-encoding.workspace = true proptest.workspace = true serde_json.workspace = true tokio = {workspace = true, default-features = false} - -[dependencies] -regex.workspace = true diff --git a/wasm/Cargo.lock b/wasm/Cargo.lock index 2a00208e8a..479e40076d 100644 --- a/wasm/Cargo.lock +++ b/wasm/Cargo.lock @@ -1893,18 +1893,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "filetime" -version = "0.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "redox_syscall", - "windows-sys 0.52.0", -] - [[package]] name = "fixed-hash" version = "0.8.0" @@ -1923,16 +1911,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -[[package]] -name = "flate2" -version = "1.0.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - [[package]] name = "flex-error" version = "0.4.4" @@ -3569,20 +3547,12 @@ name = "namada" version = "0.37.0" dependencies = [ "async-trait", - "bimap", "borsh 1.4.0", "borsh-ext", - "circular-queue", "clru", - "data-encoding", - "derivation-path", - "derivative", - "ethbridge-bridge-contract", "ethers", "eyre", - "futures", "itertools 0.12.1", - "konst", "linkme", "loupe", "masp_primitives", @@ -3594,7 +3564,6 @@ dependencies = [ "namada_gas", "namada_governance", "namada_ibc", - "namada_macros", "namada_migrations", "namada_parameters", "namada_proof_of_stake", @@ -3606,30 +3575,19 @@ dependencies = [ "namada_tx_env", "namada_vote_ext", "namada_vp_env", - "num-traits 0.2.17", - "num256", - "orion", - "owo-colors", "parity-wasm", - "paste", "proptest", "prost", "rand 0.8.5", - "rand_core 0.6.4", "rayon", - "regex", "ripemd", - "serde", "serde_json", "sha2 0.9.9", - "slip10_ed25519", "smooth-operator", "tempfile", "thiserror", "tiny-bip39", - "tiny-hderive", "tokio", - "toml 0.5.11", "tracing", "uint", "wasm-instrument", @@ -3641,8 +3599,6 @@ dependencies = [ "wasmer-vm", "wasmparser 0.107.0", "wasmtimer", - "wat", - "zeroize", ] [[package]] @@ -3720,7 +3676,6 @@ name = "namada_ethereum_bridge" version = "0.37.0" dependencies = [ "borsh 1.4.0", - "ethabi", "ethers", "eyre", "itertools 0.12.1", @@ -3738,11 +3693,7 @@ dependencies = [ "namada_trans_token", "namada_tx", "namada_vote_ext", - "rand 0.8.5", "serde", - "serde_json", - "tendermint 0.36.0", - "tendermint-proto 0.36.0", "thiserror", "tracing", ] @@ -3812,14 +3763,12 @@ dependencies = [ "masp_primitives", "namada_core", "namada_events", - "namada_gas", "namada_governance", "namada_macros", "namada_parameters", "namada_state", "namada_storage", "namada_token", - "namada_tx", "primitive-types", "proptest", "prost", @@ -3868,7 +3817,6 @@ dependencies = [ name = "namada_parameters" version = "0.37.0" dependencies = [ - "borsh 1.4.0", "namada_core", "namada_macros", "namada_storage", @@ -3880,7 +3828,6 @@ name = "namada_proof_of_stake" version = "0.37.0" dependencies = [ "borsh 1.4.0", - "data-encoding", "konst", "linkme", "namada_account", @@ -3893,7 +3840,6 @@ dependencies = [ "namada_parameters", "namada_storage", "namada_trans_token", - "num-traits 0.2.17", "once_cell", "proptest", "serde", @@ -3966,7 +3912,6 @@ dependencies = [ "sha2 0.9.9", "slip10_ed25519", "smooth-operator", - "tendermint-config", "tendermint-rpc", "thiserror", "tiny-bip39", @@ -3989,7 +3934,6 @@ dependencies = [ "namada_parameters", "namada_storage", "namada_trans_token", - "namada_tx", "serde", "smooth-operator", "tracing", @@ -4000,7 +3944,6 @@ name = "namada_state" version = "0.37.0" dependencies = [ "borsh 1.4.0", - "ics23", "itertools 0.12.1", "linkme", "namada_core", @@ -4015,11 +3958,8 @@ dependencies = [ "namada_tx", "patricia_tree", "proptest", - "sha2 0.9.9", "smooth-operator", - "sparse-merkle-tree", "thiserror", - "tiny-keccak", "tracing", ] @@ -4036,7 +3976,6 @@ dependencies = [ "namada_migrations", "namada_replay_protection", "regex", - "serde", "smooth-operator", "thiserror", "tracing", @@ -4055,35 +3994,27 @@ dependencies = [ name = "namada_tests" version = "0.37.0" dependencies = [ - "async-trait", - "chrono", "concat-idents", "derivative", - "flate2", "hyper", "ibc-testkit", "ics23", "itertools 0.12.1", - "lazy_static", "namada", "namada_core", "namada_sdk", "namada_test_utils", "namada_tx_prelude", "namada_vp_prelude", - "num-traits 0.2.17", "proptest", "prost", "regex", "serde", "serde_json", "sha2 0.9.9", - "tar", "tempfile", "test-log", "tokio", - "tracing", - "tracing-subscriber", ] [[package]] @@ -4163,8 +4094,6 @@ dependencies = [ "namada_tx", "namada_tx_env", "namada_vm_env", - "sha2 0.9.9", - "thiserror", ] [[package]] @@ -4201,7 +4130,6 @@ dependencies = [ "namada_storage", "namada_tx", "smooth-operator", - "thiserror", ] [[package]] @@ -4223,7 +4151,6 @@ dependencies = [ "namada_vm_env", "namada_vp_env", "sha2 0.9.9", - "thiserror", ] [[package]] @@ -5997,17 +5924,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" -[[package]] -name = "tar" -version = "0.4.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" -dependencies = [ - "filetime", - "libc", - "xattr", -] - [[package]] name = "target-lexicon" version = "0.12.12" @@ -7750,17 +7666,6 @@ dependencies = [ "tap", ] -[[package]] -name = "xattr" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" -dependencies = [ - "libc", - "linux-raw-sys", - "rustix", -] - [[package]] name = "zcash_encoding" version = "0.2.0" diff --git a/wasm_for_tests/Cargo.lock b/wasm_for_tests/Cargo.lock index 59aa30e730..f79ae53126 100644 --- a/wasm_for_tests/Cargo.lock +++ b/wasm_for_tests/Cargo.lock @@ -1893,18 +1893,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "filetime" -version = "0.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "redox_syscall", - "windows-sys 0.52.0", -] - [[package]] name = "fixed-hash" version = "0.8.0" @@ -1923,16 +1911,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -[[package]] -name = "flate2" -version = "1.0.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - [[package]] name = "flex-error" version = "0.4.4" @@ -3549,20 +3527,12 @@ name = "namada" version = "0.37.0" dependencies = [ "async-trait", - "bimap", "borsh 1.2.1", "borsh-ext", - "circular-queue", "clru", - "data-encoding", - "derivation-path", - "derivative", - "ethbridge-bridge-contract", "ethers", "eyre", - "futures", "itertools 0.12.1", - "konst", "loupe", "masp_primitives", "masp_proofs", @@ -3573,7 +3543,6 @@ dependencies = [ "namada_gas", "namada_governance", "namada_ibc", - "namada_macros", "namada_parameters", "namada_proof_of_stake", "namada_replay_protection", @@ -3584,30 +3553,19 @@ dependencies = [ "namada_tx_env", "namada_vote_ext", "namada_vp_env", - "num-traits 0.2.17", - "num256", - "orion", - "owo-colors", "parity-wasm", - "paste", "proptest", "prost", "rand 0.8.5", - "rand_core 0.6.4", "rayon", - "regex", "ripemd", - "serde", "serde_json", "sha2 0.9.9", - "slip10_ed25519", "smooth-operator", "tempfile", "thiserror", "tiny-bip39", - "tiny-hderive", "tokio", - "toml 0.5.11", "tracing", "uint", "wasm-instrument", @@ -3619,8 +3577,6 @@ dependencies = [ "wasmer-vm", "wasmparser 0.107.0", "wasmtimer", - "wat", - "zeroize", ] [[package]] @@ -3694,7 +3650,6 @@ name = "namada_ethereum_bridge" version = "0.37.0" dependencies = [ "borsh 1.2.1", - "ethabi", "ethers", "eyre", "itertools 0.12.1", @@ -3710,11 +3665,7 @@ dependencies = [ "namada_trans_token", "namada_tx", "namada_vote_ext", - "rand 0.8.5", "serde", - "serde_json", - "tendermint 0.36.0", - "tendermint-proto 0.36.0", "thiserror", "tracing", ] @@ -3778,14 +3729,12 @@ dependencies = [ "masp_primitives", "namada_core", "namada_events", - "namada_gas", "namada_governance", "namada_macros", "namada_parameters", "namada_state", "namada_storage", "namada_token", - "namada_tx", "primitive-types", "proptest", "prost", @@ -3825,7 +3774,6 @@ dependencies = [ name = "namada_parameters" version = "0.37.0" dependencies = [ - "borsh 1.2.1", "namada_core", "namada_macros", "namada_storage", @@ -3837,7 +3785,6 @@ name = "namada_proof_of_stake" version = "0.37.0" dependencies = [ "borsh 1.2.1", - "data-encoding", "konst", "namada_account", "namada_controller", @@ -3848,7 +3795,6 @@ dependencies = [ "namada_parameters", "namada_storage", "namada_trans_token", - "num-traits 0.2.17", "once_cell", "proptest", "serde", @@ -3919,7 +3865,6 @@ dependencies = [ "sha2 0.9.9", "slip10_ed25519", "smooth-operator", - "tendermint-config", "tendermint-rpc", "thiserror", "tiny-bip39", @@ -3942,7 +3887,6 @@ dependencies = [ "namada_parameters", "namada_storage", "namada_trans_token", - "namada_tx", "serde", "smooth-operator", "tracing", @@ -3953,7 +3897,6 @@ name = "namada_state" version = "0.37.0" dependencies = [ "borsh 1.2.1", - "ics23", "itertools 0.12.1", "namada_core", "namada_events", @@ -3966,11 +3909,8 @@ dependencies = [ "namada_tx", "patricia_tree", "proptest", - "sha2 0.9.9", "smooth-operator", - "sparse-merkle-tree", "thiserror", - "tiny-keccak", "tracing", ] @@ -3985,7 +3925,6 @@ dependencies = [ "namada_merkle_tree", "namada_replay_protection", "regex", - "serde", "smooth-operator", "thiserror", "tracing", @@ -4004,35 +3943,27 @@ dependencies = [ name = "namada_tests" version = "0.37.0" dependencies = [ - "async-trait", - "chrono", "concat-idents", "derivative", - "flate2", "hyper", "ibc-testkit", "ics23", "itertools 0.12.1", - "lazy_static", "namada", "namada_core", "namada_sdk", "namada_test_utils", "namada_tx_prelude", "namada_vp_prelude", - "num-traits 0.2.17", "proptest", "prost", "regex", "serde", "serde_json", "sha2 0.9.9", - "tar", "tempfile", "test-log", "tokio", - "tracing", - "tracing-subscriber", ] [[package]] @@ -4110,8 +4041,6 @@ dependencies = [ "namada_tx", "namada_tx_env", "namada_vm_env", - "sha2 0.9.9", - "thiserror", ] [[package]] @@ -4146,7 +4075,6 @@ dependencies = [ "namada_storage", "namada_tx", "smooth-operator", - "thiserror", ] [[package]] @@ -4168,7 +4096,6 @@ dependencies = [ "namada_vm_env", "namada_vp_env", "sha2 0.9.9", - "thiserror", ] [[package]] @@ -5934,17 +5861,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" -[[package]] -name = "tar" -version = "0.4.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" -dependencies = [ - "filetime", - "libc", - "xattr", -] - [[package]] name = "target-lexicon" version = "0.12.12" @@ -6520,11 +6436,8 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" name = "tx_fail" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", "namada_tx_prelude", - "namada_vp_prelude", "proptest", "test-log", "tracing", @@ -6536,11 +6449,8 @@ dependencies = [ name = "tx_infinite_guest_gas" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", "namada_tx_prelude", - "namada_vp_prelude", "proptest", "test-log", "tracing", @@ -6552,11 +6462,8 @@ dependencies = [ name = "tx_infinite_host_gas" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", "namada_tx_prelude", - "namada_vp_prelude", "proptest", "test-log", "tracing", @@ -6568,11 +6475,8 @@ dependencies = [ name = "tx_invalid_data" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", "namada_tx_prelude", - "namada_vp_prelude", "proptest", "test-log", "tracing", @@ -6584,11 +6488,8 @@ dependencies = [ name = "tx_memory_limit" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", "namada_tx_prelude", - "namada_vp_prelude", "proptest", "test-log", "tracing", @@ -6600,11 +6501,8 @@ dependencies = [ name = "tx_no_op" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", "namada_tx_prelude", - "namada_vp_prelude", "proptest", "test-log", "tracing", @@ -6616,11 +6514,8 @@ dependencies = [ name = "tx_proposal_code" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", "namada_tx_prelude", - "namada_vp_prelude", "proptest", "test-log", "tracing", @@ -6632,11 +6527,8 @@ dependencies = [ name = "tx_proposal_ibc_token_inflation" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", "namada_tx_prelude", - "namada_vp_prelude", "proptest", "test-log", "tracing", @@ -6648,11 +6540,8 @@ dependencies = [ name = "tx_proposal_masp_reward" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", "namada_tx_prelude", - "namada_vp_prelude", "proptest", "test-log", "tracing", @@ -6664,11 +6553,8 @@ dependencies = [ name = "tx_read_storage_key" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", "namada_tx_prelude", - "namada_vp_prelude", "proptest", "test-log", "tracing", @@ -6680,11 +6566,9 @@ dependencies = [ name = "tx_write" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", "namada_test_utils", "namada_tests", "namada_tx_prelude", - "namada_vp_prelude", "proptest", "test-log", "tracing", @@ -6849,10 +6733,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" name = "vp_always_false" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", - "namada_tx_prelude", "namada_vp_prelude", "proptest", "test-log", @@ -6865,10 +6746,7 @@ dependencies = [ name = "vp_always_true" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", - "namada_tx_prelude", "namada_vp_prelude", "proptest", "test-log", @@ -6881,8 +6759,6 @@ dependencies = [ name = "vp_eval" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", "namada_tx_prelude", "namada_vp_prelude", @@ -6897,10 +6773,7 @@ dependencies = [ name = "vp_infinite_guest_gas" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", - "namada_tx_prelude", "namada_vp_prelude", "proptest", "test-log", @@ -6913,8 +6786,6 @@ dependencies = [ name = "vp_infinite_host_gas" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", "namada_tx_prelude", "namada_vp_prelude", @@ -6929,10 +6800,7 @@ dependencies = [ name = "vp_memory_limit" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", - "namada_tx_prelude", "namada_vp_prelude", "proptest", "test-log", @@ -6945,10 +6813,7 @@ dependencies = [ name = "vp_read_storage_key" version = "0.37.0" dependencies = [ - "getrandom 0.2.11", - "namada_test_utils", "namada_tests", - "namada_tx_prelude", "namada_vp_prelude", "proptest", "test-log", @@ -7692,17 +7557,6 @@ dependencies = [ "tap", ] -[[package]] -name = "xattr" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" -dependencies = [ - "libc", - "linux-raw-sys", - "rustix", -] - [[package]] name = "zcash_encoding" version = "0.2.0" diff --git a/wasm_for_tests/tx_fail/Cargo.toml b/wasm_for_tests/tx_fail/Cargo.toml index 1662428c00..2ae4e5cd52 100644 --- a/wasm_for_tests/tx_fail/Cargo.toml +++ b/wasm_for_tests/tx_fail/Cargo.toml @@ -9,9 +9,7 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true namada_tx_prelude.workspace = true -namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/tx_infinite_guest_gas/Cargo.toml b/wasm_for_tests/tx_infinite_guest_gas/Cargo.toml index 18bc81e956..1137483628 100644 --- a/wasm_for_tests/tx_infinite_guest_gas/Cargo.toml +++ b/wasm_for_tests/tx_infinite_guest_gas/Cargo.toml @@ -9,9 +9,7 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true namada_tx_prelude.workspace = true -namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/tx_infinite_host_gas/Cargo.toml b/wasm_for_tests/tx_infinite_host_gas/Cargo.toml index dd78ce23f2..d276e9f168 100644 --- a/wasm_for_tests/tx_infinite_host_gas/Cargo.toml +++ b/wasm_for_tests/tx_infinite_host_gas/Cargo.toml @@ -9,9 +9,7 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true namada_tx_prelude.workspace = true -namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/tx_invalid_data/Cargo.toml b/wasm_for_tests/tx_invalid_data/Cargo.toml index a228c741be..7c4eefed9b 100644 --- a/wasm_for_tests/tx_invalid_data/Cargo.toml +++ b/wasm_for_tests/tx_invalid_data/Cargo.toml @@ -9,9 +9,7 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true namada_tx_prelude.workspace = true -namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/tx_memory_limit/Cargo.toml b/wasm_for_tests/tx_memory_limit/Cargo.toml index 9e7206bdaf..8e15579717 100644 --- a/wasm_for_tests/tx_memory_limit/Cargo.toml +++ b/wasm_for_tests/tx_memory_limit/Cargo.toml @@ -9,9 +9,7 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true namada_tx_prelude.workspace = true -namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/tx_no_op/Cargo.toml b/wasm_for_tests/tx_no_op/Cargo.toml index 1edd8f9513..3860bf7b6f 100644 --- a/wasm_for_tests/tx_no_op/Cargo.toml +++ b/wasm_for_tests/tx_no_op/Cargo.toml @@ -9,9 +9,7 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true namada_tx_prelude.workspace = true -namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/tx_proposal_code/Cargo.toml b/wasm_for_tests/tx_proposal_code/Cargo.toml index 9fb447f057..22ff69bea5 100644 --- a/wasm_for_tests/tx_proposal_code/Cargo.toml +++ b/wasm_for_tests/tx_proposal_code/Cargo.toml @@ -9,9 +9,7 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true namada_tx_prelude.workspace = true -namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/tx_proposal_ibc_token_inflation/Cargo.toml b/wasm_for_tests/tx_proposal_ibc_token_inflation/Cargo.toml index 8116c055d6..79f197680b 100644 --- a/wasm_for_tests/tx_proposal_ibc_token_inflation/Cargo.toml +++ b/wasm_for_tests/tx_proposal_ibc_token_inflation/Cargo.toml @@ -9,9 +9,7 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true namada_tx_prelude.workspace = true -namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/tx_proposal_masp_reward/Cargo.toml b/wasm_for_tests/tx_proposal_masp_reward/Cargo.toml index ba52a8b614..ae7a78f254 100644 --- a/wasm_for_tests/tx_proposal_masp_reward/Cargo.toml +++ b/wasm_for_tests/tx_proposal_masp_reward/Cargo.toml @@ -9,9 +9,7 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true namada_tx_prelude.workspace = true -namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/tx_read_storage_key/Cargo.toml b/wasm_for_tests/tx_read_storage_key/Cargo.toml index 195c76f3e8..56c019aed4 100644 --- a/wasm_for_tests/tx_read_storage_key/Cargo.toml +++ b/wasm_for_tests/tx_read_storage_key/Cargo.toml @@ -9,9 +9,7 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true namada_tx_prelude.workspace = true -namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/tx_write/Cargo.toml b/wasm_for_tests/tx_write/Cargo.toml index d26ec28930..d75c02a681 100644 --- a/wasm_for_tests/tx_write/Cargo.toml +++ b/wasm_for_tests/tx_write/Cargo.toml @@ -11,7 +11,6 @@ version.workspace = true [dependencies] namada_test_utils.workspace = true namada_tx_prelude.workspace = true -namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/vp_always_false/Cargo.toml b/wasm_for_tests/vp_always_false/Cargo.toml index 65b36fb190..7c8a540bc8 100644 --- a/wasm_for_tests/vp_always_false/Cargo.toml +++ b/wasm_for_tests/vp_always_false/Cargo.toml @@ -9,8 +9,6 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true -namada_tx_prelude.workspace = true namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/vp_always_true/Cargo.toml b/wasm_for_tests/vp_always_true/Cargo.toml index 6ba4a1a14c..a02dc408d9 100644 --- a/wasm_for_tests/vp_always_true/Cargo.toml +++ b/wasm_for_tests/vp_always_true/Cargo.toml @@ -9,8 +9,6 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true -namada_tx_prelude.workspace = true namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/vp_eval/Cargo.toml b/wasm_for_tests/vp_eval/Cargo.toml index 77d5ae8f66..ad75f9b460 100644 --- a/wasm_for_tests/vp_eval/Cargo.toml +++ b/wasm_for_tests/vp_eval/Cargo.toml @@ -9,7 +9,6 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true namada_tx_prelude.workspace = true namada_vp_prelude.workspace = true wee_alloc.workspace = true diff --git a/wasm_for_tests/vp_infinite_guest_gas/Cargo.toml b/wasm_for_tests/vp_infinite_guest_gas/Cargo.toml index 674646e6c0..94d2ce5285 100644 --- a/wasm_for_tests/vp_infinite_guest_gas/Cargo.toml +++ b/wasm_for_tests/vp_infinite_guest_gas/Cargo.toml @@ -9,8 +9,6 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true -namada_tx_prelude.workspace = true namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/vp_infinite_host_gas/Cargo.toml b/wasm_for_tests/vp_infinite_host_gas/Cargo.toml index bec1ef23ee..0f918678d6 100644 --- a/wasm_for_tests/vp_infinite_host_gas/Cargo.toml +++ b/wasm_for_tests/vp_infinite_host_gas/Cargo.toml @@ -9,7 +9,6 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true namada_tx_prelude.workspace = true namada_vp_prelude.workspace = true wee_alloc.workspace = true diff --git a/wasm_for_tests/vp_memory_limit/Cargo.toml b/wasm_for_tests/vp_memory_limit/Cargo.toml index ed9c0894b9..8f208251a0 100644 --- a/wasm_for_tests/vp_memory_limit/Cargo.toml +++ b/wasm_for_tests/vp_memory_limit/Cargo.toml @@ -9,8 +9,6 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true -namada_tx_prelude.workspace = true namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true diff --git a/wasm_for_tests/vp_read_storage_key/Cargo.toml b/wasm_for_tests/vp_read_storage_key/Cargo.toml index 6ba5fc315e..5261f3e598 100644 --- a/wasm_for_tests/vp_read_storage_key/Cargo.toml +++ b/wasm_for_tests/vp_read_storage_key/Cargo.toml @@ -9,8 +9,6 @@ version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -namada_test_utils.workspace = true -namada_tx_prelude.workspace = true namada_vp_prelude.workspace = true wee_alloc.workspace = true getrandom.workspace = true From cd71146130eb93436f1d0c02d84bd18a4e829d16 Mon Sep 17 00:00:00 2001 From: brentstone Date: Wed, 22 May 2024 18:50:53 -0700 Subject: [PATCH 3/4] remove folder --- wasm_for_tests/wasm_source/Cargo.toml | 48 --------------------------- 1 file changed, 48 deletions(-) delete mode 100644 wasm_for_tests/wasm_source/Cargo.toml diff --git a/wasm_for_tests/wasm_source/Cargo.toml b/wasm_for_tests/wasm_source/Cargo.toml deleted file mode 100644 index 85bc53973d..0000000000 --- a/wasm_for_tests/wasm_source/Cargo.toml +++ /dev/null @@ -1,48 +0,0 @@ -[package] -authors = ["Heliax AG "] -edition = "2021" -license = "GPL-3.0" -name = "namada_wasm_for_tests" -resolver = "2" -version = "0.32.1" - -[lib] -crate-type = ["cdylib"] - -# The features should be used individually to build the selected wasm. -# Newly added wasms should also be added into the Makefile `$(wasms)` list. -[features] -tx_fail = [] -tx_infinite_guest_gas = [] -tx_infinite_host_gas = [] -tx_invalid_data = [] -tx_memory_limit = [] -tx_no_op = [] -tx_proposal_code = [] -tx_proposal_ibc_token_inflation = [] -tx_proposal_masp_reward = [] -tx_read_storage_key = [] -tx_write = [] -vp_always_false = [] -vp_always_true = [] -vp_eval = [] -vp_infinite_guest_gas = [] -vp_infinite_host_gas = [] -vp_memory_limit = [] -vp_read_storage_key = [] - -[dependencies] -namada_test_utils = {path = "../../crates/test_utils"} -namada_tx_prelude = {path = "../../crates/tx_prelude"} -namada_vp_prelude = {path = "../../crates/vp_prelude"} -wee_alloc = "0.4.5" -getrandom = { version = "0.2", features = ["custom"] } - -[dev-dependencies] -namada_tests = {path = "../../crates/tests", default-features = false, features = ["wasm-runtime"]} - -[profile.release] -# smaller and faster wasm https://rustwasm.github.io/book/reference/code-size.html#compiling-with-link-time-optimizations-lto -lto = true -# simply terminate on panics, no unwinding -panic = "abort" From c8eb3261747c3e92cb3ed5524b94ecf70edba786 Mon Sep 17 00:00:00 2001 From: brentstone Date: Thu, 23 May 2024 13:25:05 -0700 Subject: [PATCH 4/4] WIPPP --- wasm_for_tests/Cargo.lock | 18 ++++++++++++++++++ .../tx_proposal_ibc_token_inflation.wasm | Bin 310755 -> 310755 bytes wasm_for_tests/tx_proposal_masp_reward.wasm | Bin 284133 -> 284133 bytes wasm_for_tests/tx_read_storage_key.wasm | Bin 287549 -> 287549 bytes wasm_for_tests/tx_write.wasm | Bin 290608 -> 290608 bytes wasm_for_tests/vp_always_false.wasm | Bin 261291 -> 261291 bytes wasm_for_tests/vp_infinite_guest_gas.wasm | Bin 260526 -> 260526 bytes wasm_for_tests/vp_memory_limit.wasm | Bin 294950 -> 294950 bytes 8 files changed, 18 insertions(+) diff --git a/wasm_for_tests/Cargo.lock b/wasm_for_tests/Cargo.lock index f79ae53126..85a3a3db7f 100644 --- a/wasm_for_tests/Cargo.lock +++ b/wasm_for_tests/Cargo.lock @@ -6436,6 +6436,7 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" name = "tx_fail" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_tx_prelude", "proptest", @@ -6449,6 +6450,7 @@ dependencies = [ name = "tx_infinite_guest_gas" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_tx_prelude", "proptest", @@ -6462,6 +6464,7 @@ dependencies = [ name = "tx_infinite_host_gas" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_tx_prelude", "proptest", @@ -6475,6 +6478,7 @@ dependencies = [ name = "tx_invalid_data" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_tx_prelude", "proptest", @@ -6488,6 +6492,7 @@ dependencies = [ name = "tx_memory_limit" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_tx_prelude", "proptest", @@ -6501,6 +6506,7 @@ dependencies = [ name = "tx_no_op" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_tx_prelude", "proptest", @@ -6514,6 +6520,7 @@ dependencies = [ name = "tx_proposal_code" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_tx_prelude", "proptest", @@ -6527,6 +6534,7 @@ dependencies = [ name = "tx_proposal_ibc_token_inflation" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_tx_prelude", "proptest", @@ -6540,6 +6548,7 @@ dependencies = [ name = "tx_proposal_masp_reward" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_tx_prelude", "proptest", @@ -6553,6 +6562,7 @@ dependencies = [ name = "tx_read_storage_key" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_tx_prelude", "proptest", @@ -6566,6 +6576,7 @@ dependencies = [ name = "tx_write" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_test_utils", "namada_tests", "namada_tx_prelude", @@ -6733,6 +6744,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" name = "vp_always_false" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_vp_prelude", "proptest", @@ -6746,6 +6758,7 @@ dependencies = [ name = "vp_always_true" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_vp_prelude", "proptest", @@ -6759,6 +6772,7 @@ dependencies = [ name = "vp_eval" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_tx_prelude", "namada_vp_prelude", @@ -6773,6 +6787,7 @@ dependencies = [ name = "vp_infinite_guest_gas" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_vp_prelude", "proptest", @@ -6786,6 +6801,7 @@ dependencies = [ name = "vp_infinite_host_gas" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_tx_prelude", "namada_vp_prelude", @@ -6800,6 +6816,7 @@ dependencies = [ name = "vp_memory_limit" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_vp_prelude", "proptest", @@ -6813,6 +6830,7 @@ dependencies = [ name = "vp_read_storage_key" version = "0.37.0" dependencies = [ + "getrandom 0.2.11", "namada_tests", "namada_vp_prelude", "proptest", diff --git a/wasm_for_tests/tx_proposal_ibc_token_inflation.wasm b/wasm_for_tests/tx_proposal_ibc_token_inflation.wasm index ef853e4f30ac5e483810f8d79aeff3c4a797f8d8..9e73e3244ee3e15f9ac9873dd2924809133600cb 100755 GIT binary patch delta 14735 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 delta 14468 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 diff --git a/wasm_for_tests/tx_proposal_masp_reward.wasm b/wasm_for_tests/tx_proposal_masp_reward.wasm index b26cbcc89e9a507976762b50bb7f7a0e4f9eddaf..d395c65d3b767419d282cce40395c68c5573a9e4 100755 GIT binary patch delta 11176 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 delta 11318 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 U(A<`@{UCl{!!Bw8>zH!zKlEod4*&oF delta 7403 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ģ#IdEF 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 delta 17681 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 delta 519 zcmZ4elYjM3{td~DZ0tb5!LT`#@dy(m|7JawNJhrq%^j?#Ss8mLujV#0=xk_cU{GMz zU}8{U0TKdTU_PT`eU>7l0<$AemLf9`12?w<14spvK=))po^GJlxja6s{UD{2Be^3s zzvnr?&e*YegGe%mOb6Hi4h^Oq?2bTYLxmeJqXLKH4)!d8j>-D65kPevveF#f5Q}*g zxCOd4uT$k?g$jr(hyewTYc()2_5hWOO^(ymV(i)6sVmRV*tdD5O?0#fL?_rmj1c#7 zr%elGme_1C<0hXVM3xccT#&B>x+Y64S7hwoY_t3V6HKckOBO=DSz*<7g;k6{BN%(9 z-xX%o-tNlGq!`QCyFERD>AxUQFlG;v!t~#Jn7Fr3Dq`xg2Fl2;WBSU@)(i3}_jLJ0 zCW-9^+n9C-0cGBBFh67l(&u=XH!=a~27cz%K>ljA4B$Fr243vQw_J9elZ2?%@eraY&pthUR%$FVj06wvr Ar2qf` diff --git a/wasm_for_tests/vp_infinite_guest_gas.wasm b/wasm_for_tests/vp_infinite_guest_gas.wasm index 3a7d8b8471f1d494b8cedfc656ee5a0cf32d03a3..ef15c1b341a36592364bc24630cdd2fbe383785a 100755 GIT binary patch delta 5983 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 MVT|1JrVz>h2S7anumAu6 diff --git a/wasm_for_tests/vp_memory_limit.wasm b/wasm_for_tests/vp_memory_limit.wasm index 5a66580cd6d90a5d659ed8cf550c02a52c480455..11145a4f5fa92c7fe9d8f5807a96e036546870f0 100755 GIT binary patch delta 11071 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 Otv>~u6V9oLll~tBLF%#q delta 10952 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