From 9baffacecac8f0b4eaed07161fefd6a8d2a0bbbc Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 8 Nov 2022 09:44:04 +0000 Subject: [PATCH 01/16] Update metadata from latest substrate-contracts-node --- .../runtime_api/contracts_runtime.scale | Bin 49107 -> 70033 bytes .../src/cmd/extrinsics/runtime_api/mod.rs | 12 ++++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/crates/cargo-contract/src/cmd/extrinsics/runtime_api/contracts_runtime.scale b/crates/cargo-contract/src/cmd/extrinsics/runtime_api/contracts_runtime.scale index d36bc45418333e4ad15eb3fc9336045845e85b9d..89dcafa19e92123a7a522c04c643a00bcb1b8378 100644 GIT binary patch literal 70033 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 delta 6226 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 G!~X)PI5?32 diff --git a/crates/cargo-contract/src/cmd/extrinsics/runtime_api/mod.rs b/crates/cargo-contract/src/cmd/extrinsics/runtime_api/mod.rs index ed1e575b6..a5ff8adcc 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/runtime_api/mod.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/runtime_api/mod.rs @@ -18,17 +18,21 @@ runtime_metadata_path = "src/cmd/extrinsics/runtime_api/contracts_runtime.scale" )] pub mod api { - #[subxt(substitute_type = "frame_support::weights::weight_v2::Weight")] + #[subxt(substitute_type = "sp_weights::weight_v2::Weight")] use crate::cmd::extrinsics::runtime_api::Weight; } /// Copy of the `weight_v2::Weight` type defined in substrate. /// /// Allows for local trait and inherent impls. -#[derive(scale::Encode, scale::Decode, scale::CompactAs, Clone, Copy, Debug)] +#[derive(scale::Encode, scale::Decode, Clone, Copy, Debug)] pub struct Weight { + #[codec(compact)] /// The weight of computational time used based on some reference hardware. - ref_time: u64, + pub ref_time: u64, + #[codec(compact)] + /// The weight of storage space used by proof of validity. + pub proof_size: u64, } impl ToString for Weight { @@ -39,6 +43,6 @@ impl ToString for Weight { impl Weight { pub fn from_ref_time(ref_time: u64) -> Self { - Self { ref_time } + Self { ref_time, proof_size: 0 } } } From 3f8270d6af7405055ea7128953a61c1a1884bd73 Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 8 Nov 2022 09:50:31 +0000 Subject: [PATCH 02/16] Attempt to use git deps for substrate --- crates/cargo-contract/Cargo.toml | 6 ++++-- crates/transcode/Cargo.toml | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/crates/cargo-contract/Cargo.toml b/crates/cargo-contract/Cargo.toml index 14b3db533..cd836d343 100644 --- a/crates/cargo-contract/Cargo.toml +++ b/crates/cargo-contract/Cargo.toml @@ -45,8 +45,10 @@ wasm-opt = "0.110.2" # dependencies for extrinsics (deploying and calling a contract) async-std = { version = "1.12.0", features = ["attributes", "tokio1"] } -sp-core = "6.0.0" -pallet-contracts-primitives = "6.0.0" +# todo: [AJ] release new versions of these substrate crates +sp-core = { git = "https://github.com/paritytech/substrate", package = "sp-core" } +pallet-contracts-primitives = { git = "https://github.com/paritytech/substrate", package = "pallet-contracts-primitives" } +# todo: [AJ] new version of subxt with updated substrate dependencies subxt = "0.24.0" hex = "0.4.3" jsonrpsee = { version = "0.15.1", features = ["ws-client"] } diff --git a/crates/transcode/Cargo.toml b/crates/transcode/Cargo.toml index 254045d2b..963845efc 100644 --- a/crates/transcode/Cargo.toml +++ b/crates/transcode/Cargo.toml @@ -33,8 +33,9 @@ scale = { package = "parity-scale-codec", version = "3.0.0", features = ["derive scale-info = { version = "2.3.0", default-features = false, features = ["derive"] } serde = { version = "1.0.147", default-features = false, features = ["derive"] } serde_json = "1.0.87" -sp-core = "6.0.0" -sp-runtime = "6.0.0" +# todo: [AJ] release new versions of these substrate crates +sp-core = { git = "https://github.com/paritytech/substrate", package = "sp-core" } +sp-runtime = { git = "https://github.com/paritytech/substrate", package = "sp-runtime" } [dev-dependencies] assert_matches = "1.5.0" From 794a99c82b5f2198b91d0eba574250baf4f8a14b Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Mon, 14 Nov 2022 16:36:26 +0000 Subject: [PATCH 03/16] Use substrate polkadot branch --- Cargo.lock | 524 +++++++++++++++++-------------- crates/cargo-contract/Cargo.toml | 8 +- crates/transcode/Cargo.toml | 4 +- 3 files changed, 293 insertions(+), 243 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7e6c4a15a..440171f53 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -71,6 +71,12 @@ version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +[[package]] +name = "array-bytes" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a913633b0c922e6b745072795f50d90ebea78ba31a57e2ac8c2fc7b50950949" + [[package]] name = "array-init" version = "2.0.1" @@ -83,15 +89,6 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" -[[package]] -name = "arrayvec" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9" -dependencies = [ - "nodrop", -] - [[package]] name = "arrayvec" version = "0.5.2" @@ -334,16 +331,6 @@ dependencies = [ "digest 0.10.5", ] -[[package]] -name = "blake2-rfc" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d530bdd2d52966a6d03b7a964add7ae1a288d25214066fd4b600f0f796400" -dependencies = [ - "arrayvec 0.4.12", - "constant_time_eq", -] - [[package]] name = "block-buffer" version = "0.7.3" @@ -479,11 +466,11 @@ dependencies = [ "dirs", "heck", "hex", - "impl-serde 0.4.0", + "impl-serde", "jsonrpsee", "pallet-contracts-primitives", "parity-scale-codec", - "parity-wasm 0.45.0", + "parity-wasm", "predicates", "pretty_assertions", "regex", @@ -633,18 +620,12 @@ dependencies = [ "cache-padded", ] -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - [[package]] name = "contract-metadata" version = "2.0.0-alpha.5" dependencies = [ "anyhow", - "impl-serde 0.4.0", + "impl-serde", "pretty_assertions", "semver", "serde", @@ -1001,24 +982,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" [[package]] -name = "ed25519" -version = "1.5.2" +name = "ed25519-zebra" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369" -dependencies = [ - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" +checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6" dependencies = [ "curve25519-dalek 3.2.0", - "ed25519", - "rand 0.7.3", - "serde", + "hashbrown", + "hex", + "rand_core 0.6.4", "sha2 0.9.9", "zeroize", ] @@ -1080,9 +1052,9 @@ dependencies = [ [[package]] name = "fixed-hash" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcf0ed7fe52a17a03854ec54a9f76d6d84508d1c0e66bc1793301c73fc8493c" +checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", "rand 0.8.5", @@ -1282,8 +1254,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] @@ -1310,6 +1284,25 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "h2" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hash-db" version = "0.15.2" @@ -1394,7 +1387,18 @@ checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" dependencies = [ "bytes", "fnv", - "itoa 1.0.3", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +dependencies = [ + "bytes", + "http", + "pin-project-lite", ] [[package]] @@ -1403,12 +1407,58 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + [[package]] name = "humantime" version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +[[package]] +name = "hyper" +version = "0.14.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034711faac9d2166cb1baf1a2fb0b60b1f277f8492fd72176c17f3515e1abd3c" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac" +dependencies = [ + "http", + "hyper", + "log", + "rustls", + "rustls-native-certs", + "tokio", + "tokio-rustls", + "webpki-roots", +] + [[package]] name = "iana-time-zone" version = "0.1.50" @@ -1447,15 +1497,6 @@ dependencies = [ "parity-scale-codec", ] -[[package]] -name = "impl-serde" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4551f042f3438e64dbd6226b20527fc84a6e1fe65688b58746a2f53623f25f5c" -dependencies = [ - "serde", -] - [[package]] name = "impl-serde" version = "0.4.0" @@ -1527,7 +1568,7 @@ dependencies = [ "derive_more", "either", "heck", - "impl-serde 0.4.0", + "impl-serde", "ink_ir", "ink_primitives", "itertools", @@ -1548,7 +1589,7 @@ dependencies = [ "ink_primitives", "parity-scale-codec", "rand 0.8.5", - "secp256k1 0.24.0", + "secp256k1", "sha2 0.10.6", "sha3", ] @@ -1575,7 +1616,7 @@ dependencies = [ "rand 0.8.5", "rlibc", "scale-info", - "secp256k1 0.24.0", + "secp256k1", "sha2 0.10.6", "sha3", "static_assertions", @@ -1618,7 +1659,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2ae8287f3ae7a9473f1b767db3da834b6875ec7ac4c105ee360a38a5b9d9538" dependencies = [ "derive_more", - "impl-serde 0.4.0", + "impl-serde", "ink_prelude", "ink_primitives", "scale-info", @@ -1708,15 +1749,9 @@ dependencies = [ [[package]] name = "itoa" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" - -[[package]] -name = "itoa" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" [[package]] name = "jobserver" @@ -1744,21 +1779,22 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.15.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a" +checksum = "e0ee76536f6a303b67c13a99ecae0002bb388674dbf416094dde808263ea229c" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", + "jsonrpsee-http-client", "jsonrpsee-types", "jsonrpsee-ws-client", ] [[package]] name = "jsonrpsee-client-transport" -version = "0.15.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74" +checksum = "74c8f8f21b684623d23be8b6fcb101594f4e95d8a505ffd0568de863d93668f4" dependencies = [ "futures-util", "http", @@ -1777,9 +1813,9 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.15.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca" +checksum = "f57020f4c98b6c6e8848fb115e61227fba6993517bee0faa38e4db627a9f7254" dependencies = [ "anyhow", "async-lock", @@ -1788,6 +1824,26 @@ dependencies = [ "futures-channel", "futures-timer", "futures-util", + "hyper", + "jsonrpsee-types", + "rustc-hash", + "serde", + "serde_json", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "jsonrpsee-http-client" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ca71086fd13ad0991cd4a0e50c9f4c59488b1acfac4a528c448c2e10020aa1e" +dependencies = [ + "async-trait", + "hyper", + "hyper-rustls", + "jsonrpsee-core", "jsonrpsee-types", "rustc-hash", "serde", @@ -1795,14 +1851,13 @@ dependencies = [ "thiserror", "tokio", "tracing", - "tracing-futures", ] [[package]] name = "jsonrpsee-types" -version = "0.15.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d" +checksum = "88c88c764104fef883eb8a832d0d77688a63f67d75b385f5cdae7b3db8925288" dependencies = [ "anyhow", "beef", @@ -1814,9 +1869,9 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.15.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ee5feddd5188e62ac08fcf0e56478138e581509d4730f3f7be9b57dd402a4ff" +checksum = "ea609539b5062f856a43652fd01d8ed8df40cd4d7067be6f6b7ce81d8bbd03be" dependencies = [ "http", "jsonrpsee-client-transport", @@ -1851,6 +1906,12 @@ version = "0.2.134" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb" +[[package]] +name = "libm" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" + [[package]] name = "libsecp256k1" version = "0.7.1" @@ -1928,6 +1989,15 @@ dependencies = [ "value-bag", ] +[[package]] +name = "lru" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" +dependencies = [ + "hashbrown", +] + [[package]] name = "matchers" version = "0.0.1" @@ -1954,9 +2024,9 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memory-db" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6566c70c1016f525ced45d7b7f97730a2bafb037c788211d0c186ef5b2189f0a" +checksum = "34ac11bb793c28fa095b7554466f53b3a60a2cd002afdac01bcf135cbd73a269" dependencies = [ "hash-db", "hashbrown", @@ -1965,9 +2035,9 @@ dependencies = [ [[package]] name = "memory_units" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d96e3f3c0b6325d8ccd83c33b28acb183edcb6c67938ba104ec546854b0882" +checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" [[package]] name = "merlin" @@ -2009,10 +2079,10 @@ dependencies = [ ] [[package]] -name = "nodrop" -version = "0.1.14" +name = "nohash-hasher" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" @@ -2055,9 +2125,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.2.6" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" dependencies = [ "autocfg", "num-integer", @@ -2066,12 +2136,12 @@ dependencies = [ [[package]] name = "num-format" -version = "0.4.0" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bafe4179722c2894288ee77a9f044f02811c86af699344c498b0840c698a2465" +checksum = "54b862ff8df690cf089058c98b183676a7ed0f974cc08b426800093227cbff3b" dependencies = [ - "arrayvec 0.4.12", - "itoa 0.4.8", + "arrayvec 0.7.2", + "itoa", ] [[package]] @@ -2086,9 +2156,9 @@ dependencies = [ [[package]] name = "num-rational" -version = "0.2.4" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" dependencies = [ "autocfg", "num-bigint", @@ -2172,17 +2242,13 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallet-contracts-primitives" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64046754df757ab4ddb3530d568c6f05a0a04ecaf17e3e19d9667bc121faa0b1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ "bitflags", "parity-scale-codec", - "scale-info", - "serde", - "sp-core", - "sp-rpc", "sp-runtime", "sp-std", + "sp-weights", ] [[package]] @@ -2194,6 +2260,7 @@ dependencies = [ "arrayvec 0.7.2", "bitvec", "byte-slice-cast", + "bytes", "impl-trait-for-tuples", "parity-scale-codec-derive", "serde", @@ -2213,9 +2280,9 @@ dependencies = [ [[package]] name = "parity-util-mem" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c32561d248d352148124f036cac253a644685a21dc9fea383eb4907d7bd35a8f" +checksum = "0d32c34f4f5ca7f9196001c0aba5a1f9a5a12382c8944b8b0f90233282d1e8f8" dependencies = [ "cfg-if", "hashbrown", @@ -2237,12 +2304,6 @@ dependencies = [ "synstructure", ] -[[package]] -name = "parity-wasm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" - [[package]] name = "parity-wasm" version = "0.45.0" @@ -2410,13 +2471,13 @@ dependencies = [ [[package]] name = "primitive-types" -version = "0.11.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28720988bff275df1f51b171e1b2a18c30d194c4d2b61defdacecd625a5d94a" +checksum = "9f3486ccba82358b11a77516035647c34ba167dfa53312630de83b12bd4f3d66" dependencies = [ "fixed-hash", "impl-codec", - "impl-serde 0.3.2", + "impl-serde", "scale-info", "uint", ] @@ -2865,31 +2926,13 @@ dependencies = [ "untrusted", ] -[[package]] -name = "secp256k1" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c42e6f1735c5f00f51e43e28d6634141f2bcad10931b2609ddd74a86d751260" -dependencies = [ - "secp256k1-sys 0.4.2", -] - [[package]] name = "secp256k1" version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7649a0b3ffb32636e60c7ce0d70511eda9c52c658cd0634e194d5a19943aeff" dependencies = [ - "secp256k1-sys 0.6.0", -] - -[[package]] -name = "secp256k1-sys" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957da2573cde917463ece3570eab4a0b3f19de6f1646cde62e6fd3868f566036" -dependencies = [ - "cc", + "secp256k1-sys", ] [[package]] @@ -2968,7 +3011,7 @@ version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" dependencies = [ - "itoa 1.0.3", + "itoa", "ryu", "serde", ] @@ -3041,12 +3084,6 @@ dependencies = [ "lazy_static", ] -[[package]] -name = "signature" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb766570a2825fa972bceff0d195727876a9cdf2460ab2e52d455dc2de47fd9" - [[package]] name = "slab" version = "0.4.7" @@ -3090,8 +3127,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acb4490364cb3b097a6755343e552495b0013778152300714be4647d107e9a2e" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ "parity-scale-codec", "scale-info", @@ -3104,8 +3140,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31ef21f82cc10f75ed046b65e2f8048080ee76e59f1b8aed55c7150daebfd35b" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ "integer-sqrt", "num-traits", @@ -3120,34 +3155,32 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77963e2aa8fadb589118c3aede2e78b6c4bcf1c01d588fbf33e915b390825fbd" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ + "array-bytes", "base58", "bitflags", - "blake2-rfc", + "blake2", "byteorder", "dyn-clonable", - "ed25519-dalek", + "ed25519-zebra", "futures", "hash-db", "hash256-std-hasher", - "hex", - "impl-serde 0.3.2", + "impl-serde", "lazy_static", "libsecp256k1", "log", "merlin", "num-traits", "parity-scale-codec", - "parity-util-mem", "parking_lot", "primitive-types", "rand 0.7.3", "regex", "scale-info", "schnorrkel", - "secp256k1 0.21.3", + "secp256k1", "secrecy", "serde", "sp-core-hashing", @@ -3167,22 +3200,21 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec864a6a67249f0c8dd3d5acab43623a61677e85ff4f2f9b04b802d2fe780e83" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ - "blake2-rfc", + "blake2", "byteorder", - "sha2 0.9.9", + "digest 0.10.5", + "sha2 0.10.6", + "sha3", "sp-std", - "tiny-keccak", "twox-hash", ] [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d676664972e22a0796176e81e7bec41df461d1edf52090955cdab55f2c956ff2" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ "proc-macro2", "quote", @@ -3192,8 +3224,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcfd91f92a2a59224230a77c4a5d6f51709620c0aab4e51f108ccece6adc56f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ "environmental", "parity-scale-codec", @@ -3204,16 +3235,16 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "935fd3c71bad6811a7984cabb74d323b8ca3107024024c3eabb610e0182ba8d3" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ + "bytes", "futures", "hash-db", "libsecp256k1", "log", "parity-scale-codec", "parking_lot", - "secp256k1 0.21.3", + "secp256k1", "sp-core", "sp-externalities", "sp-keystore", @@ -3230,8 +3261,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3261eddca8c8926e3e1de136a7980cb3afc3455247d9d6f3119d9b292f73aaee" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ "async-trait", "futures", @@ -3247,30 +3277,17 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2101f3c555fceafcfcfb0e61c55ea9ed80dc60bd77d54d9f25b369edb029e9a4" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ "backtrace", "lazy_static", "regex", ] -[[package]] -name = "sp-rpc" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6cadf2772480d8df7f90242bbc07fb978a3ac45cb6ec1eeadf0462306e86ea" -dependencies = [ - "rustc-hash", - "serde", - "sp-core", -] - [[package]] name = "sp-runtime" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d8a8d5ab5d349c6cf9300af1721b7b6446ba63401dbb11c10a1d65197aa5f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ "either", "hash256-std-hasher", @@ -3287,14 +3304,15 @@ dependencies = [ "sp-core", "sp-io", "sp-std", + "sp-weights", ] [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "158bf0305c75a50fc0e334b889568f519a126e32b87900c3f4251202dece7b4b" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ + "bytes", "impl-trait-for-tuples", "parity-scale-codec", "primitive-types", @@ -3310,8 +3328,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ecb916b9664ed9f90abef0ff5a3e61454c1efea5861b2997e03f39b59b955f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ "Inflector", "proc-macro-crate", @@ -3323,8 +3340,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecee3b33eb78c99997676a571656bcc35db6886abecfddd13e76a73b5871c6c1" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ "hash-db", "log", @@ -3340,23 +3356,20 @@ dependencies = [ "sp-trie", "thiserror", "tracing", - "trie-db", "trie-root", ] [[package]] name = "sp-std" version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14804d6069ee7a388240b665f17908d98386ffb0b5d39f89a4099fc7a2a4c03f" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" [[package]] name = "sp-storage" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dab53af846068e3e0716d3ccc70ea0db44035c79b2ed5821aaa6635039efa37" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ - "impl-serde 0.3.2", + "impl-serde", "parity-scale-codec", "ref-cast", "serde", @@ -3367,8 +3380,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69a67e555d171c4238bd223393cda747dd20ec7d4f5fe5c042c056cb7fde9eda" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ "parity-scale-codec", "sp-std", @@ -3380,15 +3392,22 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6fc34f4f291886914733e083b62708d829f3e6b8d7a7ca7fa8a55a3d7640b0b" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ + "ahash", "hash-db", + "hashbrown", + "lazy_static", + "lru", "memory-db", + "nohash-hasher", "parity-scale-codec", + "parking_lot", "scale-info", "sp-core", "sp-std", + "thiserror", + "tracing", "trie-db", "trie-root", ] @@ -3396,8 +3415,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10d88debe690c2b24eaa9536a150334fcef2ae184c21a0e5b3e80135407a7d52" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" dependencies = [ "impl-trait-for-tuples", "log", @@ -3406,6 +3424,22 @@ dependencies = [ "wasmi", ] +[[package]] +name = "sp-weights" +version = "4.0.0" +source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +dependencies = [ + "impl-trait-for-tuples", + "parity-scale-codec", + "scale-info", + "serde", + "smallvec", + "sp-arithmetic", + "sp-core", + "sp-debug-derive", + "sp-std", +] + [[package]] name = "spin" version = "0.5.2" @@ -3414,9 +3448,9 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "ss58-registry" -version = "1.31.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1de151faef619cb7b5c26b32d42bc7ddccac0d202beb7a84344b44e9232b92f7" +checksum = "37a9821878e1f13aba383aa40a86fb1b33c7265774ec91e32563cb1dd1577496" dependencies = [ "Inflector", "num-format", @@ -3489,13 +3523,13 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "subxt" version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a8757ee0e19f87e722577282ab1386c86592a4b13ff963b9c6ec4176348104c" +source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#4838ac0297e23655dcf9fb25fc2551cb53ba4587" dependencies = [ "bitvec", "derivative", "frame-metadata", "futures", + "getrandom 0.2.7", "hex", "jsonrpsee", "parity-scale-codec", @@ -3516,12 +3550,13 @@ dependencies = [ [[package]] name = "subxt-codegen" version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb77f93e11e6ff3ff95fe33e3d24c27c342e16feca8ef47759993614ebe90d2c" +source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#4838ac0297e23655dcf9fb25fc2551cb53ba4587" dependencies = [ "darling", "frame-metadata", "heck", + "hex", + "jsonrpsee", "parity-scale-codec", "proc-macro-error", "proc-macro2", @@ -3529,13 +3564,13 @@ dependencies = [ "scale-info", "subxt-metadata", "syn", + "tokio", ] [[package]] name = "subxt-macro" version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051cc21d77a54ae944b872eafdf9edfe1d9134fdfcfc3477dc10f763c76564a9" +source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#4838ac0297e23655dcf9fb25fc2551cb53ba4587" dependencies = [ "darling", "proc-macro-error", @@ -3546,8 +3581,7 @@ dependencies = [ [[package]] name = "subxt-metadata" version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ed78d80db3a97d55e8b1cfecc1f6f9e21793a589d4e2e5f4fe2d6d5850c2e54" +source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#4838ac0297e23655dcf9fb25fc2551cb53ba4587" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -3661,15 +3695,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "tiny-keccak" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237" -dependencies = [ - "crunchy", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -3692,7 +3717,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" dependencies = [ "autocfg", + "bytes", "libc", + "memchr", "mio", "num_cpus", "pin-project-lite", @@ -3735,6 +3762,7 @@ dependencies = [ "futures-sink", "pin-project-lite", "tokio", + "tracing", ] [[package]] @@ -3746,6 +3774,12 @@ dependencies = [ "serde", ] +[[package]] +name = "tower-service" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" + [[package]] name = "tracing" version = "0.1.37" @@ -3779,16 +3813,6 @@ dependencies = [ "valuable", ] -[[package]] -name = "tracing-futures" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" -dependencies = [ - "pin-project", - "tracing", -] - [[package]] name = "tracing-log" version = "0.1.3" @@ -3852,9 +3876,9 @@ dependencies = [ [[package]] name = "trie-db" -version = "0.23.1" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32d034c0d3db64b43c31de38e945f15b40cd4ca6d2dcfc26d4798ce8de4ab83" +checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" dependencies = [ "hash-db", "hashbrown", @@ -3872,6 +3896,12 @@ dependencies = [ "hash-db", ] +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + [[package]] name = "twox-hash" version = "1.6.3" @@ -3879,6 +3909,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", + "digest 0.10.5", "rand 0.8.5", "static_assertions", ] @@ -4023,6 +4054,16 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + [[package]] name = "wasi" version = "0.9.0+wasi-snapshot-preview1" @@ -4144,26 +4185,35 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.9.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca00c5147c319a8ec91ec1a0edbec31e566ce2c9cc93b3f9bb86a9efd0eb795d" +checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" dependencies = [ - "downcast-rs", - "libc", - "memory_units", - "num-rational", - "num-traits", - "parity-wasm 0.42.2", + "parity-wasm", "wasmi-validation", + "wasmi_core", ] [[package]] name = "wasmi-validation" -version = "0.4.1" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" +dependencies = [ + "parity-wasm", +] + +[[package]] +name = "wasmi_core" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165343ecd6c018fc09ebcae280752702c9a2ef3e6f8d02f1cfcbdb53ef6d7937" +checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" dependencies = [ - "parity-wasm 0.42.2", + "downcast-rs", + "libm", + "memory_units", + "num-rational", + "num-traits", ] [[package]] diff --git a/crates/cargo-contract/Cargo.toml b/crates/cargo-contract/Cargo.toml index cd836d343..a891ff326 100644 --- a/crates/cargo-contract/Cargo.toml +++ b/crates/cargo-contract/Cargo.toml @@ -46,12 +46,12 @@ wasm-opt = "0.110.2" # dependencies for extrinsics (deploying and calling a contract) async-std = { version = "1.12.0", features = ["attributes", "tokio1"] } # todo: [AJ] release new versions of these substrate crates -sp-core = { git = "https://github.com/paritytech/substrate", package = "sp-core" } -pallet-contracts-primitives = { git = "https://github.com/paritytech/substrate", package = "pallet-contracts-primitives" } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.33", package = "sp-core" } +pallet-contracts-primitives = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.33", package = "pallet-contracts-primitives" } # todo: [AJ] new version of subxt with updated substrate dependencies -subxt = "0.24.0" +subxt = { git = "https://github.com/paritytech/subxt", branch = "aj/update-substrate-crates", package = "subxt" } hex = "0.4.3" -jsonrpsee = { version = "0.15.1", features = ["ws-client"] } +jsonrpsee = { version = "0.16.0", features = ["ws-client"] } [build-dependencies] anyhow = "1.0.66" diff --git a/crates/transcode/Cargo.toml b/crates/transcode/Cargo.toml index 963845efc..778249195 100644 --- a/crates/transcode/Cargo.toml +++ b/crates/transcode/Cargo.toml @@ -34,8 +34,8 @@ scale-info = { version = "2.3.0", default-features = false, features = ["derive" serde = { version = "1.0.147", default-features = false, features = ["derive"] } serde_json = "1.0.87" # todo: [AJ] release new versions of these substrate crates -sp-core = { git = "https://github.com/paritytech/substrate", package = "sp-core" } -sp-runtime = { git = "https://github.com/paritytech/substrate", package = "sp-runtime" } +sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.33", package = "sp-core" } +sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.33", package = "sp-runtime" } [dev-dependencies] assert_matches = "1.5.0" From 64d7df394d02c93461e6991e6f3846434c94e1f6 Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Mon, 14 Nov 2022 16:39:21 +0000 Subject: [PATCH 04/16] Cargo.lock --- Cargo.lock | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 440171f53..2861a775b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -103,9 +103,9 @@ checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" [[package]] name = "assert_cmd" -version = "2.0.5" +version = "2.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5c2ca00549910ec251e3bd15f87aeeb206c9456b9a77b43ff6c97c54042a472" +checksum = "ba45b8163c49ab5f972e59a8a5a03b6d2972619d486e19ec9fe744f7c2753d3c" dependencies = [ "bstr", "doc-comment", @@ -324,9 +324,9 @@ dependencies = [ [[package]] name = "blake2" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388" +checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e" dependencies = [ "digest 0.10.5", ] @@ -395,13 +395,14 @@ dependencies = [ [[package]] name = "bstr" -version = "0.2.17" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +checksum = "fca0852af221f458706eb0725c03e4ed6c46af9ac98e6a689d5e634215d594dd" dependencies = [ - "lazy_static", "memchr", + "once_cell", "regex-automata", + "serde", ] [[package]] @@ -546,9 +547,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.0.18" +version = "4.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335867764ed2de42325fafe6d18b8af74ba97ee0c590fa016f157535b42ab04b" +checksum = "0eb41c13df48950b20eb4cd0eefa618819469df1bffc49d11e8487c4ba0037e5" dependencies = [ "atty", "bitflags", @@ -561,9 +562,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.0.18" +version = "4.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16a1b0f6422af32d5da0c58e2703320f379216ee70198241c84173a8c5ac28f3" +checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014" dependencies = [ "heck", "proc-macro-error", @@ -1003,9 +1004,9 @@ checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "env_logger" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272" +checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" dependencies = [ "atty", "humantime", @@ -2429,9 +2430,9 @@ checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" [[package]] name = "predicates" -version = "2.1.1" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5aab5be6e4732b473071984b3164dbbfb7a3674d30ea5ff44410b6bcd960c3c" +checksum = "ed6bd09a7f7e68f3f0bf710fb7ab9c4615a488b58b5f653382a687701e458c92" dependencies = [ "difflib", "float-cmp", @@ -2664,9 +2665,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" +checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" dependencies = [ "aho-corasick", "memchr", From 292d04aa3f900ef9d5578905e938015005274b88 Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Mon, 14 Nov 2022 16:51:57 +0000 Subject: [PATCH 05/16] Fixing errors on update of subxt --- crates/cargo-contract/src/cmd/extrinsics/call.rs | 2 +- crates/cargo-contract/src/cmd/extrinsics/events.rs | 4 ++-- crates/cargo-contract/src/cmd/extrinsics/instantiate.rs | 6 +++--- crates/cargo-contract/src/cmd/extrinsics/mod.rs | 3 ++- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/crates/cargo-contract/src/cmd/extrinsics/call.rs b/crates/cargo-contract/src/cmd/extrinsics/call.rs index b2dcf925d..3c3ee3830 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/call.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/call.rs @@ -113,7 +113,7 @@ impl CallCommand { match result.result { Ok(ref ret_val) => { let value = transcoder - .decode_return(&self.message, &mut &ret_val.data.0[..])?; + .decode_return(&self.message, &mut &ret_val.data[..])?; let dry_run_result = CallDryRunResult { result: String::from("Success!"), reverted: ret_val.did_revert(), diff --git a/crates/cargo-contract/src/cmd/extrinsics/events.rs b/crates/cargo-contract/src/cmd/extrinsics/events.rs index f335fbd53..5fcdb2cfb 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/events.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/events.rs @@ -35,8 +35,8 @@ use anyhow::Result; use std::fmt::Write; use subxt::{ self, + blocks::ExtrinsicEvents, events::StaticEvent, - tx::TxEvents, }; /// Field that represent data of an event from invoking a contract extrinsic. @@ -79,7 +79,7 @@ pub struct DisplayEvents(Vec); impl DisplayEvents { /// Parses events and returns an object which can be serialised pub fn from_events( - result: &TxEvents, + result: &ExtrinsicEvents, transcoder: &ContractMessageTranscoder, subxt_metadata: &subxt::Metadata, ) -> Result { diff --git a/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs b/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs index 9b8327c21..c8e4173b5 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs @@ -70,7 +70,7 @@ use std::{ }, }; use subxt::{ - tx::TxEvents, + blocks::ExtrinsicEvents, Config, OnlineClient, }; @@ -244,7 +244,7 @@ impl Exec { result: String::from("Success!"), contract: ret_val.account_id.to_ss58check(), reverted: ret_val.result.did_revert(), - data: ret_val.result.data.clone(), + data: ret_val.result.data.clone().into(), gas_consumed: result.gas_consumed, gas_required: result.gas_required, storage_deposit: result.storage_deposit.clone(), @@ -357,7 +357,7 @@ impl Exec { async fn display_result( &self, - result: &TxEvents, + result: &ExtrinsicEvents, code_hash: Option, contract_address: sp_core::crypto::AccountId32, token_metadata: &TokenMetadata, diff --git a/crates/cargo-contract/src/cmd/extrinsics/mod.rs b/crates/cargo-contract/src/cmd/extrinsics/mod.rs index 607a860fc..4bce0fa1c 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/mod.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/mod.rs @@ -64,6 +64,7 @@ use sp_core::{ Bytes, }; use subxt::{ + blocks, tx, Config, OnlineClient, @@ -227,7 +228,7 @@ async fn submit_extrinsic( client: &OnlineClient, call: &Call, signer: &(dyn tx::Signer + Send + Sync), -) -> core::result::Result, subxt::Error> +) -> core::result::Result, subxt::Error> where T: Config, >::OtherParams: Default, From 15dd39c63b3abbe99da39dcabdbc1096f45026ad Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 15 Nov 2022 10:05:34 +0000 Subject: [PATCH 06/16] Utilize sp_weights::Weight type --- Cargo.lock | 1 + crates/cargo-contract/Cargo.toml | 1 + .../cargo-contract/src/cmd/extrinsics/call.rs | 41 ++++++++------ .../src/cmd/extrinsics/instantiate.rs | 53 +++++++++++-------- .../cargo-contract/src/cmd/extrinsics/mod.rs | 3 +- .../src/cmd/extrinsics/runtime_api/mod.rs | 27 +--------- 6 files changed, 61 insertions(+), 65 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2861a775b..b5792110b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -481,6 +481,7 @@ dependencies = [ "serde", "serde_json", "sp-core", + "sp-weights", "substrate-build-script-utils", "subxt", "tempfile", diff --git a/crates/cargo-contract/Cargo.toml b/crates/cargo-contract/Cargo.toml index 152aa6ccb..339197f77 100644 --- a/crates/cargo-contract/Cargo.toml +++ b/crates/cargo-contract/Cargo.toml @@ -47,6 +47,7 @@ wasm-opt = "0.110.2" async-std = { version = "1.12.0", features = ["attributes", "tokio1"] } # todo: [AJ] release new versions of these substrate crates sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.33", package = "sp-core" } +sp-weights = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.33", package = "sp-weights" } pallet-contracts-primitives = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.33", package = "pallet-contracts-primitives" } # todo: [AJ] new version of subxt with updated substrate dependencies subxt = { git = "https://github.com/paritytech/subxt", branch = "aj/update-substrate-crates", package = "subxt" } diff --git a/crates/cargo-contract/src/cmd/extrinsics/call.rs b/crates/cargo-contract/src/cmd/extrinsics/call.rs index 3c3ee3830..018537d71 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/call.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/call.rs @@ -17,10 +17,7 @@ use super::{ display_contract_exec_result, prompt_confirm_tx, - runtime_api::{ - api, - Weight, - }, + runtime_api::api, state_call, submit_extrinsic, Balance, @@ -54,6 +51,7 @@ use pallet_contracts_primitives::{ StorageDeposit, }; use scale::Encode; +use sp_weights::Weight; use transcode::Value; use std::fmt::Debug; @@ -76,10 +74,14 @@ pub struct CallCommand { args: Vec, #[clap(flatten)] extrinsic_opts: ExtrinsicOpts, - /// Maximum amount of gas to be used for this command. - /// If not specified will perform a dry-run to estimate the gas consumed for the instantiation. + /// Maximum amount of gas (execution time) to be used for this command. + /// If not specified will perform a dry-run to estimate the gas consumed for the call. #[clap(name = "gas", long)] gas_limit: Option, + /// Maximum proof size for this call. + /// If not specified will perform a dry-run to estimate the proof size required for the call. + #[clap(long)] + proof_size: Option, /// The value to be transferred as part of the call. #[clap(name = "value", long, default_value = "0")] value: BalanceVariant, @@ -159,7 +161,8 @@ impl CallCommand { signer: &PairSigner, ) -> Result> { let url = self.extrinsic_opts.url_to_string(); - let gas_limit = *self.gas_limit.as_ref().unwrap_or(&5_000_000_000_000); + let ref_time = *self.gas_limit.as_ref().unwrap_or(&5_000_000_000_000); + let proof_size = self.proof_size.unwrap_or(u64::MAX); let token_metadata = TokenMetadata::query(client).await?; let storage_deposit_limit = self .extrinsic_opts @@ -171,7 +174,7 @@ impl CallCommand { origin: signer.account_id().clone(), dest: self.contract.clone(), value: self.value.denominate_balance(&token_metadata)?, - gas_limit: Weight::from_ref_time(gas_limit), + gas_limit: Weight::from_parts(ref_time, proof_size), storage_deposit_limit, input_data, }; @@ -237,11 +240,11 @@ impl CallCommand { signer: &PairSigner, ) -> Result { if self.extrinsic_opts.skip_dry_run { - return match self.gas_limit { - Some(gas) => Ok(Weight::from_ref_time(gas)), - None => { + return match (self.gas_limit, self.proof_size) { + (Some(ref_time), Some(proof_size)) => Ok(Weight::from_parts(ref_time, proof_size)), + _ => { Err(anyhow!( - "Gas limit `--gas` argument required if `--skip-dry-run` specified" + "Weight args `--gas` and `--proof-size` required if `--skip-dry-run` specified" )) } } @@ -255,8 +258,14 @@ impl CallCommand { if !self.output_json { super::print_gas_required_success(call_result.gas_required); } - let gas_limit = self.gas_limit.unwrap_or(call_result.gas_required); - Ok(Weight::from_ref_time(gas_limit)) + // use user specified values where provided, otherwise use the estimates + let ref_time = self + .gas_limit + .unwrap_or(call_result.gas_required.ref_time()); + let proof_size = self + .proof_size + .unwrap_or(call_result.gas_required.proof_size()); + Ok(Weight::from_parts(ref_time, proof_size)) } Err(ref err) => { let object = ErrorVariant::from_dispatch_error(err, &client.metadata())?; @@ -293,8 +302,8 @@ pub struct CallDryRunResult { /// Was the operation reverted pub reverted: bool, pub data: Value, - pub gas_consumed: u64, - pub gas_required: u64, + pub gas_consumed: Weight, + pub gas_required: Weight, /// Storage deposit after the operation pub storage_deposit: StorageDeposit, } diff --git a/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs b/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs index c8e4173b5..da5b60abf 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs @@ -17,10 +17,7 @@ use super::{ display_contract_exec_result, prompt_confirm_tx, - runtime_api::{ - api, - Weight, - }, + runtime_api::api, state_call, submit_extrinsic, Balance, @@ -62,6 +59,7 @@ use sp_core::{ crypto::Ss58Codec, Bytes, }; +use sp_weights::Weight; use std::{ fs, path::{ @@ -102,6 +100,10 @@ pub struct InstantiateCommand { /// If not specified will perform a dry-run to estimate the gas consumed for the instantiation. #[clap(name = "gas", long)] gas_limit: Option, + /// Maximum proof size for this instantiation. + /// If not specified will perform a dry-run to estimate the proof size required. + #[clap(long)] + proof_size: Option, /// A salt used in the address derivation of the new contract. Use to create multiple instances /// of the same contract code from the same account. #[clap(long, value_parser = parse_hex_bytes)] @@ -179,7 +181,8 @@ impl InstantiateCommand { constructor: self.constructor.clone(), raw_args: self.args.clone(), value: self.value.denominate_balance(&token_metadata)?, - gas_limit: self.gas_limit.map(Weight::from_ref_time), + gas_limit: self.gas_limit, + proof_size: self.proof_size, storage_deposit_limit: self .extrinsic_opts .storage_deposit_limit @@ -210,7 +213,8 @@ struct InstantiateArgs { constructor: String, raw_args: Vec, value: Balance, - gas_limit: Option, + gas_limit: Option, + proof_size: Option, storage_deposit_limit: Option, data: Vec, salt: Vec, @@ -397,15 +401,14 @@ impl Exec { code: Code, ) -> Result::AccountId, Balance>> { - let gas_limit = self - .args - .gas_limit - .unwrap_or_else(|| Weight::from_ref_time(5_000_000_000_000)); + let ref_time = *self.args.gas_limit.as_ref().unwrap_or(&5_000_000_000_000); + let proof_size = self.args.proof_size.unwrap_or(u64::MAX); + let storage_deposit_limit = self.args.storage_deposit_limit; let call_request = InstantiateRequest { origin: self.signer.account_id().clone(), value: self.args.value, - gas_limit, + gas_limit: Weight::from_parts(ref_time, proof_size), storage_deposit_limit, code, data: self.args.data.clone(), @@ -417,12 +420,12 @@ impl Exec { /// Dry run the instantiation before tx submission. Returns the gas required estimate. async fn pre_submit_dry_run_gas_estimate(&self, code: Code) -> Result { if self.opts.skip_dry_run { - return match self.args.gas_limit { - Some(gas) => Ok(gas), - None => { + return match (self.args.gas_limit, self.args.proof_size) { + (Some(ref_time), Some(proof_size)) => Ok(Weight::from_parts(ref_time, proof_size)), + _ => { Err(anyhow!( - "Gas limit `--gas` argument required if `--skip-dry-run` specified" - )) + "Weight args `--gas` and `--proof-size` required if `--skip-dry-run` specified" + )) } } } @@ -433,10 +436,16 @@ impl Exec { match instantiate_result.result { Ok(_) => { super::print_gas_required_success(instantiate_result.gas_required); - let gas_limit = self.args.gas_limit.unwrap_or_else(|| { - Weight::from_ref_time(instantiate_result.gas_required) - }); - Ok(gas_limit) + // use user specified values where provided, otherwise use the estimates + let ref_time = self + .args + .gas_limit + .unwrap_or(instantiate_result.gas_required.ref_time()); + let proof_size = self + .args + .proof_size + .unwrap_or(instantiate_result.gas_required.proof_size()); + Ok(Weight::from_parts(ref_time, proof_size)) } Err(ref err) => { let object = @@ -484,8 +493,8 @@ pub struct InstantiateDryRunResult { /// Was the operation reverted pub reverted: bool, pub data: Bytes, - pub gas_consumed: u64, - pub gas_required: u64, + pub gas_consumed: Weight, + pub gas_required: Weight, /// Storage deposit after the operation pub storage_deposit: StorageDeposit, } diff --git a/crates/cargo-contract/src/cmd/extrinsics/mod.rs b/crates/cargo-contract/src/cmd/extrinsics/mod.rs index 4bce0fa1c..eb9b17bf4 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/mod.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/mod.rs @@ -63,6 +63,7 @@ use sp_core::{ sr25519, Bytes, }; +use sp_weights::Weight; use subxt::{ blocks, tx, @@ -284,7 +285,7 @@ fn print_dry_running_status(msg: &str) { ); } -fn print_gas_required_success(gas: u64) { +fn print_gas_required_success(gas: Weight) { println!( "{:>width$} Gas required estimated at {}", "Success!".green().bold(), diff --git a/crates/cargo-contract/src/cmd/extrinsics/runtime_api/mod.rs b/crates/cargo-contract/src/cmd/extrinsics/runtime_api/mod.rs index a5ff8adcc..e8e08c308 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/runtime_api/mod.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/runtime_api/mod.rs @@ -19,30 +19,5 @@ )] pub mod api { #[subxt(substitute_type = "sp_weights::weight_v2::Weight")] - use crate::cmd::extrinsics::runtime_api::Weight; -} - -/// Copy of the `weight_v2::Weight` type defined in substrate. -/// -/// Allows for local trait and inherent impls. -#[derive(scale::Encode, scale::Decode, Clone, Copy, Debug)] -pub struct Weight { - #[codec(compact)] - /// The weight of computational time used based on some reference hardware. - pub ref_time: u64, - #[codec(compact)] - /// The weight of storage space used by proof of validity. - pub proof_size: u64, -} - -impl ToString for Weight { - fn to_string(&self) -> String { - self.ref_time.to_string() - } -} - -impl Weight { - pub fn from_ref_time(ref_time: u64) -> Self { - Self { ref_time, proof_size: 0 } - } + use ::sp_weights::Weight; } From a0f48ff022706852e2aecdf75495ed2d13bf5911 Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 15 Nov 2022 10:19:34 +0000 Subject: [PATCH 07/16] Introduce StorageDeposit copy with Serialize impl --- .../cargo-contract/src/cmd/extrinsics/call.rs | 10 +++---- .../src/cmd/extrinsics/instantiate.rs | 10 +++---- .../cargo-contract/src/cmd/extrinsics/mod.rs | 29 +++++++++++++++++++ 3 files changed, 37 insertions(+), 12 deletions(-) diff --git a/crates/cargo-contract/src/cmd/extrinsics/call.rs b/crates/cargo-contract/src/cmd/extrinsics/call.rs index 018537d71..3e099b28c 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/call.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/call.rs @@ -28,6 +28,7 @@ use super::{ DefaultConfig, ExtrinsicOpts, PairSigner, + StorageDeposit, TokenMetadata, MAX_KEY_COL_WIDTH, }; @@ -46,10 +47,7 @@ use anyhow::{ Result, }; -use pallet_contracts_primitives::{ - ContractExecResult, - StorageDeposit, -}; +use pallet_contracts_primitives::ContractExecResult; use scale::Encode; use sp_weights::Weight; use transcode::Value; @@ -122,7 +120,7 @@ impl CallCommand { data: value, gas_consumed: result.gas_consumed, gas_required: result.gas_required, - storage_deposit: result.storage_deposit.clone(), + storage_deposit: result.storage_deposit.into(), }; if self.output_json { println!("{}", dry_run_result.to_json()?); @@ -305,7 +303,7 @@ pub struct CallDryRunResult { pub gas_consumed: Weight, pub gas_required: Weight, /// Storage deposit after the operation - pub storage_deposit: StorageDeposit, + pub storage_deposit: StorageDeposit, } impl CallDryRunResult { diff --git a/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs b/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs index da5b60abf..74c8e9a55 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs @@ -29,6 +29,7 @@ use super::{ DefaultConfig, ExtrinsicOpts, PairSigner, + StorageDeposit, MAX_KEY_COL_WIDTH, }; use crate::{ @@ -49,10 +50,7 @@ use anyhow::{ Result, }; -use pallet_contracts_primitives::{ - ContractInstantiateResult, - StorageDeposit, -}; +use pallet_contracts_primitives::ContractInstantiateResult; use scale::Encode; use sp_core::{ @@ -251,7 +249,7 @@ impl Exec { data: ret_val.result.data.clone().into(), gas_consumed: result.gas_consumed, gas_required: result.gas_required, - storage_deposit: result.storage_deposit.clone(), + storage_deposit: result.storage_deposit.into(), }; if self.output_json { println!("{}", dry_run_result.to_json()?); @@ -496,7 +494,7 @@ pub struct InstantiateDryRunResult { pub gas_consumed: Weight, pub gas_required: Weight, /// Storage deposit after the operation - pub storage_deposit: StorageDeposit, + pub storage_deposit: StorageDeposit, } impl InstantiateDryRunResult { diff --git a/crates/cargo-contract/src/cmd/extrinsics/mod.rs b/crates/cargo-contract/src/cmd/extrinsics/mod.rs index eb9b17bf4..d184475d5 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/mod.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/mod.rs @@ -293,3 +293,32 @@ fn print_gas_required_success(gas: Weight) { width = DEFAULT_KEY_COL_WIDTH ); } + +/// Copy of `pallet_contracts_primitives::StorageDeposit` which implements `Serialize`, required +/// for json output. +#[derive(Eq, PartialEq, Ord, PartialOrd, Clone, serde::Serialize)] +pub enum StorageDeposit { + /// The transaction reduced storage consumption. + /// + /// This means that the specified amount of balance was transferred from the involved + /// contracts to the call origin. + Refund(Balance), + /// The transaction increased overall storage usage. + /// + /// This means that the specified amount of balance was transferred from the call origin + /// to the contracts involved. + Charge(Balance), +} + +impl From> for StorageDeposit { + fn from(deposit: pallet_contracts_primitives::StorageDeposit) -> Self { + match deposit { + pallet_contracts_primitives::StorageDeposit::Refund(balance) => { + Self::Refund(balance) + } + pallet_contracts_primitives::StorageDeposit::Charge(balance) => { + Self::Charge(balance) + } + } + } +} From f4ea5adbd21349b3467935539059f8503c00ca87 Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 15 Nov 2022 10:24:04 +0000 Subject: [PATCH 08/16] Use borrow for conversion of storage_deposit --- crates/cargo-contract/src/cmd/extrinsics/call.rs | 2 +- crates/cargo-contract/src/cmd/extrinsics/instantiate.rs | 2 +- crates/cargo-contract/src/cmd/extrinsics/mod.rs | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/cargo-contract/src/cmd/extrinsics/call.rs b/crates/cargo-contract/src/cmd/extrinsics/call.rs index 3e099b28c..cb566c439 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/call.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/call.rs @@ -120,7 +120,7 @@ impl CallCommand { data: value, gas_consumed: result.gas_consumed, gas_required: result.gas_required, - storage_deposit: result.storage_deposit.into(), + storage_deposit: StorageDeposit::from(&result.storage_deposit), }; if self.output_json { println!("{}", dry_run_result.to_json()?); diff --git a/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs b/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs index 74c8e9a55..26d7080c5 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs @@ -249,7 +249,7 @@ impl Exec { data: ret_val.result.data.clone().into(), gas_consumed: result.gas_consumed, gas_required: result.gas_required, - storage_deposit: result.storage_deposit.into(), + storage_deposit: StorageDeposit::from(&result.storage_deposit), }; if self.output_json { println!("{}", dry_run_result.to_json()?); diff --git a/crates/cargo-contract/src/cmd/extrinsics/mod.rs b/crates/cargo-contract/src/cmd/extrinsics/mod.rs index d184475d5..3eed57c10 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/mod.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/mod.rs @@ -310,14 +310,14 @@ pub enum StorageDeposit { Charge(Balance), } -impl From> for StorageDeposit { - fn from(deposit: pallet_contracts_primitives::StorageDeposit) -> Self { +impl From<&pallet_contracts_primitives::StorageDeposit> for StorageDeposit { + fn from(deposit: &pallet_contracts_primitives::StorageDeposit) -> Self { match deposit { pallet_contracts_primitives::StorageDeposit::Refund(balance) => { - Self::Refund(balance) + Self::Refund(*balance) } pallet_contracts_primitives::StorageDeposit::Charge(balance) => { - Self::Charge(balance) + Self::Charge(*balance) } } } From a825b9beee02aa86ac2797a616e3233be5a2e9bc Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 15 Nov 2022 10:39:29 +0000 Subject: [PATCH 09/16] Update subxt --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b5792110b..c07688bdd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3525,7 +3525,7 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "subxt" version = "0.24.0" -source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#4838ac0297e23655dcf9fb25fc2551cb53ba4587" +source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#1d5674ee5141c7ebde168768ff0b66387f91f533" dependencies = [ "bitvec", "derivative", @@ -3552,7 +3552,7 @@ dependencies = [ [[package]] name = "subxt-codegen" version = "0.24.0" -source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#4838ac0297e23655dcf9fb25fc2551cb53ba4587" +source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#1d5674ee5141c7ebde168768ff0b66387f91f533" dependencies = [ "darling", "frame-metadata", @@ -3572,7 +3572,7 @@ dependencies = [ [[package]] name = "subxt-macro" version = "0.24.0" -source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#4838ac0297e23655dcf9fb25fc2551cb53ba4587" +source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#1d5674ee5141c7ebde168768ff0b66387f91f533" dependencies = [ "darling", "proc-macro-error", @@ -3583,7 +3583,7 @@ dependencies = [ [[package]] name = "subxt-metadata" version = "0.24.0" -source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#4838ac0297e23655dcf9fb25fc2551cb53ba4587" +source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#1d5674ee5141c7ebde168768ff0b66387f91f533" dependencies = [ "frame-metadata", "parity-scale-codec", From e91f69bbb682e6d2724b9f9c277a7eece811bab7 Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 15 Nov 2022 11:48:28 +0000 Subject: [PATCH 10/16] Use first byte of error for error index --- crates/cargo-contract/src/cmd/extrinsics/error.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/cargo-contract/src/cmd/extrinsics/error.rs b/crates/cargo-contract/src/cmd/extrinsics/error.rs index 7c7266d30..cc27a4efd 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/error.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/error.rs @@ -77,7 +77,7 @@ impl ErrorVariant { ) -> anyhow::Result { match error { DispatchError::Module(err) => { - let details = metadata.error(err.index, err.error)?; + let details = metadata.error(err.index, err.error[0])?; Ok(ErrorVariant::Module(ModuleError { pallet: details.pallet().to_owned(), error: details.error().to_owned(), From e94929f9d1a572ab6b6198ae3b741f17b0b2e827 Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 15 Nov 2022 11:59:38 +0000 Subject: [PATCH 11/16] Fmt --- crates/cargo-contract/src/cmd/extrinsics/call.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/cargo-contract/src/cmd/extrinsics/call.rs b/crates/cargo-contract/src/cmd/extrinsics/call.rs index cb566c439..b96183716 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/call.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/call.rs @@ -120,7 +120,9 @@ impl CallCommand { data: value, gas_consumed: result.gas_consumed, gas_required: result.gas_required, - storage_deposit: StorageDeposit::from(&result.storage_deposit), + storage_deposit: StorageDeposit::from( + &result.storage_deposit, + ), }; if self.output_json { println!("{}", dry_run_result.to_json()?); From f6dd3638d5ce26c6a52203cc0aa205b44e5bd7cd Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 15 Nov 2022 12:15:17 +0000 Subject: [PATCH 12/16] Supply None for gas_limit on dry runs --- crates/cargo-contract/src/cmd/extrinsics/call.rs | 6 ++---- crates/cargo-contract/src/cmd/extrinsics/instantiate.rs | 7 ++----- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/crates/cargo-contract/src/cmd/extrinsics/call.rs b/crates/cargo-contract/src/cmd/extrinsics/call.rs index b96183716..625a45a1f 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/call.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/call.rs @@ -161,8 +161,6 @@ impl CallCommand { signer: &PairSigner, ) -> Result> { let url = self.extrinsic_opts.url_to_string(); - let ref_time = *self.gas_limit.as_ref().unwrap_or(&5_000_000_000_000); - let proof_size = self.proof_size.unwrap_or(u64::MAX); let token_metadata = TokenMetadata::query(client).await?; let storage_deposit_limit = self .extrinsic_opts @@ -174,7 +172,7 @@ impl CallCommand { origin: signer.account_id().clone(), dest: self.contract.clone(), value: self.value.denominate_balance(&token_metadata)?, - gas_limit: Weight::from_parts(ref_time, proof_size), + gas_limit: None, storage_deposit_limit, input_data, }; @@ -289,7 +287,7 @@ pub struct CallRequest { origin: ::AccountId, dest: ::AccountId, value: Balance, - gas_limit: Weight, + gas_limit: Option, storage_deposit_limit: Option, input_data: Vec, } diff --git a/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs b/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs index 26d7080c5..ecceb059f 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs @@ -399,14 +399,11 @@ impl Exec { code: Code, ) -> Result::AccountId, Balance>> { - let ref_time = *self.args.gas_limit.as_ref().unwrap_or(&5_000_000_000_000); - let proof_size = self.args.proof_size.unwrap_or(u64::MAX); - let storage_deposit_limit = self.args.storage_deposit_limit; let call_request = InstantiateRequest { origin: self.signer.account_id().clone(), value: self.args.value, - gas_limit: Weight::from_parts(ref_time, proof_size), + gas_limit: None, storage_deposit_limit, code, data: self.args.data.clone(), @@ -520,7 +517,7 @@ impl InstantiateDryRunResult { struct InstantiateRequest { origin: ::AccountId, value: Balance, - gas_limit: Weight, + gas_limit: Option, storage_deposit_limit: Option, code: Code, data: Vec, From 1cc75c77b742654fdc23d46dfb25bfcd84fe6520 Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 15 Nov 2022 12:19:57 +0000 Subject: [PATCH 13/16] Clippy --- crates/cargo-contract/src/cmd/extrinsics/call.rs | 4 ++-- crates/cargo-contract/src/cmd/extrinsics/instantiate.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/cargo-contract/src/cmd/extrinsics/call.rs b/crates/cargo-contract/src/cmd/extrinsics/call.rs index 625a45a1f..167b0e187 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/call.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/call.rs @@ -259,10 +259,10 @@ impl CallCommand { // use user specified values where provided, otherwise use the estimates let ref_time = self .gas_limit - .unwrap_or(call_result.gas_required.ref_time()); + .unwrap_or_else(||call_result.gas_required.ref_time()); let proof_size = self .proof_size - .unwrap_or(call_result.gas_required.proof_size()); + .unwrap_or_else(||call_result.gas_required.proof_size()); Ok(Weight::from_parts(ref_time, proof_size)) } Err(ref err) => { diff --git a/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs b/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs index ecceb059f..b91c035cc 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/instantiate.rs @@ -435,11 +435,11 @@ impl Exec { let ref_time = self .args .gas_limit - .unwrap_or(instantiate_result.gas_required.ref_time()); + .unwrap_or_else(|| instantiate_result.gas_required.ref_time()); let proof_size = self .args .proof_size - .unwrap_or(instantiate_result.gas_required.proof_size()); + .unwrap_or_else(|| instantiate_result.gas_required.proof_size()); Ok(Weight::from_parts(ref_time, proof_size)) } Err(ref err) => { From f08326b03916f4cdac419d5ab4b8bdaf50043a1b Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 15 Nov 2022 12:21:19 +0000 Subject: [PATCH 14/16] allow(clippy::too_many_arguments) for subxt generated code --- crates/cargo-contract/src/cmd/extrinsics/runtime_api/mod.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crates/cargo-contract/src/cmd/extrinsics/runtime_api/mod.rs b/crates/cargo-contract/src/cmd/extrinsics/runtime_api/mod.rs index e8e08c308..39f69da7f 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/runtime_api/mod.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/runtime_api/mod.rs @@ -14,6 +14,8 @@ // You should have received a copy of the GNU General Public License // along with cargo-contract. If not, see . +#![allow(clippy::too_many_arguments)] + #[subxt::subxt( runtime_metadata_path = "src/cmd/extrinsics/runtime_api/contracts_runtime.scale" )] From 12766bb1aac19e0db15e27573b0d249827d86b43 Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Tue, 15 Nov 2022 12:21:51 +0000 Subject: [PATCH 15/16] Fmt --- crates/cargo-contract/src/cmd/extrinsics/call.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/cargo-contract/src/cmd/extrinsics/call.rs b/crates/cargo-contract/src/cmd/extrinsics/call.rs index 167b0e187..c7659f325 100644 --- a/crates/cargo-contract/src/cmd/extrinsics/call.rs +++ b/crates/cargo-contract/src/cmd/extrinsics/call.rs @@ -259,10 +259,10 @@ impl CallCommand { // use user specified values where provided, otherwise use the estimates let ref_time = self .gas_limit - .unwrap_or_else(||call_result.gas_required.ref_time()); + .unwrap_or_else(|| call_result.gas_required.ref_time()); let proof_size = self .proof_size - .unwrap_or_else(||call_result.gas_required.proof_size()); + .unwrap_or_else(|| call_result.gas_required.proof_size()); Ok(Weight::from_parts(ref_time, proof_size)) } Err(ref err) => { From c5a11a6c42b9ceb40be3cd91fd83afd7dbbdc61b Mon Sep 17 00:00:00 2001 From: Andrew Jones Date: Wed, 16 Nov 2022 15:48:18 +0000 Subject: [PATCH 16/16] Use released Substrate and subxt crates --- Cargo.lock | 118 +++++++++++++++++++------------ crates/cargo-contract/Cargo.toml | 10 ++- crates/transcode/Cargo.toml | 5 +- 3 files changed, 77 insertions(+), 56 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c07688bdd..382c23fae 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2243,8 +2243,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallet-contracts-primitives" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33fd2f159dc7cc71def8ac684fa4938b2a66ef158436d3c7ab4aa6b69390d562" dependencies = [ "bitflags", "parity-scale-codec", @@ -3128,8 +3129,9 @@ dependencies = [ [[package]] name = "sp-application-crypto" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a70f8245ad75c773c43e46d16e81adb62290d37cd07efcde6cef06d93235e5" dependencies = [ "parity-scale-codec", "scale-info", @@ -3141,8 +3143,9 @@ dependencies = [ [[package]] name = "sp-arithmetic" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3856b3e912f0a7a1332f1642b5fd3c2e76476e894c656538d32c004698690157" dependencies = [ "integer-sqrt", "num-traits", @@ -3156,8 +3159,9 @@ dependencies = [ [[package]] name = "sp-core" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c78530907dbf7949af928d0ce88b485067389201b6d9b468074b1924f209f0" dependencies = [ "array-bytes", "base58", @@ -3201,8 +3205,9 @@ dependencies = [ [[package]] name = "sp-core-hashing" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49b9d1daa6aebfc144729b630885e91df92ff00560490ec065a56cb538e8895a" dependencies = [ "blake2", "byteorder", @@ -3215,8 +3220,9 @@ dependencies = [ [[package]] name = "sp-debug-derive" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9ba7352773b96a4aa57e903447f841c6bc26e8c798377db6e7eb332346454" dependencies = [ "proc-macro2", "quote", @@ -3225,8 +3231,9 @@ dependencies = [ [[package]] name = "sp-externalities" -version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef739442230f49d88ece41259e5d886d6b8bc0f4197ef7f1585c39c762ce7ef2" dependencies = [ "environmental", "parity-scale-codec", @@ -3236,8 +3243,9 @@ dependencies = [ [[package]] name = "sp-io" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6280bd3643354f7ff0b2abd36c687745455779231a7a86d90945608f0d4924c4" dependencies = [ "bytes", "futures", @@ -3262,8 +3270,9 @@ dependencies = [ [[package]] name = "sp-keystore" -version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44bec4f0d036b6993c14bbee4216781f21275e5c201e43e45fed4a434bf0e5a" dependencies = [ "async-trait", "futures", @@ -3278,8 +3287,9 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97549ec99cb289db2a9f5c656b6880f7c90097135e1ca6c6ae4fe5694232e526" dependencies = [ "backtrace", "lazy_static", @@ -3288,8 +3298,9 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edfc5c54c2b31d2f0cf904d472a0bff7125c0c2a2e2330507842e56f9a27444" dependencies = [ "either", "hash256-std-hasher", @@ -3311,8 +3322,9 @@ dependencies = [ [[package]] name = "sp-runtime-interface" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b886a5d34400b0e0c12d389e3bb48b7a93d651cddf7e248124b81fe64c339251" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -3329,8 +3341,9 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a157f1ce0108b9b87f87e826726049d9b6253318b74410c814be7fc2af416b51" dependencies = [ "Inflector", "proc-macro-crate", @@ -3341,8 +3354,9 @@ dependencies = [ [[package]] name = "sp-state-machine" -version = "0.12.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5c2d97ad69011d34ca257f0383532b80096d53f889f5894ae2b24a211bec66f" dependencies = [ "hash-db", "log", @@ -3363,13 +3377,15 @@ dependencies = [ [[package]] name = "sp-std" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3fd4c1d304be101e6ebbafd3d4be9a37b320c970ef4e8df188b16873981c93" [[package]] name = "sp-storage" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb987ed2e4d7d870170a225083ea962f2a359d75cdf76935d5ed8d91bee912d9" dependencies = [ "impl-serde", "parity-scale-codec", @@ -3381,8 +3397,9 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e761df87dc940d87720939de8f976d1fc0657e523886ae0d7bf3f7e2e2f0abb6" dependencies = [ "parity-scale-codec", "sp-std", @@ -3393,8 +3410,9 @@ dependencies = [ [[package]] name = "sp-trie" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4f48c887e90050537e399d2d8b6ee82787ebec0fe46e4880b42cab0c2d5ba6" dependencies = [ "ahash", "hash-db", @@ -3416,8 +3434,9 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +version = "7.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f43c40afab6ecac20505907631c929957ed636b7af8795984649bbaa6ff38c3" dependencies = [ "impl-trait-for-tuples", "log", @@ -3429,7 +3448,8 @@ dependencies = [ [[package]] name = "sp-weights" version = "4.0.0" -source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.33#122856e1866b0327b603bcc086e96a58c60910f2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c671673133b30e6ab6d88139b06adcdaec5aa06548abe0e155a0c830b592793b" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -3524,8 +3544,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "subxt" -version = "0.24.0" -source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#1d5674ee5141c7ebde168768ff0b66387f91f533" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3cbc78fd36035a24883eada29e0205b9b1416172530a7d00a60c07d0337db0c" dependencies = [ "bitvec", "derivative", @@ -3551,8 +3572,9 @@ dependencies = [ [[package]] name = "subxt-codegen" -version = "0.24.0" -source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#1d5674ee5141c7ebde168768ff0b66387f91f533" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7722c31febf55eb300c73d977da5d65cfd6fb443419b1185b9abcdd9925fd7be" dependencies = [ "darling", "frame-metadata", @@ -3571,8 +3593,9 @@ dependencies = [ [[package]] name = "subxt-macro" -version = "0.24.0" -source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#1d5674ee5141c7ebde168768ff0b66387f91f533" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f64826f2c4ba20e3b2a86ec81a6ae8655ca6b6a4c2a6ccc888b6615efc2df14" dependencies = [ "darling", "proc-macro-error", @@ -3582,8 +3605,9 @@ dependencies = [ [[package]] name = "subxt-metadata" -version = "0.24.0" -source = "git+https://github.com/paritytech/subxt?branch=aj/update-substrate-crates#1d5674ee5141c7ebde168768ff0b66387f91f533" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "869af75e23513538ad0af046af4a97b8d684e8d202e35ff4127ee061c1110813" dependencies = [ "frame-metadata", "parity-scale-codec", diff --git a/crates/cargo-contract/Cargo.toml b/crates/cargo-contract/Cargo.toml index 339197f77..49aca0c4c 100644 --- a/crates/cargo-contract/Cargo.toml +++ b/crates/cargo-contract/Cargo.toml @@ -45,12 +45,10 @@ wasm-opt = "0.110.2" # dependencies for extrinsics (deploying and calling a contract) async-std = { version = "1.12.0", features = ["attributes", "tokio1"] } -# todo: [AJ] release new versions of these substrate crates -sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.33", package = "sp-core" } -sp-weights = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.33", package = "sp-weights" } -pallet-contracts-primitives = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.33", package = "pallet-contracts-primitives" } -# todo: [AJ] new version of subxt with updated substrate dependencies -subxt = { git = "https://github.com/paritytech/subxt", branch = "aj/update-substrate-crates", package = "subxt" } +sp-core = "7.0.0" +sp-weights = "4.0.0" +pallet-contracts-primitives = "7.0.0" +subxt = "0.25.0" hex = "0.4.3" jsonrpsee = { version = "0.16.0", features = ["ws-client"] } diff --git a/crates/transcode/Cargo.toml b/crates/transcode/Cargo.toml index f03a9e3bb..9ae4499f9 100644 --- a/crates/transcode/Cargo.toml +++ b/crates/transcode/Cargo.toml @@ -33,9 +33,8 @@ scale = { package = "parity-scale-codec", version = "3.0.0", features = ["derive scale-info = { version = "2.3.0", default-features = false, features = ["derive"] } serde = { version = "1.0.147", default-features = false, features = ["derive"] } serde_json = "1.0.87" -# todo: [AJ] release new versions of these substrate crates -sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.33", package = "sp-core" } -sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.33", package = "sp-runtime" } +sp-core = "7.0.0" +sp-runtime = "7.0.0" [dev-dependencies] assert_matches = "1.5.0"