diff --git a/Cargo.lock b/Cargo.lock index ee2a2c84..dcd5dd66 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9710,6 +9710,7 @@ dependencies = [ "pallet-collator-selection", "pallet-contracts", "pallet-message-queue", + "pallet-multisig", "pallet-nft-fractionalization", "pallet-nfts", "pallet-nfts-runtime-api", @@ -9780,6 +9781,7 @@ dependencies = [ "pallet-collator-selection", "pallet-contracts", "pallet-message-queue", + "pallet-multisig", "pallet-nft-fractionalization", "pallet-nfts", "pallet-nfts-runtime-api", diff --git a/Cargo.toml b/Cargo.toml index be88c075..d0604d7f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -87,6 +87,7 @@ pallet-assets = { version = "30.0.0", default-features = false } pallet-balances = { version = "29.0.0", default-features = false } pallet-contracts = { version = "28.0.0", default-features = false } pallet-message-queue = { version = "32.0.0", default-features = false } +pallet-multisig = { version = "29.0.0", default-features = false } pallet-nft-fractionalization = { version = "11.0.0", default-features = false } pallet-nfts = { version = "23.0.0", default-features = false } pallet-nfts-runtime-api = { version = "15.0.0", default-features = false } diff --git a/runtime/devnet/Cargo.toml b/runtime/devnet/Cargo.toml index f3e05fee..1f0a82d6 100644 --- a/runtime/devnet/Cargo.toml +++ b/runtime/devnet/Cargo.toml @@ -39,6 +39,7 @@ pallet-assets.workspace = true pallet-balances.workspace = true pallet-contracts.workspace = true pallet-message-queue.workspace = true +pallet-multisig.workspace = true pallet-nft-fractionalization.workspace = true pallet-nfts.workspace = true pallet-nfts-runtime-api.workspace = true @@ -116,6 +117,7 @@ std = [ "pallet-collator-selection/std", "pallet-contracts/std", "pallet-message-queue/std", + "pallet-multisig/std", "pallet-nft-fractionalization/std", "pallet-nfts/std", "pallet-nfts-runtime-api/std", @@ -166,6 +168,7 @@ runtime-benchmarks = [ "pallet-collator-selection/runtime-benchmarks", "pallet-contracts/runtime-benchmarks", "pallet-message-queue/runtime-benchmarks", + "pallet-multisig/runtime-benchmarks", "pallet-nft-fractionalization/runtime-benchmarks", "pallet-nfts/runtime-benchmarks", "pallet-scheduler/runtime-benchmarks", @@ -197,6 +200,7 @@ try-runtime = [ "pallet-collator-selection/try-runtime", "pallet-contracts/try-runtime", "pallet-message-queue/try-runtime", + "pallet-multisig/try-runtime", "pallet-nft-fractionalization/try-runtime", "pallet-nfts/try-runtime", "pallet-scheduler/try-runtime", diff --git a/runtime/devnet/src/lib.rs b/runtime/devnet/src/lib.rs index d1b780cf..5d5ca108 100644 --- a/runtime/devnet/src/lib.rs +++ b/runtime/devnet/src/lib.rs @@ -559,6 +559,24 @@ impl pallet_preimage::Config for Runtime { >; } +parameter_types! { + // One storage item; key size is 32; value is size 4+4+16+32 bytes = 56 bytes. + pub const DepositBase: Balance = deposit(1, 88); + // Additional storage item size of 32 bytes. + pub const DepositFactor: Balance = deposit(0, 32); + pub const MaxSignatories: u32 = 100; +} + +impl pallet_multisig::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type Currency = Balances; + type DepositBase = DepositBase; + type DepositFactor = DepositFactor; + type MaxSignatories = MaxSignatories; + type WeightInfo = pallet_multisig::weights::SubstrateWeight; +} + // Create the runtime by composing the FRAME pallets that were previously configured. construct_runtime!( pub enum Runtime { @@ -597,6 +615,9 @@ construct_runtime!( // Contracts Contracts: pallet_contracts = 40, + // Multisig + Multisig: pallet_multisig = 42, + // Assets Nfts: pallet_nfts = 50, NftFractionalization: pallet_nft_fractionalization = 51, diff --git a/runtime/testnet/Cargo.toml b/runtime/testnet/Cargo.toml index 30b68ed4..10a9f2e3 100644 --- a/runtime/testnet/Cargo.toml +++ b/runtime/testnet/Cargo.toml @@ -39,6 +39,7 @@ pallet-assets.workspace = true pallet-balances.workspace = true pallet-contracts.workspace = true pallet-message-queue.workspace = true +pallet-multisig.workspace = true pallet-nft-fractionalization.workspace = true pallet-nfts.workspace = true pallet-nfts-runtime-api.workspace = true @@ -116,6 +117,7 @@ std = [ "pallet-collator-selection/std", "pallet-contracts/std", "pallet-message-queue/std", + "pallet-multisig/std", "pallet-nft-fractionalization/std", "pallet-nfts/std", "pallet-nfts-runtime-api/std", @@ -166,6 +168,7 @@ runtime-benchmarks = [ "pallet-collator-selection/runtime-benchmarks", "pallet-contracts/runtime-benchmarks", "pallet-message-queue/runtime-benchmarks", + "pallet-multisig/runtime-benchmarks", "pallet-nft-fractionalization/runtime-benchmarks", "pallet-nfts/runtime-benchmarks", "pallet-scheduler/runtime-benchmarks", @@ -197,6 +200,7 @@ try-runtime = [ "pallet-collator-selection/try-runtime", "pallet-contracts/try-runtime", "pallet-message-queue/try-runtime", + "pallet-multisig/try-runtime", "pallet-nft-fractionalization/try-runtime", "pallet-nfts/try-runtime", "pallet-scheduler/try-runtime", diff --git a/runtime/testnet/src/lib.rs b/runtime/testnet/src/lib.rs index d1b780cf..5d5ca108 100644 --- a/runtime/testnet/src/lib.rs +++ b/runtime/testnet/src/lib.rs @@ -559,6 +559,24 @@ impl pallet_preimage::Config for Runtime { >; } +parameter_types! { + // One storage item; key size is 32; value is size 4+4+16+32 bytes = 56 bytes. + pub const DepositBase: Balance = deposit(1, 88); + // Additional storage item size of 32 bytes. + pub const DepositFactor: Balance = deposit(0, 32); + pub const MaxSignatories: u32 = 100; +} + +impl pallet_multisig::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type Currency = Balances; + type DepositBase = DepositBase; + type DepositFactor = DepositFactor; + type MaxSignatories = MaxSignatories; + type WeightInfo = pallet_multisig::weights::SubstrateWeight; +} + // Create the runtime by composing the FRAME pallets that were previously configured. construct_runtime!( pub enum Runtime { @@ -597,6 +615,9 @@ construct_runtime!( // Contracts Contracts: pallet_contracts = 40, + // Multisig + Multisig: pallet_multisig = 42, + // Assets Nfts: pallet_nfts = 50, NftFractionalization: pallet_nft_fractionalization = 51,