git.delta.rocks / unique-network / refs/commits / 7ca598f7f6b8

difftreelog

fix use ChainSpecBuilder

Daniel Shiposha2024-05-27parent: #078678e.patch.diff
in: master

8 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -6380,6 +6380,7 @@
  "sp-block-builder",
  "sp-consensus-aura",
  "sp-core",
+ "sp-genesis-builder",
  "sp-inherents",
  "sp-io",
  "sp-offchain",
@@ -10261,6 +10262,7 @@
  "sp-block-builder",
  "sp-consensus-aura",
  "sp-core",
+ "sp-genesis-builder",
  "sp-inherents",
  "sp-io",
  "sp-offchain",
@@ -15134,6 +15136,7 @@
  "sp-block-builder",
  "sp-consensus-aura",
  "sp-core",
+ "sp-genesis-builder",
  "sp-inherents",
  "sp-io",
  "sp-offchain",
modifiedCargo.tomldiffbeforeafterboth
before · Cargo.toml
1[workspace]2default-members = ['client/*', 'node/*', 'runtime/opal']3members = [4	'client/*',5	'crates/*',6	'node/*',7	'pallets/*',8	'primitives/*',9	'runtime/opal',10	'runtime/quartz',11	'runtime/tests',12	'runtime/unique',13]14package.version = "1.3.0"15resolver = "2"1617[profile.release]18# Runtime requires unwinding19panic = "unwind"2021[profile.production]22codegen-units = 123inherits = "release"24lto = true25opt-level = 32627[profile.integration-tests]28debug-assertions = true29inherits = "release"3031[workspace.dependencies]32# Unique33app-promotion-rpc = { path = "primitives/app_promotion_rpc", default-features = false }34evm-coder = { version = "0.4.3", default-features = false, features = ['bondrewd'] }35pallet-app-promotion = { path = "pallets/app-promotion", default-features = false }36pallet-balances-adapter = { default-features = false, path = "pallets/balances-adapter" }37pallet-charge-transaction = { package = "pallet-template-transaction-payment", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v1.9.0" }38pallet-collator-selection = { default-features = false, path = "pallets/collator-selection" }39pallet-common = { default-features = false, path = "pallets/common" }40pallet-configuration = { default-features = false, path = "pallets/configuration" }41pallet-evm-coder-substrate = { default-features = false, path = "pallets/evm-coder-substrate" }42pallet-evm-contract-helpers = { path = "pallets/evm-contract-helpers", default-features = false }43pallet-evm-migration = { path = "pallets/evm-migration", default-features = false }44pallet-evm-transaction-payment = { path = "pallets/evm-transaction-payment", default-features = false }45pallet-foreign-assets = { default-features = false, path = "pallets/foreign-assets" }46pallet-fungible = { default-features = false, path = "pallets/fungible" }47pallet-gov-origins = { default-features = false, path = "pallets/gov-origins" }48pallet-identity = { default-features = false, path = "pallets/identity" }49pallet-inflation = { path = "pallets/inflation", default-features = false }50pallet-maintenance = { default-features = false, path = "pallets/maintenance" }51pallet-nonfungible = { default-features = false, path = "pallets/nonfungible" }52pallet-refungible = { default-features = false, path = "pallets/refungible" }53pallet-structure = { default-features = false, path = "pallets/structure" }54pallet-test-utils = { default-features = false, path = "test-pallets/utils" }55pallet-unique = { path = "pallets/unique", default-features = false }56precompile-utils-macro = { path = "runtime/common/ethereum/precompiles/utils/macro" }57struct-versioning = { path = "crates/struct-versioning" }58uc-rpc = { path = "client/rpc" }59unique-rpc = { path = "node/rpc" }60up-common = { path = "primitives/common", default-features = false }61up-data-structs = { path = "primitives/data-structs", default-features = false }62up-pov-estimate-rpc = { path = "primitives/pov-estimate-rpc", default-features = false }63up-rpc = { path = "primitives/rpc", default-features = false }64up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v1.9.0" }6566# Unique: Runtimes67opal-runtime = { path = "runtime/opal" }68quartz-runtime = { path = "runtime/quartz" }69unique-runtime = { path = "runtime/unique" }7071# Frontier (Unique patches over the Parity version)72fc-api = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }73fc-consensus = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }74fc-db = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }75fc-mapping-sync = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }76fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }77fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }78fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }79fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }80fp-self-contained = { default-features = false, features = [81	"serde",82], git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }83fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }84pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }85pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }86pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }87pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }8889# Parity90codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.6.5" }91cumulus-client-cli = "0.10.0"92cumulus-client-collator = "0.10.0"93cumulus-client-consensus-aura = "0.10.0"94cumulus-client-consensus-common = "0.10.0"95cumulus-client-consensus-proposer = "0.10.0"96cumulus-client-network = "0.10.0"97cumulus-client-service = "0.10.0"98cumulus-client-parachain-inherent = "0.4.0"99cumulus-pallet-aura-ext = { default-features = false, version = "0.10.0" }100cumulus-pallet-dmp-queue = { default-features = false, version = "0.10.0" }101cumulus-pallet-parachain-system = { default-features = false, version = "0.10.0" }102cumulus-pallet-xcm = { default-features = false, version = "0.10.0" }103cumulus-pallet-xcmp-queue = { default-features = false, version = "0.10.0" }104cumulus-primitives-aura = { default-features = false, version = "0.10.0" }105cumulus-primitives-core = { default-features = false, version = "0.10.0" }106cumulus-primitives-parachain-inherent = { default-features = false, version = "0.10.0" }107cumulus-primitives-timestamp = { default-features = false, version = "0.10.0" }108cumulus-primitives-utility = { default-features = false, version = "0.10.0" }109cumulus-relay-chain-inprocess-interface = "0.10.0"110cumulus-relay-chain-interface = "0.10.0"111cumulus-relay-chain-minimal-node = "0.10.0"112parachains-common = { default-features = false, version = "10.0.0"}113frame-executive = { default-features = false, version = "31.0.0" }114frame-support = { default-features = false, version = "31.0.0" }115frame-system = { default-features = false, version = "31.0.0" }116frame-system-rpc-runtime-api = { default-features = false, version = "29.0.0" }117pallet-aura = { default-features = false, version = "30.0.0" }118pallet-authorship = { default-features = false, version = "31.0.0" }119pallet-balances = { default-features = false, version = "31.0.0" }120pallet-collective = { default-features = false, version = "31.0.0" }121pallet-democracy = { default-features = false, version = "31.0.0" }122pallet-membership = { default-features = false, version = "31.0.0" }123pallet-preimage = { default-features = false, version = "31.0.0" }124pallet-ranked-collective = { default-features = false, version = "31.0.0" }125pallet-referenda = { default-features = false, version = "31.0.0" }126pallet-scheduler = { default-features = false, version = "32.0.0" }127pallet-session = { default-features = false, version = "31.0.0" }128pallet-state-trie-migration = { default-features = false, version = "32.0.0" }129pallet-sudo = { default-features = false, version = "31.0.0" }130pallet-timestamp = { default-features = false, version = "30.0.0" }131pallet-transaction-payment = { default-features = false, version = "31.0.0" }132pallet-transaction-payment-rpc = "33.0.0"133pallet-transaction-payment-rpc-runtime-api = { default-features = false, version = "31.0.0" }134pallet-treasury = { default-features = false, version = "30.0.0" }135pallet-utility = { default-features = false, version = "31.0.0" }136pallet-xcm = { default-features = false, version = "10.0.1" }137pallet-message-queue = { default-features = false, version = "34.0.0" }138parity-scale-codec = { version = "3.6.5", features = ["derive"], default-features = false }139polkadot-cli = "10.0.0"140polkadot-parachain-primitives = { default-features = false, version = "9.0.0" }141polkadot-primitives = "10.0.0"142polkadot-runtime-common = { default-features = false, version = "10.0.0" }143polkadot-service = "10.0.0"144sc-basic-authorship = "0.37.0"145sc-chain-spec = "30.0.0"146sc-cli = "0.39.0"147sc-client-api = "31.0.0"148sc-consensus = "0.36.0"149sc-consensus-manual-seal = "0.38.0"150sc-executor = "0.35.0"151sc-network = "0.37.0"152sc-network-sync = "0.36.0"153sc-rpc = "32.0.0"154sc-rpc-api = "0.36.0"155sc-service = "0.38.0"156sc-sysinfo = "30.0.0"157sc-telemetry = "17.0.0"158sc-tracing = "31.0.0"159sc-transaction-pool = "31.0.0"160scale-info = { version = "2.9.0", default-features = false, features = ["derive"] }161sp-api = { default-features = false, version = "29.0.0" }162sp-arithmetic = { default-features = false, version = "25.0.0" }163sp-block-builder = { default-features = false, version = "29.0.0" }164sp-blockchain = "31.0.0"165sp-consensus-aura = { default-features = false, version = "0.35.0" }166sp-core = { default-features = false, version = "31.0.0" }167sp-externalities = "0.27.0"168sp-inherents = { default-features = false, version = "29.0.0" }169sp-io = { default-features = false, version = "33.0.0" }170sp-keystore = "0.37.0"171sp-offchain = { default-features = false, version = "29.0.0" }172sp-runtime = { default-features = false, version = "34.0.0" }173sp-session = { default-features = false, version = "30.0.0" }174sp-staking = { default-features = false, version = "29.0.0" }175sp-state-machine = "0.38.0"176sp-std = { default-features = false, version = "14.0.0" }177sp-storage = { default-features = false, version = "20.0.0" }178sp-timestamp = "29.0.0"179sp-tracing = "16.0.0"180sp-transaction-pool = { default-features = false, version = "29.0.0" }181sp-trie = { default-features = false, version = "32.0.0" }182sp-version = { default-features = false, version = "32.0.0" }183sp-weights = { default-features = false, version = "30.0.0" }184staging-parachain-info = { default-features = false, version = "0.10.0" }185staging-xcm = { default-features = false, version = "10.0.0" }186staging-xcm-builder = { default-features = false, version = "10.0.0" }187staging-xcm-executor = { default-features = false, version = "10.0.0" }188substrate-frame-rpc-system = "31.0.0"189substrate-prometheus-endpoint = "0.17.0"190191# Parity: Build utils192substrate-build-script-utils = "11.0.0"193substrate-wasm-builder = "20.0.0"194195# Parity: Benchmarking196frame-benchmarking = { default-features = false, version = "31.0.0" }197frame-benchmarking-cli = "35.0.0"198frame-system-benchmarking = { default-features = false, version = "31.0.0" }199200# Parity: Try Runtime201frame-try-runtime = { default-features = false, version = "0.37.0" }202try-runtime-cli = "0.41.0"203204# ORML205orml-traits = { version = "0.9.1", default-features = false }206orml-vesting = { version = "0.9.1", default-features = false }207orml-xcm-support = { version = "0.9.1", default-features = false }208orml-xtokens = { version = "0.9.1", default-features = false }209210# Other211derivative = { version = "2.2.0", features = ["use_core"] }212ethereum = { version = "0.15.0", default-features = false, features = ["with-codec"] }213evm-core = { version = "0.41.0", default-features = false }214hex-literal = "0.4.1"215impl-trait-for-tuples = "0.2.2"216jsonrpsee = { version = "0.22.5", features = ["macros", "server"] }217log = { version = "0.4.20", default-features = false }218num_enum = { version = "0.7.0", default-features = false }219serde = { default-features = false, features = ['derive'], version = "1.0.188" }220smallvec = "1.11.1"
after · Cargo.toml
1[workspace]2default-members = ['client/*', 'node/*', 'runtime/opal']3members = [4	'client/*',5	'crates/*',6	'node/*',7	'pallets/*',8	'primitives/*',9	'runtime/opal',10	'runtime/quartz',11	'runtime/tests',12	'runtime/unique',13]14package.version = "1.3.0"15resolver = "2"1617[profile.release]18# Runtime requires unwinding19panic = "unwind"2021[profile.production]22codegen-units = 123inherits = "release"24lto = true25opt-level = 32627[profile.integration-tests]28debug-assertions = true29inherits = "release"3031[workspace.dependencies]32# Unique33app-promotion-rpc = { path = "primitives/app_promotion_rpc", default-features = false }34evm-coder = { version = "0.4.3", default-features = false, features = ['bondrewd'] }35pallet-app-promotion = { path = "pallets/app-promotion", default-features = false }36pallet-balances-adapter = { default-features = false, path = "pallets/balances-adapter" }37pallet-charge-transaction = { package = "pallet-template-transaction-payment", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v1.9.0" }38pallet-collator-selection = { default-features = false, path = "pallets/collator-selection" }39pallet-common = { default-features = false, path = "pallets/common" }40pallet-configuration = { default-features = false, path = "pallets/configuration" }41pallet-evm-coder-substrate = { default-features = false, path = "pallets/evm-coder-substrate" }42pallet-evm-contract-helpers = { path = "pallets/evm-contract-helpers", default-features = false }43pallet-evm-migration = { path = "pallets/evm-migration", default-features = false }44pallet-evm-transaction-payment = { path = "pallets/evm-transaction-payment", default-features = false }45pallet-foreign-assets = { default-features = false, path = "pallets/foreign-assets" }46pallet-fungible = { default-features = false, path = "pallets/fungible" }47pallet-gov-origins = { default-features = false, path = "pallets/gov-origins" }48pallet-identity = { default-features = false, path = "pallets/identity" }49pallet-inflation = { path = "pallets/inflation", default-features = false }50pallet-maintenance = { default-features = false, path = "pallets/maintenance" }51pallet-nonfungible = { default-features = false, path = "pallets/nonfungible" }52pallet-refungible = { default-features = false, path = "pallets/refungible" }53pallet-structure = { default-features = false, path = "pallets/structure" }54pallet-test-utils = { default-features = false, path = "test-pallets/utils" }55pallet-unique = { path = "pallets/unique", default-features = false }56precompile-utils-macro = { path = "runtime/common/ethereum/precompiles/utils/macro" }57struct-versioning = { path = "crates/struct-versioning" }58uc-rpc = { path = "client/rpc" }59unique-rpc = { path = "node/rpc" }60up-common = { path = "primitives/common", default-features = false }61up-data-structs = { path = "primitives/data-structs", default-features = false }62up-pov-estimate-rpc = { path = "primitives/pov-estimate-rpc", default-features = false }63up-rpc = { path = "primitives/rpc", default-features = false }64up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v1.9.0" }6566# Unique: Runtimes67opal-runtime = { path = "runtime/opal" }68quartz-runtime = { path = "runtime/quartz" }69unique-runtime = { path = "runtime/unique" }7071# Frontier (Unique patches over the Parity version)72fc-api = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }73fc-consensus = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }74fc-db = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }75fc-mapping-sync = { git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }76fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }77fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }78fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }79fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }80fp-self-contained = { default-features = false, features = [81	"serde",82], git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }83fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }84pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }85pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }86pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }87pallet-evm-precompile-simple = { default-features = false, git = "https://github.com/uniquenetwork/unique-frontier", branch = "unique-polkadot-v1.9.0" }8889# Parity90codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = "3.6.5" }91cumulus-client-cli = "0.10.0"92cumulus-client-collator = "0.10.0"93cumulus-client-consensus-aura = "0.10.0"94cumulus-client-consensus-common = "0.10.0"95cumulus-client-consensus-proposer = "0.10.0"96cumulus-client-network = "0.10.0"97cumulus-client-service = "0.10.0"98cumulus-client-parachain-inherent = "0.4.0"99cumulus-pallet-aura-ext = { default-features = false, version = "0.10.0" }100cumulus-pallet-dmp-queue = { default-features = false, version = "0.10.0" }101cumulus-pallet-parachain-system = { default-features = false, version = "0.10.0" }102cumulus-pallet-xcm = { default-features = false, version = "0.10.0" }103cumulus-pallet-xcmp-queue = { default-features = false, version = "0.10.0" }104cumulus-primitives-aura = { default-features = false, version = "0.10.0" }105cumulus-primitives-core = { default-features = false, version = "0.10.0" }106cumulus-primitives-parachain-inherent = { default-features = false, version = "0.10.0" }107cumulus-primitives-timestamp = { default-features = false, version = "0.10.0" }108cumulus-primitives-utility = { default-features = false, version = "0.10.0" }109cumulus-relay-chain-inprocess-interface = "0.10.0"110cumulus-relay-chain-interface = "0.10.0"111cumulus-relay-chain-minimal-node = "0.10.0"112parachains-common = { default-features = false, version = "10.0.0"}113frame-executive = { default-features = false, version = "31.0.0" }114frame-support = { default-features = false, version = "31.0.0" }115frame-system = { default-features = false, version = "31.0.0" }116frame-system-rpc-runtime-api = { default-features = false, version = "29.0.0" }117pallet-aura = { default-features = false, version = "30.0.0" }118pallet-authorship = { default-features = false, version = "31.0.0" }119pallet-balances = { default-features = false, version = "31.0.0" }120pallet-collective = { default-features = false, version = "31.0.0" }121pallet-democracy = { default-features = false, version = "31.0.0" }122pallet-membership = { default-features = false, version = "31.0.0" }123pallet-preimage = { default-features = false, version = "31.0.0" }124pallet-ranked-collective = { default-features = false, version = "31.0.0" }125pallet-referenda = { default-features = false, version = "31.0.0" }126pallet-scheduler = { default-features = false, version = "32.0.0" }127pallet-session = { default-features = false, version = "31.0.0" }128pallet-state-trie-migration = { default-features = false, version = "32.0.0" }129pallet-sudo = { default-features = false, version = "31.0.0" }130pallet-timestamp = { default-features = false, version = "30.0.0" }131pallet-transaction-payment = { default-features = false, version = "31.0.0" }132pallet-transaction-payment-rpc = "33.0.0"133pallet-transaction-payment-rpc-runtime-api = { default-features = false, version = "31.0.0" }134pallet-treasury = { default-features = false, version = "30.0.0" }135pallet-utility = { default-features = false, version = "31.0.0" }136pallet-xcm = { default-features = false, version = "10.0.1" }137pallet-message-queue = { default-features = false, version = "34.0.0" }138parity-scale-codec = { version = "3.6.5", features = ["derive"], default-features = false }139polkadot-cli = "10.0.0"140polkadot-parachain-primitives = { default-features = false, version = "9.0.0" }141polkadot-primitives = "10.0.0"142polkadot-runtime-common = { default-features = false, version = "10.0.0" }143polkadot-service = "10.0.0"144sc-basic-authorship = "0.37.0"145sc-chain-spec = "30.0.0"146sc-cli = "0.39.0"147sc-client-api = "31.0.0"148sc-consensus = "0.36.0"149sc-consensus-manual-seal = "0.38.0"150sc-executor = "0.35.0"151sc-network = "0.37.0"152sc-network-sync = "0.36.0"153sc-rpc = "32.0.0"154sc-rpc-api = "0.36.0"155sc-service = "0.38.0"156sc-sysinfo = "30.0.0"157sc-telemetry = "17.0.0"158sc-tracing = "31.0.0"159sc-transaction-pool = "31.0.0"160scale-info = { version = "2.9.0", default-features = false, features = ["derive"] }161sp-api = { default-features = false, version = "29.0.0" }162sp-arithmetic = { default-features = false, version = "25.0.0" }163sp-block-builder = { default-features = false, version = "29.0.0" }164sp-blockchain = "31.0.0"165sp-consensus-aura = { default-features = false, version = "0.35.0" }166sp-core = { default-features = false, version = "31.0.0" }167sp-externalities = "0.27.0"168sp-inherents = { default-features = false, version = "29.0.0" }169sp-io = { default-features = false, version = "33.0.0" }170sp-keystore = "0.37.0"171sp-offchain = { default-features = false, version = "29.0.0" }172sp-runtime = { default-features = false, version = "34.0.0" }173sp-session = { default-features = false, version = "30.0.0" }174sp-staking = { default-features = false, version = "29.0.0" }175sp-state-machine = "0.38.0"176sp-std = { default-features = false, version = "14.0.0" }177sp-storage = { default-features = false, version = "20.0.0" }178sp-timestamp = "29.0.0"179sp-tracing = "16.0.0"180sp-transaction-pool = { default-features = false, version = "29.0.0" }181sp-trie = { default-features = false, version = "32.0.0" }182sp-version = { default-features = false, version = "32.0.0" }183sp-weights = { default-features = false, version = "30.0.0" }184sp-genesis-builder = { default-features = false, version = "0.10.0" }185staging-parachain-info = { default-features = false, version = "0.10.0" }186staging-xcm = { default-features = false, version = "10.0.0" }187staging-xcm-builder = { default-features = false, version = "10.0.0" }188staging-xcm-executor = { default-features = false, version = "10.0.0" }189substrate-frame-rpc-system = "31.0.0"190substrate-prometheus-endpoint = "0.17.0"191192# Parity: Build utils193substrate-build-script-utils = "11.0.0"194substrate-wasm-builder = "20.0.0"195196# Parity: Benchmarking197frame-benchmarking = { default-features = false, version = "31.0.0" }198frame-benchmarking-cli = "35.0.0"199frame-system-benchmarking = { default-features = false, version = "31.0.0" }200201# Parity: Try Runtime202frame-try-runtime = { default-features = false, version = "0.37.0" }203try-runtime-cli = "0.41.0"204205# ORML206orml-traits = { version = "0.9.1", default-features = false }207orml-vesting = { version = "0.9.1", default-features = false }208orml-xcm-support = { version = "0.9.1", default-features = false }209orml-xtokens = { version = "0.9.1", default-features = false }210211# Other212derivative = { version = "2.2.0", features = ["use_core"] }213ethereum = { version = "0.15.0", default-features = false, features = ["with-codec"] }214evm-core = { version = "0.41.0", default-features = false }215hex-literal = "0.4.1"216impl-trait-for-tuples = "0.2.2"217jsonrpsee = { version = "0.22.5", features = ["macros", "server"] }218log = { version = "0.4.20", default-features = false }219num_enum = { version = "0.7.0", default-features = false }220serde = { default-features = false, features = ['derive'], version = "1.0.188" }221serde_json = "1"222smallvec = "1.11.1"
modifiednode/cli/src/chain_spec.rsdiffbeforeafterboth
--- a/node/cli/src/chain_spec.rs
+++ b/node/cli/src/chain_spec.rs
@@ -14,8 +14,6 @@
 // You should have received a copy of the GNU General Public License
 // along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
 
