diff --git a/Cargo.lock b/Cargo.lock index 094c4083..c50f9dbd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -301,7 +301,7 @@ checksum = "b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c" dependencies = [ "futures", "pharos", - "rustc_version", + "rustc_version 0.4.0", ] [[package]] @@ -2235,7 +2235,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "parity-scale-codec", ] @@ -2253,7 +2253,7 @@ dependencies = [ [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "frame-support", "frame-system", @@ -2275,7 +2275,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "Inflector", "chrono", @@ -2326,7 +2326,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "frame-support", "frame-system", @@ -2354,7 +2354,7 @@ dependencies = [ [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "bitflags", "frame-metadata", @@ -2384,7 +2384,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "Inflector", "frame-support-procedural-tools", @@ -2396,7 +2396,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", @@ -2408,7 +2408,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "proc-macro2", "quote", @@ -2418,7 +2418,7 @@ dependencies = [ [[package]] name = "frame-system" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "frame-support", "log", @@ -2435,7 +2435,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "frame-benchmarking", "frame-support", @@ -2450,7 +2450,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "parity-scale-codec", "sp-api", @@ -2459,7 +2459,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "frame-support", "sp-api", @@ -4915,7 +4915,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "frame-benchmarking", "frame-support", @@ -4927,10 +4927,105 @@ dependencies = [ "sp-std", ] +[[package]] +name = "pallet-contracts" +version = "4.0.0-dev" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +dependencies = [ + "bitflags", + "frame-benchmarking", + "frame-support", + "frame-system", + "log", + "pallet-contracts-primitives", + "pallet-contracts-proc-macro", + "parity-scale-codec", + "rand 0.8.5", + "scale-info", + "serde", + "smallvec", + "sp-core", + "sp-io", + "sp-runtime", + "sp-sandbox", + "sp-std", + "wasm-instrument", + "wasmi-validation", +] + +[[package]] +name = "pallet-contracts-primitives" +version = "6.0.0" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +dependencies = [ + "bitflags", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-rpc", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-contracts-proc-macro" +version = "4.0.0-dev" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pallet-contracts-rpc" +version = "4.0.0-dev" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +dependencies = [ + "jsonrpsee", + "pallet-contracts-primitives", + "pallet-contracts-rpc-runtime-api", + "parity-scale-codec", + "serde", + "sp-api", + "sp-blockchain", + "sp-core", + "sp-rpc", + "sp-runtime", +] + +[[package]] +name = "pallet-contracts-rpc-runtime-api" +version = "4.0.0-dev" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +dependencies = [ + "pallet-contracts-primitives", + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-runtime", + "sp-std", +] + +[[package]] +name = "pallet-randomness-collective-flip" +version = "4.0.0-dev" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "safe-mix", + "scale-info", + "sp-runtime", + "sp-std", +] + [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "frame-benchmarking", "frame-support", @@ -4948,7 +5043,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "frame-support", "frame-system", @@ -4964,7 +5059,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -4979,7 +5074,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -5282,7 +5377,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414" dependencies = [ "futures", - "rustc_version", + "rustc_version 0.4.0", ] [[package]] @@ -5881,7 +5976,7 @@ dependencies = [ [[package]] name = "remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "env_logger", "jsonrpsee", @@ -6082,6 +6177,15 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" +[[package]] +name = "rustc_version" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +dependencies = [ + "semver 0.9.0", +] + [[package]] name = "rustc_version" version = "0.4.0" @@ -6175,6 +6279,15 @@ version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" +[[package]] +name = "safe-mix" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d3d055a2582e6b00ed7a31c1524040aa391092bf636328350813f3a0605215c" +dependencies = [ + "rustc_version 0.2.3", +] + [[package]] name = "salsa20" version = "0.9.0" @@ -6196,7 +6309,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "log", "sp-core", @@ -6207,7 +6320,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "futures", "futures-timer", @@ -6230,7 +6343,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -6246,7 +6359,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "impl-trait-for-tuples", "memmap2 0.5.5", @@ -6263,7 +6376,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6274,7 +6387,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "chrono", "clap", @@ -6313,7 +6426,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "fnv", "futures", @@ -6341,7 +6454,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "hash-db", "kvdb", @@ -6366,7 +6479,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "async-trait", "futures", @@ -6390,7 +6503,7 @@ dependencies = [ [[package]] name = "sc-consensus-pow" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "async-trait", "futures", @@ -6415,7 +6528,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "lazy_static", "lru", @@ -6442,7 +6555,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "environmental", "parity-scale-codec", @@ -6459,7 +6572,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmi" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "log", "parity-scale-codec", @@ -6474,7 +6587,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "cfg-if", "libc", @@ -6494,7 +6607,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "ansi_term", "futures", @@ -6511,7 +6624,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "async-trait", "hex", @@ -6526,7 +6639,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "async-trait", "asynchronous-codec", @@ -6578,7 +6691,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "futures", "libp2p", @@ -6591,7 +6704,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "futures", "libp2p", @@ -6611,7 +6724,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "bitflags", "either", @@ -6640,7 +6753,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "bytes", "fnv", @@ -6668,7 +6781,7 @@ dependencies = [ [[package]] name = "sc-peerset" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "futures", "libp2p", @@ -6681,7 +6794,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -6690,7 +6803,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "futures", "hash-db", @@ -6720,7 +6833,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "futures", "jsonrpsee", @@ -6743,7 +6856,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "futures", "jsonrpsee", @@ -6756,7 +6869,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "async-trait", "directories", @@ -6821,7 +6934,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "log", "parity-scale-codec", @@ -6835,7 +6948,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "futures", "libc", @@ -6854,7 +6967,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "chrono", "futures", @@ -6872,7 +6985,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "ansi_term", "atty", @@ -6903,7 +7016,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6914,7 +7027,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "futures", "futures-timer", @@ -6941,7 +7054,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "futures", "log", @@ -6954,7 +7067,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "futures", "futures-timer", @@ -7132,6 +7245,15 @@ dependencies = [ "semver-parser", ] +[[package]] +name = "semver" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" +dependencies = [ + "semver-parser", +] + [[package]] name = "semver" version = "1.0.12" @@ -7186,6 +7308,7 @@ dependencies = [ "frame-benchmarking-cli", "frame-system", "jsonrpsee", + "pallet-contracts-rpc", "pallet-transaction-payment", "pallet-transaction-payment-rpc", "sc-cli", @@ -7252,6 +7375,10 @@ dependencies = [ "frame-try-runtime", "hex-literal", "pallet-balances", + "pallet-contracts", + "pallet-contracts-primitives", + "pallet-contracts-rpc-runtime-api", + "pallet-randomness-collective-flip", "pallet-timestamp", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", @@ -7524,7 +7651,7 @@ dependencies = [ "curve25519-dalek 4.0.0-pre.1", "rand_core 0.6.3", "ring", - "rustc_version", + "rustc_version 0.4.0", "sha2 0.10.2", "subtle", ] @@ -7571,7 +7698,7 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "hash-db", "log", @@ -7588,7 +7715,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "blake2", "proc-macro-crate", @@ -7600,7 +7727,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "6.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "parity-scale-codec", "scale-info", @@ -7613,7 +7740,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "5.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "integer-sqrt", "num-traits", @@ -7628,7 +7755,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "parity-scale-codec", "sp-api", @@ -7640,7 +7767,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "futures", "log", @@ -7658,7 +7785,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "async-trait", "futures", @@ -7677,7 +7804,7 @@ dependencies = [ [[package]] name = "sp-consensus-pow" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "parity-scale-codec", "sp-api", @@ -7689,7 +7816,7 @@ dependencies = [ [[package]] name = "sp-core" version = "6.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "base58 0.2.0", "bitflags", @@ -7735,7 +7862,7 @@ dependencies = [ [[package]] name = "sp-core-hashing" version = "4.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "blake2", "byteorder", @@ -7749,7 +7876,7 @@ dependencies = [ [[package]] name = "sp-core-hashing-proc-macro" version = "5.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "proc-macro2", "quote", @@ -7760,7 +7887,7 @@ dependencies = [ [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -7769,7 +7896,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "4.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "proc-macro2", "quote", @@ -7779,7 +7906,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.12.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "environmental", "parity-scale-codec", @@ -7790,7 +7917,7 @@ dependencies = [ [[package]] name = "sp-finality-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "finality-grandpa", "log", @@ -7808,7 +7935,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -7822,7 +7949,7 @@ dependencies = [ [[package]] name = "sp-io" version = "6.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "futures", "hash-db", @@ -7847,7 +7974,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "6.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "lazy_static", "sp-core", @@ -7858,7 +7985,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.12.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "async-trait", "futures", @@ -7875,7 +8002,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "thiserror", "zstd", @@ -7884,7 +8011,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "sp-api", "sp-core", @@ -7894,7 +8021,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "4.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "backtrace", "lazy_static", @@ -7904,7 +8031,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "rustc-hash", "serde", @@ -7914,7 +8041,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "6.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "either", "hash256-std-hasher", @@ -7936,7 +8063,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "6.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -7953,7 +8080,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "5.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "Inflector", "proc-macro-crate", @@ -7965,7 +8092,7 @@ dependencies = [ [[package]] name = "sp-sandbox" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "log", "parity-scale-codec", @@ -7979,7 +8106,7 @@ dependencies = [ [[package]] name = "sp-serializer" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "serde", "serde_json", @@ -7988,7 +8115,7 @@ dependencies = [ [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "parity-scale-codec", "scale-info", @@ -8002,7 +8129,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "parity-scale-codec", "scale-info", @@ -8013,7 +8140,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.12.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "hash-db", "log", @@ -8035,12 +8162,12 @@ dependencies = [ [[package]] name = "sp-std" version = "4.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" [[package]] name = "sp-storage" version = "6.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8053,7 +8180,7 @@ dependencies = [ [[package]] name = "sp-tasks" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "log", "sp-core", @@ -8066,7 +8193,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "async-trait", "futures-timer", @@ -8082,7 +8209,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "5.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "parity-scale-codec", "sp-std", @@ -8094,7 +8221,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "sp-api", "sp-runtime", @@ -8103,7 +8230,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "async-trait", "log", @@ -8119,7 +8246,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "6.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "hash-db", "memory-db", @@ -8135,7 +8262,7 @@ dependencies = [ [[package]] name = "sp-version" version = "5.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "impl-serde", "parity-scale-codec", @@ -8152,7 +8279,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -8163,7 +8290,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "6.0.0" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "impl-trait-for-tuples", "log", @@ -8308,7 +8435,7 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git?branch=polkadot-v0.9.25#3348e144f0a2b39ce08bd8e3b976c42fe0c990b9" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "platforms", ] @@ -8316,7 +8443,7 @@ dependencies = [ [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -8337,7 +8464,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "futures-util", "hyper", @@ -8350,7 +8477,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "ansi_term", "build-helper", @@ -8891,7 +9018,7 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/serai-dex/substrate.git?branch=serai#8ca93b8422f98d226c3895caabf5d95e00a81cfb" +source = "git+https://github.com/serai-dex/substrate#8ca93b8422f98d226c3895caabf5d95e00a81cfb" dependencies = [ "clap", "jsonrpsee", @@ -9635,7 +9762,7 @@ dependencies = [ "futures", "js-sys", "pharos", - "rustc_version", + "rustc_version 0.4.0", "send_wrapper", "thiserror", "wasm-bindgen", diff --git a/substrate/consensus/src/lib.rs b/substrate/consensus/src/lib.rs index 43e2d7af..c6e6441f 100644 --- a/substrate/consensus/src/lib.rs +++ b/substrate/consensus/src/lib.rs @@ -76,7 +76,7 @@ async fn produce< worker_clone.submit(vec![]).await; }); }); - tokio::time::sleep(Duration::from_secs(5)).await; + tokio::time::sleep(Duration::from_secs(6)).await; } } @@ -119,7 +119,7 @@ pub fn authority + 'static>( network.clone(), None, move |_, _| async { Ok(sp_timestamp::InherentDataProvider::from_system_time()) }, - Duration::from_secs(1), + Duration::from_secs(6), Duration::from_secs(2), can_author_with, ); diff --git a/substrate/node/Cargo.toml b/substrate/node/Cargo.toml index 253ca724..b8b02851 100644 --- a/substrate/node/Cargo.toml +++ b/substrate/node/Cargo.toml @@ -39,6 +39,7 @@ sp-blockchain = { git = "https://github.com/serai-dex/substrate" } sp-block-builder = { git = "https://github.com/serai-dex/substrate" } substrate-frame-rpc-system = { git = "https://github.com/serai-dex/substrate" } pallet-transaction-payment-rpc = { git = "https://github.com/serai-dex/substrate" } +pallet-contracts-rpc = { git = "https://github.com/serai-dex/substrate", package = "pallet-contracts-rpc" } # These dependencies are used for runtime benchmarking frame-benchmarking = { git = "https://github.com/serai-dex/substrate" } diff --git a/substrate/node/src/rpc.rs b/substrate/node/src/rpc.rs index 41520008..f76168c1 100644 --- a/substrate/node/src/rpc.rs +++ b/substrate/node/src/rpc.rs @@ -9,7 +9,7 @@ use sp_api::ProvideRuntimeApi; pub use sc_rpc_api::DenyUnsafe; -use serai_runtime::{opaque::Block, AccountId, Balance, Index}; +use serai_runtime::{BlockNumber, Hash, opaque::Block, AccountId, Balance, Index}; pub struct FullDeps { pub client: Arc, @@ -29,18 +29,21 @@ pub fn create_full< deps: FullDeps, ) -> Result, Box> where - C::Api: substrate_frame_rpc_system::AccountNonceApi - + pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi - + BlockBuilder, + C::Api: substrate_frame_rpc_system::AccountNonceApi + + pallet_transaction_payment_rpc::TransactionPaymentRuntimeApi + + pallet_contracts_rpc::ContractsRuntimeApi + + BlockBuilder, { - use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer}; use substrate_frame_rpc_system::{System, SystemApiServer}; + use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer}; + use pallet_contracts_rpc::{Contracts, ContractsApiServer}; let mut module = RpcModule::new(()); let FullDeps { client, pool, deny_unsafe } = deps; module.merge(System::new(client.clone(), pool.clone(), deny_unsafe).into_rpc())?; - module.merge(TransactionPayment::new(client).into_rpc())?; + module.merge(TransactionPayment::new(client.clone()).into_rpc())?; + module.merge(Contracts::new(client).into_rpc())?; Ok(module) } diff --git a/substrate/runtime/Cargo.toml b/substrate/runtime/Cargo.toml index 543ee011..eb6d2ed2 100644 --- a/substrate/runtime/Cargo.toml +++ b/substrate/runtime/Cargo.toml @@ -29,10 +29,15 @@ frame-system = { git = "https://github.com/serai-dex/substrate", default-feature frame-executive = { git = "https://github.com/serai-dex/substrate", default-features = false } frame-try-runtime = { git = "https://github.com/serai-dex/substrate", default-features = false, optional = true } +pallet-randomness-collective-flip = { git = "https://github.com/serai-dex/substrate", default-features = false } pallet-timestamp = { git = "https://github.com/serai-dex/substrate", default-features = false } pallet-balances = { git = "https://github.com/serai-dex/substrate", default-features = false } pallet-transaction-payment = { git = "https://github.com/serai-dex/substrate", default-features = false } +pallet-contracts-primitives = { git = "https://github.com/serai-dex/substrate", default-features = false } +pallet-contracts = { git = "https://github.com/serai-dex/substrate", default-features = false } +pallet-contracts-rpc-runtime-api = { git = "https://github.com/serai-dex/substrate", default-features = false } + # Used for the node template's RPCs frame-system-rpc-runtime-api = { git = "https://github.com/serai-dex/substrate", default-features = false } pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/serai-dex/substrate", default-features = false } @@ -65,10 +70,15 @@ std = [ "frame-system/std", "frame-executive/std", + "pallet-randomness-collective-flip/std", "pallet-timestamp/std", "pallet-balances/std", "pallet-transaction-payment/std", "pallet-transaction-payment-rpc-runtime-api/std", + + "pallet-contracts/std", + "pallet-contracts-primitives/std", + "pallet-contracts-rpc-runtime-api/std", ] runtime-benchmarks = [ @@ -87,6 +97,7 @@ try-runtime = [ "frame-try-runtime", "frame-system/try-runtime", + "pallet-randomness-collective-flip/try-runtime", "pallet-timestamp/try-runtime", "pallet-balances/try-runtime", "pallet-transaction-payment/try-runtime", diff --git a/substrate/runtime/src/lib.rs b/substrate/runtime/src/lib.rs index 5052a505..ba0643d1 100644 --- a/substrate/runtime/src/lib.rs +++ b/substrate/runtime/src/lib.rs @@ -18,17 +18,19 @@ use sp_version::NativeVersion; use sp_version::RuntimeVersion; use frame_support::{ - traits::{ConstU8, ConstU32, ConstU64}, + traits::{OnRuntimeUpgrade, ConstU8, ConstU32, ConstU64}, weights::{ - constants::{RocksDbWeight, WEIGHT_PER_SECOND}, - IdentityFee, + constants::{RocksDbWeight, ExtrinsicBaseWeight, BlockExecutionWeight, WEIGHT_PER_SECOND}, + IdentityFee, Weight, DispatchClass, }, parameter_types, construct_runtime, }; pub use frame_system::Call as SystemCall; + pub use pallet_timestamp::Call as TimestampCall; pub use pallet_balances::Call as BalancesCall; use pallet_transaction_payment::CurrencyAdapter; +use pallet_contracts::{migration, DefaultContractAccessWeight}; /// An index to a block pub type BlockNumber = u32; @@ -90,15 +92,64 @@ pub fn native_version() -> NativeVersion { const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); +/// We assume that ~10% of the block weight is consumed by `on_initialize` handlers. +/// This is used to limit the maximal weight of a single extrinsic. +const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); + +/// We allow for 2 seconds of compute with a 6 second average block time. +const MAXIMUM_BLOCK_WEIGHT: Weight = 2 * WEIGHT_PER_SECOND; + +// Prints debug output of the `contracts` pallet to stdout if the node is +// started with `-lruntime::contracts=debug`. +const CONTRACTS_DEBUG_OUTPUT: bool = true; + +// Unit = the base number of indivisible units for balances +const UNIT: Balance = 1_000_000_000_000; +const MILLIUNIT: Balance = 1_000_000_000; + +const fn deposit(items: u32, bytes: u32) -> Balance { + (items as Balance * UNIT + (bytes as Balance) * (5 * MILLIUNIT / 100)) / 10 +} + parameter_types! { pub const BlockHashCount: BlockNumber = 2400; pub const Version: RuntimeVersion = VERSION; - /// Allow for 2 seconds of compute with a 6 second average block time - pub BlockWeights: frame_system::limits::BlockWeights = frame_system::limits::BlockWeights - ::with_sensible_defaults(2 * WEIGHT_PER_SECOND, NORMAL_DISPATCH_RATIO); - pub BlockLength: frame_system::limits::BlockLength = frame_system::limits::BlockLength - ::max_with_normal_ratio(1024 * 1024, NORMAL_DISPATCH_RATIO); + pub const SS58Prefix: u8 = 42; // TODO: Remove + + // 1 MB block size limit + pub BlockLength: frame_system::limits::BlockLength = + frame_system::limits::BlockLength::max_with_normal_ratio(1024 * 1024, NORMAL_DISPATCH_RATIO); + pub BlockWeights: frame_system::limits::BlockWeights = + frame_system::limits::BlockWeights::builder() + .base_block(BlockExecutionWeight::get()) + .for_class(DispatchClass::all(), |weights| { + weights.base_extrinsic = ExtrinsicBaseWeight::get(); + }) + .for_class(DispatchClass::Normal, |weights| { + weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); + }) + .for_class(DispatchClass::Operational, |weights| { + weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT); + // Operational transactions have some extra reserved space, so that they + // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`. + weights.reserved = Some( + MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT + ); + }) + .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO) + .build_or_panic(); + + pub const DepositPerItem: Balance = deposit(1, 0); + pub const DepositPerByte: Balance = deposit(0, 1); + pub const DeletionQueueDepth: u32 = 128; + // The lazy deletion runs inside on_initialize. + pub DeletionWeightLimit: Weight = BlockWeights::get() + .per_class + .get(DispatchClass::Normal) + .max_total + .unwrap_or(BlockWeights::get().max_block); + pub Schedule: pallet_contracts::Schedule = Default::default(); } impl frame_system::Config for Runtime { @@ -131,6 +182,8 @@ impl frame_system::Config for Runtime { type MaxConsumers = frame_support::traits::ConstU32<16>; } +impl pallet_randomness_collective_flip::Config for Runtime {} + impl pallet_timestamp::Config for Runtime { type Moment = u64; type OnTimestampSet = (); @@ -159,6 +212,44 @@ impl pallet_transaction_payment::Config for Runtime { type FeeMultiplierUpdate = (); } +impl pallet_contracts::Config for Runtime { + type Time = Timestamp; + type Randomness = RandomnessCollectiveFlip; + type Currency = Balances; + type Event = Event; + type Call = Call; + + /// The safest default is to allow no calls at all. + /// + /// Runtimes should whitelist dispatchables that are allowed to be called from contracts + /// and make sure they are stable. Dispatchables exposed to contracts are not allowed to + /// change because that would break already deployed contracts. The `Call` structure itself + /// is not allowed to change the indices of existing pallets, too. + type CallFilter = frame_support::traits::Nothing; + type DepositPerItem = DepositPerItem; + type DepositPerByte = DepositPerByte; + type CallStack = [pallet_contracts::Frame; 31]; + type WeightPrice = pallet_transaction_payment::Pallet; + type WeightInfo = pallet_contracts::weights::SubstrateWeight; + type ChainExtension = (); + type DeletionQueueDepth = DeletionQueueDepth; + type DeletionWeightLimit = DeletionWeightLimit; + type Schedule = Schedule; + type AddressGenerator = pallet_contracts::DefaultAddressGenerator; + type ContractAccessWeight = DefaultContractAccessWeight; + + type MaxCodeLen = ConstU32<{ 128 * 1024 }>; + type RelaxedMaxCodeLen = ConstU32<{ 256 * 1024 }>; + type MaxStorageKeyLen = ConstU32<128>; +} + +pub struct Migrations; +impl OnRuntimeUpgrade for Migrations { + fn on_runtime_upgrade() -> Weight { + migration::migrate::() + } +} + pub type Address = sp_runtime::MultiAddress; pub type Header = generic::Header; pub type Block = generic::Block; @@ -189,9 +280,11 @@ construct_runtime!( UncheckedExtrinsic = UncheckedExtrinsic { System: frame_system, + RandomnessCollectiveFlip: pallet_randomness_collective_flip, Timestamp: pallet_timestamp, Balances: pallet_balances, - TransactionPayment: pallet_transaction_payment + TransactionPayment: pallet_transaction_payment, + Contracts: pallet_contracts, } ); @@ -364,6 +457,65 @@ impl_runtime_apis! { } } + impl pallet_contracts_rpc_runtime_api::ContractsApi + for Runtime + { + fn call( + origin: AccountId, + dest: AccountId, + value: Balance, + gas_limit: u64, + storage_deposit_limit: Option, + input_data: Vec, + ) -> pallet_contracts_primitives::ContractExecResult { + Contracts::bare_call( + origin, + dest, + value, + gas_limit, + storage_deposit_limit, + input_data, + CONTRACTS_DEBUG_OUTPUT + ) + } + + fn instantiate( + origin: AccountId, + value: Balance, + gas_limit: u64, + storage_deposit_limit: Option, + code: pallet_contracts_primitives::Code, + data: Vec, + salt: Vec, + ) -> pallet_contracts_primitives::ContractInstantiateResult { + Contracts::bare_instantiate( + origin, + value, + gas_limit, + storage_deposit_limit, + code, + data, + salt, + CONTRACTS_DEBUG_OUTPUT + ) + } + + fn upload_code( + origin: AccountId, + code: Vec, + storage_deposit_limit: Option, + ) -> pallet_contracts_primitives::CodeUploadResult { + Contracts::bare_upload_code(origin, code, storage_deposit_limit) + } + + fn get_storage( + address: AccountId, + key: Vec, + ) -> pallet_contracts_primitives::GetStorageResult { + Contracts::get_storage(address, key) + } + } + #[cfg(feature = "try-runtime")] impl frame_try_runtime::TryRuntime for Runtime { fn on_runtime_upgrade() -> (Weight, Weight) {