diff --git a/.maintain/frame-weight-template.hbs b/.maintain/frame-weight-template.hbs index acca9c4454..423d243b49 100644 --- a/.maintain/frame-weight-template.hbs +++ b/.maintain/frame-weight-template.hbs @@ -48,10 +48,10 @@ impl {{pallet}}::WeightInfo for SubstrateWeight { {{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}} ) -> Weight { // Minimum execution time: {{underscore benchmark.min_execution_time}} nanoseconds. - Weight::from_ref_time({{underscore benchmark.base_weight}}) + Weight::from_parts({{underscore benchmark.base_weight}}, 0) {{#each benchmark.component_weight as |cw|}} // Standard Error: {{underscore cw.error}} - .saturating_add(Weight::from_ref_time({{underscore cw.slope}}).saturating_mul({{cw.name}}.into())) + .saturating_add(Weight::from_parts({{underscore cw.slope}}, 0).saturating_mul({{cw.name}}.into())) {{/each}} {{#if (ne benchmark.base_reads "0")}} .saturating_add(DbWeight::get().reads({{benchmark.base_reads}})) diff --git a/Cargo.lock b/Cargo.lock index 50743f2716..2bce447985 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -870,8 +870,8 @@ checksum = "0e050f626429857a27ddccb31e0aca21356bfa709c04041aefddac081a8f068a" [[package]] name = "binary-merkle-tree" -version = "13.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "16.1.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "hash-db", "log", @@ -921,7 +921,7 @@ checksum = "90dbd31c98227229239363921e60fcf5e558e43ec69094d46fc4996f08d1d5bc" dependencies = [ "bitcoin_hashes", "rand 0.8.5", - "rand_core 0.6.4", + "rand_core 0.5.1", "serde", "unicode-normalization", ] @@ -1009,30 +1009,6 @@ dependencies = [ "constant_time_eq 0.3.1", ] -[[package]] -name = "blake2s_simd" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e90f7deecfac93095eb874a40febd69427776e24e1bd7f87f33ac62d6f0174df" -dependencies = [ - "arrayref", - "arrayvec 0.7.6", - "constant_time_eq 0.3.1", -] - -[[package]] -name = "blake3" -version = "1.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" -dependencies = [ - "arrayref", - "arrayvec 0.7.6", - "cc", - "cfg-if", - "constant_time_eq 0.3.1", -] - [[package]] name = "block-buffer" version = "0.9.0" @@ -1298,19 +1274,6 @@ dependencies = [ "windows-link", ] -[[package]] -name = "cid" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b68e3193982cd54187d71afdb2a271ad4cf8af157858e9cb911b91321de143" -dependencies = [ - "core2", - "multibase", - "multihash 0.17.0", - "serde", - "unsigned-varint 0.7.2", -] - [[package]] name = "cid" version = "0.11.1" @@ -1890,8 +1853,8 @@ dependencies = [ [[package]] name = "cumulus-client-parachain-inherent" -version = "0.1.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.22.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1902,7 +1865,7 @@ dependencies = [ "sc-client-api", "sc-consensus-babe", "sc-network-types", - "sp-crypto-hashing 0.1.0 (git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0)", + "sp-crypto-hashing", "sp-inherents", "sp-runtime", "sp-state-machine", @@ -1912,8 +1875,8 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" -version = "0.7.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.25.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "array-bytes", "bytes", @@ -1950,8 +1913,8 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" -version = "0.6.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.7.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -1961,8 +1924,8 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" -version = "0.7.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.23.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -1978,8 +1941,8 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" -version = "0.7.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.23.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -1992,8 +1955,8 @@ dependencies = [ [[package]] name = "cumulus-primitives-proof-size-hostfunction" -version = "0.2.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.16.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "sp-externalities", "sp-runtime-interface", @@ -2002,8 +1965,8 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" -version = "0.7.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.28.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2022,12 +1985,14 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" -version = "0.7.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.24.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", "polkadot-primitives", + "sp-consensus-babe", + "sp-core", "sp-runtime", "sp-state-machine", "sp-trie", @@ -2951,8 +2916,8 @@ checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" [[package]] name = "fork-tree" -version = "12.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "13.0.1" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", ] @@ -2984,8 +2949,8 @@ checksum = "28dd6caf6059519a65843af8fe2a3ae298b14b80179855aeb4adc2c1934ee619" [[package]] name = "frame-benchmarking" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-support", "frame-support-procedural", @@ -3008,8 +2973,8 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" -version = "32.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "53.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "Inflector", "array-bytes", @@ -3082,13 +3047,13 @@ dependencies = [ "scale-decode", "scale-info", "scale-type-resolver", - "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-crypto-hashing", ] [[package]] name = "frame-election-provider-solution-type" -version = "13.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "16.1.1" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -3098,8 +3063,8 @@ dependencies = [ [[package]] name = "frame-election-provider-support" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -3115,8 +3080,8 @@ dependencies = [ [[package]] name = "frame-executive" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "aquamarine", "frame-support", @@ -3133,9 +3098,9 @@ dependencies = [ [[package]] name = "frame-metadata" -version = "23.0.0" +version = "23.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8c26fcb0454397c522c05fdad5380c4e622f8a875638af33bff5a320d1fc965" +checksum = "9ba5be0edbdb824843a0f9c6f0906ecfc66c5316218d74457003218b24909ed0" dependencies = [ "cfg-if", "parity-scale-codec", @@ -3145,8 +3110,8 @@ dependencies = [ [[package]] name = "frame-storage-access-test-runtime" -version = "0.1.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.6.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "cumulus-pallet-parachain-system", "parity-scale-codec", @@ -3159,8 +3124,8 @@ dependencies = [ [[package]] name = "frame-support" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "aquamarine", "array-bytes", @@ -3200,8 +3165,8 @@ dependencies = [ [[package]] name = "frame-support-procedural" -version = "23.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "36.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "Inflector", "cfg-expr", @@ -3214,14 +3179,14 @@ dependencies = [ "proc-macro-warning", "proc-macro2", "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0)", + "sp-crypto-hashing", "syn 2.0.111", ] [[package]] name = "frame-support-procedural-tools" -version = "10.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "13.0.1" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.4.0", @@ -3232,8 +3197,8 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" -version = "11.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "12.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "proc-macro2", "quote", @@ -3242,8 +3207,8 @@ dependencies = [ [[package]] name = "frame-system" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "cfg-if", "docify", @@ -3261,8 +3226,8 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-benchmarking", "frame-support", @@ -3275,8 +3240,8 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" -version = "26.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "40.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "docify", "parity-scale-codec", @@ -3285,8 +3250,8 @@ dependencies = [ [[package]] name = "frame-try-runtime" -version = "0.34.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.51.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-support", "parity-scale-codec", @@ -5351,14 +5316,14 @@ checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "litep2p" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcda6c1f442def15b5e73228ebf669e36f4f7d9d154a0b0190d43a29c4cbeadf" +checksum = "d903b21d57fae0e8d184c6ea0107fb5303fcab7cd2acaf5d2d9beb2807194b4a" dependencies = [ "async-trait", "bs58", "bytes", - "cid 0.11.1", + "cid", "ed25519-dalek", "enum-display", "futures", @@ -5766,13 +5731,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" dependencies = [ "blake2b_simd", - "blake2s_simd", - "blake3", "core2", "digest 0.10.7", "multihash-derive", "sha2 0.10.9", - "sha3", "unsigned-varint 0.7.2", ] @@ -5955,7 +5917,7 @@ dependencies = [ "pallet-identity", "pallet-pips", "pallet-portfolio", - "pallet-transaction-payment 2.0.0", + "pallet-transaction-payment", "parity-scale-codec", "polymesh-primitives", "serde", @@ -5978,7 +5940,7 @@ dependencies = [ "pallet-identity", "pallet-pips", "pallet-portfolio", - "pallet-transaction-payment 2.0.0", + "pallet-transaction-payment", "parity-scale-codec", "polymesh-primitives", "serde", @@ -6286,8 +6248,8 @@ dependencies = [ [[package]] name = "pallet-asset-conversion" -version = "10.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "27.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6304,8 +6266,8 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-support", "frame-system", @@ -6319,8 +6281,8 @@ dependencies = [ [[package]] name = "pallet-authorship" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-support", "frame-system", @@ -6332,8 +6294,8 @@ dependencies = [ [[package]] name = "pallet-babe" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6355,8 +6317,8 @@ dependencies = [ [[package]] name = "pallet-balances" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "46.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "docify", "frame-benchmarking", @@ -6390,8 +6352,8 @@ dependencies = [ [[package]] name = "pallet-broker" -version = "0.6.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.24.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "bitvec", "frame-benchmarking", @@ -6459,8 +6421,8 @@ dependencies = [ [[package]] name = "pallet-contracts" -version = "27.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "environmental", "frame-benchmarking", @@ -6490,8 +6452,8 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" -version = "18.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "23.0.3" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "proc-macro2", "quote", @@ -6500,8 +6462,8 @@ dependencies = [ [[package]] name = "pallet-contracts-uapi" -version = "5.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "14.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -6542,8 +6504,8 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" -version = "27.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "44.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6584,8 +6546,8 @@ dependencies = [ [[package]] name = "pallet-grandpa" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6690,8 +6652,8 @@ dependencies = [ [[package]] name = "pallet-im-online" -version = "27.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "44.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6709,8 +6671,8 @@ dependencies = [ [[package]] name = "pallet-indices" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6724,8 +6686,8 @@ dependencies = [ [[package]] name = "pallet-insecure-randomness-collective-flip" -version = "16.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "33.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "polkadot-sdk-frame", @@ -6735,8 +6697,8 @@ dependencies = [ [[package]] name = "pallet-message-queue" -version = "31.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "48.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "environmental", "frame-benchmarking", @@ -6754,8 +6716,8 @@ dependencies = [ [[package]] name = "pallet-mmr" -version = "27.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "log", "parity-scale-codec", @@ -6807,8 +6769,8 @@ dependencies = [ [[package]] name = "pallet-offences" -version = "27.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "44.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-support", "frame-system", @@ -6891,8 +6853,8 @@ dependencies = [ [[package]] name = "pallet-preimage" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-benchmarking", "frame-support", @@ -6975,8 +6937,8 @@ dependencies = [ [[package]] name = "pallet-scheduler" -version = "29.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "46.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "docify", "frame-benchmarking", @@ -6992,8 +6954,8 @@ dependencies = [ [[package]] name = "pallet-session" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-support", "frame-system", @@ -7047,8 +7009,8 @@ dependencies = [ [[package]] name = "pallet-staking" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -7069,8 +7031,8 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" -version = "11.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "12.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -7080,8 +7042,8 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" -version = "14.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "30.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "sp-api", @@ -7147,8 +7109,8 @@ dependencies = [ [[package]] name = "pallet-sudo" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "docify", "frame-benchmarking", @@ -7162,8 +7124,8 @@ dependencies = [ [[package]] name = "pallet-timestamp" -version = "27.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "44.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "docify", "frame-benchmarking", @@ -7180,26 +7142,8 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" -version = "2.0.0" -dependencies = [ - "frame-support", - "frame-system", - "pallet-timestamp", - "parity-scale-codec", - "polymesh-primitives", - "scale-info", - "serde", - "serde_json", - "sp-api", - "sp-io", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "pallet-transaction-payment" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-benchmarking", "frame-support", @@ -7593,8 +7537,8 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" -version = "7.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "21.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "scale-info", @@ -7604,8 +7548,8 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" -version = "7.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "28.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "bs58", "futures", @@ -7616,13 +7560,13 @@ dependencies = [ "sc-cli", "sc-service", "sc-tracing", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", ] [[package]] name = "polkadot-node-network-protocol" -version = "7.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "28.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -7646,8 +7590,8 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" -version = "7.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "23.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "bitvec", "bounded-vec", @@ -7670,8 +7614,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" -version = "7.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "28.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "derive_more 0.99.20", @@ -7692,14 +7636,14 @@ dependencies = [ "sp-blockchain", "sp-consensus-babe", "sp-runtime", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", "thiserror 1.0.69", ] [[package]] name = "polkadot-overseer" -version = "7.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "28.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "futures", @@ -7718,8 +7662,8 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" -version = "6.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "20.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "array-bytes", "bounded-collections", @@ -7735,8 +7679,8 @@ dependencies = [ [[package]] name = "polkadot-primitives" -version = "7.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "22.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "bitvec", "bounded-collections", @@ -7764,8 +7708,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" -version = "7.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "25.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "bs58", "frame-benchmarking", @@ -7776,8 +7720,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" -version = "7.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "24.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -7824,8 +7768,8 @@ dependencies = [ [[package]] name = "polkadot-sdk-frame" -version = "0.1.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.14.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "docify", "frame-benchmarking", @@ -7859,8 +7803,8 @@ dependencies = [ [[package]] name = "polkadot-statement-table" -version = "7.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "23.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -8014,7 +7958,7 @@ dependencies = [ "pallet-staking", "pallet-staking-runtime-api", "pallet-sudo", - "pallet-transaction-payment 2.0.0", + "pallet-transaction-payment", "pallet-validators", "parity-scale-codec", "polymesh-common-utilities", @@ -8025,6 +7969,7 @@ dependencies = [ "polymesh-runtime-develop", "polymesh-runtime-mainnet", "polymesh-runtime-testnet", + "polymesh-transaction-payment", "rustc-hex", "sc-authority-discovery", "sc-basic-authorship", @@ -8068,7 +8013,7 @@ dependencies = [ "sp-transaction-pool", "sp-transaction-storage-proof", "substrate-build-script-utils", - "substrate-prometheus-endpoint 0.17.7", + "substrate-prometheus-endpoint", ] [[package]] @@ -8273,7 +8218,7 @@ dependencies = [ "pallet-sto", "pallet-sudo", "pallet-timestamp", - "pallet-transaction-payment 2.0.0", + "pallet-transaction-payment", "pallet-treasury", "pallet-utility", "pallet-validators", @@ -8283,6 +8228,7 @@ dependencies = [ "polymesh-contracts", "polymesh-primitives", "polymesh-runtime-common", + "polymesh-transaction-payment", "polymesh-weights", "scale-info", "serde", @@ -8355,7 +8301,7 @@ dependencies = [ "pallet-sto", "pallet-sudo", "pallet-timestamp", - "pallet-transaction-payment 2.0.0", + "pallet-transaction-payment", "pallet-treasury", "pallet-utility", "pallet-validators", @@ -8365,6 +8311,7 @@ dependencies = [ "polymesh-contracts", "polymesh-primitives", "polymesh-runtime-common", + "polymesh-transaction-payment", "polymesh-weights", "scale-info", "serde", @@ -8439,7 +8386,7 @@ dependencies = [ "pallet-sto", "pallet-sudo", "pallet-timestamp", - "pallet-transaction-payment 2.0.0", + "pallet-transaction-payment", "pallet-treasury", "pallet-utility", "pallet-validators", @@ -8449,6 +8396,7 @@ dependencies = [ "polymesh-contracts", "polymesh-primitives", "polymesh-runtime-common", + "polymesh-transaction-payment", "polymesh-weights", "scale-info", "serde", @@ -8527,7 +8475,7 @@ dependencies = [ "pallet-sto", "pallet-sudo", "pallet-timestamp", - "pallet-transaction-payment 2.0.0", + "pallet-transaction-payment", "pallet-treasury", "pallet-utility", "pallet-validators", @@ -8539,6 +8487,7 @@ dependencies = [ "polymesh-primitives", "polymesh-runtime-common", "polymesh-runtime-develop", + "polymesh-transaction-payment", "polymesh-weights", "rand 0.8.5", "scale-info", @@ -8569,6 +8518,26 @@ dependencies = [ "wat", ] +[[package]] +name = "polymesh-transaction-payment" +version = "2.0.0" +dependencies = [ + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-timestamp", + "pallet-transaction-payment", + "parity-scale-codec", + "polymesh-primitives", + "scale-info", + "serde", + "serde_json", + "sp-api", + "sp-io", + "sp-runtime", + "sp-std", +] + [[package]] name = "polymesh-weights" version = "0.1.0" @@ -8602,12 +8571,13 @@ dependencies = [ "pallet-statistics", "pallet-sto", "pallet-timestamp", - "pallet-transaction-payment 2.0.0", + "pallet-transaction-payment", "pallet-treasury", "pallet-utility", "pallet-validators", "polymesh-contracts", "polymesh-primitives", + "polymesh-transaction-payment", "sp-std", ] @@ -9700,8 +9670,8 @@ dependencies = [ [[package]] name = "sc-allocator" -version = "23.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "35.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "log", "sp-core", @@ -9711,8 +9681,8 @@ dependencies = [ [[package]] name = "sc-authority-discovery" -version = "0.34.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.55.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "futures", @@ -9736,15 +9706,15 @@ dependencies = [ "sp-core", "sp-keystore", "sp-runtime", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", ] [[package]] name = "sc-basic-authorship" -version = "0.34.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.53.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "futures", "log", @@ -9760,13 +9730,13 @@ dependencies = [ "sp-inherents", "sp-runtime", "sp-trie", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", ] [[package]] name = "sc-block-builder" -version = "0.33.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.48.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "sp-api", @@ -9780,8 +9750,8 @@ dependencies = [ [[package]] name = "sc-chain-spec" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "48.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "array-bytes", "docify", @@ -9796,7 +9766,7 @@ dependencies = [ "serde_json", "sp-blockchain", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0)", + "sp-crypto-hashing", "sp-genesis-builder", "sp-io", "sp-runtime", @@ -9806,8 +9776,8 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" -version = "11.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "12.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -9817,8 +9787,8 @@ dependencies = [ [[package]] name = "sc-cli" -version = "0.36.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.57.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "array-bytes", "bip39", @@ -9859,8 +9829,8 @@ dependencies = [ [[package]] name = "sc-client-api" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "44.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "fnv", "futures", @@ -9880,13 +9850,13 @@ dependencies = [ "sp-state-machine", "sp-storage", "sp-trie", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", ] [[package]] name = "sc-client-db" -version = "0.35.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.51.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "hash-db", "kvdb", @@ -9907,14 +9877,14 @@ dependencies = [ "sp-runtime", "sp-state-machine", "sp-trie", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", "sysinfo", ] [[package]] name = "sc-consensus" -version = "0.33.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.54.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "futures", @@ -9930,14 +9900,14 @@ dependencies = [ "sp-core", "sp-runtime", "sp-state-machine", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", "thiserror 1.0.69", ] [[package]] name = "sc-consensus-babe" -version = "0.34.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.55.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "fork-tree", @@ -9962,19 +9932,19 @@ dependencies = [ "sp-consensus-babe", "sp-consensus-slots", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0)", + "sp-crypto-hashing", "sp-inherents", "sp-keystore", "sp-runtime", "sp-timestamp", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", "thiserror 1.0.69", ] [[package]] name = "sc-consensus-babe-rpc" -version = "0.34.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.55.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "futures", "jsonrpsee", @@ -9995,8 +9965,8 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" -version = "0.33.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.54.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "fork-tree", "parity-scale-codec", @@ -10008,8 +9978,8 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" -version = "0.19.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.40.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "ahash 0.8.12", "array-bytes", @@ -10043,17 +10013,17 @@ dependencies = [ "sp-consensus", "sp-consensus-grandpa", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0)", + "sp-crypto-hashing", "sp-keystore", "sp-runtime", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", "thiserror 1.0.69", ] [[package]] name = "sc-consensus-grandpa-rpc" -version = "0.19.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.40.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "finality-grandpa", "futures", @@ -10072,8 +10042,8 @@ dependencies = [ [[package]] name = "sc-consensus-slots" -version = "0.33.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.54.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "futures", @@ -10095,8 +10065,8 @@ dependencies = [ [[package]] name = "sc-executor" -version = "0.32.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.47.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", @@ -10118,8 +10088,8 @@ dependencies = [ [[package]] name = "sc-executor-common" -version = "0.29.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.43.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "polkavm", "sc-allocator", @@ -10131,8 +10101,8 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" -version = "0.29.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.40.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "log", "polkavm", @@ -10142,8 +10112,8 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" -version = "0.29.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.43.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "anyhow", "log", @@ -10158,8 +10128,8 @@ dependencies = [ [[package]] name = "sc-informant" -version = "0.33.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.54.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "console", "futures", @@ -10174,8 +10144,8 @@ dependencies = [ [[package]] name = "sc-keystore" -version = "25.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "39.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "array-bytes", "parking_lot 0.12.5", @@ -10188,8 +10158,8 @@ dependencies = [ [[package]] name = "sc-mixnet" -version = "0.4.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.25.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "array-bytes", "arrayvec 0.7.6", @@ -10216,15 +10186,14 @@ dependencies = [ [[package]] name = "sc-network" -version = "0.34.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.55.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "array-bytes", "async-channel 1.9.0", "async-trait", "asynchronous-codec 0.6.2", "bytes", - "cid 0.9.0", "either", "fnv", "futures", @@ -10254,7 +10223,7 @@ dependencies = [ "sp-blockchain", "sp-core", "sp-runtime", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -10266,8 +10235,8 @@ dependencies = [ [[package]] name = "sc-network-common" -version = "0.33.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.52.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -10276,8 +10245,8 @@ dependencies = [ [[package]] name = "sc-network-gossip" -version = "0.34.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.55.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "ahash 0.8.12", "futures", @@ -10289,14 +10258,14 @@ dependencies = [ "sc-network-types", "schnellru", "sp-runtime", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", "tracing", ] [[package]] name = "sc-network-light" -version = "0.33.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.54.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -10316,8 +10285,8 @@ dependencies = [ [[package]] name = "sc-network-sync" -version = "0.33.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.54.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -10343,7 +10312,7 @@ dependencies = [ "sp-consensus-grandpa", "sp-core", "sp-runtime", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -10351,8 +10320,8 @@ dependencies = [ [[package]] name = "sc-network-transactions" -version = "0.33.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.54.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "array-bytes", "futures", @@ -10365,13 +10334,13 @@ dependencies = [ "sc-utils", "sp-consensus", "sp-runtime", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", ] [[package]] name = "sc-network-types" -version = "0.10.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.20.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "bs58", "bytes", @@ -10391,8 +10360,8 @@ dependencies = [ [[package]] name = "sc-offchain" -version = "29.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "50.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "bytes", "fnv", @@ -10425,17 +10394,17 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" -version = "0.17.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.20.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "log", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", ] [[package]] name = "sc-rpc" -version = "29.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "50.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "futures", "jsonrpsee", @@ -10466,8 +10435,8 @@ dependencies = [ [[package]] name = "sc-rpc-api" -version = "0.33.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.54.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -10486,8 +10455,8 @@ dependencies = [ [[package]] name = "sc-rpc-server" -version = "11.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "27.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "dyn-clone", "forwarded-header-value", @@ -10502,7 +10471,7 @@ dependencies = [ "sc-rpc-api", "serde", "serde_json", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", "tokio", "tower", "tower-http", @@ -10510,8 +10479,8 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" -version = "0.34.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.55.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "array-bytes", "futures", @@ -10535,7 +10504,7 @@ dependencies = [ "sp-rpc", "sp-runtime", "sp-version", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -10543,14 +10512,14 @@ dependencies = [ [[package]] name = "sc-runtime-utilities" -version = "0.1.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.7.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "sc-executor", "sc-executor-common", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0)", + "sp-crypto-hashing", "sp-state-machine", "sp-wasm-interface", "thiserror 1.0.69", @@ -10558,8 +10527,8 @@ dependencies = [ [[package]] name = "sc-service" -version = "0.35.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.56.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "directories", @@ -10612,7 +10581,7 @@ dependencies = [ "sp-trie", "sp-version", "static_init", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", "tempfile", "thiserror 1.0.69", "tokio", @@ -10622,8 +10591,8 @@ dependencies = [ [[package]] name = "sc-state-db" -version = "0.30.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.41.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "log", "parity-scale-codec", @@ -10633,8 +10602,8 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" -version = "0.34.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.55.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -10652,8 +10621,8 @@ dependencies = [ [[package]] name = "sc-sysinfo" -version = "27.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "46.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "derive_more 0.99.20", "futures", @@ -10666,14 +10635,14 @@ dependencies = [ "serde", "serde_json", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0)", + "sp-crypto-hashing", "sp-io", ] [[package]] name = "sc-telemetry" -version = "15.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "30.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "chrono", "futures", @@ -10691,8 +10660,8 @@ dependencies = [ [[package]] name = "sc-tracing" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "44.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "chrono", "console", @@ -10719,8 +10688,8 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" -version = "11.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "11.1.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "proc-macro-crate 3.4.0", "proc-macro2", @@ -10730,8 +10699,8 @@ dependencies = [ [[package]] name = "sc-transaction-pool" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "44.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "futures", @@ -10748,11 +10717,12 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0)", + "sp-crypto-hashing", "sp-runtime", "sp-tracing", "sp-transaction-pool", - "substrate-prometheus-endpoint 0.17.0", + "strum 0.26.3", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tokio", "tokio-stream", @@ -10761,8 +10731,8 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "43.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "futures", @@ -10773,13 +10743,14 @@ dependencies = [ "sp-blockchain", "sp-core", "sp-runtime", + "strum 0.26.3", "thiserror 1.0.69", ] [[package]] name = "sc-utils" -version = "14.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "20.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-channel 1.9.0", "futures", @@ -11541,8 +11512,8 @@ dependencies = [ [[package]] name = "sp-api" -version = "26.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "40.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "docify", "hash-db", @@ -11563,8 +11534,8 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" -version = "15.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "26.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "Inflector", "blake2 0.10.6", @@ -11577,8 +11548,8 @@ dependencies = [ [[package]] name = "sp-application-crypto" -version = "30.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "44.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "scale-info", @@ -11589,8 +11560,8 @@ dependencies = [ [[package]] name = "sp-arithmetic" -version = "23.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "28.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "docify", "integer-sqrt", @@ -11603,8 +11574,8 @@ dependencies = [ [[package]] name = "sp-authority-discovery" -version = "26.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "40.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "scale-info", @@ -11615,8 +11586,8 @@ dependencies = [ [[package]] name = "sp-block-builder" -version = "26.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "40.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "sp-api", "sp-inherents", @@ -11625,8 +11596,8 @@ dependencies = [ [[package]] name = "sp-blockchain" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "43.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "futures", "parity-scale-codec", @@ -11644,8 +11615,8 @@ dependencies = [ [[package]] name = "sp-consensus" -version = "0.32.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.46.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "futures", @@ -11658,8 +11629,8 @@ dependencies = [ [[package]] name = "sp-consensus-aura" -version = "0.32.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.46.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "parity-scale-codec", @@ -11674,8 +11645,8 @@ dependencies = [ [[package]] name = "sp-consensus-babe" -version = "0.32.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.46.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "parity-scale-codec", @@ -11692,8 +11663,8 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" -version = "13.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "27.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "finality-grandpa", "log", @@ -11709,8 +11680,8 @@ dependencies = [ [[package]] name = "sp-consensus-slots" -version = "0.32.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.46.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "scale-info", @@ -11720,8 +11691,8 @@ dependencies = [ [[package]] name = "sp-core" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "39.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "ark-vrf", "array-bytes", @@ -11752,7 +11723,7 @@ dependencies = [ "secrecy 0.8.0", "serde", "sha2 0.10.9", - "sp-crypto-hashing 0.1.0 (git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0)", + "sp-crypto-hashing", "sp-debug-derive", "sp-externalities", "sp-std", @@ -11768,21 +11739,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc9927a7f81334ed5b8a98a4a978c81324d12bd9713ec76b5c68fd410174c5eb" -dependencies = [ - "blake2b_simd", - "byteorder", - "digest 0.10.7", - "sha2 0.10.9", - "sha3", - "twox-hash 1.6.3", -] - -[[package]] -name = "sp-crypto-hashing" -version = "0.1.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "blake2b_simd", "byteorder", @@ -11795,26 +11752,27 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "quote", - "sp-crypto-hashing 0.1.0 (git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0)", + "sp-crypto-hashing", "syn 2.0.111", ] [[package]] name = "sp-database" -version = "10.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "10.0.1" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "kvdb", + "kvdb-rocksdb", "parking_lot 0.12.5", ] [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "proc-macro2", "quote", @@ -11823,8 +11781,8 @@ dependencies = [ [[package]] name = "sp-externalities" -version = "0.25.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.31.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "environmental", "parity-scale-codec", @@ -11833,8 +11791,8 @@ dependencies = [ [[package]] name = "sp-genesis-builder" -version = "0.8.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.21.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "scale-info", @@ -11845,8 +11803,8 @@ dependencies = [ [[package]] name = "sp-inherents" -version = "26.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "40.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -11858,8 +11816,8 @@ dependencies = [ [[package]] name = "sp-io" -version = "30.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "44.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "bytes", "docify", @@ -11871,7 +11829,7 @@ dependencies = [ "rustversion", "secp256k1 0.28.2", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0)", + "sp-crypto-hashing", "sp-externalities", "sp-keystore", "sp-runtime-interface", @@ -11884,8 +11842,8 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "31.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "sp-core", "sp-runtime", @@ -11894,8 +11852,8 @@ dependencies = [ [[package]] name = "sp-keystore" -version = "0.34.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.45.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "parking_lot 0.12.5", @@ -11905,8 +11863,8 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" -version = "11.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "11.1.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "thiserror 1.0.69", "zstd 0.12.4", @@ -11914,8 +11872,8 @@ dependencies = [ [[package]] name = "sp-metadata-ir" -version = "0.6.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.12.1" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -11924,8 +11882,8 @@ dependencies = [ [[package]] name = "sp-mixnet" -version = "0.4.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.18.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "scale-info", @@ -11935,8 +11893,8 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" -version = "26.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "40.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "log", "parity-scale-codec", @@ -11952,8 +11910,8 @@ dependencies = [ [[package]] name = "sp-npos-elections" -version = "26.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "40.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "scale-info", @@ -11965,8 +11923,8 @@ dependencies = [ [[package]] name = "sp-offchain" -version = "26.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "40.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "sp-api", "sp-core", @@ -11975,8 +11933,8 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "13.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "13.0.2" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "backtrace", "regex", @@ -11984,8 +11942,8 @@ dependencies = [ [[package]] name = "sp-rpc" -version = "26.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "37.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "rustc-hash 1.1.0", "serde", @@ -11994,8 +11952,8 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "31.0.1" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "45.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "binary-merkle-tree", "bytes", @@ -12018,14 +11976,15 @@ dependencies = [ "sp-std", "sp-trie", "sp-weights", + "strum 0.26.3", "tracing", "tuplex", ] [[package]] name = "sp-runtime-interface" -version = "24.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "33.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -12042,8 +12001,8 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "17.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "20.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "Inflector", "expander", @@ -12055,8 +12014,8 @@ dependencies = [ [[package]] name = "sp-session" -version = "27.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "42.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "scale-info", @@ -12069,8 +12028,8 @@ dependencies = [ [[package]] name = "sp-staking" -version = "26.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "42.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -12082,8 +12041,8 @@ dependencies = [ [[package]] name = "sp-state-machine" -version = "0.35.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.49.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "hash-db", "log", @@ -12102,8 +12061,8 @@ dependencies = [ [[package]] name = "sp-statement-store" -version = "10.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "24.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -12116,7 +12075,7 @@ dependencies = [ "sp-api", "sp-application-crypto", "sp-core", - "sp-crypto-hashing 0.1.0 (git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0)", + "sp-crypto-hashing", "sp-externalities", "sp-runtime", "sp-runtime-interface", @@ -12127,12 +12086,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" [[package]] name = "sp-storage" -version = "19.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "22.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "impl-serde", "parity-scale-codec", @@ -12143,8 +12102,8 @@ dependencies = [ [[package]] name = "sp-timestamp" -version = "26.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "40.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "parity-scale-codec", @@ -12155,8 +12114,8 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "16.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "19.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "regex", @@ -12167,8 +12126,8 @@ dependencies = [ [[package]] name = "sp-transaction-pool" -version = "26.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "40.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "sp-api", "sp-runtime", @@ -12176,8 +12135,8 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" -version = "26.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "40.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "async-trait", "parity-scale-codec", @@ -12190,8 +12149,8 @@ dependencies = [ [[package]] name = "sp-trie" -version = "29.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "42.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "ahash 0.8.12", "foldhash 0.1.5", @@ -12206,7 +12165,7 @@ dependencies = [ "schnellru", "sp-core", "sp-externalities", - "substrate-prometheus-endpoint 0.17.0", + "substrate-prometheus-endpoint", "thiserror 1.0.69", "tracing", "trie-db", @@ -12215,8 +12174,8 @@ dependencies = [ [[package]] name = "sp-version" -version = "29.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "43.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "impl-serde", "parity-scale-codec", @@ -12232,8 +12191,8 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" -version = "13.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "15.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "parity-scale-codec", "proc-macro-warning", @@ -12244,8 +12203,8 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "20.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "24.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -12256,8 +12215,8 @@ dependencies = [ [[package]] name = "sp-weights" -version = "27.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "33.2.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -12322,8 +12281,8 @@ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "staging-xcm" -version = "7.0.1" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "21.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "array-bytes", "bounded-collections", @@ -12343,15 +12302,15 @@ dependencies = [ [[package]] name = "staging-xcm-builder" -version = "7.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "25.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "environmental", "frame-support", "frame-system", "impl-trait-for-tuples", "pallet-asset-conversion", - "pallet-transaction-payment 28.0.0", + "pallet-transaction-payment", "parity-scale-codec", "polkadot-parachain-primitives", "scale-info", @@ -12367,8 +12326,8 @@ dependencies = [ [[package]] name = "staging-xcm-executor" -version = "7.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "24.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "environmental", "frame-benchmarking", @@ -12479,8 +12438,8 @@ dependencies = [ [[package]] name = "substrate-bip39" -version = "0.4.7" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "0.6.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "hmac 0.12.1", "pbkdf2", @@ -12492,12 +12451,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" [[package]] name = "substrate-frame-rpc-system" -version = "28.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "49.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -12514,25 +12473,10 @@ dependencies = [ "sp-runtime", ] -[[package]] -name = "substrate-prometheus-endpoint" -version = "0.17.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" -dependencies = [ - "http-body-util", - "hyper 1.8.1", - "hyper-util", - "log", - "prometheus", - "thiserror 1.0.69", - "tokio", -] - [[package]] name = "substrate-prometheus-endpoint" version = "0.17.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23e4bc8e910a312820d589047ab683928b761242dbe31dee081fbdb37cbe0be" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "http-body-util", "hyper 1.8.1", @@ -12545,13 +12489,13 @@ dependencies = [ [[package]] name = "substrate-test-utils" -version = "4.0.0-dev" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "3.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" [[package]] name = "substrate-wasm-builder" -version = "17.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "31.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "build-helper", "cargo_metadata", @@ -12602,7 +12546,7 @@ dependencies = [ "scale-value", "serde", "serde_json", - "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-crypto-hashing", "subxt-core", "subxt-lightclient", "subxt-macro", @@ -12657,7 +12601,7 @@ dependencies = [ "scale-value", "serde", "serde_json", - "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-crypto-hashing", "subxt-metadata", "thiserror 2.0.17", "tracing", @@ -12708,7 +12652,7 @@ dependencies = [ "hashbrown 0.14.5", "parity-scale-codec", "scale-info", - "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-crypto-hashing", "thiserror 2.0.17", ] @@ -12759,7 +12703,7 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.9", - "sp-crypto-hashing 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "sp-crypto-hashing", "subxt-core", "thiserror 2.0.17", "zeroize", @@ -13311,8 +13255,8 @@ dependencies = [ [[package]] name = "tracing-gum" -version = "7.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "23.0.0" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "coarsetime", "polkadot-primitives", @@ -13323,7 +13267,7 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "expander", "proc-macro-crate 3.4.0", @@ -14866,8 +14810,8 @@ dependencies = [ [[package]] name = "xcm-procedural" -version = "7.0.0" -source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512-0#ce4188eafdcdac7730f87656f1176278b0c54048" +version = "11.0.2" +source = "git+https://github.com/PolymeshAssociation/polkadot-sdk?branch=polymesh-v8-stable2512#9758872d647e8038d101e44b6b92bf524329912f" dependencies = [ "Inflector", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index e8991f55e2..fed99ab13a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,103 +9,9 @@ edition = "2021" name = "polymesh" path = "src/main.rs" -# Path build to use our Substrate version from github, `branch = "polymesh-v8-monthly-2023-08"`. [patch.crates-io] -frame-benchmarking = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -frame-benchmarking-cli = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -frame-executive = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -frame-support = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -frame-election-provider-support = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -frame-system = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -frame-system-benchmarking = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -frame-system-rpc-runtime-api = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-authority-discovery = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-authorship = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-babe = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-balances = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-contracts = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-election-provider-multi-phase = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-grandpa = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-im-online = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-indices = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-offences = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-preimage = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-scheduler = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-session = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-staking = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-staking-runtime-api = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-staking-reward-curve = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-sudo = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -pallet-timestamp = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-authority-discovery = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-basic-authorship = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-block-builder = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-chain-spec = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-cli = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-client-api = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-client-db = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-consensus = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-consensus-babe = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-consensus-babe-rpc = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-consensus-epochs = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-consensus-slots = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-executor = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-consensus-grandpa = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-consensus-grandpa-rpc = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-keystore = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-network = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-network-common = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-network-sync = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-rpc = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-rpc-api = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-rpc-spec-v2 = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-service = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-telemetry = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-transaction-pool = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-transaction-pool-api = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-sync-state-rpc = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sc-offchain = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-api = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-application-crypto = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-arithmetic = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-authority-discovery = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-block-builder = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-blockchain = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-consensus = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-consensus-babe = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-consensus-slots = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-core = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-debug-derive = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-externalities = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-consensus-grandpa = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-genesis-builder = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-inherents = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-io = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-keystore = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-keyring = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-npos-elections = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-offchain = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-rpc = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-runtime = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-weights = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-runtime-interface = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-session = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-staking = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-state-machine = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-std = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-storage = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-timestamp = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-tracing = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-transaction-pool = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-transaction-storage-proof = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-trie = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -sp-version = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -substrate-frame-rpc-system = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -substrate-prometheus-endpoint = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -substrate-build-script-utils = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -substrate-wasm-builder = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } -substrate-test-utils = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512-0" } +# Patch this to avoid duplicate deps (subxt uses this dep). +sp-crypto-hashing = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } [workspace] members = [ @@ -177,7 +83,7 @@ pallet-sto = { path = "pallets/sto", default-features = false } pallet-settlement = { path = "pallets/settlement", default-features = false } pallet-validators = { path = "pallets/validators", default-features = false } pallet-statistics = { path = "pallets/statistics", default-features = false } -pallet-transaction-payment = { path = "pallets/transaction-payment", default-features = false } +polymesh-transaction-payment = { path = "pallets/transaction-payment", default-features = false } pallet-treasury = { path = "pallets/treasury", default-features = false } pallet-utility = { path = "pallets/utility", default-features = false } polymesh-contracts = { path = "pallets/contracts", default-features = false } @@ -206,98 +112,114 @@ polymesh-runtime-testnet = { path = "pallets/runtime/testnet" } # Build tool polymesh-build-tool = { path = "pallets/runtime/build_tool", default-features = false } -# Substrate +# SCALE Codec deps. codec = { package = "parity-scale-codec", version = "3.7.4", default-features = false, features = ["derive", "max-encoded-len"] } -frame-support = { version = "28.0.0", default-features = false } -frame-system = { version = "28.0.0", default-features = false } -frame-system-benchmarking = { version = "28.0.0", default-features = false } -frame-system-rpc-runtime-api = { version = "26.0.0", default-features = false } -frame-election-provider-support = { version = "28.0.0", default-features = false } -frame-benchmarking = { version = "28.0.0", default-features = false } -frame-benchmarking-cli = { version = "32.0.0", default-features = false } -frame-executive = { version = "28.0.0", default-features = false } -pallet-authority-discovery = { version = "28.0.0", default-features = false } -pallet-authorship = { version = "28.0.0", default-features = false } -pallet-babe = { version = "28.0.0", default-features = false } -pallet-balances = { version = "28.0.0", default-features = false, features = ['insecure_zero_ed']} -pallet-contracts = { version = "27.0.0", default-features = false } -pallet-election-provider-multi-phase = { version = "27.0.0", default-features = false } -pallet-grandpa = { version = "28.0.0", default-features = false } -pallet-im-online = { version = "27.0.0", default-features = false } -pallet-indices = { version = "28.0.0", default-features = false } -pallet-offences = { version = "27.0.0", default-features = false } -pallet-preimage = { version = "28.0.0", default-features = false } -pallet-insecure-randomness-collective-flip = { version = "16.0.0", default-features = false } -pallet-scheduler = { version = "29.0.0", default-features = false } -pallet-session = { version = "28.0.0", default-features = false } -pallet-staking = { version = "28.0.0", default-features = false } -pallet-staking-runtime-api = { version = "14.0.0", default-features = false } -pallet-staking-reward-curve = { version = "11.0.0", default-features = false } -pallet-sudo = { version = "28.0.0", default-features = false } -pallet-timestamp = { version = "27.0.0", default-features = false } scale-info = { version = "2.11.6", default-features = false, features = ["derive"] } -sp-api = { version = "26.0.0", default-features = false } -sp-application-crypto = { version = "30.0.0", default-features = false } -sp-arithmetic = { version = "23.0.0", default-features = false } -sp-authority-discovery = { version = "26.0.0", default-features = false } -sp-block-builder = { version = "26.0.0", default-features = false } -sp-blockchain = { version = "28.0.0", default-features = false } -sp-consensus = { version = "0.32.0", default-features = false } -sp-consensus-babe = { version = "0.32.0", default-features = false } -sp-consensus-grandpa = { version = "13.0.0", default-features = false } -sp-consensus-slots = { version = "0.32.0", default-features = false } -sp-core = { version = "28.0.0", default-features = false } -sp-debug-derive = { version = "14.0.0", default-features = false } -sp-genesis-builder = { version = "0.8.0", default-features = false } -sp-inherents = { version = "26.0.0", default-features = false } -sp-io = { version = "30.0.0", default-features = false } -sp-keyring = { version = "31.0.0", default-features = false } -sp-keystore = { version = "0.34.0", default-features = false } -sp-npos-elections = { version = "26.0.0", default-features = false } -sp-offchain = { version = "26.0.0", default-features = false } -sp-rpc = { version = "26.0.0", default-features = false } -sp-runtime = { version = "31.0.0", default-features = false } -sp-runtime-interface = { version = "24.0.0", default-features = false } -sp-session = { version = "27.0.0", default-features = false } -sp-staking = { version = "26.0.0", default-features = false } -sp-std = { version = "14.0.0", default-features = false } -sp-timestamp = { version = "26.0.0", default-features = false } -sp-tracing = { version = "16.0.0", default-features = false } -sp-transaction-storage-proof = { version = "26.0.0", default-features = false } -sp-transaction-pool = { version = "26.0.0", default-features = false } -sp-weights = { version = "27.0.0", default-features = false } -sp-version = { version = "29.0.0", default-features = false } -substrate-test-utils = { version = "4.0.0-dev", default-features = false } -substrate-wasm-builder = { version = "17.0.0", default-features = true } -substrate-frame-rpc-system = { version = "28.0.0", default-features = false } -# Substrate client deps. -sc-authority-discovery = "0.34.0" -sc-basic-authorship = "0.34.0" -sc-chain-spec = "28.0.0" -sc-cli = { version = "0.36.0" } -sc-client-api = "28.0.0" -sc-client-db = { version = "0.35.0", default-features = false } -sc-consensus = "0.33.0" -sc-consensus-babe = "0.34.0" -sc-consensus-babe-rpc = "0.34.0" -sc-consensus-epochs = { version = "0.33.0" } -sc-consensus-grandpa = "0.19.0" -sc-consensus-grandpa-rpc = "0.19.0" -sc-consensus-slots = "0.33.0" -sc-executor = { version = "0.32.0" } -sc-network = "0.34.0" -sc-network-common = { version = "0.33.0" } -sc-network-sync = { version = "0.33.0" } -sc-rpc = "29.0.0" -sc-rpc-api = { version = "0.33.0" } -sc-rpc-spec-v2 = { version = "0.34.0" } -sc-service = { version = "0.35.0" } -sc-telemetry = "15.0.0" -sc-transaction-pool = "28.0.0" -sc-transaction-pool-api = { version = "28.0.0" } -sc-sync-state-rpc = { version = "0.34.0" } -sc-offchain = { version = "29.0.0" } +# Substrate pallet/runtime deps. +frame-benchmarking = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +frame-benchmarking-cli = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +frame-executive = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +frame-support = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +frame-election-provider-support = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +frame-system = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +frame-system-benchmarking = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-authority-discovery = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-authorship = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-babe = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-balances = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false, features = ['insecure_zero_ed'] } +pallet-contracts = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-election-provider-multi-phase = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-grandpa = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-im-online = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-indices = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-offences = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-preimage = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-scheduler = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-session = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-staking = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-staking-runtime-api = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-staking-reward-curve = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-sudo = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-transaction-payment = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +pallet-timestamp = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-api = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-application-crypto = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-arithmetic = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-authority-discovery = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-block-builder = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-blockchain = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-consensus = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-consensus-babe = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-consensus-beefy = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-consensus-slots = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-core = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-debug-derive = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-externalities = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-genesis-builder = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-inherents = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-io = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-keystore = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-keyring = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-npos-elections = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-offchain = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-rpc = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-runtime = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-weights = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-runtime-interface = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-session = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-staking = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-state-machine = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-std = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-storage = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-timestamp = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-tracing = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-transaction-pool = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-transaction-storage-proof = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-trie = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sp-version = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } + +# Substrate client/node deps. +sc-authority-discovery = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-basic-authorship = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-block-builder = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-chain-spec = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-cli = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-client-api = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-client-db = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512", default-features = false } +sc-consensus = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-consensus-babe = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-consensus-babe-rpc = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-consensus-epochs = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-consensus-slots = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-executor = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-consensus-grandpa = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-consensus-beefy = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-consensus-beefy-rpc = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-consensus-grandpa-rpc = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-keystore = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-network = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-network-common = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-network-sync = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-rpc = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-rpc-api = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-rpc-spec-v2 = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-service = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-storage-monitor = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-sync-state-rpc = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-sysinfo = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-telemetry = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-transaction-pool = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-transaction-pool-api = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +sc-offchain = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +substrate-frame-rpc-system = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +substrate-prometheus-endpoint = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +substrate-wasm-builder = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +substrate-test-utils = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } +substrate-build-script-utils = { git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } # Crypto rand = { version = "0.8", default-features = false } @@ -306,7 +228,6 @@ rand_chacha = { version = "0.3", default-features = false } [dependencies] pallet-asset = { workspace = true } -pallet-balances = { workspace = true, default-features = false, features = ["insecure_zero_ed"] } pallet-committee = { workspace = true, default-features = false } pallet-corporate-actions = { workspace = true, default-features = false } pallet-external-agents = { workspace = true, default-features = false } @@ -316,11 +237,9 @@ pallet-multisig = { workspace = true, default-features = false } pallet-permissions = { workspace = true, default-features = false } pallet-pips = { workspace = true, default-features = false } pallet-protocol-fee = { workspace = true, default-features = false } -pallet-staking = { workspace = true, default-features = false } -pallet-staking-runtime-api = { workspace = true, default-features = false } pallet-validators = { workspace = true, default-features = false } pallet-sudo = { workspace = true, default-features = false } -pallet-transaction-payment = { workspace = true, default-features = false } +polymesh-transaction-payment = { workspace = true, default-features = false } polymesh-contracts = { workspace = true, default-features = false } polymesh-common-utilities = { workspace = true, default-features = false } polymesh-primitives = { workspace = true, default-features = false } @@ -370,7 +289,7 @@ sc-transaction-pool = { workspace = true } sc-transaction-pool-api = { workspace = true } sc-sync-state-rpc = { workspace = true } sc-offchain = { workspace = true } -grandpa = { package = "sc-consensus-grandpa", version = "0.19.0" } +grandpa = { package = "sc-consensus-grandpa", git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } # Substrate codec = { package = "parity-scale-codec", version = "3.7.4", default-features = false, features = ["derive", "max-encoded-len"] } @@ -378,10 +297,14 @@ frame-support = { workspace = true } frame-system = { workspace = true } frame-system-rpc-runtime-api = { workspace = true } pallet-babe = { workspace = true } +pallet-balances = { workspace = true, default-features = false, features = ["insecure_zero_ed"] } pallet-im-online = { workspace = true } pallet-indices = { workspace = true } pallet-session = { workspace = true } -prometheus-endpoint = { package = "substrate-prometheus-endpoint", version = "0.17.2" } +pallet-staking = { workspace = true, default-features = false } +pallet-staking-runtime-api = { workspace = true, default-features = false } +pallet-transaction-payment = { workspace = true, default-features = false } +prometheus-endpoint = { package = "substrate-prometheus-endpoint", git = "https://github.com/PolymeshAssociation/polkadot-sdk", branch = "polymesh-v8-stable2512" } sp-api = { workspace = true } sp-authority-discovery = { workspace = true } sp-block-builder = { workspace = true } @@ -406,12 +329,12 @@ frame-benchmarking = { workspace = true } frame-benchmarking-cli = { workspace = true } [build-dependencies] -substrate-build-script-utils = { version = "11.0.0" } +substrate-build-script-utils = { workspace = true } [features] default = ["std"] disable_fees = [ - "pallet-transaction-payment/disable_fees", + "polymesh-transaction-payment/disable_fees", "polymesh-runtime-develop/disable_fees", "polymesh-runtime-mainnet/disable_fees", "polymesh-runtime-testnet/disable_fees", diff --git a/pallets/runtime/common/src/runtime.rs b/pallets/runtime/common/src/runtime.rs index 8d7569894d..1b47e5e83a 100644 --- a/pallets/runtime/common/src/runtime.rs +++ b/pallets/runtime/common/src/runtime.rs @@ -172,13 +172,19 @@ macro_rules! misc_pallet_impls { } impl pallet_transaction_payment::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + #[allow(deprecated)] type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter; type WeightToFee = polymesh_runtime_common::WeightToFee; type LengthToFee = polymesh_runtime_common::LengthToFee; type FeeMultiplierUpdate = (); type OperationalFeeMultiplier = polymesh_runtime_common::OperationalFeeMultiplier; - type WeightInfo = polymesh_weights::pallet_transaction_payment::SubstrateWeight; + type WeightInfo = polymesh_weights::polymesh_transaction_payment::SubstrateWeight; + type ChargeFees = PolymeshTransactionPayment; + } + + impl polymesh_transaction_payment::Config for Runtime { type CddHandler = CddHandler; type Subsidiser = Relayer; type GovernanceCommittee = PolymeshCommittee; @@ -630,7 +636,7 @@ macro_rules! misc_pallet_impls { frame_system::CheckEra::from(generic::Era::mortal(period, current_block)), frame_system::CheckNonce::from(nonce), frame_system::CheckWeight::new(), - pallet_transaction_payment::ChargeTransactionPayment::from(tip), + polymesh_transaction_payment::ChargeTransactionPayment::from(tip), pallet_permissions::StoreCallMetadata::new(), ); let raw_payload = SignedPayload::new(call, extra) @@ -805,7 +811,7 @@ macro_rules! runtime_apis { frame_system::CheckEra, frame_system::CheckNonce, frame_system::CheckWeight, - pallet_transaction_payment::ChargeTransactionPayment, + polymesh_transaction_payment::ChargeTransactionPayment, pallet_permissions::StoreCallMetadata, ); /// Unchecked extrinsic type as expected by this runtime. diff --git a/pallets/runtime/develop/Cargo.toml b/pallets/runtime/develop/Cargo.toml index d103105bda..7c43412a3f 100644 --- a/pallets/runtime/develop/Cargo.toml +++ b/pallets/runtime/develop/Cargo.toml @@ -42,6 +42,7 @@ pallet-treasury = { workspace = true, default-features = false } pallet-utility = { workspace = true, default-features = false } pallet-sudo = { workspace = true, default-features = false } polymesh-contracts = { workspace = true, default-features = false } +polymesh-transaction-payment = { workspace = true, default-features = false } # Others serde = { version = "1.0.104", default-features = false } @@ -106,7 +107,7 @@ polymesh-build-tool = { workspace = true, default-features = false } [features] default = ["std", "equalize"] testing = [] -disable_fees = ["pallet-transaction-payment/disable_fees"] +disable_fees = ["polymesh-transaction-payment/disable_fees"] equalize = [] ci-runtime = [] @@ -151,6 +152,7 @@ std = [ "pallet-sto/std", "pallet-sudo/std", "pallet-transaction-payment/std", + "polymesh-transaction-payment/std", "pallet-utility/std", "pallet-validators/std", "polymesh-contracts/std", @@ -194,6 +196,7 @@ runtime-benchmarks = [ "pallet-statistics/runtime-benchmarks", "pallet-sto/runtime-benchmarks", "pallet-transaction-payment/runtime-benchmarks", + "polymesh-transaction-payment/runtime-benchmarks", "pallet-treasury/runtime-benchmarks", "pallet-utility/runtime-benchmarks", "pallet-validators/runtime-benchmarks", diff --git a/pallets/runtime/develop/src/runtime.rs b/pallets/runtime/develop/src/runtime.rs index 6d9c8fa442..dade9b02bd 100644 --- a/pallets/runtime/develop/src/runtime.rs +++ b/pallets/runtime/develop/src/runtime.rs @@ -337,6 +337,9 @@ mod runtime { #[runtime::pallet_index(6)] pub type TransactionPayment = pallet_transaction_payment::Pallet; + #[runtime::pallet_index(51)] + pub type PolymeshTransactionPayment = polymesh_transaction_payment::Pallet; + #[runtime::pallet_index(7)] pub type Identity = pallet_identity::Pallet; @@ -505,6 +508,7 @@ mod benches { [pallet_scheduler, Scheduler] [pallet_staking, Staking] [pallet_validators, Validators] + [polymesh_transaction_payment, PolymeshTransactionPayment] [polymesh_contracts, PolymeshContracts] [pallet_nft, Nft] [pallet_contracts, Contracts] diff --git a/pallets/runtime/mainnet/Cargo.toml b/pallets/runtime/mainnet/Cargo.toml index a42efeddff..a363588c1e 100644 --- a/pallets/runtime/mainnet/Cargo.toml +++ b/pallets/runtime/mainnet/Cargo.toml @@ -42,6 +42,7 @@ pallet-transaction-payment = { workspace = true, default-features = false } pallet-treasury = { workspace = true, default-features = false } pallet-utility = { workspace = true, default-features = false } polymesh-contracts = { workspace = true, default-features = false } +polymesh-transaction-payment = { workspace = true, default-features = false } # RPC node-rpc-runtime-api = { workspace = true, default-features = false } @@ -100,7 +101,7 @@ polymesh-build-tool = { workspace = true, default-features = false } [features] default = ["std", "equalize"] -disable_fees = ["pallet-transaction-payment/disable_fees"] +disable_fees = ["polymesh-transaction-payment/disable_fees"] equalize = [] testing = [] @@ -160,6 +161,7 @@ std = [ "pallet-sudo/std", "pallet-timestamp/std", "pallet-transaction-payment/std", + "polymesh-transaction-payment/std", "pallet-treasury/std", "pallet-utility/std", "polymesh-contracts/std", @@ -187,4 +189,4 @@ std = [ "sp-genesis-builder/std", ] -runtime-benchmarks = [] \ No newline at end of file +runtime-benchmarks = [] diff --git a/pallets/runtime/mainnet/src/runtime.rs b/pallets/runtime/mainnet/src/runtime.rs index e2f0d55160..299a2f9cdc 100644 --- a/pallets/runtime/mainnet/src/runtime.rs +++ b/pallets/runtime/mainnet/src/runtime.rs @@ -331,6 +331,9 @@ mod runtime { #[runtime::pallet_index(6)] pub type TransactionPayment = pallet_transaction_payment::Pallet; + #[runtime::pallet_index(51)] + pub type PolymeshTransactionPayment = polymesh_transaction_payment::Pallet; + #[runtime::pallet_index(7)] pub type Identity = pallet_identity::Pallet; diff --git a/pallets/runtime/testnet/Cargo.toml b/pallets/runtime/testnet/Cargo.toml index e66f5fc0e5..293fe6d1e1 100644 --- a/pallets/runtime/testnet/Cargo.toml +++ b/pallets/runtime/testnet/Cargo.toml @@ -42,6 +42,7 @@ pallet-treasury = { workspace = true, default-features = false } pallet-utility = { workspace = true, default-features = false } pallet-sudo = { workspace = true, default-features = false } polymesh-contracts = { workspace = true, default-features = false } +polymesh-transaction-payment = { workspace = true, default-features = false } # RPC node-rpc-runtime-api = { workspace = true, default-features = false } @@ -102,7 +103,7 @@ polymesh-build-tool = { workspace = true, default-features = false } [features] default = ["std", "equalize"] -disable_fees = ["pallet-transaction-payment/disable_fees"] +disable_fees = ["polymesh-transaction-payment/disable_fees"] equalize = [] testing = [] @@ -163,6 +164,7 @@ std = [ "pallet-sudo/std", "pallet-timestamp/std", "pallet-transaction-payment/std", + "polymesh-transaction-payment/std", "pallet-treasury/std", "pallet-utility/std", "polymesh-primitives/std", diff --git a/pallets/runtime/testnet/src/runtime.rs b/pallets/runtime/testnet/src/runtime.rs index 6deb42d824..2a146b502e 100644 --- a/pallets/runtime/testnet/src/runtime.rs +++ b/pallets/runtime/testnet/src/runtime.rs @@ -338,6 +338,9 @@ mod runtime { #[runtime::pallet_index(6)] pub type TransactionPayment = pallet_transaction_payment::Pallet; + #[runtime::pallet_index(51)] + pub type PolymeshTransactionPayment = polymesh_transaction_payment::Pallet; + #[runtime::pallet_index(7)] pub type Identity = pallet_identity::Pallet; diff --git a/pallets/runtime/tests/Cargo.toml b/pallets/runtime/tests/Cargo.toml index 07a45fe84b..8b76e43cfa 100644 --- a/pallets/runtime/tests/Cargo.toml +++ b/pallets/runtime/tests/Cargo.toml @@ -32,6 +32,7 @@ pallet-statistics = { workspace = true, default-features = false } pallet-sto = { workspace = true, default-features = false } pallet-sudo = { workspace = true, default-features = false } pallet-transaction-payment = { workspace = true, default-features = false } +polymesh-transaction-payment = { workspace = true, default-features = false } pallet-treasury = { workspace = true, default-features = false } pallet-utility = { workspace = true, default-features = false } polymesh-contracts = { workspace = true, default-features = false } @@ -152,6 +153,7 @@ std = [ "pallet-statistics/std", "pallet-timestamp/std", "pallet-transaction-payment/std", + "polymesh-transaction-payment/std", "pallet-treasury/std", "pallet-sudo/std", "polymesh-primitives/std", @@ -173,4 +175,4 @@ std = [ runtime-benchmarks = ["frame-benchmarking/runtime-benchmarks"] -try-runtime = [] \ No newline at end of file +try-runtime = [] diff --git a/pallets/runtime/tests/src/balances_test.rs b/pallets/runtime/tests/src/balances_test.rs index 016961b87f..13ddb62b43 100644 --- a/pallets/runtime/tests/src/balances_test.rs +++ b/pallets/runtime/tests/src/balances_test.rs @@ -8,8 +8,8 @@ use sp_runtime::transaction_validity::TransactionSource; use pallet_balances::{self as balances, Event as BalancesRawEvent}; use pallet_identity as identity; -use pallet_transaction_payment::{ChargeTransactionPayment, Val}; use polymesh_primitives::Memo; +use polymesh_transaction_payment::{ChargeTransactionPayment, Val}; use super::storage::{RuntimeCall as StorageRuntimeCall, TestStorage}; use super::ExtBuilder; diff --git a/pallets/runtime/tests/src/relayer_test.rs b/pallets/runtime/tests/src/relayer_test.rs index ecc1a543f3..86bf707865 100644 --- a/pallets/runtime/tests/src/relayer_test.rs +++ b/pallets/runtime/tests/src/relayer_test.rs @@ -9,12 +9,12 @@ use sp_runtime::transaction_validity::{InvalidTransaction, TransactionValidityEr use sp_runtime::MultiAddress; use pallet_relayer::Subsidy; -use pallet_transaction_payment::Val; use polymesh_common_utilities::protocol_fee::ProtocolOp; use polymesh_primitives::constants::currency::POLY; use polymesh_primitives::traits::CddAndFeeDetails; use polymesh_primitives::{AccountId, Balance, Signatory, Ticker, TransactionError}; use polymesh_runtime_develop::runtime::{CddHandler, RuntimeCall as DevRuntimeCall}; +use polymesh_transaction_payment::Val; use super::storage::{get_last_auth_id, make_account_without_cdd, RuntimeCall, TestStorage, User}; use super::ExtBuilder; @@ -26,7 +26,7 @@ type AccountKeyRefCount = pallet_identity::AccountKeyRefCount; type Balances = pallet_balances::Pallet; type ProtocolFee = pallet_protocol_fee::Pallet; type TransactionPayment = pallet_transaction_payment::Pallet; -type ChargeTransactionPayment = pallet_transaction_payment::ChargeTransactionPayment; +type ChargeTransactionPayment = polymesh_transaction_payment::ChargeTransactionPayment; type Error = pallet_relayer::Error; type IdentityError = pallet_identity::Error; type RuntimeOrigin = ::RuntimeOrigin; @@ -123,7 +123,7 @@ fn assert_invalid_subsidy_call(caller: &AccountId, call: &RuntimeCall) { let val_charge = Val::Charge { tip: 0, who: caller.clone(), - fee: 1, + fee_with_tip: 1, subsidiser: None, }; let pre_err = ChargeTransactionPayment::from(0) @@ -545,7 +545,7 @@ fn do_relayer_transaction_and_protocol_fees_test() { Val::Charge { tip: 0, who: bob.acc(), - fee: 1, + fee_with_tip: 1, subsidiser: Some(alice.acc()), }, &RuntimeOrigin::signed(bob.acc()), diff --git a/pallets/runtime/tests/src/signed_extra.rs b/pallets/runtime/tests/src/signed_extra.rs index 7bd3e8726a..b5b691924f 100644 --- a/pallets/runtime/tests/src/signed_extra.rs +++ b/pallets/runtime/tests/src/signed_extra.rs @@ -37,7 +37,7 @@ fn make_signed_extra(current_block: u64, period: u64, nonce: Nonce, tip: u128) - CheckEra::::from(generic::Era::mortal(period, current_block)), CheckNonce::::from(nonce), CheckWeight::::new(), - pallet_transaction_payment::ChargeTransactionPayment::::from(tip), + polymesh_transaction_payment::ChargeTransactionPayment::::from(tip), pallet_permissions::StoreCallMetadata::::new(), ) } @@ -154,7 +154,7 @@ fn normal_tx() -> Result<(), String> { TransactionSource::InBlock, ) .expect("Tx should be valid"); - assert_eq!(tx_validity.0.priority, 0); + assert_eq!(tx_validity.0.priority, 786432); Ok(()) } @@ -190,7 +190,7 @@ fn operational_tx() -> Result<(), String> { TransactionSource::InBlock, ) .expect("Tx should be valid"); - assert_eq!(tx_validity.0.priority as u128, tip); + assert_eq!(tx_validity.0.priority as u128, 162794569728); // Operational TX without any tip. let sign_extra = make_signed_extra(0, 10, 0, 0u128.into()); @@ -205,6 +205,6 @@ fn operational_tx() -> Result<(), String> { TransactionSource::InBlock, ) .expect("Tx should be valid"); - assert_eq!(tx_validity.0.priority, 0); + assert_eq!(tx_validity.0.priority, 162530328576); Ok(()) } diff --git a/pallets/runtime/tests/src/storage.rs b/pallets/runtime/tests/src/storage.rs index 60f127c2eb..faac9315ef 100644 --- a/pallets/runtime/tests/src/storage.rs +++ b/pallets/runtime/tests/src/storage.rs @@ -271,6 +271,9 @@ mod runtime { #[runtime::pallet_index(6)] pub type TransactionPayment = pallet_transaction_payment::Pallet; + #[runtime::pallet_index(51)] + pub type PolymeshTransactionPayment = polymesh_transaction_payment::Pallet; + #[runtime::pallet_index(7)] pub type Identity = pallet_identity::Pallet; @@ -1075,7 +1078,11 @@ fn sign(checked_extrinsic: CheckedExtrinsic) -> UncheckedExtrinsic { }; let function = checked_extrinsic.function; - UncheckedExtrinsic { preamble, function } + UncheckedExtrinsic { + preamble, + function, + encoded_call: None, + } } /// Returns transaction extra. @@ -1087,7 +1094,7 @@ fn signed_extra(nonce: Nonce) -> SignedExtra { frame_system::CheckEra::from(Era::mortal(256, 0)), frame_system::CheckNonce::from(nonce), frame_system::CheckWeight::new(), - pallet_transaction_payment::ChargeTransactionPayment::from(0), + polymesh_transaction_payment::ChargeTransactionPayment::from(0), pallet_permissions::StoreCallMetadata::new(), ) } diff --git a/pallets/runtime/tests/src/transaction_payment_test.rs b/pallets/runtime/tests/src/transaction_payment_test.rs index 6d0541b1af..6a0ffc5b98 100644 --- a/pallets/runtime/tests/src/transaction_payment_test.rs +++ b/pallets/runtime/tests/src/transaction_payment_test.rs @@ -12,10 +12,10 @@ use sp_runtime::transaction_validity::{InvalidTransaction, TransactionValidityEr use sp_runtime::{FixedPointNumber, MultiAddress}; use pallet_balances::Call as BalancesCall; -use pallet_transaction_payment::{ChargeTransactionPayment, Multiplier}; -use pallet_transaction_payment::{NextFeeMultiplier, RuntimeDispatchInfo, Val}; +use pallet_transaction_payment::{Multiplier, NextFeeMultiplier, RuntimeDispatchInfo}; use polymesh_primitives::AccountId; use polymesh_primitives::TransactionError; +use polymesh_transaction_payment::{ChargeTransactionPayment, Val}; use super::ext_builder::ExtBuilder; use super::storage::{Address, RuntimeCall, TestStorage}; @@ -148,7 +148,7 @@ fn signed_extension_transaction_payment_multiplied_refund_works() { .execute_with(|| { let user = Sr25519Keyring::Alice.to_account_id(); let len = 10; - TransactionPayment::put_next_fee_multiplier(Multiplier::saturating_from_rational(3, 2)); + NextFeeMultiplier::::put(Multiplier::saturating_from_rational(3, 2)); let alice_origin = RuntimeOrigin::signed(user.clone()); @@ -290,7 +290,7 @@ fn signed_ext_length_fee_is_also_updated_per_congestion() { .build() .execute_with(|| { // all fees should be x1.5 - TransactionPayment::put_next_fee_multiplier(Multiplier::saturating_from_rational(3, 2)); + NextFeeMultiplier::::put(Multiplier::saturating_from_rational(3, 2)); let len = 10; let user = Sr25519Keyring::Bob.to_account_id(); let bob_origin = RuntimeOrigin::signed(user.clone()); @@ -335,7 +335,7 @@ fn query_info_works() { let info = unchecked_extrinsic.get_dispatch_info(); // all fees should be x1.5 - TransactionPayment::put_next_fee_multiplier(Multiplier::saturating_from_rational(3, 2)); + NextFeeMultiplier::::put(Multiplier::saturating_from_rational(3, 2)); assert_eq!( TransactionPayment::query_info( @@ -412,7 +412,7 @@ fn compute_fee_works_with_multiplier() { .build() .execute_with(|| { // Add a next fee multiplier. Fees will be x3/2. - TransactionPayment::put_next_fee_multiplier(Multiplier::saturating_from_rational(3, 2)); + NextFeeMultiplier::::put(Multiplier::saturating_from_rational(3, 2)); // Base fee is unaffected by multiplier let dispatch_info = DispatchInfo { call_weight: Weight::from_parts(0, 0), @@ -448,7 +448,7 @@ fn compute_fee_works_with_negative_multiplier() { .build() .execute_with(|| { // Add a next fee multiplier. All fees will be x1/2. - TransactionPayment::put_next_fee_multiplier(Multiplier::saturating_from_rational(1, 2)); + NextFeeMultiplier::::put(Multiplier::saturating_from_rational(1, 2)); // Base fee is unaffected by multiplier. let dispatch_info = DispatchInfo { @@ -607,7 +607,7 @@ fn refund_consistent_with_actual_weight() { let len = 10; let tip = 0; - TransactionPayment::put_next_fee_multiplier(Multiplier::saturating_from_rational(5, 4)); + NextFeeMultiplier::::put(Multiplier::saturating_from_rational(5, 4)); let alice_origin = RuntimeOrigin::signed(alice.clone()); diff --git a/pallets/transaction-payment/Cargo.toml b/pallets/transaction-payment/Cargo.toml index f8f967b741..12b38f2217 100644 --- a/pallets/transaction-payment/Cargo.toml +++ b/pallets/transaction-payment/Cargo.toml @@ -1,7 +1,7 @@ [package] -name = "pallet-transaction-payment" +name = "polymesh-transaction-payment" version = "2.0.0" -authors = ["Parity Technologies "] +authors = ["PolymeshAssociation"] edition = "2021" [dependencies] @@ -18,9 +18,11 @@ sp-std = { workspace = true, default-features = false } sp-api = { workspace = true, default-features = false } sp-io = { workspace = true, default-features = false } sp-runtime = { workspace = true, default-features = false } +frame-benchmarking = { workspace = true, default-features = false, optional = true } frame-support = { workspace = true, default-features = false } frame-system = { workspace = true, default-features = false } pallet-timestamp = { workspace = true, default-features = false } +pallet-transaction-payment = { workspace = true, default-features = false } [dev-dependencies] serde_json = "1.0.56" @@ -29,8 +31,12 @@ serde_json = "1.0.56" default = ["std"] disable_fees = [] no_std = [] -runtime-benchmarks = [] +runtime-benchmarks = [ + "frame-benchmarking/runtime-benchmarks", + "pallet-transaction-payment/runtime-benchmarks", +] std = [ + "frame-benchmarking?/std", "serde/std", "polymesh-primitives/std", "codec/std", @@ -41,5 +47,6 @@ std = [ "frame-support/std", "frame-system/std", "pallet-timestamp/std", + "pallet-transaction-payment/std", ] try-runtime = [] diff --git a/pallets/transaction-payment/src/benchmarking.rs b/pallets/transaction-payment/src/benchmarking.rs new file mode 100644 index 0000000000..8b6778d7f4 --- /dev/null +++ b/pallets/transaction-payment/src/benchmarking.rs @@ -0,0 +1,105 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Benchmarks for Transaction Payment Pallet's transaction extension + +extern crate alloc; + +use super::*; +use crate::Pallet; +use frame_benchmarking::v2::*; +use frame_support::dispatch::{DispatchInfo, PostDispatchInfo}; +use frame_system::{EventRecord, RawOrigin}; +use sp_runtime::traits::{AsTransactionAuthorizedOrigin, DispatchTransaction, Dispatchable}; + +fn assert_last_event( + generic_event: ::RuntimeEvent, +) { + let events = frame_system::Pallet::::events(); + let system_event: ::RuntimeEvent = generic_event.into(); + // compare to the last event record + let EventRecord { event, .. } = &events[events.len() - 1]; + assert_eq!(event, &system_event); +} + +#[benchmarks(where + T: Config, + T::RuntimeOrigin: AsTransactionAuthorizedOrigin, + T::RuntimeCall: Dispatchable, + BalanceOf: Send + Sync + Into, +)] +mod benchmarks { + use super::*; + + #[benchmark] + fn charge_transaction_payment() { + let caller: T::AccountId = account("caller", 0, 0); + + let amount_to_endow = 1_000_000_000u32.into(); + let tip = 0u32.into(); + + >::endow_account(&caller, amount_to_endow); + + let ext: ChargeTransactionPayment = ChargeTransactionPayment::from(tip); + let inner = frame_system::Call::remark { + remark: alloc::vec![], + }; + let call = T::RuntimeCall::from(inner); + let extension_weight = ext.weight(&call); + let info = DispatchInfo { + call_weight: Weight::from_parts(100, 0), + extension_weight, + class: DispatchClass::Operational, + pays_fee: Pays::Yes, + }; + let mut post_info = PostDispatchInfo { + actual_weight: Some(Weight::from_parts(10, 0)), + pays_fee: Pays::Yes, + }; + + #[block] + { + assert!(ext + .test_run( + RawOrigin::Signed(caller.clone()).into(), + &call, + &info, + 10, + 0, + |_| Ok(post_info) + ) + .unwrap() + .is_ok()); + } + + post_info + .actual_weight + .as_mut() + .map(|w| w.saturating_accrue(extension_weight)); + let actual_fee = TransactionPallet::::compute_actual_fee(10, &info, &post_info, tip); + assert_last_event::( + pallet_transaction_payment::Event::::TransactionFeePaid { + who: caller, + actual_fee, + tip, + } + .into(), + ); + } + + impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Runtime); +} diff --git a/pallets/transaction-payment/src/lib.rs b/pallets/transaction-payment/src/lib.rs index 4b3574ba61..93da6ec33c 100644 --- a/pallets/transaction-payment/src/lib.rs +++ b/pallets/transaction-payment/src/lib.rs @@ -1,319 +1,59 @@ -// Copyright (C) 2019-2020 Parity Technologies (UK) Ltd. -// This file is part of Substrate. +// This file is part of the Polymesh distribution (https://github.com/PolymeshAssociation/Polymesh). +// Copyright (c) 2020 Polymesh Association -// Substrate is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// Substrate is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with Substrate. If not, see . - -// Modified by Polymesh Association - 13rd March 2020 -// - Charge fee from the identity in the signed extension -// - Tips have been removed. - -//! # Transaction Payment Module -//! -//! This pallet provides the basic logic needed to pay the absolute minimum amount needed for a -//! transaction to be included. This includes: -//! - _base fee_: This is the minimum amount a user pays for a transaction. It is declared -//! as a base _weight_ in the runtime and converted to a fee using `WeightToFee`. -//! - _weight fee_: A fee proportional to amount of weight a transaction consumes. -//! - _length fee_: A fee proportional to the encoded length of the transaction. -//! - _tip_: An optional tip. Tip increases the priority of the transaction, giving it a higher -//! chance to be included by the transaction queue. -//! -//! The base fee and adjusted weight and length fees constitute the _inclusion fee_, which is -//! the minimum fee for a transaction to be included in a block. +//! # Polymesh Transaction Payment Module //! -//! The formula of final fee: -//! ```ignore -//! inclusion_fee = base_fee + length_fee + [targeted_fee_adjustment * weight_fee]; -//! final_fee = inclusion_fee + tip; -//! ``` -//! -//! - `targeted_fee_adjustment`: This is a multiplier that can tune the final fee based on -//! the congestion of the network. -//! -//! Additionally, this pallet allows one to configure: -//! - The mapping between one unit of weight to one unit of fee via [`Config::WeightToFee`]. -//! - A means of updating the fee for the next block, via defining a multiplier, based on the -//! final state of the chain at the end of the previous block. This can be configured via -//! [`Config::FeeMultiplierUpdate`] -//! - How the fees are paid via [`Config::OnChargeTransaction`]. +//! This module provides the TransactionExtension implementation to charge transaction fees +//! in Polymesh. +//! It extends the default functionality provided by `pallet_transaction_payment` to allow +//! subsidised transactions and to enforce tipping rules for Governance Committee and CDD +//! Providers members. #![cfg_attr(not(feature = "std"), no_std)] -use codec::{Decode, DecodeWithMemTracking, Encode, MaxEncodedLen}; +use codec::{Decode, DecodeWithMemTracking, Encode}; +use frame_support::dispatch::PostDispatchInfo; use frame_support::dispatch::{DispatchClass, DispatchInfo, DispatchResult}; -use frame_support::dispatch::{GetDispatchInfo, Pays, PostDispatchInfo}; use frame_support::pallet_prelude::*; -use frame_support::traits::Get; -use frame_support::weights::{Weight, WeightToFee}; +use frame_support::weights::Weight; use frame_support::RuntimeDebugNoBound; -use frame_system::pallet_prelude::{BlockNumberFor, OriginFor}; +use frame_system::pallet_prelude::OriginFor; use scale_info::TypeInfo; -use sp_runtime::traits::SaturatedConversion; -use sp_runtime::traits::{AsSystemOriginSigner, Saturating, TransactionExtension, Zero}; -use sp_runtime::traits::{Convert, DispatchInfoOf, Dispatchable, PostDispatchInfoOf}; +use sp_runtime::traits::{DispatchInfoOf, Dispatchable, PostDispatchInfoOf}; +use sp_runtime::traits::{TransactionExtension, Zero}; use sp_runtime::transaction_validity::{TransactionValidityError, ValidTransaction}; -use sp_runtime::{FixedPointNumber, FixedPointOperand, FixedU128}; -use sp_runtime::{Perbill, Perquintill, RuntimeDebug}; use polymesh_primitives::traits::group::GroupTrait; use polymesh_primitives::traits::{CddAndFeeDetails, IdentityFnTrait, SubsidiserTrait}; use polymesh_primitives::TransactionError; pub use pallet::*; -pub use payment::*; -pub use types::{FeeDetails, InclusionFee, RuntimeDispatchInfo}; -mod payment; -mod types; +pub use pallet_transaction_payment::{ + ChargeFeesControl, FeeDetails, InclusionFee, OnChargeTransaction, RuntimeDispatchInfo, + WeightInfo, +}; -/// Fee multiplier. -pub type Multiplier = FixedU128; +#[cfg(feature = "runtime-benchmarks")] +mod benchmarking; -type BalanceOf = <::OnChargeTransaction as OnChargeTransaction>::Balance; +pub type TransactionPallet = pallet_transaction_payment::Pallet; -/// A struct to update the weight multiplier per block. It implements `Convert`, meaning that it can convert the previous multiplier to the next one. This should -/// be called on `on_finalize` of a block, prior to potentially cleaning the weight data from the -/// system pallet. -/// -/// given: -/// s = previous block weight -/// s'= ideal block weight -/// m = maximum block weight -/// diff = (s - s')/m -/// v = 0.00001 -/// t1 = (v * diff) -/// t2 = (v * diff)^2 / 2 -/// then: -/// next_multiplier = prev_multiplier * (1 + t1 + t2) -/// -/// Where `(s', v)` must be given as the `Get` implementation of the `T` generic type. Moreover, `M` -/// must provide the minimum allowed value for the multiplier. Note that a runtime should ensure -/// with tests that the combination of this `M` and `V` is not such that the multiplier can drop to -/// zero and never recover. -/// -/// Note that `s'` is interpreted as a portion in the _normal transaction_ capacity of the block. -/// For example, given `s' == 0.25` and `AvailableBlockRatio = 0.75`, then the target fullness is -/// _0.25 of the normal capacity_ and _0.1875 of the entire block_. -/// -/// Since block weight is multi-dimension, we use the scarcer resource, referred as limiting -/// dimension, for calculation of fees. We determine the limiting dimension by comparing the -/// dimensions using the ratio of `dimension_value / max_dimension_value` and selecting the largest -/// ratio. For instance, if a block is 30% full based on `ref_time` and 25% full based on -/// `proof_size`, we identify `ref_time` as the limiting dimension, indicating that the block is 30% -/// full. -/// -/// This implementation implies the bound: -/// - `v ≤ p / k * (s − s')` -/// - or, solving for `p`: `p >= v * k * (s - s')` -/// -/// where `p` is the amount of change over `k` blocks. -/// -/// Hence: -/// - in a fully congested chain: `p >= v * k * (1 - s')`. -/// - in an empty chain: `p >= v * k * (-s')`. -/// -/// For example, when all blocks are full and there are 28800 blocks per day (default in -/// `substrate-node`) and v == 0.00001, s' == 0.1875, we'd have: -/// -/// p >= 0.00001 * 28800 * 0.8125 -/// p >= 0.234 -/// -/// Meaning that fees can change by around ~23% per day, given extreme congestion. -/// -/// More info can be found at: -/// -pub struct TargetedFeeAdjustment(sp_std::marker::PhantomData<(T, S, V, M, X)>); - -/// Something that can convert the current multiplier to the next one. -pub trait MultiplierUpdate: Convert { - /// Minimum multiplier. Any outcome of the `convert` function should be at least this. - fn min() -> Multiplier; - /// Maximum multiplier. Any outcome of the `convert` function should be less or equal this. - fn max() -> Multiplier; - /// Target block saturation level - fn target() -> Perquintill; - /// Variability factor - fn variability() -> Multiplier; -} +pub(crate) type BalanceOf = <::OnChargeTransaction as OnChargeTransaction>::Balance; -impl MultiplierUpdate for () { - fn min() -> Multiplier { - Default::default() - } - fn max() -> Multiplier { - ::max_value() - } - fn target() -> Perquintill { - Default::default() - } - fn variability() -> Multiplier { - Default::default() - } -} - -impl MultiplierUpdate for TargetedFeeAdjustment -where - T: frame_system::Config, - S: Get, - V: Get, - M: Get, - X: Get, -{ - fn min() -> Multiplier { - M::get() - } - fn max() -> Multiplier { - X::get() - } - fn target() -> Perquintill { - S::get() - } - fn variability() -> Multiplier { - V::get() - } -} - -impl Convert for TargetedFeeAdjustment -where - T: frame_system::Config, - S: Get, - V: Get, - M: Get, - X: Get, -{ - fn convert(previous: Multiplier) -> Multiplier { - // Defensive only. The multiplier in storage should always be at most positive. Nonetheless - // we recover here in case of errors, because any value below this would be stale and can - // never change. - let min_multiplier = M::get(); - let max_multiplier = X::get(); - let previous = previous.max(min_multiplier); - - let weights = T::BlockWeights::get(); - // the computed ratio is only among the normal class. - let normal_max_weight = weights - .get(DispatchClass::Normal) - .max_total - .unwrap_or(weights.max_block); - let current_block_weight = frame_system::Pallet::::block_weight(); - let normal_block_weight = current_block_weight - .get(DispatchClass::Normal) - .min(normal_max_weight); - - // Normalize dimensions so they can be compared. Ensure (defensive) max weight is non-zero. - let normalized_ref_time = Perbill::from_rational( - normal_block_weight.ref_time(), - normal_max_weight.ref_time().max(1), - ); - let normalized_proof_size = Perbill::from_rational( - normal_block_weight.proof_size(), - normal_max_weight.proof_size().max(1), - ); - - // Pick the limiting dimension. If the proof size is the limiting dimension, then the - // multiplier is adjusted by the proof size. Otherwise, it is adjusted by the ref time. - let (normal_limiting_dimension, max_limiting_dimension) = - if normalized_ref_time < normalized_proof_size { - ( - normal_block_weight.proof_size(), - normal_max_weight.proof_size(), - ) - } else { - (normal_block_weight.ref_time(), normal_max_weight.ref_time()) - }; - - let target_block_fullness = S::get(); - let adjustment_variable = V::get(); - - let target_weight = (target_block_fullness * max_limiting_dimension) as u128; - let block_weight = normal_limiting_dimension as u128; - - // determines if the first_term is positive - let positive = block_weight >= target_weight; - let diff_abs = block_weight.max(target_weight) - block_weight.min(target_weight); - - // defensive only, a test case assures that the maximum weight diff can fit in Multiplier - // without any saturation. - let diff = Multiplier::saturating_from_rational(diff_abs, max_limiting_dimension.max(1)); - let diff_squared = diff.saturating_mul(diff); - - let v_squared_2 = adjustment_variable.saturating_mul(adjustment_variable) - / Multiplier::saturating_from_integer(2); - - let first_term = adjustment_variable.saturating_mul(diff); - let second_term = v_squared_2.saturating_mul(diff_squared); - - if positive { - let excess = first_term - .saturating_add(second_term) - .saturating_mul(previous); - previous - .saturating_add(excess) - .clamp(min_multiplier, max_multiplier) - } else { - // Defensive-only: first_term > second_term. Safe subtraction. - let negative = first_term - .saturating_sub(second_term) - .saturating_mul(previous); - previous - .saturating_sub(negative) - .clamp(min_multiplier, max_multiplier) +impl ChargeFeesControl for Pallet { + fn disabled() -> bool { + #[cfg(feature = "disable_fees")] + { + DisableFees::::get() + } + #[cfg(not(feature = "disable_fees"))] + { + false } } } -/// A struct to make the fee multiplier a constant -pub struct ConstFeeMultiplier>(core::marker::PhantomData); - -impl> MultiplierUpdate for ConstFeeMultiplier { - fn min() -> Multiplier { - M::get() - } - fn max() -> Multiplier { - M::get() - } - fn target() -> Perquintill { - Default::default() - } - fn variability() -> Multiplier { - Default::default() - } -} - -impl Convert for ConstFeeMultiplier -where - M: Get, -{ - fn convert(_previous: Multiplier) -> Multiplier { - Self::min() - } -} - -/// Storage releases of the pallet. -#[derive(Decode, Encode, TypeInfo)] -#[derive(Clone, Copy, Default, Eq, MaxEncodedLen, PartialEq, RuntimeDebug)] -pub enum Releases { - /// Original version of the pallet. - #[default] - V1Ancient, - /// One that bumps the usage to FixedU128 from FixedI128. - V2, -} - -const MULTIPLIER_DEFAULT_VALUE: Multiplier = Multiplier::from_u32(1); - #[frame_support::pallet] pub mod pallet { use super::*; @@ -322,54 +62,9 @@ pub mod pallet { pub struct Pallet(_); #[pallet::config] - pub trait Config: frame_system::Config + pallet_timestamp::Config { - /// Handler for withdrawing, refunding and depositing the transaction fee. - /// Transaction fees are withdrawn before the transaction is executed. - /// After the transaction was executed the transaction weight can be - /// adjusted, depending on the used resources by the transaction. If the - /// transaction weight is lower than expected, parts of the transaction fee - /// might be refunded. In the end the fees can be deposited. - type OnChargeTransaction: OnChargeTransaction; - - /// Convert a weight value into a deductible fee based on the currency type. - type WeightToFee: WeightToFee>; - - /// Convert a length value into a deductible fee based on the currency type. - type LengthToFee: WeightToFee>; - - /// Update the multiplier of the next block, based on the previous block's weight. - type FeeMultiplierUpdate: MultiplierUpdate; - - /// A fee multiplier for `Operational` extrinsics to compute "virtual tip" to boost their - /// `priority` - /// - /// This value is multiplied by the `final_fee` to obtain a "virtual tip" that is later - /// added to a tip component in regular `priority` calculations. - /// It means that a `Normal` transaction can front-run a similarly-sized `Operational` - /// extrinsic (with no tip), by including a tip value greater than the virtual tip. - /// - /// ```rust,ignore - /// // For `Normal` - /// let priority = priority_calc(tip); - /// - /// // For `Operational` - /// let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier; - /// let priority = priority_calc(tip + virtual_tip); - /// ``` - /// - /// Note that since we use `final_fee` the multiplier applies also to the regular `tip` - /// sent with the transaction. So, not only does the transaction get a priority bump based - /// on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational` - /// transactions. - #[pallet::constant] - type OperationalFeeMultiplier: Get; - - /// The weight information of this pallet. - type WeightInfo: WeightInfo; - - // Polymesh change - // ----------------------------------------------------------------- - + pub trait Config: + frame_system::Config + pallet_transaction_payment::Config + pallet_timestamp::Config + { /// Fetch the signatory to charge fee from. Also sets fee payer and identity in context. type CddHandler: CddAndFeeDetails; @@ -381,35 +76,16 @@ pub mod pallet { type GovernanceCommittee: GroupTrait; type Identity: IdentityFnTrait; - - // ----------------------------------------------------------------- - } - - #[pallet::type_value] - pub fn NextFeeMultiplierOnEmpty() -> Multiplier { - MULTIPLIER_DEFAULT_VALUE } - #[pallet::storage] - #[pallet::whitelist_storage] - pub type NextFeeMultiplier = - StorageValue<_, Multiplier, ValueQuery, NextFeeMultiplierOnEmpty>; - - #[pallet::storage] - pub type StorageVersion = StorageValue<_, Releases, ValueQuery>; - - // Polymesh change - // ----------------------------------------------------------------- #[cfg(feature = "disable_fees")] #[pallet::storage] pub type DisableFees = StorageValue<_, bool, ValueQuery>; - // ----------------------------------------------------------------- #[pallet::genesis_config] pub struct GenesisConfig { - pub multiplier: Multiplier, #[serde(skip)] - pub _config: core::marker::PhantomData, + pub _config: sp_std::marker::PhantomData, #[cfg(feature = "disable_fees")] pub disable_fees: bool, } @@ -417,7 +93,6 @@ pub mod pallet { impl Default for GenesisConfig { fn default() -> Self { Self { - multiplier: MULTIPLIER_DEFAULT_VALUE, _config: Default::default(), #[cfg(feature = "disable_fees")] disable_fees: false, @@ -428,78 +103,11 @@ pub mod pallet { #[pallet::genesis_build] impl BuildGenesisConfig for GenesisConfig { fn build(&self) { - StorageVersion::::put(Releases::V2); - NextFeeMultiplier::::put(self.multiplier); #[cfg(feature = "disable_fees")] DisableFees::::put(self.disable_fees); } } - #[pallet::event] - #[pallet::generate_deposit(pub(super) fn deposit_event)] - pub enum Event { - /// A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee, - /// has been paid by `who`. - TransactionFeePaid { - who: T::AccountId, - actual_fee: BalanceOf, - tip: BalanceOf, - }, - } - - #[pallet::hooks] - impl Hooks> for Pallet { - #[cfg(feature = "std")] - fn integrity_test() { - // given weight == u64, we build multipliers from `diff` of two weight values, which can - // at most be maximum block weight. Make sure that this can fit in a multiplier without - // loss. - assert!( - ::max_value() - >= Multiplier::checked_from_integer::( - T::BlockWeights::get() - .max_block - .ref_time() - .try_into() - .unwrap() - ) - .unwrap(), - ); - - let target = T::FeeMultiplierUpdate::target() - * T::BlockWeights::get() - .get(DispatchClass::Normal) - .max_total - .expect( - "Setting `max_total` for `Normal` dispatch class is not compatible with \ - `transaction-payment` pallet.", - ); - // add 1 percent; - let addition = target / 100; - if addition == Weight::zero() { - // this is most likely because in a test setup we set everything to () - // or to `ConstFeeMultiplier`. - return; - } - - // This is the minimum value of the multiplier. Make sure that if we collapse to this - // value, we can recover with a reasonable amount of traffic. For this test we assert - // that if we collapse to minimum, the trend will be positive with a weight value which - // is 1% more than the target. - let min_value = T::FeeMultiplierUpdate::min(); - let target = target + addition; - - frame_system::Pallet::::set_block_consumed_resources(target, 0); - let next = T::FeeMultiplierUpdate::convert(min_value); - assert!( - next > min_value, - "The minimum bound of the multiplier is too low. When \ - block saturation is more than target by 1% and multiplier is minimal then \ - the multiplier doesn't increase." - ); - } - } - #[pallet::call] impl Pallet { #[pallet::call_index(0)] @@ -513,244 +121,6 @@ pub mod pallet { } } -impl Pallet -where - BalanceOf: FixedPointOperand, -{ - /// Query the data that we know about the fee of a given `call`. - /// - /// This pallet is not and cannot be aware of the internals of a signed extension, for example - /// a tip. It only interprets the extrinsic as some encoded value and accounts for its weight - /// and length, the runtime's extrinsic base weight, and the current fee multiplier. - /// - /// All dispatchables must be annotated with weight and will have some fee info. This function - /// always returns. - pub fn query_info( - unchecked_extrinsic: Extrinsic, - len: u32, - ) -> RuntimeDispatchInfo> - where - T::RuntimeCall: Dispatchable, - { - // NOTE: we can actually make it understand `ChargeTransactionPayment`, but would be some - // hassle for sure. We have to make it aware of the index of `ChargeTransactionPayment` in - // `Extra`. Alternatively, we could actually execute the tx's per-dispatch and record the - // balance of the sender before and after the pipeline.. but this is way too much hassle for - // a very very little potential gain in the future. - let dispatch_info = ::get_dispatch_info(&unchecked_extrinsic); - - let partial_fee = if unchecked_extrinsic.is_bare() { - // Bare extrinsics have no partial fee. - 0u32.into() - } else { - Self::compute_fee(len, &dispatch_info, 0u32.into()) - }; - - let DispatchInfo { class, .. } = dispatch_info; - - RuntimeDispatchInfo { - weight: dispatch_info.total_weight(), - class, - partial_fee, - } - } - - /// Query the detailed fee of a given `call`. - pub fn query_fee_details( - unchecked_extrinsic: Extrinsic, - len: u32, - ) -> FeeDetails> - where - T::RuntimeCall: Dispatchable, - { - let dispatch_info = ::get_dispatch_info(&unchecked_extrinsic); - - let tip = 0u32.into(); - - if unchecked_extrinsic.is_bare() { - // Bare extrinsics have no inclusion fee. - FeeDetails { - inclusion_fee: None, - tip, - } - } else { - Self::compute_fee_details(len, &dispatch_info, tip) - } - } - - /// Query information of a dispatch class, weight, and fee of a given encoded `Call`. - pub fn query_call_info(call: T::RuntimeCall, len: u32) -> RuntimeDispatchInfo> - where - T::RuntimeCall: Dispatchable + GetDispatchInfo, - { - let dispatch_info = ::get_dispatch_info(&call); - let DispatchInfo { class, .. } = dispatch_info; - - RuntimeDispatchInfo { - weight: dispatch_info.total_weight(), - class, - partial_fee: Self::compute_fee(len, &dispatch_info, 0u32.into()), - } - } - - /// Query fee details of a given encoded `Call`. - pub fn query_call_fee_details(call: T::RuntimeCall, len: u32) -> FeeDetails> - where - T::RuntimeCall: Dispatchable + GetDispatchInfo, - { - let dispatch_info = ::get_dispatch_info(&call); - let tip = 0u32.into(); - - Self::compute_fee_details(len, &dispatch_info, tip) - } - - /// Compute the final fee value for a particular transaction. - pub fn compute_fee( - len: u32, - info: &DispatchInfoOf, - tip: BalanceOf, - ) -> BalanceOf - where - T::RuntimeCall: Dispatchable, - { - Self::compute_fee_details(len, info, tip).final_fee() - } - - /// Compute the fee details for a particular transaction. - pub fn compute_fee_details( - len: u32, - info: &DispatchInfoOf, - tip: BalanceOf, - ) -> FeeDetails> - where - T::RuntimeCall: Dispatchable, - { - Self::compute_fee_raw(len, info.total_weight(), tip, info.pays_fee, info.class) - } - - /// Compute the actual post dispatch fee for a particular transaction. - /// - /// Identical to `compute_fee` with the only difference that the post dispatch corrected - /// weight is used for the weight fee calculation. - pub fn compute_actual_fee( - len: u32, - info: &DispatchInfoOf, - post_info: &PostDispatchInfoOf, - tip: BalanceOf, - ) -> BalanceOf - where - T::RuntimeCall: Dispatchable, - { - Self::compute_actual_fee_details(len, info, post_info, tip).final_fee() - } - - /// Compute the actual post dispatch fee details for a particular transaction. - pub fn compute_actual_fee_details( - len: u32, - info: &DispatchInfoOf, - post_info: &PostDispatchInfoOf, - tip: BalanceOf, - ) -> FeeDetails> - where - T::RuntimeCall: Dispatchable, - { - Self::compute_fee_raw( - len, - post_info.calc_actual_weight(info), - tip, - post_info.pays_fee(info), - info.class, - ) - } - - fn compute_fee_raw( - len: u32, - weight: Weight, - tip: BalanceOf, - pays_fee: Pays, - class: DispatchClass, - ) -> FeeDetails> { - #[cfg(feature = "disable_fees")] - if DisableFees::::get() { - return FeeDetails { - inclusion_fee: None, - tip: 0u32.into(), - }; - } - - if pays_fee == Pays::Yes { - // the adjustable part of the fee. - let unadjusted_weight_fee = Self::weight_to_fee(weight); - let multiplier = NextFeeMultiplier::::get(); - // final adjusted weight fee. - let adjusted_weight_fee = multiplier.saturating_mul_int(unadjusted_weight_fee); - - // length fee. this is adjusted via `LengthToFee`. - let len_fee = Self::length_to_fee(len); - - let base_fee = Self::weight_to_fee(T::BlockWeights::get().get(class).base_extrinsic); - FeeDetails { - inclusion_fee: Some(InclusionFee { - base_fee, - len_fee, - adjusted_weight_fee, - }), - tip, - } - } else { - FeeDetails { - inclusion_fee: None, - tip, - } - } - } - - /// Compute the length portion of a fee by invoking the configured `LengthToFee` impl. - pub fn length_to_fee(length: u32) -> BalanceOf { - T::LengthToFee::weight_to_fee(&Weight::from_parts(length as u64, 0)) - } - - /// Compute the unadjusted portion of the weight fee by invoking the configured `WeightToFee` - /// impl. Note that the input `weight` is capped by the maximum block weight before computation. - pub fn weight_to_fee(weight: Weight) -> BalanceOf { - // cap the weight to the maximum defined in runtime, otherwise it will be the - // `Bounded` maximum of its data type, which is not desired. - let capped_weight = weight.min(T::BlockWeights::get().max_block); - T::WeightToFee::weight_to_fee(&capped_weight) - } - - /// Deposit the [`Event::TransactionFeePaid`] event. - pub fn deposit_fee_paid_event(who: T::AccountId, actual_fee: BalanceOf, tip: BalanceOf) { - Self::deposit_event(Event::TransactionFeePaid { - who, - actual_fee, - tip, - }); - } - - // Polymesh change - // ----------------------------------------------------------------- - #[cfg(debug_assertions)] - pub fn put_next_fee_multiplier(m: Multiplier) { - NextFeeMultiplier::::put(m) - } - // ----------------------------------------------------------------- -} - -impl Convert> for Pallet -where - T: Config, -{ - /// Compute the fee for the specified weight. - /// - /// This fee is already adjusted by the per block fee adjustment factor and is therefore the - /// share that the weight contributes to the overall fee of a transaction. It is mainly - /// for informational purposes and not used in the actual fee calculation. - fn convert(weight: Weight) -> BalanceOf { - NextFeeMultiplier::::get().saturating_mul_int(Self::weight_to_fee(weight)) - } -} - /// Require the transactor pay for themselves and maybe include a tip to gain additional priority /// in the queue. /// @@ -788,7 +158,7 @@ where len: usize, ) -> Result<(BalanceOf, Option), TransactionValidityError> { let tip = self.0; - let fee_with_tip = Pallet::::compute_fee(len as u32, info, tip); + let fee_with_tip = TransactionPallet::::compute_fee(len as u32, info, tip); // Polymesh change // ----------------------------------------------------------------- @@ -802,13 +172,9 @@ where // key to pay the fee. let fee_key = subsidiser.as_ref().unwrap_or(&payers_key); - <::OnChargeTransaction as OnChargeTransaction>::can_withdraw_fee( - fee_key, - call, - info, - fee_with_tip, - tip, - )?; + <::OnChargeTransaction as OnChargeTransaction< + T, + >>::can_withdraw_fee(fee_key, call, info, fee_with_tip, tip)?; T::CddHandler::set_payer_context(Some(payers_key)); @@ -827,10 +193,10 @@ where ( BalanceOf, Option, - <::OnChargeTransaction as OnChargeTransaction>::LiquidityInfo, + <::OnChargeTransaction as OnChargeTransaction>::LiquidityInfo, ), TransactionValidityError, - > { + >{ let tip = self.0; // Polymesh change @@ -846,7 +212,7 @@ where let fee_key = subsidiser.as_ref().unwrap_or(&payers_key); let liq_info = - <::OnChargeTransaction as OnChargeTransaction>::withdraw_fee( + <::OnChargeTransaction as OnChargeTransaction>::withdraw_fee( fee_key, call, info, @@ -862,13 +228,13 @@ where } fn check_subsidy_conditions( - caller_acc: &T::AccountId, + who: &T::AccountId, call: &T::RuntimeCall, fee_with_tip: BalanceOf, ) -> Result<(T::AccountId, Option), InvalidTransaction> { // Get the payer for this transaction. let payers_key = - T::CddHandler::get_valid_payer(call, caller_acc)?.ok_or(InvalidTransaction::Payment)?; + T::CddHandler::get_valid_payer(call, who)?.ok_or(InvalidTransaction::Payment)?; // Check if the payer is being subsidised. let subsidiser = @@ -925,7 +291,7 @@ pub enum Val { // who called the transaction who: T::AccountId, // transaction fee - fee: BalanceOf, + fee_with_tip: BalanceOf, // Polymesh Subsidiser account (who paid the fee) subsidiser: Option, }, @@ -940,7 +306,7 @@ pub enum Pre { // who paid the fee who: T::AccountId, // imbalance resulting from withdrawing the fee - imbalance: <::OnChargeTransaction as OnChargeTransaction>::LiquidityInfo, + imbalance: <::OnChargeTransaction as OnChargeTransaction>::LiquidityInfo, // Polymesh Subsidiser account (who paid the fee) subsidiser: Option, }, @@ -964,7 +330,6 @@ impl sp_std::fmt::Debug for ChargeTransactionPayment { impl TransactionExtension for ChargeTransactionPayment where T::RuntimeCall: Dispatchable, - ::RuntimeOrigin: AsSystemOriginSigner, BalanceOf: Send + Sync + Into, { const IDENTIFIER: &'static str = "ChargeTransactionPayment"; @@ -972,8 +337,9 @@ where type Val = Val; type Pre = Pre; - fn weight(&self, _: &T::RuntimeCall) -> Weight { - Weight::zero() + fn weight(&self, _call: &T::RuntimeCall) -> Weight { + // TODO: improve weight based on the call. + ::WeightInfo::charge_transaction_payment() } fn validate( @@ -993,23 +359,28 @@ where ), TransactionValidityError, > { - let caller_acc = origin - .as_system_origin_signer() - .ok_or(InvalidTransaction::BadSigner)?; + let Ok(who) = frame_system::ensure_signed(origin.clone()) else { + return Ok((ValidTransaction::default(), Val::NoCharge, origin)); + }; - let tip = self.ensure_valid_tip(caller_acc, info)?; + let tip = self.ensure_valid_tip(&who, info)?; - let (fee, subsidiser) = self.can_withdraw_fee(caller_acc, call, info, len)?; + let (fee_with_tip, subsidiser) = self.can_withdraw_fee(&who, call, info, len)?; let valid_transaction = ValidTransaction { - priority: tip.saturated_into::(), + priority: pallet_transaction_payment::ChargeTransactionPayment::::get_priority( + info, + len, + tip, + fee_with_tip, + ), ..Default::default() }; let val = Val::Charge { tip, - who: caller_acc.clone(), - fee, + who, + fee_with_tip, subsidiser, }; @@ -1031,10 +402,11 @@ where Val::Charge { tip, who, - fee, + fee_with_tip, subsidiser: _, } => { - let (_, subsidiser, imbalance) = self.withdraw_fee(&who, call, info, fee)?; + let (_, subsidiser, imbalance) = + self.withdraw_fee(&who, call, info, fee_with_tip)?; Ok(Pre::Charge { tip, @@ -1065,7 +437,8 @@ where } }; - let actual_fee = Pallet::::compute_actual_fee(len as u32, info, post_info, tip); + let actual_fee = + TransactionPallet::::compute_actual_fee(len as u32, info, post_info, tip); // Fee returned to original payer. let payers_key = T::CddHandler::get_payer_from_context().unwrap_or(who.clone()); @@ -1083,19 +456,10 @@ where &fee_key, info, post_info, actual_fee, tip, imbalance, )?; - Pallet::::deposit_event(Event::::TransactionFeePaid { - who: fee_key, - actual_fee, - tip, - }); + TransactionPallet::::deposit_fee_paid_event(fee_key, actual_fee, tip); // It clears the identity and payer in the context after transaction. T::CddHandler::clear_context(); Ok(()) } } - -/// Weight functions needed for `pallet_transaction_payment`. -pub trait WeightInfo { - fn charge_transaction_payment() -> Weight; -} diff --git a/pallets/transaction-payment/src/payment.rs b/pallets/transaction-payment/src/payment.rs deleted file mode 100644 index 62512c3105..0000000000 --- a/pallets/transaction-payment/src/payment.rs +++ /dev/null @@ -1,206 +0,0 @@ -use core::marker::PhantomData; -use frame_support::pallet_prelude::CheckedSub; -use frame_support::traits::{Currency, Imbalance, OnUnbalanced}; -use frame_support::traits::{ExistenceRequirement, WithdrawReasons}; -use frame_support::unsigned::TransactionValidityError; -use sp_runtime::traits::{DispatchInfoOf, PostDispatchInfoOf, Saturating, Zero}; -use sp_runtime::transaction_validity::InvalidTransaction; - -use crate::pallet::Config; - -/// Handle withdrawing, refunding and depositing of transaction fees. -pub trait OnChargeTransaction { - /// The underlying integer type in which fees are calculated. - type Balance: frame_support::traits::tokens::Balance; - - type LiquidityInfo: Default; - - /// Before the transaction is executed the payment of the transaction fees - /// need to be secured. - /// - /// Note: The `fee` already includes the `tip`. - fn withdraw_fee( - who: &T::AccountId, - call: &T::RuntimeCall, - dispatch_info: &DispatchInfoOf, - fee: Self::Balance, - tip: Self::Balance, - ) -> Result; - - /// Check if the predicted fee from the transaction origin can be withdrawn. - /// - /// Note: The `fee` already includes the `tip`. - fn can_withdraw_fee( - who: &T::AccountId, - call: &T::RuntimeCall, - dispatch_info: &DispatchInfoOf, - fee: Self::Balance, - tip: Self::Balance, - ) -> Result<(), TransactionValidityError>; - - /// After the transaction was executed the actual fee can be calculated. - /// This function should refund any overpaid fees and optionally deposit - /// the corrected amount. - /// - /// Note: The `fee` already includes the `tip`. - fn correct_and_deposit_fee( - who: &T::AccountId, - dispatch_info: &DispatchInfoOf, - post_info: &PostDispatchInfoOf, - corrected_fee: Self::Balance, - tip: Self::Balance, - already_withdrawn: Self::LiquidityInfo, - ) -> Result<(), TransactionValidityError>; - - // Polymesh change - // ----------------------------------------------------------------- - fn charge_fee(who: &T::AccountId, fee: Self::Balance) -> Result<(), TransactionValidityError>; - // ----------------------------------------------------------------- -} - -type NegativeImbalanceOf = - ::AccountId>>::NegativeImbalance; - -/// Implements the transaction payment for a pallet implementing the [`Currency`] -/// trait (eg. the pallet_balances) using an unbalance handler (implementing -/// [`OnUnbalanced`]). -/// -/// The unbalance handler is given 2 unbalanceds in [`OnUnbalanced::on_unbalanceds`]: `fee` and -/// then `tip`. -pub struct CurrencyAdapter(PhantomData<(C, OU)>); - -/// Default implementation for a Currency and an OnUnbalanced handler. -/// -/// The unbalance handler is given 2 unbalanceds in [`OnUnbalanced::on_unbalanceds`]: `fee` and -/// then `tip`. -impl OnChargeTransaction for CurrencyAdapter -where - T: Config, - C: Currency<::AccountId>, - C::PositiveImbalance: Imbalance< - ::AccountId>>::Balance, - Opposite = C::NegativeImbalance, - >, - C::NegativeImbalance: Imbalance< - ::AccountId>>::Balance, - Opposite = C::PositiveImbalance, - >, - OU: OnUnbalanced>, -{ - type LiquidityInfo = Option>; - type Balance = ::AccountId>>::Balance; - - /// Withdraw the predicted fee from the transaction origin. - /// - /// Note: The `fee` already includes the `tip`. - fn withdraw_fee( - who: &T::AccountId, - _call: &T::RuntimeCall, - _info: &DispatchInfoOf, - fee_with_tip: Self::Balance, - tip: Self::Balance, - ) -> Result { - if fee_with_tip.is_zero() { - return Ok(None); - } - - let withdraw_reason = if tip.is_zero() { - WithdrawReasons::TRANSACTION_PAYMENT - } else { - WithdrawReasons::TRANSACTION_PAYMENT | WithdrawReasons::TIP - }; - - match C::withdraw( - who, - fee_with_tip, - withdraw_reason, - ExistenceRequirement::KeepAlive, - ) { - Ok(imbalance) => Ok(Some(imbalance)), - Err(_) => Err(InvalidTransaction::Payment.into()), - } - } - - /// Check if the predicted fee from the transaction origin can be withdrawn. - /// - /// Note: The `fee` already includes the `tip`. - fn can_withdraw_fee( - who: &T::AccountId, - _call: &T::RuntimeCall, - _info: &DispatchInfoOf, - fee_with_tip: Self::Balance, - tip: Self::Balance, - ) -> Result<(), TransactionValidityError> { - if fee_with_tip.is_zero() { - return Ok(()); - } - - let withdraw_reason = if tip.is_zero() { - WithdrawReasons::TRANSACTION_PAYMENT - } else { - WithdrawReasons::TRANSACTION_PAYMENT | WithdrawReasons::TIP - }; - - let new_balance = C::free_balance(who) - .checked_sub(&fee_with_tip) - .ok_or(InvalidTransaction::Payment)?; - C::ensure_can_withdraw(who, fee_with_tip, withdraw_reason, new_balance) - .map(|_| ()) - .map_err(|_| InvalidTransaction::Payment.into()) - } - - /// Hand the fee and the tip over to the `[OnUnbalanced]` implementation. - /// Since the predicted fee might have been too high, parts of the fee may - /// be refunded. - /// - /// Note: The `corrected_fee` already includes the `tip`. - fn correct_and_deposit_fee( - who: &T::AccountId, - _dispatch_info: &DispatchInfoOf, - _post_info: &PostDispatchInfoOf, - corrected_fee: Self::Balance, - tip: Self::Balance, - already_withdrawn: Self::LiquidityInfo, - ) -> Result<(), TransactionValidityError> { - if let Some(paid) = already_withdrawn { - // Calculate how much refund we should return - let refund_amount = paid.peek().saturating_sub(corrected_fee); - // refund to the the account that paid the fees. If this fails, the - // account might have dropped below the existential balance. In - // that case we don't refund anything. - let refund_imbalance = C::deposit_into_existing(who, refund_amount) - .unwrap_or_else(|_| C::PositiveImbalance::zero()); - // merge the imbalance caused by paying the fees and refunding parts of it again. - let adjusted_paid = paid - .offset(refund_imbalance) - .same() - .map_err(|_| TransactionValidityError::Invalid(InvalidTransaction::Payment))?; - // Call someone else to handle the imbalance (fee and tip separately) - let (tip, fee) = adjusted_paid.split(tip); - OU::on_unbalanceds(Some(fee).into_iter().chain(Some(tip))); - } - Ok(()) - } - - // Polymesh change - // ----------------------------------------------------------------- - fn charge_fee(who: &T::AccountId, fee: Self::Balance) -> Result<(), TransactionValidityError> { - if fee.is_zero() { - return Ok(()); - } - - match C::withdraw( - who, - fee, - WithdrawReasons::TRANSACTION_PAYMENT, - ExistenceRequirement::KeepAlive, - ) { - Ok(imbalance) => { - OU::on_unbalanced(imbalance); - Ok(()) - } - Err(_) => Err(InvalidTransaction::Payment.into()), - } - } - // ----------------------------------------------------------------- -} diff --git a/pallets/transaction-payment/src/types.rs b/pallets/transaction-payment/src/types.rs deleted file mode 100644 index 74844de85a..0000000000 --- a/pallets/transaction-payment/src/types.rs +++ /dev/null @@ -1,184 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) 2021-2022 Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Types for transaction-payment RPC. - -use codec::{Decode, Encode}; -use scale_info::TypeInfo; -#[cfg(feature = "std")] -use serde::{Deserialize, Serialize}; - -use sp_runtime::traits::{AtLeast32BitUnsigned, Zero}; -use sp_std::prelude::*; - -use frame_support::dispatch::DispatchClass; - -/// The base fee and adjusted weight and length fees constitute the _inclusion fee_. -#[derive(Encode, Decode, Clone, Eq, PartialEq, TypeInfo)] -#[cfg_attr(feature = "std", derive(Debug, Serialize, Deserialize))] -#[cfg_attr(feature = "std", serde(rename_all = "camelCase"))] -pub struct InclusionFee { - /// This is the minimum amount a user pays for a transaction. It is declared - /// as a base _weight_ in the runtime and converted to a fee using `WeightToFee`. - pub base_fee: Balance, - /// The length fee, the amount paid for the encoded length (in bytes) of the transaction. - pub len_fee: Balance, - /// - /// - `targeted_fee_adjustment`: This is a multiplier that can tune the final fee based on the - /// congestion of the network. - /// - `weight_fee`: This amount is computed based on the weight of the transaction. Weight - /// accounts for the execution time of a transaction. - /// - /// adjusted_weight_fee = targeted_fee_adjustment * weight_fee - pub adjusted_weight_fee: Balance, -} - -impl InclusionFee { - /// Returns the total of inclusion fee. - /// - /// ```ignore - /// inclusion_fee = base_fee + len_fee + adjusted_weight_fee - /// ``` - pub fn inclusion_fee(&self) -> Balance { - self.base_fee - .saturating_add(self.len_fee) - .saturating_add(self.adjusted_weight_fee) - } -} - -/// The `FeeDetails` is composed of: -/// - (Optional) `inclusion_fee`: Only the `Pays::Yes` transaction can have the inclusion fee. -/// - `tip`: If included in the transaction, the tip will be added on top. Only signed -/// transactions can have a tip. -#[derive(Encode, Decode, Clone, Eq, PartialEq, TypeInfo)] -#[cfg_attr(feature = "std", derive(Debug, Serialize, Deserialize))] -#[cfg_attr(feature = "std", serde(rename_all = "camelCase"))] -pub struct FeeDetails { - /// The minimum fee for a transaction to be included in a block. - pub inclusion_fee: Option>, - // Do not serialize and deserialize `tip` as we actually can not pass any tip to the RPC. - #[cfg_attr(feature = "std", serde(skip))] - pub tip: Balance, -} - -impl FeeDetails { - /// Returns the final fee. - /// - /// ```ignore - /// final_fee = inclusion_fee + tip; - /// ``` - pub fn final_fee(&self) -> Balance { - self.inclusion_fee - .as_ref() - .map(|i| i.inclusion_fee()) - .unwrap_or_else(|| Zero::zero()) - .saturating_add(self.tip) - } -} - -/// Information related to a dispatchable's class, weight, and fee that can be queried from the -/// runtime. -#[derive(Eq, PartialEq, Encode, Decode, Default, TypeInfo)] -#[cfg_attr(feature = "std", derive(Debug, Serialize, Deserialize, Clone))] -#[cfg_attr(feature = "std", serde(rename_all = "camelCase"))] -#[cfg_attr( - feature = "std", - serde(bound(serialize = "Balance: std::fmt::Display, Weight: Serialize")) -)] -#[cfg_attr( - feature = "std", - serde(bound(deserialize = "Balance: std::str::FromStr, Weight: Deserialize<'de>")) -)] -pub struct RuntimeDispatchInfo { - /// Weight of this dispatch. - pub weight: Weight, - /// Class of this dispatch. - pub class: DispatchClass, - /// The inclusion fee of this dispatch. - /// - /// This does not include a tip or anything else that - /// depends on the signature (i.e. depends on a `TransactionExtension`). - #[cfg_attr(feature = "std", serde(with = "serde_balance"))] - pub partial_fee: Balance, -} - -#[cfg(feature = "std")] -mod serde_balance { - use serde::{Deserialize, Deserializer, Serializer}; - - pub fn serialize( - t: &T, - serializer: S, - ) -> Result { - serializer.serialize_str(&t.to_string()) - } - - pub fn deserialize<'de, D: Deserializer<'de>, T: std::str::FromStr>( - deserializer: D, - ) -> Result { - let s = String::deserialize(deserializer)?; - s.parse::() - .map_err(|_| serde::de::Error::custom("Parse from string failed")) - } -} - -#[cfg(test)] -mod tests { - use super::*; - use frame_support::weights::Weight; - - #[test] - fn should_serialize_and_deserialize_properly_with_string() { - let info = RuntimeDispatchInfo { - weight: Weight::from_parts(5, 0), - class: DispatchClass::Normal, - partial_fee: 1_000_000_u64, - }; - - let json_str = - r#"{"weight":{"ref_time":5,"proof_size":0},"class":"normal","partialFee":"1000000"}"#; - - assert_eq!(serde_json::to_string(&info).unwrap(), json_str); - assert_eq!( - serde_json::from_str::>(json_str).unwrap(), - info - ); - - // should not panic - serde_json::to_value(&info).unwrap(); - } - - #[test] - fn should_serialize_and_deserialize_properly_large_value() { - let info = RuntimeDispatchInfo { - weight: Weight::from_parts(5, 0), - class: DispatchClass::Normal, - partial_fee: u128::max_value(), - }; - - let json_str = r#"{"weight":{"ref_time":5,"proof_size":0},"class":"normal","partialFee":"340282366920938463463374607431768211455"}"#; - - assert_eq!(serde_json::to_string(&info).unwrap(), json_str); - assert_eq!( - serde_json::from_str::>(json_str).unwrap(), - info - ); - - // should not panic - serde_json::to_value(&info).unwrap(); - } -} diff --git a/pallets/weights/Cargo.toml b/pallets/weights/Cargo.toml index d9f31c5161..8c37348929 100644 --- a/pallets/weights/Cargo.toml +++ b/pallets/weights/Cargo.toml @@ -10,6 +10,7 @@ frame-support = { workspace = true, default-features = false } frame-system = { workspace = true, default-features = false } pallet-timestamp = { workspace = true, default-features = false } pallet-babe = { workspace = true, default-features = false } +pallet-balances = { workspace = true, default-features = false } pallet-contracts = { workspace = true, default-features = false } pallet-im-online = { workspace = true, default-features = false } pallet-indices = { workspace = true, default-features = false } @@ -17,12 +18,12 @@ pallet-grandpa = { workspace = true, default-features = false } pallet-preimage = { workspace = true, default-features = false } pallet-scheduler = { workspace = true, default-features = false } pallet-session = { workspace = true, default-features = false } +pallet-staking = { workspace = true, default-features = false } +pallet-transaction-payment = { workspace = true, default-features = false } sp-std = { workspace = true, default-features = false } # our pallets pallet-asset = { workspace = true, default-features = false } -pallet-balances = { workspace = true, default-features = false } -pallet-staking = { workspace = true, default-features = false } pallet-validators = { workspace = true, default-features = false } pallet-committee = { workspace = true, default-features = false } pallet-compliance-manager = { workspace = true, default-features = false } @@ -39,11 +40,11 @@ pallet-relayer = { workspace = true, default-features = false } pallet-settlement = { workspace = true, default-features = false } pallet-statistics = { workspace = true, default-features = false } pallet-sto = { workspace = true, default-features = false } -pallet-transaction-payment = { workspace = true, default-features = false } pallet-treasury = { workspace = true, default-features = false } pallet-utility = { workspace = true, default-features = false } polymesh-contracts = { workspace = true, default-features = false } polymesh-primitives = { workspace = true, default-features = false } +polymesh-transaction-payment = { workspace = true, default-features = false } [features] default = ["std"] @@ -78,4 +79,5 @@ std = [ "pallet-utility/std", "polymesh-contracts/std", "polymesh-primitives/std", + "polymesh-transaction-payment/std", ] diff --git a/pallets/weights/src/lib.rs b/pallets/weights/src/lib.rs index 467cd7ab8d..634dd2e440 100644 --- a/pallets/weights/src/lib.rs +++ b/pallets/weights/src/lib.rs @@ -48,8 +48,8 @@ pub mod pallet_staking; pub mod pallet_statistics; pub mod pallet_sto; pub mod pallet_timestamp; -pub mod pallet_transaction_payment; pub mod pallet_treasury; pub mod pallet_utility; pub mod pallet_validators; pub mod polymesh_contracts; +pub mod polymesh_transaction_payment; diff --git a/pallets/weights/src/pallet_transaction_payment.rs b/pallets/weights/src/pallet_transaction_payment.rs deleted file mode 100644 index 11d9838f0f..0000000000 --- a/pallets/weights/src/pallet_transaction_payment.rs +++ /dev/null @@ -1,62 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This file is part of Substrate. - -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] -#![allow(dead_code)] - -use polymesh_primitives::{RocksDbWeight as DbWeight, Weight}; - -/// Weight functions needed for `pallet_transaction_payment`. -pub trait WeightInfo { - fn charge_transaction_payment() -> Weight; -} - -/// Weights for `pallet_transaction_payment` using the Substrate node and recommended hardware. -pub struct SubstrateWeight; -impl pallet_transaction_payment::WeightInfo for SubstrateWeight { - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn charge_transaction_payment() -> Weight { - // Proof Size summary in bytes: - // Measured: `52` - // Estimated: `3593` - // Minimum execution time: 35_425_000 picoseconds. - Weight::from_parts(35_979_000, 3593) - .saturating_add(DbWeight::get().reads(1_u64)) - .saturating_add(DbWeight::get().writes(1_u64)) - } -} \ No newline at end of file diff --git a/pallets/weights/src/polymesh_transaction_payment.rs b/pallets/weights/src/polymesh_transaction_payment.rs new file mode 100644 index 0000000000..d4b1043abd --- /dev/null +++ b/pallets/weights/src/polymesh_transaction_payment.rs @@ -0,0 +1,74 @@ +// This file is part of Substrate. + +// Copyright (C) 2021 Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Autogenerated weights for polymesh_transaction_payment +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2026-01-02, STEPS: `10`, REPEAT: 3, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! EXECUTION: , WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 512 +//! HOSTNAME: `trance`, CPU: `AMD Ryzen 9 9950X3D 16-Core Processor` + +// Executed Command: +// target/release/polymesh +// benchmark +// pallet +// -s +// 10 +// -r +// 3 +// -p=polymesh_transaction_payment +// -e=* +// --db-cache +// 512 +// --heap-pages +// 4096 +// --execution +// wasm +// --wasm-execution +// compiled +// --output +// ./ +// --template +// .maintain/frame-weight-template.hbs + +#![allow(unused_parens)] +#![allow(unused_imports)] + +use polymesh_primitives::{RocksDbWeight as DbWeight, Weight}; + +/// Weights for polymesh_transaction_payment using the Substrate node and recommended hardware. +pub struct SubstrateWeight; +impl polymesh_transaction_payment::WeightInfo for SubstrateWeight { + // Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0) + // Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + // Storage: `Relayer::Subsidies` (r:1 w:0) + // Proof: `Relayer::Subsidies` (`max_values`: None, `max_size`: Some(96), added: 2571, mode: `MaxEncodedLen`) + // Storage: `System::Account` (r:1 w:1) + // Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + // Storage: `Authorship::Author` (r:1 w:0) + // Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + // Storage: `System::Digest` (r:1 w:0) + // Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`) + // Storage: `Identity::CurrentPayer` (r:0 w:1) + // Proof: `Identity::CurrentPayer` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`) + fn charge_transaction_payment() -> Weight { + // Minimum execution time: 27_252 nanoseconds. + Weight::from_parts(28_203_000, 0) + .saturating_add(DbWeight::get().reads(5)) + .saturating_add(DbWeight::get().writes(2)) + } +} diff --git a/src/benchmarking.rs b/src/benchmarking.rs index 8281f0b0fd..a5ec9a0378 100644 --- a/src/benchmarking.rs +++ b/src/benchmarking.rs @@ -134,7 +134,7 @@ pub fn create_benchmark_extrinsic( )), frame_system::CheckNonce::::from(nonce), frame_system::CheckWeight::new(), - pallet_transaction_payment::ChargeTransactionPayment::::from(0), + polymesh_transaction_payment::ChargeTransactionPayment::::from(0), pallet_permissions::StoreCallMetadata::new(), );