mirror of
https://github.com/pezkuwichain/pezkuwi-runtime-templates.git
synced 2026-04-22 03:17:56 +00:00
Upgrade evm-template to stable2412 (#407)
This commit is contained in:
Generated
+3854
-2386
File diff suppressed because it is too large
Load Diff
+156
-151
@@ -15,7 +15,7 @@ color-print = "0.3.4"
|
||||
futures = "0.3.30"
|
||||
hex = "0.4.3"
|
||||
hex-literal = "0.4.1"
|
||||
jsonrpsee = { version = "0.23.2", features = [ "server" ] }
|
||||
jsonrpsee = { version = "0.24.3", features = [ "server" ] }
|
||||
log = { version = "0.4.21", default-features = false }
|
||||
parity-scale-codec = { version = "3.6.12", default-features = false, features = [
|
||||
"derive",
|
||||
@@ -27,179 +27,184 @@ serde_derive = { version = "1.0.121", default-features = false }
|
||||
serde_json = "1.0.121"
|
||||
smallvec = "1.11.0"
|
||||
|
||||
# TODO: update to release
|
||||
openzeppelin-pallet-abstractions = { git = "https://github.com/OpenZeppelin/openzeppelin-pallet-abstractions", branch = "dot-as-a-fee-fixes", default-features = false }
|
||||
openzeppelin-pallet-abstractions-proc = { git = "https://github.com/OpenZeppelin/openzeppelin-pallet-abstractions", branch = "dot-as-a-fee-fixes", default-features = false }
|
||||
|
||||
# Substrate
|
||||
frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
frame-support = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
frame-system = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-asset-tx-payment = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-assets = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-conviction-voting = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-membership = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-referenda = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-treasury = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-whitelist = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-network = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-service = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-sysinfo = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-tracing = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-api = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-core = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-io = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2407-1" }
|
||||
sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-session = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-state-machine = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-std = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
sp-version = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2407-1" }
|
||||
substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2407-1" }
|
||||
# TODO: upgrade to release
|
||||
# Branches:
|
||||
frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
frame-support = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
frame-system = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
openzeppelin-pallet-abstractions = { git = "https://github.com/OpenZeppelin/openzeppelin-pallet-abstractions", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
openzeppelin-pallet-abstractions-proc = { git = "https://github.com/OpenZeppelin/openzeppelin-pallet-abstractions", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
pallet-asset-tx-payment = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-assets = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-conviction-voting = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-membership = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-referenda = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-treasury = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-whitelist = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-consensus-slots = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-network = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-service = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-sysinfo = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-tracing = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-api = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-core = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-io = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524" }
|
||||
sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-session = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-state-machine = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-std = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
sp-version = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524" }
|
||||
substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524" }
|
||||
|
||||
# Polkadot
|
||||
pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
polkadot-cli = { git = "https://github.com/paritytech/polkadot-sdk", features = [
|
||||
"rococo-native",
|
||||
], tag = "polkadot-stable2407-1" }
|
||||
polkadot-parachain-primitives = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
xcm = { package = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
xcm-executor = { package = "staging-xcm-executor", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
xcm-simulator = { git = "https://github.com/paritytech/polkadot-sdk", tag = "polkadot-stable2407-1" }
|
||||
pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
polkadot-cli = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
polkadot-parachain-primitives = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
xcm = { package = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
xcm-executor = { package = "staging-xcm-executor", git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
xcm-simulator = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524" }
|
||||
|
||||
# Cumulus
|
||||
assets-common = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-client-cli = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-client-collator = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-client-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-client-consensus-common = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-client-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-pallet-session-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-primitives-aura = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-primitives-storage-weight-reclaim = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-primitives-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-primitives-utility = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-relay-chain-interface = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
cumulus-test-relay-sproof-builder = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-collator-selection = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
parachain-info = { package = "staging-parachain-info", git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
parachains-common = { git = "https://github.com/paritytech/polkadot-sdk", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
assets-common = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-client-cli = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-client-collator = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-client-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-client-consensus-common = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-client-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-pallet-session-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-primitives-aura = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-primitives-storage-weight-reclaim = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-primitives-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-primitives-utility = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-relay-chain-interface = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
cumulus-test-relay-sproof-builder = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
pallet-collator-selection = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
parachain-info = { package = "staging-parachain-info", git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
parachains-common = { git = "https://github.com/paritytech/polkadot-sdk", rev = "110d90bb85f866cc757287526022a66f3d576524", default-features = false }
|
||||
|
||||
# EVM
|
||||
fc-api = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
fc-consensus = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
fc-db = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
fc-mapping-sync = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
fc-rpc = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
fc-rpc-core = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
fc-storage = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
fp-account = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false, features = [
|
||||
ethereum = { git = "https://github.com/rust-ethereum/ethereum", rev = "3be0d8fd4c2ad1ba216b69ef65b9382612efc8ba" }
|
||||
fc-api = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
fc-consensus = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
fc-db = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
fc-mapping-sync = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
fc-rpc = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
fc-rpc-core = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
fc-storage = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
fp-account = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false, features = [
|
||||
"serde",
|
||||
] }
|
||||
fp-dynamic-fee = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
fp-evm = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
fp-rpc = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
fp-self-contained = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
pallet-base-fee = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
pallet-ethereum = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false, features = [
|
||||
fp-dynamic-fee = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
fp-evm = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
fp-rpc = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
fp-self-contained = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
pallet-base-fee = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
pallet-ethereum = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false, features = [
|
||||
"forbid-evm-reentrancy",
|
||||
] }
|
||||
pallet-evm = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false, features = [
|
||||
pallet-evm = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false, features = [
|
||||
"forbid-evm-reentrancy",
|
||||
] }
|
||||
pallet-evm-chain-id = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
pallet-evm-precompile-modexp = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
pallet-evm-precompile-sha3fips = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
pallet-evm-precompile-simple = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-stable2407-1", default-features = false }
|
||||
pallet-evm-chain-id = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
pallet-evm-precompile-modexp = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
pallet-evm-precompile-sha3fips = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
pallet-evm-precompile-simple = { git = "https://github.com/OpenZeppelin/frontier", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
|
||||
# ORML
|
||||
orml-oracle = { git = "https://github.com/OpenZeppelin/open-runtime-module-library", branch = "polkadot-stable2407-1", default-features = false }
|
||||
orml-oracle-runtime-api = { git = "https://github.com/OpenZeppelin/open-runtime-module-library", branch = "polkadot-stable2407-1", default-features = false }
|
||||
orml-traits = { git = "https://github.com/OpenZeppelin/open-runtime-module-library", branch = "polkadot-stable2407-1", default-features = false }
|
||||
orml-xcm-support = { git = "https://github.com/OpenZeppelin/open-runtime-module-library", branch = "polkadot-stable2407-1", default-features = false }
|
||||
orml-xtokens = { git = "https://github.com/OpenZeppelin/open-runtime-module-library", branch = "polkadot-stable2407-1", default-features = false }
|
||||
orml-oracle = { git = "https://github.com/OpenZeppelin/open-runtime-module-library", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
orml-oracle-runtime-api = { git = "https://github.com/OpenZeppelin/open-runtime-module-library", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
orml-traits = { git = "https://github.com/OpenZeppelin/open-runtime-module-library", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
orml-xcm-support = { git = "https://github.com/OpenZeppelin/open-runtime-module-library", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
orml-xtokens = { git = "https://github.com/OpenZeppelin/open-runtime-module-library", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
|
||||
# Moonbeam
|
||||
pallet-asset-manager = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2407-1", default-features = false }
|
||||
pallet-erc20-xcm-bridge = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2407-1", default-features = false }
|
||||
pallet-xcm-transactor = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2407-1", default-features = false }
|
||||
pallet-xcm-weight-trader = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2407-1", default-features = false }
|
||||
xcm-primitives = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2407-1", default-features = false }
|
||||
|
||||
pallet-asset-manager = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2412", default-features = false }
|
||||
pallet-erc20-xcm-bridge = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2412", default-features = false }
|
||||
pallet-xcm-transactor = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2412", default-features = false }
|
||||
pallet-xcm-weight-trader = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2412", default-features = false }
|
||||
xcm-primitives = { git = "https://github.com/OpenZeppelin/moonbeam.git", branch = "polkadot-stable2412", default-features = false }
|
||||
|
||||
# Fuzzer
|
||||
substrate-runtimes-fuzzers = { git = "https://github.com/srlabs/substrate-runtime-fuzzer.git", default-features = false, tag = "polkadot-v1.12.0" }
|
||||
ziggy = { version = "0.8", default-features = false }
|
||||
|
||||
# Moonkit
|
||||
nimbus-consensus = { git = "https://github.com/OpenZeppelin/moonkit", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
nimbus-primitives = { git = "https://github.com/OpenZeppelin/moonkit", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
pallet-author-inherent = { git = "https://github.com/OpenZeppelin/moonkit", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
|
||||
# Dancekit
|
||||
ccp-authorities-noting-inherent = { git = "https://github.com/OpenZeppelin/dancekit", rev = "37e9218e4039942a803fc8a1b7a76ed52aab5a3d", default-features = false }
|
||||
dp-consensus = { git = "https://github.com/OpenZeppelin/dancekit", rev = "37e9218e4039942a803fc8a1b7a76ed52aab5a3d", default-features = false }
|
||||
pallet-cc-authorities-noting = { git = "https://github.com/OpenZeppelin/dancekit", rev = "37e9218e4039942a803fc8a1b7a76ed52aab5a3d", default-features = false }
|
||||
|
||||
# Tanssi
|
||||
ccp-authorities-noting-inherent = { git = "https://github.com/OpenZeppelin/dancekit", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
dp-consensus = { git = "https://github.com/OpenZeppelin/dancekit", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
ethereum = { version = "0.15.0" }
|
||||
nimbus-consensus = { git = "https://github.com/OpenZeppelin/moonkit", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
nimbus-primitives = { git = "https://github.com/OpenZeppelin/moonkit", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-author-inherent = { git = "https://github.com/OpenZeppelin/moonkit", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
pallet-cc-authorities-noting = { git = "https://github.com/OpenZeppelin/dancekit", default-features = false, tag = "polkadot-stable2407-1" }
|
||||
tc-consensus = { git = "https://github.com/KitHat/tanssi", branch = "polkadot-stable2407-1", default-features = false }
|
||||
tc-consensus = { git = "https://github.com/4meta5/tanssi", branch = "polkadot-branch-stable2412", default-features = false }
|
||||
|
||||
# [patch."https://github.com/paritytech/polkadot-sdk"]
|
||||
# Make pallet-migrations optional to avoid the error
|
||||
# pallet-migrations = { version = "=9.0.0", optional = true }
|
||||
|
||||
[workspace.lints.clippy]
|
||||
large_enum_variant = "allow"
|
||||
|
||||
@@ -101,7 +101,7 @@ substrate-build-script-utils = { workspace = true }
|
||||
[features]
|
||||
default = []
|
||||
async-backing = []
|
||||
runtime-benchmarks = [ "evm-runtime-template/runtime-benchmarks", "frame-benchmarking-cli/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "polkadot-cli/runtime-benchmarks", "polkadot-primitives/runtime-benchmarks", "sc-service/runtime-benchmarks", "sp-runtime/runtime-benchmarks", "tc-consensus/runtime-benchmarks" ]
|
||||
runtime-benchmarks = [ "evm-runtime-template/runtime-benchmarks", "frame-benchmarking-cli/runtime-benchmarks", "frame-benchmarking/runtime-benchmarks", "polkadot-cli/runtime-benchmarks", "polkadot-primitives/runtime-benchmarks", "sc-service/runtime-benchmarks", "sp-runtime/runtime-benchmarks" ]
|
||||
tanssi = []
|
||||
try-runtime = [
|
||||
"evm-runtime-template/try-runtime",
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
use std::net::SocketAddr;
|
||||
|
||||
use cumulus_client_service::storage_proof_size::HostFunctions as ReclaimHostFunctions;
|
||||
use cumulus_primitives_core::ParaId;
|
||||
use evm_runtime_template::Block;
|
||||
@@ -7,7 +5,7 @@ use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE};
|
||||
use log::info;
|
||||
use sc_cli::{
|
||||
ChainSpec, CliConfiguration, DefaultConfigurationValues, ImportParams, KeystoreParams,
|
||||
NetworkParams, Result, SharedParams, SubstrateCli,
|
||||
NetworkParams, Result, RpcEndpoint, SharedParams, SubstrateCli,
|
||||
};
|
||||
use sc_service::config::{BasePath, PrometheusConfig};
|
||||
use sp_runtime::traits::AccountIdConversion;
|
||||
@@ -231,7 +229,7 @@ pub fn run() -> Result<()> {
|
||||
let hwbench = (!cli.no_hardware_benchmarks)
|
||||
.then_some(config.database.path().map(|database_path| {
|
||||
let _ = std::fs::create_dir_all(database_path);
|
||||
sc_sysinfo::gather_hwbench(Some(database_path))
|
||||
sc_sysinfo::gather_hwbench(Some(database_path), &SUBSTRATE_REFERENCE_HARDWARE)
|
||||
}))
|
||||
.flatten();
|
||||
|
||||
@@ -310,7 +308,7 @@ impl CliConfiguration<Self> for RelayChainCli {
|
||||
Ok(self.shared_params().base_path()?.or_else(|| self.base_path.clone().map(Into::into)))
|
||||
}
|
||||
|
||||
fn rpc_addr(&self, default_listen_port: u16) -> Result<Option<SocketAddr>> {
|
||||
fn rpc_addr(&self, default_listen_port: u16) -> sc_cli::Result<Option<Vec<RpcEndpoint>>> {
|
||||
self.base.base.rpc_addr(default_listen_port)
|
||||
}
|
||||
|
||||
@@ -322,15 +320,9 @@ impl CliConfiguration<Self> for RelayChainCli {
|
||||
self.base.base.prometheus_config(default_listen_port, chain_spec)
|
||||
}
|
||||
|
||||
fn init<F>(
|
||||
&self,
|
||||
_support_url: &String,
|
||||
_impl_version: &String,
|
||||
_logger_hook: F,
|
||||
_config: &sc_service::Configuration,
|
||||
) -> Result<()>
|
||||
fn init<F>(&self, _support_url: &String, _impl_version: &String, _logger_hook: F) -> Result<()>
|
||||
where
|
||||
F: FnOnce(&mut sc_cli::LoggerBuilder, &sc_service::Configuration),
|
||||
F: FnOnce(&mut sc_cli::LoggerBuilder),
|
||||
{
|
||||
unreachable!("PolkadotCli is never initialized; qed");
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ use std::sync::Arc;
|
||||
|
||||
use evm_runtime_template::{opaque::Block, AccountId, Balance, Nonce};
|
||||
use sc_client_api::{backend::Backend, AuxStore, BlockchainEvents, StorageProvider, UsageProvider};
|
||||
pub use sc_rpc::DenyUnsafe;
|
||||
use sc_rpc::SubscriptionTaskExecutor;
|
||||
use sc_transaction_pool::ChainApi;
|
||||
use sc_transaction_pool_api::TransactionPool;
|
||||
@@ -32,8 +31,6 @@ pub struct FullDeps<C, P, A: ChainApi, CT, CIDP> {
|
||||
pub client: Arc<C>,
|
||||
/// Transaction pool instance.
|
||||
pub pool: Arc<P>,
|
||||
/// Whether to deny unsafe calls
|
||||
pub deny_unsafe: DenyUnsafe,
|
||||
/// Ethereum-compatibility specific dependencies.
|
||||
pub eth: EthDeps<Block, C, P, A, CT, CIDP>,
|
||||
}
|
||||
@@ -88,9 +85,9 @@ where
|
||||
use substrate_frame_rpc_system::{System, SystemApiServer};
|
||||
|
||||
let mut module = RpcExtension::new(());
|
||||
let FullDeps { client, pool, deny_unsafe, eth } = deps;
|
||||
let FullDeps { client, pool, eth } = deps;
|
||||
|
||||
module.merge(System::new(client.clone(), pool, deny_unsafe).into_rpc())?;
|
||||
module.merge(System::new(client.clone(), pool).into_rpc())?;
|
||||
module.merge(TransactionPayment::new(client).into_rpc())?;
|
||||
let module = create_eth::<_, _, _, _, _, _, _, DefaultEthConfig<C, BE>>(
|
||||
module,
|
||||
|
||||
@@ -31,14 +31,13 @@ use evm_runtime_template::{configs::TransactionConverter, opaque::Block, Runtime
|
||||
use frame_benchmarking_cli::SUBSTRATE_REFERENCE_HARDWARE;
|
||||
use sc_client_api::Backend;
|
||||
use sc_consensus::ImportQueue;
|
||||
use sc_executor::WasmExecutor;
|
||||
use sc_executor::{HeapAllocStrategy, WasmExecutor, DEFAULT_HEAP_ALLOC_STRATEGY};
|
||||
use sc_network::{config::FullNetworkConfiguration, NetworkBlock};
|
||||
use sc_service::{Configuration, PartialComponents, TFullBackend, TFullClient, TaskManager};
|
||||
#[cfg(not(feature = "tanssi"))]
|
||||
use sc_telemetry::TelemetryHandle;
|
||||
use sc_telemetry::{Telemetry, TelemetryWorker, TelemetryWorkerHandle};
|
||||
use sc_transaction_pool_api::OffchainTransactionPoolFactory;
|
||||
use sp_core::H256;
|
||||
#[cfg(not(feature = "tanssi"))]
|
||||
use sp_core::U256;
|
||||
#[cfg(not(feature = "tanssi"))]
|
||||
@@ -76,7 +75,7 @@ pub type Service = PartialComponents<
|
||||
ParachainBackend,
|
||||
(),
|
||||
sc_consensus::DefaultImportQueue<Block>,
|
||||
sc_transaction_pool::FullPool<Block, ParachainClient>,
|
||||
sc_transaction_pool::TransactionPoolHandle<Block, ParachainClient>,
|
||||
(
|
||||
ParachainBlockImport,
|
||||
Option<Telemetry>,
|
||||
@@ -105,7 +104,18 @@ pub fn new_partial(
|
||||
})
|
||||
.transpose()?;
|
||||
|
||||
let executor = sc_service::new_wasm_executor(config);
|
||||
let heap_pages = config
|
||||
.executor
|
||||
.default_heap_pages
|
||||
.map_or(DEFAULT_HEAP_ALLOC_STRATEGY, |h| HeapAllocStrategy::Static { extra_pages: h as _ });
|
||||
|
||||
let executor = ParachainExecutor::builder()
|
||||
.with_execution_method(config.executor.wasm_method)
|
||||
.with_onchain_heap_alloc_strategy(heap_pages)
|
||||
.with_offchain_heap_alloc_strategy(heap_pages)
|
||||
.with_max_runtime_instances(config.executor.max_runtime_instances)
|
||||
.with_runtime_cache_size(config.executor.runtime_cache_size)
|
||||
.build();
|
||||
|
||||
let (client, backend, keystore_container, task_manager) =
|
||||
sc_service::new_full_parts_record_import::<Block, RuntimeApi, _>(
|
||||
@@ -123,12 +133,15 @@ pub fn new_partial(
|
||||
telemetry
|
||||
});
|
||||
|
||||
let transaction_pool = sc_transaction_pool::BasicPool::new_full(
|
||||
config.transaction_pool.clone(),
|
||||
config.role.is_authority().into(),
|
||||
config.prometheus_registry(),
|
||||
task_manager.spawn_essential_handle(),
|
||||
client.clone(),
|
||||
let transaction_pool = Arc::from(
|
||||
sc_transaction_pool::Builder::new(
|
||||
task_manager.spawn_essential_handle(),
|
||||
client.clone(),
|
||||
config.role.is_authority().into(),
|
||||
)
|
||||
.with_options(config.transaction_pool.clone())
|
||||
.with_prometheus(config.prometheus_registry())
|
||||
.build(),
|
||||
);
|
||||
|
||||
#[cfg(feature = "tanssi")]
|
||||
@@ -252,8 +265,10 @@ async fn start_node_impl(
|
||||
let (_, mut telemetry, telemetry_worker_handle, frontier_backend, overrides) = params.other;
|
||||
|
||||
let frontier_backend = Arc::new(frontier_backend);
|
||||
let net_config: FullNetworkConfiguration<Block, H256, sc_network::NetworkWorker<_, _>> =
|
||||
sc_network::config::FullNetworkConfiguration::new(¶chain_config.network);
|
||||
let net_config = FullNetworkConfiguration::<_, _, sc_network::NetworkWorker<Block, Hash>>::new(
|
||||
¶chain_config.network,
|
||||
parachain_config.prometheus_config.as_ref().map(|cfg| cfg.registry.clone()),
|
||||
);
|
||||
|
||||
let client = params.client.clone();
|
||||
let backend = params.backend.clone();
|
||||
@@ -313,7 +328,7 @@ async fn start_node_impl(
|
||||
is_validator: parachain_config.role.is_authority(),
|
||||
enable_http_requests: false,
|
||||
custom_extensions: move |_| vec![],
|
||||
})
|
||||
})?
|
||||
.run(client.clone(), task_manager.spawn_handle())
|
||||
.boxed(),
|
||||
);
|
||||
@@ -326,7 +341,7 @@ async fn start_node_impl(
|
||||
|
||||
let rpc_builder = {
|
||||
let client = client.clone();
|
||||
let transaction_pool = transaction_pool.clone();
|
||||
let pool = transaction_pool.clone();
|
||||
#[cfg(not(feature = "tanssi"))]
|
||||
let target_gas_price = eth_config.target_gas_price;
|
||||
let enable_dev_signer = eth_config.enable_dev_signer;
|
||||
@@ -358,12 +373,18 @@ async fn start_node_impl(
|
||||
let overrides = overrides.clone();
|
||||
let fee_history_cache = fee_history_cache.clone();
|
||||
let pubsub_notification_sinks = pubsub_notification_sinks.clone();
|
||||
|
||||
Box::new(move |deny_unsafe, subscription_task_executor| {
|
||||
let graph_api = Arc::new(sc_transaction_pool::FullChainApi::new(
|
||||
client.clone(),
|
||||
None,
|
||||
&task_manager.spawn_essential_handle(),
|
||||
));
|
||||
let graph =
|
||||
Arc::new(sc_transaction_pool::Pool::new(Default::default(), true.into(), graph_api));
|
||||
Box::new(move |subscription_task_executor| {
|
||||
let eth = crate::rpc::EthDeps {
|
||||
client: client.clone(),
|
||||
pool: transaction_pool.clone(),
|
||||
graph: transaction_pool.pool().clone(),
|
||||
pool: pool.clone(),
|
||||
graph: graph.clone(),
|
||||
converter: Some(TransactionConverter),
|
||||
is_authority: validator,
|
||||
enable_dev_signer,
|
||||
@@ -384,12 +405,7 @@ async fn start_node_impl(
|
||||
#[cfg(not(feature = "tanssi"))]
|
||||
pending_create_inherent_data_providers,
|
||||
};
|
||||
let deps = crate::rpc::FullDeps {
|
||||
client: client.clone(),
|
||||
pool: transaction_pool.clone(),
|
||||
deny_unsafe,
|
||||
eth,
|
||||
};
|
||||
let deps = crate::rpc::FullDeps { client: client.clone(), pool: pool.clone(), eth };
|
||||
|
||||
crate::rpc::create_full(
|
||||
deps,
|
||||
@@ -421,7 +437,7 @@ async fn start_node_impl(
|
||||
// Putting a link in there and swapping out the requirements for your
|
||||
// own are probably a good idea. The requirements for a para-chain are
|
||||
// dictated by its relay-chain.
|
||||
match SUBSTRATE_REFERENCE_HARDWARE.check_hardware(&hwbench) {
|
||||
match SUBSTRATE_REFERENCE_HARDWARE.check_hardware(&hwbench, false) {
|
||||
Err(err) if validator => {
|
||||
log::warn!(
|
||||
"⚠️ The hardware does not meet the minimal requirements {} for role \
|
||||
@@ -547,7 +563,7 @@ fn start_consensus(
|
||||
telemetry: Option<TelemetryHandle>,
|
||||
task_manager: &TaskManager,
|
||||
relay_chain_interface: Arc<dyn RelayChainInterface>,
|
||||
transaction_pool: Arc<sc_transaction_pool::FullPool<Block, ParachainClient>>,
|
||||
transaction_pool: Arc<sc_transaction_pool::TransactionPoolHandle<Block, ParachainClient>>,
|
||||
keystore: KeystorePtr,
|
||||
relay_chain_slot_duration: Duration,
|
||||
para_id: ParaId,
|
||||
|
||||
@@ -86,7 +86,7 @@ where
|
||||
let mut module = RpcExtension::new(());
|
||||
let FullDeps { client, pool, deny_unsafe, eth } = deps;
|
||||
|
||||
module.merge(System::new(client.clone(), pool, deny_unsafe).into_rpc())?;
|
||||
module.merge(System::new(client.clone(), pool).into_rpc())?;
|
||||
module.merge(TransactionPayment::new(client).into_rpc())?;
|
||||
let module = create_eth::<_, _, _, _, _, _, DefaultEthConfig<C, BE>>(
|
||||
module,
|
||||
|
||||
@@ -8,6 +8,8 @@ use sp_std::{
|
||||
prelude::*,
|
||||
};
|
||||
use xcm::latest::Location;
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
use xcm::v3::MultiLocation;
|
||||
|
||||
use crate::{
|
||||
types::{AccountId, AssetId, Balance},
|
||||
@@ -30,20 +32,35 @@ pallet_assets::runtime_benchmarks_enabled! {
|
||||
// Our AssetType. For now we only handle Xcm Assets
|
||||
#[derive(Clone, Eq, Debug, PartialEq, Ord, PartialOrd, Encode, Decode, TypeInfo)]
|
||||
pub enum AssetType {
|
||||
Xcm(xcm::v3::Location),
|
||||
Xcm(xcm::v4::Location),
|
||||
}
|
||||
impl Default for AssetType {
|
||||
fn default() -> Self {
|
||||
Self::Xcm(xcm::v3::Location::here())
|
||||
Self::Xcm(xcm::v4::Location::here())
|
||||
}
|
||||
}
|
||||
|
||||
impl From<xcm::v3::Location> for AssetType {
|
||||
fn from(location: xcm::v3::Location) -> Self {
|
||||
impl From<xcm::v4::Location> for AssetType {
|
||||
fn from(location: xcm::v4::Location) -> Self {
|
||||
Self::Xcm(location)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
fn convert_v3_to_v4(v3: MultiLocation) -> Option<xcm::v4::Location> {
|
||||
Some(xcm::v4::Location {
|
||||
parents: v3.parents,
|
||||
interior: xcm::v4::Junctions::try_from(v3.interior).ok()?, // Returns None if conversion fails
|
||||
})
|
||||
}
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
impl From<MultiLocation> for AssetType {
|
||||
fn from(value: MultiLocation) -> Self {
|
||||
Self::Xcm(convert_v3_to_v4(value).unwrap_or(xcm::v4::Location::default()))
|
||||
}
|
||||
}
|
||||
|
||||
// This can be removed once we fully adopt xcm::v4 everywhere
|
||||
impl TryFrom<Location> for AssetType {
|
||||
type Error = ();
|
||||
@@ -53,7 +70,7 @@ impl TryFrom<Location> for AssetType {
|
||||
}
|
||||
}
|
||||
|
||||
impl From<AssetType> for Option<xcm::v3::Location> {
|
||||
impl From<AssetType> for Option<xcm::v4::Location> {
|
||||
fn from(val: AssetType) -> Self {
|
||||
match val {
|
||||
AssetType::Xcm(location) => Some(location),
|
||||
@@ -130,7 +147,7 @@ impl pallet_asset_manager::AssetRegistrar<Runtime> for AssetRegistrar {
|
||||
// This is the dispatch info of destroy
|
||||
RuntimeCall::Assets(pallet_assets::Call::<Runtime>::start_destroy { id: asset.into() })
|
||||
.get_dispatch_info()
|
||||
.weight
|
||||
.call_weight
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,55 +300,106 @@ mod tests {
|
||||
#[test]
|
||||
fn test_asset_type_default() {
|
||||
let default_asset_type = AssetType::default();
|
||||
assert_eq!(
|
||||
default_asset_type,
|
||||
AssetType::Xcm(xcm::v3::Location {
|
||||
parents: 0,
|
||||
interior: xcm::v3::Junctions::Here
|
||||
})
|
||||
);
|
||||
match default_asset_type {
|
||||
AssetType::Xcm(location) => {
|
||||
assert_eq!(location, xcm::v4::Location::here());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
#[test]
|
||||
fn test_asset_type_from_location_v3() {
|
||||
let location = xcm::v3::Location {
|
||||
parents: 0,
|
||||
interior: xcm::v3::Junctions::X1(xcm::v3::Junction::OnlyChild),
|
||||
};
|
||||
let asset_type = AssetType::from(location);
|
||||
let location =
|
||||
xcm::v3::MultiLocation { parents: 1, interior: xcm::v3::Junctions::Here };
|
||||
|
||||
assert_eq!(asset_type, AssetType::Xcm(location));
|
||||
// Use the From implementation directly
|
||||
let asset_type = AssetType::from(location);
|
||||
assert!(matches!(asset_type, AssetType::Xcm(_)));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_asset_type_try_from_location_v4() {
|
||||
let location =
|
||||
xcm::latest::Location { parents: 0, interior: xcm::latest::Junctions::Here };
|
||||
let old_location: xcm::v3::Location =
|
||||
xcm::v3::Location { parents: 0, interior: xcm::v3::Junctions::Here };
|
||||
let asset_type = AssetType::try_from(location)
|
||||
.expect("AssetType conversion from location v4 failed");
|
||||
|
||||
assert_eq!(asset_type, AssetType::Xcm(old_location));
|
||||
let location = xcm::v4::Location { parents: 1, interior: xcm::v4::Junctions::Here };
|
||||
let asset_type = AssetType::from(location.clone());
|
||||
match asset_type {
|
||||
AssetType::Xcm(loc) => assert_eq!(loc, location),
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_asset_type_into_location() {
|
||||
let location = xcm::v3::Location { parents: 0, interior: xcm::v3::Junctions::Here };
|
||||
let asset_type = AssetType::Xcm(location);
|
||||
let converted: Option<xcm::v3::Location> = asset_type.into();
|
||||
assert_eq!(converted, Some(location));
|
||||
let location = xcm::v4::Location::here();
|
||||
let asset_type = AssetType::Xcm(location.clone());
|
||||
let result: Option<xcm::v4::Location> = asset_type.into();
|
||||
assert_eq!(result, Some(location));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_asset_type_into_asset_id() {
|
||||
let location = xcm::v3::Location { parents: 0, interior: xcm::v3::Junctions::Here };
|
||||
let expected_asset_id: u128 = 114990615950639921045101060455076456094;
|
||||
let location = xcm::v4::Location { parents: 1, interior: xcm::v4::Junctions::Here };
|
||||
let asset_type = AssetType::Xcm(location);
|
||||
let asset_id: AssetId = asset_type.into();
|
||||
assert!(asset_id > 0);
|
||||
}
|
||||
|
||||
let asset_id = AssetId::from(asset_type);
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
#[test]
|
||||
fn test_convert_v3_to_v4() {
|
||||
use std::sync::Arc;
|
||||
|
||||
assert_eq!(asset_id, expected_asset_id);
|
||||
use xcm::v3::{Junction as JunctionV3, Junctions as JunctionsV3, MultiLocation};
|
||||
|
||||
use crate::configs::convert_v3_to_v4;
|
||||
|
||||
// Test with Here junctions
|
||||
let v3_location = MultiLocation { parents: 1, interior: JunctionsV3::Here };
|
||||
let v4_location = convert_v3_to_v4(v3_location).unwrap();
|
||||
assert_eq!(v4_location.parents, 1);
|
||||
assert_eq!(v4_location.interior, xcm::v4::Junctions::Here);
|
||||
|
||||
// Test with X1 junction
|
||||
let v3_location = MultiLocation {
|
||||
parents: 0,
|
||||
interior: JunctionsV3::X1(JunctionV3::Parachain(1000)),
|
||||
};
|
||||
let v4_location = convert_v3_to_v4(v3_location).unwrap();
|
||||
assert_eq!(v4_location.parents, 0);
|
||||
|
||||
// Create X1 junction with Arc
|
||||
let junction_array = Arc::new([xcm::v4::Junction::Parachain(1000)]);
|
||||
let expected_interior = xcm::v4::Junctions::X1(junction_array);
|
||||
assert_eq!(v4_location.interior, expected_interior);
|
||||
}
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
#[test]
|
||||
fn test_from_multilocation_for_asset_type() {
|
||||
use std::sync::Arc;
|
||||
|
||||
use xcm::v3::{Junction as JunctionV3, Junctions as JunctionsV3, MultiLocation};
|
||||
|
||||
// Test with valid conversion
|
||||
let v3_location = MultiLocation { parents: 1, interior: JunctionsV3::Here };
|
||||
let asset_type = AssetType::from(v3_location);
|
||||
assert!(matches!(asset_type, AssetType::Xcm(_)));
|
||||
|
||||
// Test with more complex location
|
||||
let v3_location = MultiLocation {
|
||||
parents: 0,
|
||||
interior: JunctionsV3::X1(JunctionV3::Parachain(1000)),
|
||||
};
|
||||
let asset_type = AssetType::from(v3_location);
|
||||
match asset_type {
|
||||
AssetType::Xcm(location) => {
|
||||
assert_eq!(location.parents, 0);
|
||||
|
||||
// Create X1 junction with Arc
|
||||
let junction_array = Arc::new([xcm::v4::Junction::Parachain(1000)]);
|
||||
let expected_interior = xcm::v4::Junctions::X1(junction_array);
|
||||
assert_eq!(location.interior, expected_interior);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ use xcm_builder::{
|
||||
};
|
||||
use xcm_config::*;
|
||||
use xcm_executor::XcmExecutor;
|
||||
use xcm_primitives::{AbsoluteAndRelativeReserve, AccountIdToLocation, AsAssetType};
|
||||
use xcm_primitives::{AccountIdToLocation, AsAssetType};
|
||||
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
use crate::benchmark::{OpenHrmpChannel, PayWithEnsure};
|
||||
@@ -176,7 +176,8 @@ impl XcmConfig for OpenZeppelinRuntime {
|
||||
type SelfReserve = SelfReserve;
|
||||
type SovereignAccountDispatcherOrigin = EnsureRoot<AccountId>;
|
||||
type Trader = pallet_xcm_weight_trader::Trader<Runtime>;
|
||||
type TransactorReserveProvider = AbsoluteAndRelativeReserve<SelfLocationAbsolute>;
|
||||
type TransactorReserveProvider =
|
||||
xcm_primitives::AbsoluteAndRelativeReserve<SelfLocationAbsolute>;
|
||||
type Transactors = Transactors;
|
||||
type UniversalLocation = UniversalLocation;
|
||||
type WeightToFee = WeightToFee;
|
||||
@@ -232,8 +233,6 @@ impl AssetsConfig for OpenZeppelinRuntime {
|
||||
type AssetRegistrarMetadata = AssetRegistrarMetadata;
|
||||
type AssetType = AssetType;
|
||||
type AssetsToBlockAuthor = AssetsToBlockAuthor<Runtime, ()>;
|
||||
#[cfg(feature = "runtime-benchmarks")]
|
||||
type BenchmarkHelper = BenchmarkHelper;
|
||||
type CreateOrigin = AsEnsureOriginWithArg<EnsureSigned<AccountId>>;
|
||||
type ForceOrigin = EnsureRoot<AccountId>;
|
||||
type ForeignAssetModifierOrigin = EnsureRoot<AccountId>;
|
||||
@@ -290,7 +289,7 @@ pub struct TransactionConverter;
|
||||
|
||||
impl fp_rpc::ConvertTransaction<UncheckedExtrinsic> for TransactionConverter {
|
||||
fn convert_transaction(&self, transaction: pallet_ethereum::Transaction) -> UncheckedExtrinsic {
|
||||
UncheckedExtrinsic::new_unsigned(
|
||||
UncheckedExtrinsic::new_bare(
|
||||
pallet_ethereum::Call::<Runtime>::transact { transaction }.into(),
|
||||
)
|
||||
}
|
||||
@@ -301,7 +300,7 @@ impl fp_rpc::ConvertTransaction<opaque::UncheckedExtrinsic> for TransactionConve
|
||||
&self,
|
||||
transaction: pallet_ethereum::Transaction,
|
||||
) -> opaque::UncheckedExtrinsic {
|
||||
let extrinsic = UncheckedExtrinsic::new_unsigned(
|
||||
let extrinsic = UncheckedExtrinsic::new_bare(
|
||||
pallet_ethereum::Call::<Runtime>::transact { transaction }.into(),
|
||||
);
|
||||
let encoded = extrinsic.encode();
|
||||
|
||||
@@ -23,9 +23,7 @@ use xcm_builder::{
|
||||
WithComputedOrigin, WithUniqueTopic, XcmFeeManagerFromComponents,
|
||||
};
|
||||
use xcm_executor::traits::{ConvertLocation, FeeReason, JustTry, TransactAsset};
|
||||
use xcm_primitives::{
|
||||
AbsoluteAndRelativeReserve, AsAssetType, UtilityAvailableCalls, UtilityEncodeCall, XcmTransact,
|
||||
};
|
||||
use xcm_primitives::{AsAssetType, UtilityAvailableCalls, UtilityEncodeCall, XcmTransact};
|
||||
|
||||
use crate::{
|
||||
configs::{
|
||||
@@ -419,6 +417,50 @@ impl Reserve for BridgedAssetReserveProvider {
|
||||
}
|
||||
}
|
||||
|
||||
// Provide reserve in relative path view
|
||||
// Self tokens are represeneted as Here
|
||||
// Moved from Moonbeam to implement orml_traits::location::Reserve after Moonbeam
|
||||
// removed ORML dependencies
|
||||
pub struct RelativeReserveProvider;
|
||||
|
||||
impl Reserve for RelativeReserveProvider {
|
||||
fn reserve(asset: &Asset) -> Option<Location> {
|
||||
let AssetId(location) = &asset.id;
|
||||
if location.parents == 0
|
||||
&& !matches!(location.first_interior(), Some(Junction::Parachain(_)))
|
||||
{
|
||||
Some(Location::here())
|
||||
} else {
|
||||
Some(location.chain_location())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Struct that uses RelativeReserveProvider to output relative views of multilocations
|
||||
///
|
||||
/// Additionally accepts a Location that aims at representing the chain part
|
||||
/// (parent: 1, Parachain(paraId)) of the absolute representation of our chain.
|
||||
/// If a token reserve matches against this absolute view, we return Some(Location::here())
|
||||
/// This helps users by preventing errors when they try to transfer a token through xtokens
|
||||
/// to our chain (either inserting the relative or the absolute value).
|
||||
// Moved from Moonbeam to implement orml_traits::location::Reserve after Moonbeam
|
||||
// removed ORML dependencies
|
||||
pub struct AbsoluteAndRelativeReserve<AbsoluteMultiLocation>(PhantomData<AbsoluteMultiLocation>);
|
||||
impl<AbsoluteMultiLocation> Reserve for AbsoluteAndRelativeReserve<AbsoluteMultiLocation>
|
||||
where
|
||||
AbsoluteMultiLocation: Get<Location>,
|
||||
{
|
||||
fn reserve(asset: &Asset) -> Option<Location> {
|
||||
RelativeReserveProvider::reserve(asset).map(|relative_reserve| {
|
||||
if relative_reserve == AbsoluteMultiLocation::get() {
|
||||
Location::here()
|
||||
} else {
|
||||
relative_reserve
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
pub struct ReserveProviders;
|
||||
|
||||
impl Reserve for ReserveProviders {
|
||||
@@ -639,34 +681,177 @@ mod tests {
|
||||
#[test]
|
||||
fn test_transactors_destination_relay() {
|
||||
let transactor = Transactors::Relay;
|
||||
let expected_location = Location::parent();
|
||||
|
||||
let result = transactor.destination();
|
||||
|
||||
assert_eq!(result, expected_location);
|
||||
let destination = transactor.destination();
|
||||
assert_eq!(destination, Location::parent());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_transactors_encode_call() {
|
||||
sp_io::TestExternalities::default().execute_with(|| {
|
||||
let transactor = Transactors::Relay;
|
||||
let call = UtilityAvailableCalls::AsDerivative(1u16, Vec::<u8>::new());
|
||||
|
||||
let encoded_call = transactor.encode_call(call);
|
||||
assert!(!encoded_call.is_empty());
|
||||
let call = UtilityAvailableCalls::AsDerivative(0, vec![]);
|
||||
let encoded = transactor.encode_call(call);
|
||||
assert!(!encoded.is_empty());
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_transactors_try_from_valid() {
|
||||
let result = Transactors::try_from(0u8);
|
||||
assert_eq!(result, Ok(Transactors::Relay));
|
||||
let transactor = Transactors::try_from(0u8);
|
||||
assert!(transactor.is_ok());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_transactors_try_from_invalid() {
|
||||
let result = Transactors::try_from(1u8);
|
||||
assert!(result.is_err());
|
||||
let transactor = Transactors::try_from(1u8);
|
||||
assert!(transactor.is_err());
|
||||
}
|
||||
}
|
||||
|
||||
mod reserve_providers {
|
||||
use frame_support::traits::Get;
|
||||
use orml_traits::location::Reserve;
|
||||
use xcm::latest::{Asset, AssetId, Fungibility, Junction, Junctions, Location};
|
||||
|
||||
use crate::configs::{
|
||||
AbsoluteAndRelativeReserve, RelativeReserveProvider, SelfLocationAbsolute,
|
||||
};
|
||||
|
||||
#[test]
|
||||
fn test_relative_reserve_provider_here() {
|
||||
// Test case for a local asset (parents = 0, no Parachain junction)
|
||||
let local_asset = Asset {
|
||||
id: AssetId(Location { parents: 0, interior: Junctions::Here }),
|
||||
fun: Fungibility::Fungible(100),
|
||||
};
|
||||
|
||||
let reserve = RelativeReserveProvider::reserve(&local_asset);
|
||||
assert_eq!(reserve, Some(Location::here()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_relative_reserve_provider_local_with_junctions() {
|
||||
// Test case for a local asset with junctions but not Parachain
|
||||
use std::sync::Arc;
|
||||
|
||||
let junction = Junction::AccountId32 { network: None, id: [0; 32] };
|
||||
let junction_array = Arc::new([junction]);
|
||||
|
||||
let local_asset_with_junctions = Asset {
|
||||
id: AssetId(Location { parents: 0, interior: Junctions::X1(junction_array) }),
|
||||
fun: Fungibility::Fungible(100),
|
||||
};
|
||||
|
||||
let reserve = RelativeReserveProvider::reserve(&local_asset_with_junctions);
|
||||
assert_eq!(reserve, Some(Location::here()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_relative_reserve_provider_parachain() {
|
||||
// Test case for a parachain asset
|
||||
use std::sync::Arc;
|
||||
|
||||
let junction = Junction::Parachain(1000);
|
||||
let junction_array = Arc::new([junction]);
|
||||
|
||||
let parachain_asset = Asset {
|
||||
id: AssetId(Location {
|
||||
parents: 0,
|
||||
interior: Junctions::X1(junction_array.clone()),
|
||||
}),
|
||||
fun: Fungibility::Fungible(100),
|
||||
};
|
||||
|
||||
let reserve = RelativeReserveProvider::reserve(¶chain_asset);
|
||||
// Should return the chain location, not Here
|
||||
let expected = Location { parents: 0, interior: Junctions::X1(junction_array) };
|
||||
assert_eq!(reserve, Some(expected));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_relative_reserve_provider_parent() {
|
||||
// Test case for a parent asset
|
||||
let parent_asset = Asset {
|
||||
id: AssetId(Location { parents: 1, interior: Junctions::Here }),
|
||||
fun: Fungibility::Fungible(100),
|
||||
};
|
||||
|
||||
let reserve = RelativeReserveProvider::reserve(&parent_asset);
|
||||
// Should return the chain location
|
||||
let location = parent_asset.id.0.clone();
|
||||
assert_eq!(reserve, Some(location));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_absolute_and_relative_reserve_matches_absolute() {
|
||||
// Create a mock implementation of AbsoluteMultiLocation
|
||||
use std::sync::Arc;
|
||||
|
||||
struct MockAbsoluteLocation;
|
||||
impl Get<Location> for MockAbsoluteLocation {
|
||||
fn get() -> Location {
|
||||
let junction = Junction::Parachain(1000);
|
||||
let junction_array = Arc::new([junction]);
|
||||
Location { parents: 1, interior: Junctions::X1(junction_array) }
|
||||
}
|
||||
}
|
||||
|
||||
// Test case where the reserve matches the absolute location
|
||||
let junction = Junction::Parachain(1000);
|
||||
let junction_array = Arc::new([junction]);
|
||||
|
||||
let asset = Asset {
|
||||
id: AssetId(Location { parents: 1, interior: Junctions::X1(junction_array) }),
|
||||
fun: Fungibility::Fungible(100),
|
||||
};
|
||||
|
||||
let reserve = AbsoluteAndRelativeReserve::<MockAbsoluteLocation>::reserve(&asset);
|
||||
// Should return Here since it matches the absolute location
|
||||
assert_eq!(reserve, Some(Location::here()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_absolute_and_relative_reserve_different_location() {
|
||||
// Create a mock implementation of AbsoluteMultiLocation
|
||||
use std::sync::Arc;
|
||||
|
||||
struct MockAbsoluteLocation;
|
||||
impl Get<Location> for MockAbsoluteLocation {
|
||||
fn get() -> Location {
|
||||
let junction = Junction::Parachain(1000);
|
||||
let junction_array = Arc::new([junction]);
|
||||
Location { parents: 1, interior: Junctions::X1(junction_array) }
|
||||
}
|
||||
}
|
||||
|
||||
// Test case where the reserve doesn't match the absolute location
|
||||
let junction = Junction::Parachain(2000);
|
||||
let junction_array = Arc::new([junction]);
|
||||
|
||||
let asset = Asset {
|
||||
id: AssetId(Location { parents: 1, interior: Junctions::X1(junction_array) }),
|
||||
fun: Fungibility::Fungible(100),
|
||||
};
|
||||
|
||||
let reserve = AbsoluteAndRelativeReserve::<MockAbsoluteLocation>::reserve(&asset);
|
||||
// Should return the relative reserve since it doesn't match the absolute location
|
||||
let expected = Location { parents: 1, interior: Junctions::X1(Arc::new([junction])) };
|
||||
assert_eq!(reserve, Some(expected));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_absolute_and_relative_reserve_with_self_location() {
|
||||
// We need to use TestExternalities for this test
|
||||
sp_io::TestExternalities::default().execute_with(|| {
|
||||
// Test with the actual SelfLocationAbsolute
|
||||
let self_location = SelfLocationAbsolute::get();
|
||||
let asset =
|
||||
Asset { id: AssetId(self_location.clone()), fun: Fungibility::Fungible(100) };
|
||||
|
||||
let reserve = AbsoluteAndRelativeReserve::<SelfLocationAbsolute>::reserve(&asset);
|
||||
// Should return Here since it matches the self location
|
||||
assert_eq!(reserve, Some(Location::here()));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use frame_support::weights::{constants::WEIGHT_REF_TIME_PER_SECOND, Weight};
|
||||
use sp_runtime::{create_runtime_str, Perbill};
|
||||
use sp_version::RuntimeVersion;
|
||||
use sp_runtime::Perbill;
|
||||
use sp_version::{Cow, RuntimeVersion};
|
||||
|
||||
use crate::types::BlockNumber;
|
||||
|
||||
@@ -35,14 +35,14 @@ pub const POLY_DEGREE: u8 = 1;
|
||||
|
||||
#[sp_version::runtime_version]
|
||||
pub const VERSION: RuntimeVersion = RuntimeVersion {
|
||||
spec_name: create_runtime_str!("template-parachain"),
|
||||
impl_name: create_runtime_str!("template-parachain"),
|
||||
spec_name: Cow::Borrowed("template-parachain"),
|
||||
impl_name: Cow::Borrowed("template-parachain"),
|
||||
authoring_version: 1,
|
||||
spec_version: 1,
|
||||
impl_version: 0,
|
||||
apis: crate::RUNTIME_API_VERSIONS,
|
||||
transaction_version: 1,
|
||||
state_version: 1,
|
||||
system_version: 1,
|
||||
};
|
||||
|
||||
/// This determines the average expected block time that we are targeting.
|
||||
|
||||
@@ -508,4 +508,10 @@ impl<T: frame_system::Config> pallet_assets::WeightInfo for WeightInfo<T> {
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
fn transfer_all() -> Weight {
|
||||
Weight::from_parts(19_482_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 3675))
|
||||
.saturating_add(T::DbWeight::get().reads(2))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,4 +78,14 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
fn check_only_sudo_account() -> Weight {
|
||||
// Proof Size summary in bytes:
|
||||
// Measured: `98`
|
||||
// Estimated: `1517`
|
||||
// Minimum execution time: 11_126_000 picoseconds.
|
||||
Weight::from_parts(11_411_000, 0)
|
||||
.saturating_add(Weight::from_parts(0, 1517))
|
||||
.saturating_add(T::DbWeight::get().reads(1))
|
||||
.saturating_add(T::DbWeight::get().writes(1))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ mod runtime_tests {
|
||||
BlockNumber, Runtime,
|
||||
};
|
||||
use frame_support::{pallet_prelude::Weight, traits::TypedGet, PalletId};
|
||||
use sp_runtime::{create_runtime_str, Perbill};
|
||||
use sp_runtime::{Cow, Perbill};
|
||||
use sp_version::RuntimeVersion;
|
||||
use xcm::latest::prelude::BodyId;
|
||||
|
||||
@@ -39,14 +39,14 @@ mod runtime_tests {
|
||||
assert_eq!(
|
||||
VERSION,
|
||||
RuntimeVersion {
|
||||
spec_name: create_runtime_str!("template-parachain"),
|
||||
impl_name: create_runtime_str!("template-parachain"),
|
||||
spec_name: Cow::Borrowed("template-parachain"),
|
||||
impl_name: Cow::Borrowed("template-parachain"),
|
||||
authoring_version: 1,
|
||||
spec_version: 1,
|
||||
impl_version: 0,
|
||||
apis: evm_runtime_template::RUNTIME_API_VERSIONS,
|
||||
transaction_version: 1,
|
||||
state_version: 1,
|
||||
system_version: 1,
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ fn dmp() {
|
||||
Parachain(1),
|
||||
Xcm(vec![Transact {
|
||||
origin_kind: OriginKind::SovereignAccount,
|
||||
require_weight_at_most: Weight::from_parts(INITIAL_BALANCE as u64, 1024 * 1024),
|
||||
fallback_max_weight: Some(Weight::from_parts(INITIAL_BALANCE as u64, 1024 * 1024)),
|
||||
call: remark.encode().into(),
|
||||
}]),
|
||||
));
|
||||
@@ -61,7 +61,7 @@ fn ump() {
|
||||
Parent,
|
||||
Xcm(vec![Transact {
|
||||
origin_kind: OriginKind::SovereignAccount,
|
||||
require_weight_at_most: Weight::from_parts(INITIAL_BALANCE as u64, 1024 * 1024),
|
||||
fallback_max_weight: Some(Weight::from_parts(INITIAL_BALANCE as u64, 1024 * 1024)),
|
||||
call: remark.encode().into(),
|
||||
}]),
|
||||
));
|
||||
@@ -89,7 +89,7 @@ fn xcmp() {
|
||||
(Parent, Parachain(2)),
|
||||
Xcm(vec![Transact {
|
||||
origin_kind: OriginKind::SovereignAccount,
|
||||
require_weight_at_most: Weight::from_parts(INITIAL_BALANCE as u64, 1024 * 1024),
|
||||
fallback_max_weight: Some(Weight::from_parts(INITIAL_BALANCE as u64, 1024 * 1024)),
|
||||
call: remark.encode().into(),
|
||||
}]),
|
||||
));
|
||||
@@ -121,7 +121,7 @@ fn remote_locking_and_unlocking() {
|
||||
Relay::execute_with(|| {
|
||||
use pallet_balances::{BalanceLock, Reasons};
|
||||
assert_eq!(
|
||||
relay_chain::Balances::locks(child_account_id(2)),
|
||||
relay_chain::Balances::locks(&child_account_id(2)),
|
||||
vec![BalanceLock { id: *b"py/xcmlk", amount: locked_amount, reasons: Reasons::All }]
|
||||
);
|
||||
});
|
||||
@@ -149,7 +149,7 @@ fn remote_locking_and_unlocking() {
|
||||
use pallet_balances::{BalanceLock, Reasons};
|
||||
// Lock is reduced
|
||||
assert_eq!(
|
||||
relay_chain::Balances::locks(child_account_id(2)),
|
||||
relay_chain::Balances::locks(&child_account_id(2)),
|
||||
vec![BalanceLock {
|
||||
id: *b"py/xcmlk",
|
||||
amount: locked_amount - 50,
|
||||
|
||||
@@ -52,7 +52,7 @@ fn generate_genesis(accounts: &[AccountId]) -> Storage {
|
||||
system: Default::default(),
|
||||
balances: BalancesConfig { balances },
|
||||
#[cfg(not(feature = "tanssi"))]
|
||||
session: SessionConfig { keys: session_keys },
|
||||
session: SessionConfig { keys: session_keys, non_authority_keys: vec![] },
|
||||
#[cfg(not(feature = "tanssi"))]
|
||||
collator_selection: CollatorSelectionConfig {
|
||||
invulnerables,
|
||||
@@ -115,7 +115,7 @@ fn process_input(accounts: &[AccountId], genesis: &Storage, data: &[u8]) {
|
||||
initialize_block(block);
|
||||
}
|
||||
|
||||
weight.saturating_accrue(extrinsic.get_dispatch_info().weight);
|
||||
weight.saturating_accrue(extrinsic.get_dispatch_info().call_weight);
|
||||
if weight.ref_time() >= 2 * WEIGHT_REF_TIME_PER_SECOND {
|
||||
println!("Extrinsic would exhaust block weight, skipping");
|
||||
continue;
|
||||
@@ -170,7 +170,7 @@ fn initialize_block(block: u32) {
|
||||
Executive::initialize_block(parent_header);
|
||||
|
||||
// We apply the timestamp extrinsic for the current block.
|
||||
Executive::apply_extrinsic(UncheckedExtrinsic::new_unsigned(RuntimeCall::Timestamp(
|
||||
Executive::apply_extrinsic(UncheckedExtrinsic::new_bare(RuntimeCall::Timestamp(
|
||||
pallet_timestamp::Call::set { now: current_timestamp },
|
||||
)))
|
||||
.unwrap()
|
||||
@@ -205,7 +205,7 @@ fn initialize_block(block: u32) {
|
||||
cumulus_pallet_parachain_system::Call::set_validation_data { data }
|
||||
};
|
||||
|
||||
Executive::apply_extrinsic(UncheckedExtrinsic::new_unsigned(RuntimeCall::ParachainSystem(
|
||||
Executive::apply_extrinsic(UncheckedExtrinsic::new_bare(RuntimeCall::ParachainSystem(
|
||||
parachain_validation_data,
|
||||
)))
|
||||
.unwrap()
|
||||
@@ -295,7 +295,7 @@ fn check_invariants(block: u32, initial_total_issuance: Balance) {
|
||||
counted_free += info.data.free;
|
||||
counted_reserved += info.data.reserved;
|
||||
let max_lock: Balance =
|
||||
Balances::locks(account).iter().map(|l| l.amount).max().unwrap_or_default();
|
||||
Balances::locks(&account).iter().map(|l| l.amount).max().unwrap_or_default();
|
||||
assert_eq!(max_lock, info.data.frozen, "Max lock should be equal to frozen balance");
|
||||
let sum_holds: Balance = Holds::<Runtime>::get(account).iter().map(|l| l.amount).sum();
|
||||
assert!(
|
||||
|
||||
Reference in New Issue
Block a user