-use std::collections::BTreeMap;
-
 use default_runtime::WASM_BINARY;
 #[cfg(all(not(feature = "unique-runtime"), not(feature = "quartz-runtime")))]
 pub use opal_runtime as default_runtime;
@@ -24,7 +22,7 @@
 use sc_chain_spec::{ChainSpecExtension, ChainSpecGroup};
 use sc_service::ChainType;
 use serde::{Deserialize, Serialize};
-use serde_json::map::Map;
+use serde_json::{json, map::Map};
 use sp_core::{sr25519, Pair, Public};
 use sp_runtime::traits::{IdentifyAccount, Verify};
 #[cfg(feature = "unique-runtime")]
@@ -142,184 +140,102 @@
 	AccountPublic::from(get_from_seed::<TPublic>(seed)).into_account()
 }
 
-#[cfg(not(feature = "unique-runtime"))]
-macro_rules! testnet_genesis {
-	(
-		$runtime:path,
-		$root_key:expr,
-		$initial_invulnerables:expr,
-		$endowed_accounts:expr,
-		$id:expr
-	) => {{
-		use $runtime::*;
-
-		RuntimeGenesisConfig {
-			system: Default::default(),
-			balances: BalancesConfig {
-				balances: $endowed_accounts
-					.iter()
-					.cloned()
-					// 1e13 UNQ
-					.map(|k| (k, 1 << 100))
-					.collect(),
-			},
-			sudo: SudoConfig {
-				key: Some($root_key),
-			},
-
-			vesting: VestingConfig { vesting: vec![] },
-			parachain_info: ParachainInfoConfig {
-				parachain_id: $id.into(),
-				..Default::default()
-			},
-			collator_selection: CollatorSelectionConfig {
-				invulnerables: $initial_invulnerables
-					.iter()
-					.cloned()
-					.map(|(acc, _)| acc)
-					.collect(),
-			},
-			session: SessionConfig {
-				keys: $initial_invulnerables
-					.into_iter()
-					.map(|(acc, aura)| {
-						(
-							acc.clone(),          // account id
-							acc,                  // validator id
-							SessionKeys { aura }, // session keys
-						)
-					})
-					.collect(),
-			},
-			evm: EVMConfig {
-				accounts: BTreeMap::new(),
-				..Default::default()
-			},
-			..Default::default()
+pub fn test_config(chain_id: &str, relay_chain: &str) -> DefaultChainSpec {
+	DefaultChainSpec::builder(
+		WASM_BINARY.expect("WASM binary was not build, please build it!"),
+		Extensions {
+			relay_chain: relay_chain.into(),
+			para_id: PARA_ID,
+		},
+	)
+	.with_id(&format!(
+		"{}_{}",
+		default_runtime::VERSION.spec_name,
+		chain_id
+	))
+	.with_name(&format!(
+		"{}{}",
+		default_runtime::VERSION.spec_name.to_uppercase(),
+		if cfg!(feature = "unique-runtime") {
+			""
+		} else {
+			" by UNIQUE"
 		}
-	}};
+	))
+	.with_properties(chain_properties())
+	.with_chain_type(ChainType::Development)
+	.with_genesis_config_patch(genesis_patch())
+	.build()
 }
 
-#[cfg(feature = "unique-runtime")]
-macro_rules! testnet_genesis {
-	(
-		$runtime:path,
-		$root_key:expr,
-		$initial_invulnerables:expr,
-		$endowed_accounts:expr,
-		$id:expr
-	) => {{
-		use $runtime::*;
+fn genesis_patch() -> serde_json::Value {
+	use default_runtime::*;
 
-		RuntimeGenesisConfig {
-			system: Default::default(),
-			balances: BalancesConfig {
-				balances: $endowed_accounts
-					.iter()
-					.cloned()
-					// 1e13 UNQ
-					.map(|k| (k, 1 << 100))
-					.collect(),
-			},
-			sudo: SudoConfig {
-				key: Some($root_key),
-			},
-			vesting: VestingConfig { vesting: vec![] },
-			parachain_info: ParachainInfoConfig {
-				parachain_id: $id.into(),
-				..Default::default()
-			},
-			aura: AuraConfig {
-				authorities: $initial_invulnerables
-					.into_iter()
-					.map(|(_, aura)| aura)
-					.collect(),
-			},
-			evm: EVMConfig {
-				accounts: BTreeMap::new(),
-				..Default::default()
-			},
-			..Default::default()
-		}
-	}};
-}
+	let invulnerables = ["Alice", "Bob"];
 
-pub fn development_config() -> DefaultChainSpec {
-	let mut properties = Map::new();
-	properties.insert("tokenSymbol".into(), default_runtime::TOKEN_SYMBOL.into());
-	properties.insert("tokenDecimals".into(), default_runtime::DECIMALS.into());
-	properties.insert(
-		"ss58Format".into(),
-		default_runtime::SS58Prefix::get().into(),
-	);
+	#[allow(unused_mut)]
+	let mut patch = json!({
+		"parachainInfo": {
+			"parachainId": PARA_ID,
+		},
 
-	DefaultChainSpec::from_genesis(
-		// Name
-		format!(
-			"{}{}",
-			default_runtime::VERSION.spec_name.to_uppercase(),
-			if cfg!(feature = "unique-runtime") {
-				""
-			} else {
-				" by UNIQUE"
-			}
-		)
-		.as_str(),
-		// ID
-		format!("{}_dev", default_runtime::VERSION.spec_name).as_str(),
-		ChainType::Local,
-		move || {
-			testnet_genesis!(
-				default_runtime,
-				// Sudo account
-				get_account_id_from_seed::<sr25519::Public>("Alice"),
-				[
+		"aura": {
+			"authorities": invulnerables.into_iter()
+				.map(|name| get_from_seed::<AuraId>(name))
+				.collect::<Vec<_>>(),
+		},
+
+		"session": {
+			"keys": invulnerables.into_iter()
+				.map(|name| {
+					let account = get_account_id_from_seed::<sr25519::Public>(name);
+					let aura = get_from_seed::<AuraId>(name);
+
 					(
-						get_account_id_from_seed::<sr25519::Public>("Alice"),
-						get_from_seed::<AuraId>("Alice"),
-					),
-					(
-						get_account_id_from_seed::<sr25519::Public>("Bob"),
-						get_from_seed::<AuraId>("Bob"),
-					),
-				],
-				// Pre-funded accounts
-				vec![
-					get_account_id_from_seed::<sr25519::Public>("Alice"),
-					get_account_id_from_seed::<sr25519::Public>("Bob"),
-					get_account_id_from_seed::<sr25519::Public>("Charlie"),
-					get_account_id_from_seed::<sr25519::Public>("Dave"),
-					get_account_id_from_seed::<sr25519::Public>("Eve"),
-					get_account_id_from_seed::<sr25519::Public>("Ferdie"),
-					get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
-					get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
-					get_account_id_from_seed::<sr25519::Public>("Charlie//stash"),
-					get_account_id_from_seed::<sr25519::Public>("Dave//stash"),
-					get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
-					get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
-				],
-				PARA_ID
-			)
+						/*   account id: */ account.clone(),
+						/* validator id: */ account,
+						/* session keys: */ SessionKeys { aura },
+					)
+				})
+				.collect::<Vec<_>>()
+		},
+
+		"sudo": {
+			"key": get_account_id_from_seed::<sr25519::Public>("Alice"),
 		},
-		// Bootnodes
-		vec![],
-		// Telemetry
-		None,
-		// Protocol ID
-		None,
-		None,
-		// Properties
-		Some(properties),
-		// Extensions
-		Extensions {
-			relay_chain: "rococo-dev".into(),
-			para_id: PARA_ID,
+
+		"balances": {
+			"balances": &[
+				get_account_id_from_seed::<sr25519::Public>("Alice"),
+				get_account_id_from_seed::<sr25519::Public>("Bob"),
+				get_account_id_from_seed::<sr25519::Public>("Charlie"),
+				get_account_id_from_seed::<sr25519::Public>("Dave"),
+				get_account_id_from_seed::<sr25519::Public>("Eve"),
+				get_account_id_from_seed::<sr25519::Public>("Ferdie"),
+				get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
+				get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
+				get_account_id_from_seed::<sr25519::Public>("Charlie//stash"),
+				get_account_id_from_seed::<sr25519::Public>("Dave//stash"),
+				get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
+				get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
+			].into_iter()
+			.map(|k| (k, /* ~1.2e+12 UNQ */ 1u128 << 100))
+			.collect::<Vec<_>>(),
 		},
-		WASM_BINARY.expect("WASM binary was not build, please build it!"),
-	)
+	});
+
+	#[cfg(feature = "unique-runtime")]
+	{
+		patch
+			.as_object_mut()
+			.expect("the genesis patch is always an object; qed")
+			.remove("session");
+	}
+
+	patch
 }
 
-pub fn local_testnet_config() -> DefaultChainSpec {
+fn chain_properties() -> sc_chain_spec::Properties {
 	let mut properties = Map::new();
 	properties.insert("tokenSymbol".into(), default_runtime::TOKEN_SYMBOL.into());
 	properties.insert("tokenDecimals".into(), default_runtime::DECIMALS.into());
@@ -328,68 +244,5 @@
 		default_runtime::SS58Prefix::get().into(),
 	);
 
-	DefaultChainSpec::from_genesis(
-		// Name
-		format!(
-			"{}{}",
-			default_runtime::VERSION.impl_name.to_uppercase(),
-			if cfg!(feature = "unique-runtime") {
-				""
-			} else {
-				" by UNIQUE"
-			}
-		)
-		.as_str(),
-		// ID
-		format!("{}_local", default_runtime::VERSION.spec_name).as_str(),
-		ChainType::Local,
-		move || {
-			testnet_genesis!(
-				default_runtime,
-				// Sudo account
-				get_account_id_from_seed::<sr25519::Public>("Alice"),
-				[
-					(
-						get_account_id_from_seed::<sr25519::Public>("Alice"),
-						get_from_seed::<AuraId>("Alice"),
-					),
-					(
-						get_account_id_from_seed::<sr25519::Public>("Bob"),
-						get_from_seed::<AuraId>("Bob"),
-					),
-				],
-				// Pre-funded accounts
-				vec![
-					get_account_id_from_seed::<sr25519::Public>("Alice"),
-					get_account_id_from_seed::<sr25519::Public>("Bob"),
-					get_account_id_from_seed::<sr25519::Public>("Charlie"),
-					get_account_id_from_seed::<sr25519::Public>("Dave"),
-					get_account_id_from_seed::<sr25519::Public>("Eve"),
-					get_account_id_from_seed::<sr25519::Public>("Ferdie"),
-					get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
-					get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
-					get_account_id_from_seed::<sr25519::Public>("Charlie//stash"),
-					get_account_id_from_seed::<sr25519::Public>("Dave//stash"),
-					get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
-					get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
-				],
-				PARA_ID
-			)
-		},
-		// Bootnodes
-		vec![],
-		// Telemetry
-		None,
-		// Protocol ID
-		None,
-		None,
-		// Properties
-		Some(properties),
-		// Extensions
-		Extensions {
-			relay_chain: "westend-local".into(),
-			para_id: PARA_ID,
-		},
-		WASM_BINARY.expect("WASM binary was not build, please build it!"),
-	)
+	properties
 }
modifiednode/cli/src/command.rsdiffbeforeafterboth
--- a/node/cli/src/command.rs
+++ b/node/cli/src/command.rs
@@ -49,9 +49,7 @@
 use crate::{
 	chain_spec::{self, RuntimeIdentification, ServiceId, ServiceIdentification},
 	cli::{Cli, RelayChainCli, Subcommand},
-	service::{
-		new_partial, start_dev_node, start_node, OpalRuntimeExecutor, ParachainHostFunctions,
-	},
+	service::{new_partial, start_dev_node, start_node, OpalRuntimeExecutor},
 };
 
 macro_rules! no_runtime_err {
@@ -65,8 +63,8 @@
 
 fn load_spec(id: &str) -> std::result::Result<Box<dyn sc_service::ChainSpec>, String> {
 	Ok(match id {
-		"dev" => Box::new(chain_spec::development_config()),
-		"" | "local" => Box::new(chain_spec::local_testnet_config()),
+		"dev" => Box::new(chain_spec::test_config("dev", "rococo-dev")),
+		"" | "local" => Box::new(chain_spec::test_config("local", "westend-local")),
 		path => {
 			let path = std::path::PathBuf::from(path);
 			#[allow(clippy::redundant_clone)]
@@ -352,6 +350,8 @@
 			use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE};
 			use polkadot_cli::Block;
 
+			use crate::service::ParachainHostFunctions;
+
 			type Header = <Block as sp_runtime::traits::Block>::Header;
 			type Hasher = <Header as sp_runtime::traits::Header>::Hashing;
 
@@ -403,7 +403,7 @@
 			use std::{future::Future, pin::Pin};
 
 			use polkadot_cli::Block;
-			use sc_executor::{sp_wasm_interface::ExtendedHostFunctions, NativeExecutionDispatch};
+			use sc_executor::NativeExecutionDispatch;
 			use try_runtime_cli::block_building_info::timestamp_with_aura_info;
 
 			let runner = cli.create_runner(cmd)?;
modifiedruntime/common/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -43,6 +43,7 @@
 			ApplyExtrinsicResult, DispatchError, ExtrinsicInclusionMode,
 		};
 		use frame_support::{
+			genesis_builder_helper::{build_config, create_default_config},
 			pallet_prelude::Weight,
 			traits::OnFinalize,
 		};
@@ -710,6 +711,16 @@
 					)
 				}
 			}
+
+			impl sp_genesis_builder::GenesisBuilder<Block> for Runtime {
+				fn create_default_config() -> Vec<u8> {
+					create_default_config::<RuntimeGenesisConfig>()
+				}
+
+				fn build_config(config: Vec<u8>) -> sp_genesis_builder::Result {
+					build_config::<RuntimeGenesisConfig>(config)
+				}
+			}
 		}
 	}
 }
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -146,6 +146,7 @@
 	'sp-storage/std',
 	'sp-transaction-pool/std',
 	'sp-version/std',
+	'sp-genesis-builder/std',
 	'staging-parachain-info/std',
 	'staging-xcm-builder/std',
 	'staging-xcm-executor/std',
@@ -295,6 +296,7 @@
 sp-storage = { workspace = true }
 sp-transaction-pool = { workspace = true }
 sp-version = { workspace = true }
+sp-genesis-builder = { workspace = true }
 staging-parachain-info = { workspace = true }
 staging-xcm = { workspace = true }
 staging-xcm-builder = { workspace = true }
modifiedruntime/quartz/Cargo.tomldiffbeforeafterboth
--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -145,6 +145,7 @@
 	'sp-std/std',
 	'sp-transaction-pool/std',
 	'sp-version/std',
+	'sp-genesis-builder/std',
 	'staging-parachain-info/std',
 	'staging-xcm-builder/std',
 	'staging-xcm-executor/std',
@@ -283,6 +284,7 @@
 sp-storage = { workspace = true }
 sp-transaction-pool = { workspace = true }
 sp-version = { workspace = true }
+sp-genesis-builder = { workspace = true }
 staging-parachain-info = { workspace = true }
 staging-xcm = { workspace = true }
 staging-xcm-builder = { workspace = true }
modifiedruntime/unique/Cargo.tomldiffbeforeafterboth
--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -143,6 +143,7 @@
 	'sp-std/std',
 	'sp-transaction-pool/std',
 	'sp-version/std',
+	'sp-genesis-builder/std',
 	'staging-parachain-info/std',
 	'staging-xcm-builder/std',
 	'staging-xcm-executor/std',
@@ -287,6 +288,7 @@
 sp-storage = { workspace = true }
 sp-transaction-pool = { workspace = true }
 sp-version = { workspace = true }
+sp-genesis-builder = { workspace = true }
 staging-parachain-info = { workspace = true }
 staging-xcm = { workspace = true }
 staging-xcm-builder = { workspace = true }