From ef273eea52c5d167e145a6723223358d89d7cbb6 Mon Sep 17 00:00:00 2001 From: Alexandru Vasile Date: Tue, 28 Nov 2023 16:18:49 +0200 Subject: [PATCH] Reproduce issue #1251 Signed-off-by: Alexandru Vasile --- cli/enjin.scale | 69039 ++++++++++++++++ cli/enjin2.scale | Bin 0 -> 417957 bytes subxt/examples/storage_bug.rs | 37 + .../src/full_client/codegen/enji.rs | 57630 +++++++++++++ 4 files changed, 126706 insertions(+) create mode 100644 cli/enjin.scale create mode 100644 cli/enjin2.scale create mode 100644 subxt/examples/storage_bug.rs create mode 100644 testing/integration-tests/src/full_client/codegen/enji.rs diff --git a/cli/enjin.scale b/cli/enjin.scale new file mode 100644 index 0000000000..b1299e0fad --- /dev/null +++ b/cli/enjin.scale @@ -0,0 +1,69039 @@ +[ + 1635018093, + { + "V14": { + "types": { + "types": [ + { + "id": 0, + "type": { + "path": [ + "sp_core", + "crypto", + "AccountId32" + ], + "def": { + "composite": { + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ] + } + } + } + }, + { + "id": 1, + "type": { + "def": { + "array": { + "len": 32, + "type": 2 + } + } + } + }, + { + "id": 2, + "type": { + "def": { + "primitive": "u8" + } + } + }, + { + "id": 3, + "type": { + "path": [ + "frame_system", + "AccountInfo" + ], + "params": [ + { + "name": "Index", + "type": 4 + }, + { + "name": "AccountData", + "type": 5 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "nonce", + "type": 4, + "typeName": "Index" + }, + { + "name": "consumers", + "type": 4, + "typeName": "RefCount" + }, + { + "name": "providers", + "type": 4, + "typeName": "RefCount" + }, + { + "name": "sufficients", + "type": 4, + "typeName": "RefCount" + }, + { + "name": "data", + "type": 5, + "typeName": "AccountData" + } + ] + } + } + } + }, + { + "id": 4, + "type": { + "def": { + "primitive": "u32" + } + } + }, + { + "id": 5, + "type": { + "path": [ + "pallet_balances", + "types", + "AccountData" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "free", + "type": 6, + "typeName": "Balance" + }, + { + "name": "reserved", + "type": 6, + "typeName": "Balance" + }, + { + "name": "frozen", + "type": 6, + "typeName": "Balance" + }, + { + "name": "flags", + "type": 7, + "typeName": "ExtraFlags" + } + ] + } + } + } + }, + { + "id": 6, + "type": { + "def": { + "primitive": "u128" + } + } + }, + { + "id": 7, + "type": { + "path": [ + "pallet_balances", + "types", + "ExtraFlags" + ], + "def": { + "composite": { + "fields": [ + { + "type": 6, + "typeName": "u128" + } + ] + } + } + } + }, + { + "id": 8, + "type": { + "path": [ + "frame_support", + "dispatch", + "PerDispatchClass" + ], + "params": [ + { + "name": "T", + "type": 9 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "normal", + "type": 9, + "typeName": "T" + }, + { + "name": "operational", + "type": 9, + "typeName": "T" + }, + { + "name": "mandatory", + "type": 9, + "typeName": "T" + } + ] + } + } + } + }, + { + "id": 9, + "type": { + "path": [ + "sp_weights", + "weight_v2", + "Weight" + ], + "def": { + "composite": { + "fields": [ + { + "name": "ref_time", + "type": 10, + "typeName": "u64" + }, + { + "name": "proof_size", + "type": 10, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 10, + "type": { + "def": { + "compact": { + "type": 11 + } + } + } + }, + { + "id": 11, + "type": { + "def": { + "primitive": "u64" + } + } + }, + { + "id": 12, + "type": { + "path": [ + "primitive_types", + "H256" + ], + "def": { + "composite": { + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ] + } + } + } + }, + { + "id": 13, + "type": { + "def": { + "sequence": { + "type": 2 + } + } + } + }, + { + "id": 14, + "type": { + "path": [ + "sp_runtime", + "generic", + "digest", + "Digest" + ], + "def": { + "composite": { + "fields": [ + { + "name": "logs", + "type": 15, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 15, + "type": { + "def": { + "sequence": { + "type": 16 + } + } + } + }, + { + "id": 16, + "type": { + "path": [ + "sp_runtime", + "generic", + "digest", + "DigestItem" + ], + "def": { + "variant": { + "variants": [ + { + "name": "PreRuntime", + "fields": [ + { + "type": 17, + "typeName": "ConsensusEngineId" + }, + { + "type": 13, + "typeName": "Vec" + } + ], + "index": 6 + }, + { + "name": "Consensus", + "fields": [ + { + "type": 17, + "typeName": "ConsensusEngineId" + }, + { + "type": 13, + "typeName": "Vec" + } + ], + "index": 4 + }, + { + "name": "Seal", + "fields": [ + { + "type": 17, + "typeName": "ConsensusEngineId" + }, + { + "type": 13, + "typeName": "Vec" + } + ], + "index": 5 + }, + { + "name": "Other", + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ], + "index": 0 + }, + { + "name": "RuntimeEnvironmentUpdated", + "index": 8 + } + ] + } + } + } + }, + { + "id": 17, + "type": { + "def": { + "array": { + "len": 4, + "type": 2 + } + } + } + }, + { + "id": 18, + "type": { + "def": { + "sequence": { + "type": 19 + } + } + } + }, + { + "id": 19, + "type": { + "path": [ + "frame_system", + "EventRecord" + ], + "params": [ + { + "name": "E", + "type": 20 + }, + { + "name": "T", + "type": 12 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "phase", + "type": 651, + "typeName": "Phase" + }, + { + "name": "event", + "type": 20, + "typeName": "E" + }, + { + "name": "topics", + "type": 652, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 20, + "type": { + "path": [ + "enjin_runtime", + "RuntimeEvent" + ], + "def": { + "variant": { + "variants": [ + { + "name": "System", + "fields": [ + { + "type": 21, + "typeName": "frame_system::Event" + } + ], + "index": 0 + }, + { + "name": "Balances", + "fields": [ + { + "type": 30, + "typeName": "pallet_balances::Event" + } + ], + "index": 6 + }, + { + "name": "Offences", + "fields": [ + { + "type": 32, + "typeName": "pallet_offences::Event" + } + ], + "index": 7 + }, + { + "name": "ElectionProviderMultiPhase", + "fields": [ + { + "type": 34, + "typeName": "pallet_election_provider_multi_phase::Event" + } + ], + "index": 8 + }, + { + "name": "Staking", + "fields": [ + { + "type": 41, + "typeName": "pallet_staking::Event" + } + ], + "index": 9 + }, + { + "name": "Session", + "fields": [ + { + "type": 46, + "typeName": "pallet_session::Event" + } + ], + "index": 10 + }, + { + "name": "Grandpa", + "fields": [ + { + "type": 47, + "typeName": "pallet_grandpa::Event" + } + ], + "index": 11 + }, + { + "name": "Treasury", + "fields": [ + { + "type": 52, + "typeName": "pallet_treasury::Event" + } + ], + "index": 12 + }, + { + "name": "TransactionPayment", + "fields": [ + { + "type": 53, + "typeName": "pallet_transaction_payment::Event" + } + ], + "index": 13 + }, + { + "name": "Sudo", + "fields": [ + { + "type": 54, + "typeName": "pallet_sudo::Event" + } + ], + "index": 14 + }, + { + "name": "ImOnline", + "fields": [ + { + "type": 57, + "typeName": "pallet_im_online::Event" + } + ], + "index": 15 + }, + { + "name": "VoterList", + "fields": [ + { + "type": 66, + "typeName": "pallet_bags_list::Event" + } + ], + "index": 17 + }, + { + "name": "NominationPools", + "fields": [ + { + "type": 67, + "typeName": "pallet_nomination_pools::Event" + } + ], + "index": 18 + }, + { + "name": "StakeExchange", + "fields": [ + { + "type": 79, + "typeName": "pallet_stake_exchange::Event" + } + ], + "index": 19 + }, + { + "name": "Utility", + "fields": [ + { + "type": 87, + "typeName": "pallet_utility::Event" + } + ], + "index": 20 + }, + { + "name": "Multisig", + "fields": [ + { + "type": 88, + "typeName": "pallet_multisig::Event" + } + ], + "index": 21 + }, + { + "name": "ParaInclusion", + "fields": [ + { + "type": 90, + "typeName": "parachains_inclusion::Event" + } + ], + "index": 53 + }, + { + "name": "Paras", + "fields": [ + { + "type": 102, + "typeName": "parachains_paras::Event" + } + ], + "index": 56 + }, + { + "name": "Hrmp", + "fields": [ + { + "type": 103, + "typeName": "parachains_hrmp::Event" + } + ], + "index": 60 + }, + { + "name": "ParasDisputes", + "fields": [ + { + "type": 105, + "typeName": "parachains_disputes::Event" + } + ], + "index": 62 + }, + { + "name": "Registrar", + "fields": [ + { + "type": 109, + "typeName": "paras_registrar::Event" + } + ], + "index": 70 + }, + { + "name": "Slots", + "fields": [ + { + "type": 110, + "typeName": "slots::Event" + } + ], + "index": 71 + }, + { + "name": "Auctions", + "fields": [ + { + "type": 111, + "typeName": "auctions::Event" + } + ], + "index": 72 + }, + { + "name": "Crowdloan", + "fields": [ + { + "type": 112, + "typeName": "crowdloan::Event" + } + ], + "index": 73 + }, + { + "name": "XcmPallet", + "fields": [ + { + "type": 113, + "typeName": "pallet_xcm::Event" + } + ], + "index": 99 + }, + { + "name": "MessageQueue", + "fields": [ + { + "type": 167, + "typeName": "pallet_message_queue::Event" + } + ], + "index": 110 + }, + { + "name": "AssignedSlots", + "fields": [ + { + "type": 171, + "typeName": "assigned_slots::Event" + } + ], + "index": 251 + }, + { + "name": "ValidatorManager", + "fields": [ + { + "type": 172, + "typeName": "pallet_validator_manager::Event" + } + ], + "index": 252 + }, + { + "name": "MultiTokens", + "fields": [ + { + "type": 173, + "typeName": "pallet_multi_tokens::Event" + } + ], + "index": 253 + }, + { + "name": "FuelTanks", + "fields": [ + { + "type": 249, + "typeName": "pallet_fuel_tanks::Event" + } + ], + "index": 254 + }, + { + "name": "ExtrinsicPause", + "fields": [ + { + "type": 270, + "typeName": "pallet_extrinsic_pause::Event" + } + ], + "index": 255 + }, + { + "name": "Marketplace", + "fields": [ + { + "type": 274, + "typeName": "pallet_marketplace::Event" + } + ], + "index": 249 + }, + { + "name": "Scheduler", + "fields": [ + { + "type": 284, + "typeName": "pallet_scheduler::Event" + } + ], + "index": 100 + }, + { + "name": "Preimage", + "fields": [ + { + "type": 287, + "typeName": "pallet_preimage::Event" + } + ], + "index": 101 + }, + { + "name": "ConvictionVoting", + "fields": [ + { + "type": 288, + "typeName": "pallet_conviction_voting::Event" + } + ], + "index": 102 + }, + { + "name": "Referenda", + "fields": [ + { + "type": 289, + "typeName": "pallet_referenda::Event" + } + ], + "index": 103 + }, + { + "name": "Whitelist", + "fields": [ + { + "type": 640, + "typeName": "pallet_whitelist::Event" + } + ], + "index": 105 + }, + { + "name": "FellowshipCollective", + "fields": [ + { + "type": 645, + "typeName": "pallet_ranked_collective::Event" + } + ], + "index": 106 + }, + { + "name": "FellowshipReferenda", + "fields": [ + { + "type": 648, + "typeName": "pallet_referenda::Event" + } + ], + "index": 107 + }, + { + "name": "Identity", + "fields": [ + { + "type": 649, + "typeName": "pallet_identity::Event" + } + ], + "index": 108 + }, + { + "name": "VoteManager", + "fields": [ + { + "type": 650, + "typeName": "pallet_vote_manager::Event" + } + ], + "index": 109 + } + ] + } + } + } + }, + { + "id": 21, + "type": { + "path": [ + "frame_system", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "ExtrinsicSuccess", + "fields": [ + { + "name": "dispatch_info", + "type": 22, + "typeName": "DispatchInfo" + } + ], + "index": 0, + "docs": [ + "An extrinsic completed successfully." + ] + }, + { + "name": "ExtrinsicFailed", + "fields": [ + { + "name": "dispatch_error", + "type": 25, + "typeName": "DispatchError" + }, + { + "name": "dispatch_info", + "type": 22, + "typeName": "DispatchInfo" + } + ], + "index": 1, + "docs": [ + "An extrinsic failed." + ] + }, + { + "name": "CodeUpdated", + "index": 2, + "docs": [ + "`:code` was updated." + ] + }, + { + "name": "NewAccount", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 3, + "docs": [ + "A new account was created." + ] + }, + { + "name": "KilledAccount", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 4, + "docs": [ + "An account was reaped." + ] + }, + { + "name": "Remarked", + "fields": [ + { + "name": "sender", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "hash", + "type": 12, + "typeName": "T::Hash" + } + ], + "index": 5, + "docs": [ + "On on-chain remark happened." + ] + } + ] + } + }, + "docs": [ + "Event for the System pallet." + ] + } + }, + { + "id": 22, + "type": { + "path": [ + "frame_support", + "dispatch", + "DispatchInfo" + ], + "def": { + "composite": { + "fields": [ + { + "name": "weight", + "type": 9, + "typeName": "Weight" + }, + { + "name": "class", + "type": 23, + "typeName": "DispatchClass" + }, + { + "name": "pays_fee", + "type": 24, + "typeName": "Pays" + } + ] + } + } + } + }, + { + "id": 23, + "type": { + "path": [ + "frame_support", + "dispatch", + "DispatchClass" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Normal", + "index": 0 + }, + { + "name": "Operational", + "index": 1 + }, + { + "name": "Mandatory", + "index": 2 + } + ] + } + } + } + }, + { + "id": 24, + "type": { + "path": [ + "frame_support", + "dispatch", + "Pays" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Yes", + "index": 0 + }, + { + "name": "No", + "index": 1 + } + ] + } + } + } + }, + { + "id": 25, + "type": { + "path": [ + "sp_runtime", + "DispatchError" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Other", + "index": 0 + }, + { + "name": "CannotLookup", + "index": 1 + }, + { + "name": "BadOrigin", + "index": 2 + }, + { + "name": "Module", + "fields": [ + { + "type": 26, + "typeName": "ModuleError" + } + ], + "index": 3 + }, + { + "name": "ConsumerRemaining", + "index": 4 + }, + { + "name": "NoProviders", + "index": 5 + }, + { + "name": "TooManyConsumers", + "index": 6 + }, + { + "name": "Token", + "fields": [ + { + "type": 27, + "typeName": "TokenError" + } + ], + "index": 7 + }, + { + "name": "Arithmetic", + "fields": [ + { + "type": 28, + "typeName": "ArithmeticError" + } + ], + "index": 8 + }, + { + "name": "Transactional", + "fields": [ + { + "type": 29, + "typeName": "TransactionalError" + } + ], + "index": 9 + }, + { + "name": "Exhausted", + "index": 10 + }, + { + "name": "Corruption", + "index": 11 + }, + { + "name": "Unavailable", + "index": 12 + }, + { + "name": "RootNotAllowed", + "index": 13 + } + ] + } + } + } + }, + { + "id": 26, + "type": { + "path": [ + "sp_runtime", + "ModuleError" + ], + "def": { + "composite": { + "fields": [ + { + "name": "index", + "type": 2, + "typeName": "u8" + }, + { + "name": "error", + "type": 17, + "typeName": "[u8; MAX_MODULE_ERROR_ENCODED_SIZE]" + } + ] + } + } + } + }, + { + "id": 27, + "type": { + "path": [ + "sp_runtime", + "TokenError" + ], + "def": { + "variant": { + "variants": [ + { + "name": "FundsUnavailable", + "index": 0 + }, + { + "name": "OnlyProvider", + "index": 1 + }, + { + "name": "BelowMinimum", + "index": 2 + }, + { + "name": "CannotCreate", + "index": 3 + }, + { + "name": "UnknownAsset", + "index": 4 + }, + { + "name": "Frozen", + "index": 5 + }, + { + "name": "Unsupported", + "index": 6 + }, + { + "name": "CannotCreateHold", + "index": 7 + }, + { + "name": "NotExpendable", + "index": 8 + }, + { + "name": "Blocked", + "index": 9 + } + ] + } + } + } + }, + { + "id": 28, + "type": { + "path": [ + "sp_arithmetic", + "ArithmeticError" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Underflow", + "index": 0 + }, + { + "name": "Overflow", + "index": 1 + }, + { + "name": "DivisionByZero", + "index": 2 + } + ] + } + } + } + }, + { + "id": 29, + "type": { + "path": [ + "sp_runtime", + "TransactionalError" + ], + "def": { + "variant": { + "variants": [ + { + "name": "LimitReached", + "index": 0 + }, + { + "name": "NoLayer", + "index": 1 + } + ] + } + } + } + }, + { + "id": 30, + "type": { + "path": [ + "pallet_balances", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Endowed", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "free_balance", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 0, + "docs": [ + "An account was created with some free balance." + ] + }, + { + "name": "DustLost", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 1, + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ] + }, + { + "name": "Transfer", + "fields": [ + { + "name": "from", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "to", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 2, + "docs": [ + "Transfer succeeded." + ] + }, + { + "name": "BalanceSet", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "free", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 3, + "docs": [ + "A balance was set by root." + ] + }, + { + "name": "Reserved", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 4, + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ] + }, + { + "name": "Unreserved", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 5, + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ] + }, + { + "name": "ReserveRepatriated", + "fields": [ + { + "name": "from", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "to", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + }, + { + "name": "destination_status", + "type": 31, + "typeName": "Status" + } + ], + "index": 6, + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ] + }, + { + "name": "Deposit", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 7, + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ] + }, + { + "name": "Withdraw", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 8, + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ] + }, + { + "name": "Slashed", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 9, + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ] + }, + { + "name": "Minted", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 10, + "docs": [ + "Some amount was minted into an account." + ] + }, + { + "name": "Burned", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 11, + "docs": [ + "Some amount was burned from an account." + ] + }, + { + "name": "Suspended", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 12, + "docs": [ + "Some amount was suspended from an account (it can be restored later)." + ] + }, + { + "name": "Restored", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 13, + "docs": [ + "Some amount was restored into an account." + ] + }, + { + "name": "Upgraded", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 14, + "docs": [ + "An account was upgraded." + ] + }, + { + "name": "Issued", + "fields": [ + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 15, + "docs": [ + "Total issuance was increased by `amount`, creating a credit to be balanced." + ] + }, + { + "name": "Rescinded", + "fields": [ + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 16, + "docs": [ + "Total issuance was decreased by `amount`, creating a debt to be balanced." + ] + }, + { + "name": "Locked", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 17, + "docs": [ + "Some balance was locked." + ] + }, + { + "name": "Unlocked", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 18, + "docs": [ + "Some balance was unlocked." + ] + }, + { + "name": "Frozen", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 19, + "docs": [ + "Some balance was frozen." + ] + }, + { + "name": "Thawed", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 20, + "docs": [ + "Some balance was thawed." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 31, + "type": { + "path": [ + "frame_support", + "traits", + "tokens", + "misc", + "BalanceStatus" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Free", + "index": 0 + }, + { + "name": "Reserved", + "index": 1 + } + ] + } + } + } + }, + { + "id": 32, + "type": { + "path": [ + "pallet_offences", + "pallet", + "Event" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Offence", + "fields": [ + { + "name": "kind", + "type": 33, + "typeName": "Kind" + }, + { + "name": "timeslot", + "type": 13, + "typeName": "OpaqueTimeSlot" + } + ], + "index": 0, + "docs": [ + "There is an offence reported of the given `kind` happened at the `session_index` and", + "(kind-specific) time slot. This event is not deposited for duplicate slashes.", + "\\[kind, timeslot\\]." + ] + } + ] + } + }, + "docs": [ + "Events type." + ] + } + }, + { + "id": 33, + "type": { + "def": { + "array": { + "len": 16, + "type": 2 + } + } + } + }, + { + "id": 34, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "SolutionStored", + "fields": [ + { + "name": "compute", + "type": 35, + "typeName": "ElectionCompute" + }, + { + "name": "origin", + "type": 36, + "typeName": "Option" + }, + { + "name": "prev_ejected", + "type": 37, + "typeName": "bool" + } + ], + "index": 0, + "docs": [ + "A solution was stored with the given compute.", + "", + "The `origin` indicates the origin of the solution. If `origin` is `Some(AccountId)`,", + "the stored solution was submited in the signed phase by a miner with the `AccountId`.", + "Otherwise, the solution was stored either during the unsigned phase or by", + "`T::ForceOrigin`. The `bool` is `true` when a previous solution was ejected to make", + "room for this one." + ] + }, + { + "name": "ElectionFinalized", + "fields": [ + { + "name": "compute", + "type": 35, + "typeName": "ElectionCompute" + }, + { + "name": "score", + "type": 38, + "typeName": "ElectionScore" + } + ], + "index": 1, + "docs": [ + "The election has been finalized, with the given computation and score." + ] + }, + { + "name": "ElectionFailed", + "index": 2, + "docs": [ + "An election failed.", + "", + "Not much can be said about which computes failed in the process." + ] + }, + { + "name": "Rewarded", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "::AccountId" + }, + { + "name": "value", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 3, + "docs": [ + "An account has been rewarded for their signed submission being finalized." + ] + }, + { + "name": "Slashed", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "::AccountId" + }, + { + "name": "value", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 4, + "docs": [ + "An account has been slashed for submitting an invalid signed submission." + ] + }, + { + "name": "PhaseTransitioned", + "fields": [ + { + "name": "from", + "type": 39, + "typeName": "Phase" + }, + { + "name": "to", + "type": 39, + "typeName": "Phase" + }, + { + "name": "round", + "type": 4, + "typeName": "u32" + } + ], + "index": 5, + "docs": [ + "There was a phase transition in a given round." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 35, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "ElectionCompute" + ], + "def": { + "variant": { + "variants": [ + { + "name": "OnChain", + "index": 0 + }, + { + "name": "Signed", + "index": 1 + }, + { + "name": "Unsigned", + "index": 2 + }, + { + "name": "Fallback", + "index": 3 + }, + { + "name": "Emergency", + "index": 4 + } + ] + } + } + } + }, + { + "id": 36, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 0 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 37, + "type": { + "def": { + "primitive": "bool" + } + } + }, + { + "id": 38, + "type": { + "path": [ + "sp_npos_elections", + "ElectionScore" + ], + "def": { + "composite": { + "fields": [ + { + "name": "minimal_stake", + "type": 6, + "typeName": "ExtendedBalance" + }, + { + "name": "sum_stake", + "type": 6, + "typeName": "ExtendedBalance" + }, + { + "name": "sum_stake_squared", + "type": 6, + "typeName": "ExtendedBalance" + } + ] + } + } + } + }, + { + "id": 39, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "Phase" + ], + "params": [ + { + "name": "Bn", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Off", + "index": 0 + }, + { + "name": "Signed", + "index": 1 + }, + { + "name": "Unsigned", + "fields": [ + { + "type": 40, + "typeName": "(bool, Bn)" + } + ], + "index": 2 + }, + { + "name": "Emergency", + "index": 3 + } + ] + } + } + } + }, + { + "id": 40, + "type": { + "def": { + "tuple": [ + 37, + 4 + ] + } + } + }, + { + "id": 41, + "type": { + "path": [ + "pallet_staking", + "pallet", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "EraPaid", + "fields": [ + { + "name": "era_index", + "type": 4, + "typeName": "EraIndex" + }, + { + "name": "validator_payout", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "remainder", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 0, + "docs": [ + "The era payout has been set; the first balance is the validator-payout; the second is", + "the remainder from the maximum amount of reward." + ] + }, + { + "name": "Rewarded", + "fields": [ + { + "name": "stash", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "The nominator has been rewarded by this amount." + ] + }, + { + "name": "Slashed", + "fields": [ + { + "name": "staker", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 2, + "docs": [ + "A staker (validator or nominator) has been slashed by the given amount." + ] + }, + { + "name": "SlashReported", + "fields": [ + { + "name": "validator", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "fraction", + "type": 42, + "typeName": "Perbill" + }, + { + "name": "slash_era", + "type": 4, + "typeName": "EraIndex" + } + ], + "index": 3, + "docs": [ + "A slash for the given validator, for the given percentage of their stake, at the given", + "era as been reported." + ] + }, + { + "name": "OldSlashingReportDiscarded", + "fields": [ + { + "name": "session_index", + "type": 4, + "typeName": "SessionIndex" + } + ], + "index": 4, + "docs": [ + "An old slashing report from a prior era was discarded because it could", + "not be processed." + ] + }, + { + "name": "StakersElected", + "index": 5, + "docs": [ + "A new set of stakers was elected." + ] + }, + { + "name": "Bonded", + "fields": [ + { + "name": "stash", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 6, + "docs": [ + "An account has bonded this amount. \\[stash, amount\\]", + "", + "NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,", + "it will not be emitted for staking rewards when they are added to stake." + ] + }, + { + "name": "Unbonded", + "fields": [ + { + "name": "stash", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 7, + "docs": [ + "An account has unbonded this amount." + ] + }, + { + "name": "Withdrawn", + "fields": [ + { + "name": "stash", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 8, + "docs": [ + "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`", + "from the unlocking queue." + ] + }, + { + "name": "Kicked", + "fields": [ + { + "name": "nominator", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "stash", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 9, + "docs": [ + "A nominator has been kicked from a validator." + ] + }, + { + "name": "StakingElectionFailed", + "index": 10, + "docs": [ + "The election failed. No new era is planned." + ] + }, + { + "name": "Chilled", + "fields": [ + { + "name": "stash", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 11, + "docs": [ + "An account has stopped participating as either a validator or nominator." + ] + }, + { + "name": "PayoutStarted", + "fields": [ + { + "name": "era_index", + "type": 4, + "typeName": "EraIndex" + }, + { + "name": "validator_stash", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 12, + "docs": [ + "The stakers' rewards are getting paid." + ] + }, + { + "name": "ValidatorPrefsSet", + "fields": [ + { + "name": "stash", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "prefs", + "type": 43, + "typeName": "ValidatorPrefs" + } + ], + "index": 13, + "docs": [ + "A validator has set their preferences." + ] + }, + { + "name": "ForceEra", + "fields": [ + { + "name": "mode", + "type": 45, + "typeName": "Forcing" + } + ], + "index": 14, + "docs": [ + "A new force era mode was set." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 42, + "type": { + "path": [ + "sp_arithmetic", + "per_things", + "Perbill" + ], + "def": { + "composite": { + "fields": [ + { + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 43, + "type": { + "path": [ + "pallet_staking", + "ValidatorPrefs" + ], + "def": { + "composite": { + "fields": [ + { + "name": "commission", + "type": 44, + "typeName": "Perbill" + }, + { + "name": "blocked", + "type": 37, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 44, + "type": { + "def": { + "compact": { + "type": 42 + } + } + } + }, + { + "id": 45, + "type": { + "path": [ + "pallet_staking", + "Forcing" + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotForcing", + "index": 0 + }, + { + "name": "ForceNew", + "index": 1 + }, + { + "name": "ForceNone", + "index": 2 + }, + { + "name": "ForceAlways", + "index": 3 + } + ] + } + } + } + }, + { + "id": 46, + "type": { + "path": [ + "pallet_session", + "pallet", + "Event" + ], + "def": { + "variant": { + "variants": [ + { + "name": "NewSession", + "fields": [ + { + "name": "session_index", + "type": 4, + "typeName": "SessionIndex" + } + ], + "index": 0, + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 47, + "type": { + "path": [ + "pallet_grandpa", + "pallet", + "Event" + ], + "def": { + "variant": { + "variants": [ + { + "name": "NewAuthorities", + "fields": [ + { + "name": "authority_set", + "type": 48, + "typeName": "AuthorityList" + } + ], + "index": 0, + "docs": [ + "New authority set has been applied." + ] + }, + { + "name": "Paused", + "index": 1, + "docs": [ + "Current authority set has been paused." + ] + }, + { + "name": "Resumed", + "index": 2, + "docs": [ + "Current authority set has been resumed." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 48, + "type": { + "def": { + "sequence": { + "type": 49 + } + } + } + }, + { + "id": 49, + "type": { + "def": { + "tuple": [ + 50, + 11 + ] + } + } + }, + { + "id": 50, + "type": { + "path": [ + "sp_consensus_grandpa", + "app", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 51, + "typeName": "ed25519::Public" + } + ] + } + } + } + }, + { + "id": 51, + "type": { + "path": [ + "sp_core", + "ed25519", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ] + } + } + } + }, + { + "id": 52, + "type": { + "path": [ + "pallet_treasury", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Proposed", + "fields": [ + { + "name": "proposal_index", + "type": 4, + "typeName": "ProposalIndex" + } + ], + "index": 0, + "docs": [ + "New proposal." + ] + }, + { + "name": "Spending", + "fields": [ + { + "name": "budget_remaining", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "We have ended a spend period and will now allocate funds." + ] + }, + { + "name": "Awarded", + "fields": [ + { + "name": "proposal_index", + "type": 4, + "typeName": "ProposalIndex" + }, + { + "name": "award", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 2, + "docs": [ + "Some funds have been allocated." + ] + }, + { + "name": "Rejected", + "fields": [ + { + "name": "proposal_index", + "type": 4, + "typeName": "ProposalIndex" + }, + { + "name": "slashed", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 3, + "docs": [ + "A proposal was rejected; funds were slashed." + ] + }, + { + "name": "Burnt", + "fields": [ + { + "name": "burnt_funds", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 4, + "docs": [ + "Some of our funds have been burnt." + ] + }, + { + "name": "Rollover", + "fields": [ + { + "name": "rollover_balance", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 5, + "docs": [ + "Spending has finished; this is the amount that rolls over until next spend." + ] + }, + { + "name": "Deposit", + "fields": [ + { + "name": "value", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 6, + "docs": [ + "Some funds have been deposited." + ] + }, + { + "name": "SpendApproved", + "fields": [ + { + "name": "proposal_index", + "type": 4, + "typeName": "ProposalIndex" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "beneficiary", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 7, + "docs": [ + "A new spend proposal has been approved." + ] + }, + { + "name": "UpdatedInactive", + "fields": [ + { + "name": "reactivated", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "deactivated", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 8, + "docs": [ + "The inactive funds of the pallet have been updated." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 53, + "type": { + "path": [ + "pallet_transaction_payment", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "TransactionFeePaid", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "actual_fee", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "tip", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 0, + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 54, + "type": { + "path": [ + "pallet_sudo", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Sudid", + "fields": [ + { + "name": "sudo_result", + "type": 55, + "typeName": "DispatchResult" + } + ], + "index": 0, + "docs": [ + "A sudo just took place. \\[result\\]" + ] + }, + { + "name": "KeyChanged", + "fields": [ + { + "name": "old_sudoer", + "type": 36, + "typeName": "Option" + } + ], + "index": 1, + "docs": [ + "The \\[sudoer\\] just switched identity; the old key is supplied if one existed." + ] + }, + { + "name": "SudoAsDone", + "fields": [ + { + "name": "sudo_result", + "type": 55, + "typeName": "DispatchResult" + } + ], + "index": 2, + "docs": [ + "A sudo just took place. \\[result\\]" + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 55, + "type": { + "path": [ + "Result" + ], + "params": [ + { + "name": "T", + "type": 56 + }, + { + "name": "E", + "type": 25 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Ok", + "fields": [ + { + "type": 56 + } + ], + "index": 0 + }, + { + "name": "Err", + "fields": [ + { + "type": 25 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 56, + "type": { + "def": { + "tuple": [] + } + } + }, + { + "id": 57, + "type": { + "path": [ + "pallet_im_online", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "HeartbeatReceived", + "fields": [ + { + "name": "authority_id", + "type": 58, + "typeName": "T::AuthorityId" + } + ], + "index": 0, + "docs": [ + "A new heartbeat was received from `AuthorityId`." + ] + }, + { + "name": "AllGood", + "index": 1, + "docs": [ + "At the end of the session, no offence was committed." + ] + }, + { + "name": "SomeOffline", + "fields": [ + { + "name": "offline", + "type": 60, + "typeName": "Vec>" + } + ], + "index": 2, + "docs": [ + "At the end of the session, at least one validator was found to be offline." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 58, + "type": { + "path": [ + "pallet_im_online", + "sr25519", + "app_sr25519", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 59, + "typeName": "sr25519::Public" + } + ] + } + } + } + }, + { + "id": 59, + "type": { + "path": [ + "sp_core", + "sr25519", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ] + } + } + } + }, + { + "id": 60, + "type": { + "def": { + "sequence": { + "type": 61 + } + } + } + }, + { + "id": 61, + "type": { + "def": { + "tuple": [ + 0, + 62 + ] + } + } + }, + { + "id": 62, + "type": { + "path": [ + "pallet_staking", + "Exposure" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "total", + "type": 63, + "typeName": "Balance" + }, + { + "name": "own", + "type": 63, + "typeName": "Balance" + }, + { + "name": "others", + "type": 64, + "typeName": "Vec>" + } + ] + } + } + } + }, + { + "id": 63, + "type": { + "def": { + "compact": { + "type": 6 + } + } + } + }, + { + "id": 64, + "type": { + "def": { + "sequence": { + "type": 65 + } + } + } + }, + { + "id": 65, + "type": { + "path": [ + "pallet_staking", + "IndividualExposure" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "value", + "type": 63, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 66, + "type": { + "path": [ + "pallet_bags_list", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Rebagged", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "from", + "type": 11, + "typeName": "T::Score" + }, + { + "name": "to", + "type": 11, + "typeName": "T::Score" + } + ], + "index": 0, + "docs": [ + "Moved an account from one bag to another." + ] + }, + { + "name": "ScoreUpdated", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "new_score", + "type": 11, + "typeName": "T::Score" + } + ], + "index": 1, + "docs": [ + "Updated the score of some account to the given amount." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 67, + "type": { + "path": [ + "pallet_nomination_pools", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Created", + "fields": [ + { + "name": "creator", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "capacity", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 0, + "docs": [ + "A pool has been created." + ] + }, + { + "name": "Bonded", + "fields": [ + { + "name": "member", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "bonded", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "A member has became bonded in a pool." + ] + }, + { + "name": "Unbonded", + "fields": [ + { + "name": "member", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The member that unbonded" + ] + }, + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId", + "docs": [ + "The id of the pool unbonded from" + ] + }, + { + "name": "balance", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "the corresponding balance of the number of points that has been requested to be", + "unbonded (the argument of the `unbond` transaction) from the bonded pool." + ] + }, + { + "name": "points", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "the number of points that are issued as a result of `balance` being dissolved into", + "the corresponding unbonding pool." + ] + }, + { + "name": "era", + "type": 4, + "typeName": "EraIndex", + "docs": [ + "the era in which the balance will be unbonded. In the absence of slashing,", + "these values will match. In the presence of slashing, the number of points that are", + "issued in the unbonding pool will be less than the amount requested to be unbonded." + ] + } + ], + "index": 2, + "docs": [ + "A member has unbonded from their pool." + ] + }, + { + "name": "Withdrawn", + "fields": [ + { + "name": "member", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "balance", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "points", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 3, + "docs": [ + "A member has withdrawn from their pool.", + "", + "The given number of `points` have been dissolved in return of `balance`.", + "", + "Similar to `Unbonded` event, in the absence of slashing, the ratio of point to balance", + "will be 1." + ] + }, + { + "name": "Destroyed", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + } + ], + "index": 4, + "docs": [ + "A pool has been destroyed." + ] + }, + { + "name": "StateChanged", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "new_state", + "type": 68, + "typeName": "PoolState" + } + ], + "index": 5, + "docs": [ + "The state of a pool has changed" + ] + }, + { + "name": "PoolSlashed", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "balance", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 6, + "docs": [ + "The active balance of pool `pool_id` has been slashed to `balance`." + ] + }, + { + "name": "UnbondingPoolSlashed", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "era", + "type": 4, + "typeName": "EraIndex" + }, + { + "name": "balance", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 7, + "docs": [ + "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`." + ] + }, + { + "name": "CommissionUpdated", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "current", + "type": 69, + "typeName": "Option" + } + ], + "index": 8, + "docs": [ + "A pool's commission rate has been changed." + ] + }, + { + "name": "EraRewardsProcessed", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId", + "docs": [ + "The id of the pool" + ] + }, + { + "name": "era", + "type": 4, + "typeName": "EraIndex", + "docs": [ + "The era that was processed." + ] + }, + { + "name": "commission", + "type": 70, + "typeName": "Option>", + "docs": [ + "The commission that was paid" + ] + }, + { + "name": "bonus", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount of bonus that was unlocked" + ] + }, + { + "name": "reinvested", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount that was bonded" + ] + }, + { + "name": "bonus_cycle_ended", + "type": 37, + "typeName": "bool", + "docs": [ + "The current bonus cycle ended" + ] + } + ], + "index": 9, + "docs": [ + "This event happens once per era on the previous era that rewards are paid out for. It", + "pays commission, distributes bonus, and reinvests rewards." + ] + }, + { + "name": "RewardPaid", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId", + "docs": [ + "The id of the pool" + ] + }, + { + "name": "era", + "type": 4, + "typeName": "EraIndex", + "docs": [ + "The era that was processed." + ] + }, + { + "name": "validator_stash", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The validator that the payment was received from" + ] + }, + { + "name": "reward", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount added to the pool's reward account" + ] + }, + { + "name": "bonus", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount that was added to the pool's bonus account" + ] + } + ], + "index": 10, + "docs": [ + "Rewards were paid to a pool" + ] + }, + { + "name": "PoolMutated", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "mutation", + "type": 72, + "typeName": "PoolMutationOf" + } + ], + "index": 11, + "docs": [ + "Pool has been mutated." + ] + }, + { + "name": "Nominated", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId", + "docs": [ + "The id of the pool" + ] + }, + { + "name": "validators", + "type": 78, + "typeName": "Vec", + "docs": [ + "The validators that were nominated" + ] + } + ], + "index": 12, + "docs": [ + "A nomination took place" + ] + }, + { + "name": "EarlyBirdBonusQueued", + "fields": [ + { + "name": "total_amount", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The total amount to be distributed" + ] + } + ], + "index": 13 + }, + { + "name": "EarlyBirdBonusDistributed", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId", + "docs": [ + "The id of the pool" + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount distributed" + ] + } + ], + "index": 14, + "docs": [ + "The early bird bonus has been distributed" + ] + } + ] + } + }, + "docs": [ + "Events of this pallet." + ] + } + }, + { + "id": 68, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "PoolState" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Open", + "index": 0 + }, + { + "name": "Destroying", + "index": 1 + } + ] + } + } + } + }, + { + "id": 69, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 42 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 42 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 70, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 71 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 71 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 71, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "CommissionPayment" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "beneficiary", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 72, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "PoolMutation" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "duration", + "type": 73, + "typeName": "Option" + }, + { + "name": "new_commission", + "type": 74, + "typeName": "ShouldMutate>" + }, + { + "name": "max_commission", + "type": 69, + "typeName": "Option" + }, + { + "name": "change_rate", + "type": 75, + "typeName": "Option>" + }, + { + "name": "capacity", + "type": 77, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 73, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 4 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 74, + "type": { + "path": [ + "ep_multi_tokens", + "types", + "ShouldMutate" + ], + "params": [ + { + "name": "T", + "type": 69 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NoMutation", + "index": 0 + }, + { + "name": "SomeMutation", + "fields": [ + { + "type": 69, + "typeName": "T" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 75, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 76 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 76 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 76, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "CommissionChangeRate" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "max_delta", + "type": 42, + "typeName": "Perbill" + }, + { + "name": "min_delay", + "type": 4, + "typeName": "BlockNumber" + } + ] + } + } + } + }, + { + "id": 77, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 6 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 78, + "type": { + "def": { + "sequence": { + "type": 0 + } + } + } + }, + { + "id": 79, + "type": { + "path": [ + "pallet_stake_exchange", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "OfferCreated", + "fields": [ + { + "name": "offer_id", + "type": 6, + "typeName": "T::OfferId", + "docs": [ + "ID of the offer" + ] + }, + { + "name": "offer", + "type": 80, + "typeName": "OfferOf", + "docs": [ + "The offer that was placed" + ] + } + ], + "index": 0, + "docs": [ + "A offer was placed" + ] + }, + { + "name": "OfferCancelled", + "fields": [ + { + "name": "offer_id", + "type": 6, + "typeName": "T::OfferId", + "docs": [ + "ID of the offer" + ] + } + ], + "index": 1, + "docs": [ + "A offer was cancelled" + ] + }, + { + "name": "LiquidityConfigUpdated", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "ID of the offer" + ] + }, + { + "name": "config", + "type": 81, + "typeName": "LiquidityAccountConfigOf", + "docs": [ + "The offer that was placed" + ] + } + ], + "index": 2, + "docs": [ + "Liquidity config was set for account" + ] + }, + { + "name": "LiquidityWithdrawn", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "ID of the account" + ] + }, + { + "name": "offer_id", + "type": 6, + "typeName": "T::OfferId", + "docs": [ + "ID of the offer" + ] + } + ], + "index": 3, + "docs": [ + "Liquidity was withdrawn from a offer" + ] + }, + { + "name": "LiquidityAdded", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "ID of the account" + ] + }, + { + "name": "offer_id", + "type": 6, + "typeName": "T::OfferId", + "docs": [ + "ID of the offer" + ] + } + ], + "index": 4, + "docs": [ + "Liquidity was added to a offer" + ] + }, + { + "name": "BuyOrderCompleted", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "AccountId of the buyer" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "TokenIdOf", + "docs": [ + "The tokenId that was exchanged" + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount of tokens transferred" + ] + }, + { + "name": "rate", + "type": 42, + "typeName": "Rate", + "docs": [ + "The rate at which the order was completed" + ] + } + ], + "index": 5, + "docs": [ + "Buy order was completed" + ] + }, + { + "name": "OfferCompleted", + "fields": [ + { + "name": "offer_id", + "type": 6, + "typeName": "T::OfferId", + "docs": [ + "ID of the offer" + ] + } + ], + "index": 6, + "docs": [ + "A offer was completed and removed" + ] + } + ] + } + }, + "docs": [ + "The pallet's event type." + ] + } + }, + { + "id": 80, + "type": { + "path": [ + "pallet_stake_exchange", + "types", + "Offer" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "total", + "type": 63, + "typeName": "Balance" + }, + { + "name": "rate", + "type": 44, + "typeName": "Rate" + }, + { + "name": "min_average_reward_rate", + "type": 42, + "typeName": "Rate" + }, + { + "name": "deposit", + "type": 63, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 81, + "type": { + "path": [ + "pallet_stake_exchange", + "types", + "LiquidityAccountConfig" + ], + "params": [ + { + "name": "TokenId", + "type": 6 + }, + { + "name": "MaxFilteredTokenCount", + "type": 82 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "token_filter", + "type": 83, + "typeName": "TokenFilter" + } + ] + } + } + } + }, + { + "id": 82, + "type": { + "path": [ + "enjin_runtime", + "MaxFilteredTokenCount" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 83, + "type": { + "path": [ + "pallet_stake_exchange", + "types", + "TokenFilter" + ], + "params": [ + { + "name": "TokenId", + "type": 6 + }, + { + "name": "MaxFilteredTokenCount", + "type": 82 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "All", + "index": 0 + }, + { + "name": "Whitelist", + "fields": [ + { + "type": 84, + "typeName": "BoundedBTreeSet" + } + ], + "index": 1 + }, + { + "name": "BlockList", + "fields": [ + { + "type": 84, + "typeName": "BoundedBTreeSet" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 84, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_set", + "BoundedBTreeSet" + ], + "params": [ + { + "name": "T", + "type": 6 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 85, + "typeName": "BTreeSet" + } + ] + } + } + } + }, + { + "id": 85, + "type": { + "path": [ + "BTreeSet" + ], + "params": [ + { + "name": "T", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 86 + } + ] + } + } + } + }, + { + "id": 86, + "type": { + "def": { + "sequence": { + "type": 6 + } + } + } + }, + { + "id": 87, + "type": { + "path": [ + "pallet_utility", + "pallet", + "Event" + ], + "def": { + "variant": { + "variants": [ + { + "name": "BatchInterrupted", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "u32" + }, + { + "name": "error", + "type": 25, + "typeName": "DispatchError" + } + ], + "index": 0, + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ] + }, + { + "name": "BatchCompleted", + "index": 1, + "docs": [ + "Batch of dispatches completed fully with no error." + ] + }, + { + "name": "BatchCompletedWithErrors", + "index": 2, + "docs": [ + "Batch of dispatches completed but has errors." + ] + }, + { + "name": "ItemCompleted", + "index": 3, + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ] + }, + { + "name": "ItemFailed", + "fields": [ + { + "name": "error", + "type": 25, + "typeName": "DispatchError" + } + ], + "index": 4, + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ] + }, + { + "name": "DispatchedAs", + "fields": [ + { + "name": "result", + "type": 55, + "typeName": "DispatchResult" + } + ], + "index": 5, + "docs": [ + "A call was dispatched." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 88, + "type": { + "path": [ + "pallet_multisig", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NewMultisig", + "fields": [ + { + "name": "approving", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "multisig", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "call_hash", + "type": 1, + "typeName": "CallHash" + } + ], + "index": 0, + "docs": [ + "A new multisig operation has begun." + ] + }, + { + "name": "MultisigApproval", + "fields": [ + { + "name": "approving", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "timepoint", + "type": 89, + "typeName": "Timepoint" + }, + { + "name": "multisig", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "call_hash", + "type": 1, + "typeName": "CallHash" + } + ], + "index": 1, + "docs": [ + "A multisig operation has been approved by someone." + ] + }, + { + "name": "MultisigExecuted", + "fields": [ + { + "name": "approving", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "timepoint", + "type": 89, + "typeName": "Timepoint" + }, + { + "name": "multisig", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "call_hash", + "type": 1, + "typeName": "CallHash" + }, + { + "name": "result", + "type": 55, + "typeName": "DispatchResult" + } + ], + "index": 2, + "docs": [ + "A multisig operation has been executed." + ] + }, + { + "name": "MultisigCancelled", + "fields": [ + { + "name": "cancelling", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "timepoint", + "type": 89, + "typeName": "Timepoint" + }, + { + "name": "multisig", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "call_hash", + "type": 1, + "typeName": "CallHash" + } + ], + "index": 3, + "docs": [ + "A multisig operation has been cancelled." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 89, + "type": { + "path": [ + "pallet_multisig", + "Timepoint" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "height", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "index", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 90, + "type": { + "path": [ + "polkadot_runtime_parachains", + "inclusion", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "CandidateBacked", + "fields": [ + { + "type": 91, + "typeName": "CandidateReceipt" + }, + { + "type": 99, + "typeName": "HeadData" + }, + { + "type": 100, + "typeName": "CoreIndex" + }, + { + "type": 101, + "typeName": "GroupIndex" + } + ], + "index": 0, + "docs": [ + "A candidate was backed. `[candidate, head_data]`" + ] + }, + { + "name": "CandidateIncluded", + "fields": [ + { + "type": 91, + "typeName": "CandidateReceipt" + }, + { + "type": 99, + "typeName": "HeadData" + }, + { + "type": 100, + "typeName": "CoreIndex" + }, + { + "type": 101, + "typeName": "GroupIndex" + } + ], + "index": 1, + "docs": [ + "A candidate was included. `[candidate, head_data]`" + ] + }, + { + "name": "CandidateTimedOut", + "fields": [ + { + "type": 91, + "typeName": "CandidateReceipt" + }, + { + "type": 99, + "typeName": "HeadData" + }, + { + "type": 100, + "typeName": "CoreIndex" + } + ], + "index": 2, + "docs": [ + "A candidate timed out. `[candidate, head_data]`" + ] + }, + { + "name": "UpwardMessagesReceived", + "fields": [ + { + "name": "from", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "count", + "type": 4, + "typeName": "u32" + } + ], + "index": 3, + "docs": [ + "Some upward messages have been received and will be processed." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 91, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "CandidateReceipt" + ], + "params": [ + { + "name": "H", + "type": 12 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "descriptor", + "type": 92, + "typeName": "CandidateDescriptor" + }, + { + "name": "commitments_hash", + "type": 12, + "typeName": "Hash" + } + ] + } + } + } + }, + { + "id": 92, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "CandidateDescriptor" + ], + "params": [ + { + "name": "H", + "type": 12 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "para_id", + "type": 93, + "typeName": "Id" + }, + { + "name": "relay_parent", + "type": 12, + "typeName": "H" + }, + { + "name": "collator", + "type": 94, + "typeName": "CollatorId" + }, + { + "name": "persisted_validation_data_hash", + "type": 12, + "typeName": "Hash" + }, + { + "name": "pov_hash", + "type": 12, + "typeName": "Hash" + }, + { + "name": "erasure_root", + "type": 12, + "typeName": "Hash" + }, + { + "name": "signature", + "type": 95, + "typeName": "CollatorSignature" + }, + { + "name": "para_head", + "type": 12, + "typeName": "Hash" + }, + { + "name": "validation_code_hash", + "type": 98, + "typeName": "ValidationCodeHash" + } + ] + } + } + } + }, + { + "id": 93, + "type": { + "path": [ + "polkadot_parachain", + "primitives", + "Id" + ], + "def": { + "composite": { + "fields": [ + { + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 94, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "collator_app", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 59, + "typeName": "sr25519::Public" + } + ] + } + } + } + }, + { + "id": 95, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "collator_app", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 96, + "typeName": "sr25519::Signature" + } + ] + } + } + } + }, + { + "id": 96, + "type": { + "path": [ + "sp_core", + "sr25519", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 97, + "typeName": "[u8; 64]" + } + ] + } + } + } + }, + { + "id": 97, + "type": { + "def": { + "array": { + "len": 64, + "type": 2 + } + } + } + }, + { + "id": 98, + "type": { + "path": [ + "polkadot_parachain", + "primitives", + "ValidationCodeHash" + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Hash" + } + ] + } + } + } + }, + { + "id": 99, + "type": { + "path": [ + "polkadot_parachain", + "primitives", + "HeadData" + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 100, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "CoreIndex" + ], + "def": { + "composite": { + "fields": [ + { + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 101, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "GroupIndex" + ], + "def": { + "composite": { + "fields": [ + { + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 102, + "type": { + "path": [ + "polkadot_runtime_parachains", + "paras", + "pallet", + "Event" + ], + "def": { + "variant": { + "variants": [ + { + "name": "CurrentCodeUpdated", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + } + ], + "index": 0, + "docs": [ + "Current code has been updated for a Para. `para_id`" + ] + }, + { + "name": "CurrentHeadUpdated", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + } + ], + "index": 1, + "docs": [ + "Current head has been updated for a Para. `para_id`" + ] + }, + { + "name": "CodeUpgradeScheduled", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + } + ], + "index": 2, + "docs": [ + "A code upgrade has been scheduled for a Para. `para_id`" + ] + }, + { + "name": "NewHeadNoted", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + } + ], + "index": 3, + "docs": [ + "A new head has been noted for a Para. `para_id`" + ] + }, + { + "name": "ActionQueued", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + }, + { + "type": 4, + "typeName": "SessionIndex" + } + ], + "index": 4, + "docs": [ + "A para has been queued to execute pending actions. `para_id`" + ] + }, + { + "name": "PvfCheckStarted", + "fields": [ + { + "type": 98, + "typeName": "ValidationCodeHash" + }, + { + "type": 93, + "typeName": "ParaId" + } + ], + "index": 5, + "docs": [ + "The given para either initiated or subscribed to a PVF check for the given validation", + "code. `code_hash` `para_id`" + ] + }, + { + "name": "PvfCheckAccepted", + "fields": [ + { + "type": 98, + "typeName": "ValidationCodeHash" + }, + { + "type": 93, + "typeName": "ParaId" + } + ], + "index": 6, + "docs": [ + "The given validation code was accepted by the PVF pre-checking vote.", + "`code_hash` `para_id`" + ] + }, + { + "name": "PvfCheckRejected", + "fields": [ + { + "type": 98, + "typeName": "ValidationCodeHash" + }, + { + "type": 93, + "typeName": "ParaId" + } + ], + "index": 7, + "docs": [ + "The given validation code was rejected by the PVF pre-checking vote.", + "`code_hash` `para_id`" + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 103, + "type": { + "path": [ + "polkadot_runtime_parachains", + "hrmp", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "OpenChannelRequested", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + }, + { + "type": 93, + "typeName": "ParaId" + }, + { + "type": 4, + "typeName": "u32" + }, + { + "type": 4, + "typeName": "u32" + } + ], + "index": 0, + "docs": [ + "Open HRMP channel requested.", + "`[sender, recipient, proposed_max_capacity, proposed_max_message_size]`" + ] + }, + { + "name": "OpenChannelCanceled", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + }, + { + "type": 104, + "typeName": "HrmpChannelId" + } + ], + "index": 1, + "docs": [ + "An HRMP channel request sent by the receiver was canceled by either party.", + "`[by_parachain, channel_id]`" + ] + }, + { + "name": "OpenChannelAccepted", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + }, + { + "type": 93, + "typeName": "ParaId" + } + ], + "index": 2, + "docs": [ + "Open HRMP channel accepted. `[sender, recipient]`" + ] + }, + { + "name": "ChannelClosed", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + }, + { + "type": 104, + "typeName": "HrmpChannelId" + } + ], + "index": 3, + "docs": [ + "HRMP channel closed. `[by_parachain, channel_id]`" + ] + }, + { + "name": "HrmpChannelForceOpened", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + }, + { + "type": 93, + "typeName": "ParaId" + }, + { + "type": 4, + "typeName": "u32" + }, + { + "type": 4, + "typeName": "u32" + } + ], + "index": 4, + "docs": [ + "An HRMP channel was opened via Root origin.", + "`[sender, recipient, proposed_max_capacity, proposed_max_message_size]`" + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 104, + "type": { + "path": [ + "polkadot_parachain", + "primitives", + "HrmpChannelId" + ], + "def": { + "composite": { + "fields": [ + { + "name": "sender", + "type": 93, + "typeName": "Id" + }, + { + "name": "recipient", + "type": 93, + "typeName": "Id" + } + ] + } + } + } + }, + { + "id": 105, + "type": { + "path": [ + "polkadot_runtime_parachains", + "disputes", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "DisputeInitiated", + "fields": [ + { + "type": 106, + "typeName": "CandidateHash" + }, + { + "type": 107, + "typeName": "DisputeLocation" + } + ], + "index": 0, + "docs": [ + "A dispute has been initiated. \\[candidate hash, dispute location\\]" + ] + }, + { + "name": "DisputeConcluded", + "fields": [ + { + "type": 106, + "typeName": "CandidateHash" + }, + { + "type": 108, + "typeName": "DisputeResult" + } + ], + "index": 1, + "docs": [ + "A dispute has concluded for or against a candidate.", + "`\\[para id, candidate hash, dispute result\\]`" + ] + }, + { + "name": "Revert", + "fields": [ + { + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 2, + "docs": [ + "A dispute has concluded with supermajority against a candidate.", + "Block authors should no longer build on top of this head and should", + "instead revert the block at the given height. This should be the", + "number of the child of the last known valid block in the chain." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 106, + "type": { + "path": [ + "polkadot_core_primitives", + "CandidateHash" + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Hash" + } + ] + } + } + } + }, + { + "id": 107, + "type": { + "path": [ + "polkadot_runtime_parachains", + "disputes", + "DisputeLocation" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Local", + "index": 0 + }, + { + "name": "Remote", + "index": 1 + } + ] + } + } + } + }, + { + "id": 108, + "type": { + "path": [ + "polkadot_runtime_parachains", + "disputes", + "DisputeResult" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Valid", + "index": 0 + }, + { + "name": "Invalid", + "index": 1 + } + ] + } + } + } + }, + { + "id": 109, + "type": { + "path": [ + "polkadot_runtime_common", + "paras_registrar", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Registered", + "fields": [ + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "manager", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 0 + }, + { + "name": "Deregistered", + "fields": [ + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 1 + }, + { + "name": "Reserved", + "fields": [ + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 2 + }, + { + "name": "Swapped", + "fields": [ + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "other_id", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 3 + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 110, + "type": { + "path": [ + "polkadot_runtime_common", + "slots", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NewLeasePeriod", + "fields": [ + { + "name": "lease_period", + "type": 4, + "typeName": "LeasePeriodOf" + } + ], + "index": 0, + "docs": [ + "A new `[lease_period]` is beginning." + ] + }, + { + "name": "Leased", + "fields": [ + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "leaser", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "period_begin", + "type": 4, + "typeName": "LeasePeriodOf" + }, + { + "name": "period_count", + "type": 4, + "typeName": "LeasePeriodOf" + }, + { + "name": "extra_reserved", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "total_amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "A para has won the right to a continuous set of lease periods as a parachain.", + "First balance is any extra amount reserved on top of the para's existing deposit.", + "Second balance is the total amount reserved." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 111, + "type": { + "path": [ + "polkadot_runtime_common", + "auctions", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "AuctionStarted", + "fields": [ + { + "name": "auction_index", + "type": 4, + "typeName": "AuctionIndex" + }, + { + "name": "lease_period", + "type": 4, + "typeName": "LeasePeriodOf" + }, + { + "name": "ending", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 0, + "docs": [ + "An auction started. Provides its index and the block number where it will begin to", + "close and the first lease period of the quadruplet that is auctioned." + ] + }, + { + "name": "AuctionClosed", + "fields": [ + { + "name": "auction_index", + "type": 4, + "typeName": "AuctionIndex" + } + ], + "index": 1, + "docs": [ + "An auction ended. All funds become unreserved." + ] + }, + { + "name": "Reserved", + "fields": [ + { + "name": "bidder", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "extra_reserved", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "total_amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 2, + "docs": [ + "Funds were reserved for a winning bid. First balance is the extra amount reserved.", + "Second is the total." + ] + }, + { + "name": "Unreserved", + "fields": [ + { + "name": "bidder", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 3, + "docs": [ + "Funds were unreserved since bidder is no longer active. `[bidder, amount]`" + ] + }, + { + "name": "ReserveConfiscated", + "fields": [ + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "leaser", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 4, + "docs": [ + "Someone attempted to lease the same slot twice for a parachain. The amount is held in reserve", + "but no parachain slot has been leased." + ] + }, + { + "name": "BidAccepted", + "fields": [ + { + "name": "bidder", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "first_slot", + "type": 4, + "typeName": "LeasePeriodOf" + }, + { + "name": "last_slot", + "type": 4, + "typeName": "LeasePeriodOf" + } + ], + "index": 5, + "docs": [ + "A new bid has been accepted as the current winner." + ] + }, + { + "name": "WinningOffset", + "fields": [ + { + "name": "auction_index", + "type": 4, + "typeName": "AuctionIndex" + }, + { + "name": "block_number", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 6, + "docs": [ + "The winning offset was chosen for an auction. This will map into the `Winning` storage map." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 112, + "type": { + "path": [ + "polkadot_runtime_common", + "crowdloan", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Created", + "fields": [ + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 0, + "docs": [ + "Create a new crowdloaning campaign." + ] + }, + { + "name": "Contributed", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "fund_index", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "Contributed to a crowd sale." + ] + }, + { + "name": "Withdrew", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "fund_index", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 2, + "docs": [ + "Withdrew full balance of a contributor." + ] + }, + { + "name": "PartiallyRefunded", + "fields": [ + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 3, + "docs": [ + "The loans in a fund have been partially dissolved, i.e. there are some left", + "over child keys that still need to be killed." + ] + }, + { + "name": "AllRefunded", + "fields": [ + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 4, + "docs": [ + "All loans in a fund have been refunded." + ] + }, + { + "name": "Dissolved", + "fields": [ + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 5, + "docs": [ + "Fund is dissolved." + ] + }, + { + "name": "HandleBidResult", + "fields": [ + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "result", + "type": 55, + "typeName": "DispatchResult" + } + ], + "index": 6, + "docs": [ + "The result of trying to submit a new bid to the Slots pallet." + ] + }, + { + "name": "Edited", + "fields": [ + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 7, + "docs": [ + "The configuration to a crowdloan has been edited." + ] + }, + { + "name": "MemoUpdated", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "memo", + "type": 13, + "typeName": "Vec" + } + ], + "index": 8, + "docs": [ + "A memo has been updated." + ] + }, + { + "name": "AddedToNewRaise", + "fields": [ + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 9, + "docs": [ + "A parachain has been moved to `NewRaise`" + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 113, + "type": { + "path": [ + "pallet_xcm", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Attempted", + "fields": [ + { + "type": 114, + "typeName": "xcm::latest::Outcome" + } + ], + "index": 0, + "docs": [ + "Execution of an XCM message was attempted.", + "", + "\\[ outcome \\]" + ] + }, + { + "name": "Sent", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 125, + "typeName": "Xcm<()>" + } + ], + "index": 1, + "docs": [ + "A XCM message was sent.", + "", + "\\[ origin, destination, message \\]" + ] + }, + { + "name": "UnexpectedResponse", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 11, + "typeName": "QueryId" + } + ], + "index": 2, + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out.", + "", + "\\[ origin location, id \\]" + ] + }, + { + "name": "ResponseReady", + "fields": [ + { + "type": 11, + "typeName": "QueryId" + }, + { + "type": 135, + "typeName": "Response" + } + ], + "index": 3, + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call.", + "", + "\\[ id, response \\]" + ] + }, + { + "name": "Notified", + "fields": [ + { + "type": 11, + "typeName": "QueryId" + }, + { + "type": 2, + "typeName": "u8" + }, + { + "type": 2, + "typeName": "u8" + } + ], + "index": 4, + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully.", + "", + "\\[ id, pallet index, call index \\]" + ] + }, + { + "name": "NotifyOverweight", + "fields": [ + { + "type": 11, + "typeName": "QueryId" + }, + { + "type": 2, + "typeName": "u8" + }, + { + "type": 2, + "typeName": "u8" + }, + { + "type": 9, + "typeName": "Weight" + }, + { + "type": 9, + "typeName": "Weight" + } + ], + "index": 5, + "docs": [ + "Query response has been received and query is removed. The registered notification could", + "not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result.", + "", + "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" + ] + }, + { + "name": "NotifyDispatchError", + "fields": [ + { + "type": 11, + "typeName": "QueryId" + }, + { + "type": 2, + "typeName": "u8" + }, + { + "type": 2, + "typeName": "u8" + } + ], + "index": 6, + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call.", + "", + "\\[ id, pallet index, call index \\]" + ] + }, + { + "name": "NotifyDecodeFailed", + "fields": [ + { + "type": 11, + "typeName": "QueryId" + }, + { + "type": 2, + "typeName": "u8" + }, + { + "type": 2, + "typeName": "u8" + } + ], + "index": 7, + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`.", + "", + "\\[ id, pallet index, call index \\]" + ] + }, + { + "name": "InvalidResponder", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 11, + "typeName": "QueryId" + }, + { + "type": 144, + "typeName": "Option" + } + ], + "index": 8, + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected location \\]" + ] + }, + { + "name": "InvalidResponderVersion", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 11, + "typeName": "QueryId" + } + ], + "index": 9, + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ] + }, + { + "name": "ResponseTaken", + "fields": [ + { + "type": 11, + "typeName": "QueryId" + } + ], + "index": 10, + "docs": [ + "Received query response has been read and removed.", + "", + "\\[ id \\]" + ] + }, + { + "name": "AssetsTrapped", + "fields": [ + { + "type": 12, + "typeName": "H256" + }, + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 152, + "typeName": "VersionedMultiAssets" + } + ], + "index": 11, + "docs": [ + "Some assets have been placed in an asset trap.", + "", + "\\[ hash, origin, assets \\]" + ] + }, + { + "name": "VersionChangeNotified", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 4, + "typeName": "XcmVersion" + }, + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 12, + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "The cost of sending it (borne by the chain) is included.", + "", + "\\[ destination, result, cost \\]" + ] + }, + { + "name": "SupportedVersionChanged", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 4, + "typeName": "XcmVersion" + } + ], + "index": 13, + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention.", + "", + "\\[ location, XCM version \\]" + ] + }, + { + "name": "NotifyTargetSendFail", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 11, + "typeName": "QueryId" + }, + { + "type": 115, + "typeName": "XcmError" + } + ], + "index": 14, + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it.", + "", + "\\[ location, query ID, error \\]" + ] + }, + { + "name": "NotifyTargetMigrationFail", + "fields": [ + { + "type": 166, + "typeName": "VersionedMultiLocation" + }, + { + "type": 11, + "typeName": "QueryId" + } + ], + "index": 15, + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format.", + "", + "\\[ location, query ID \\]" + ] + }, + { + "name": "InvalidQuerierVersion", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 11, + "typeName": "QueryId" + } + ], + "index": 16, + "docs": [ + "Expected query response has been received but the expected querier location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ] + }, + { + "name": "InvalidQuerier", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 11, + "typeName": "QueryId" + }, + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 144, + "typeName": "Option" + } + ], + "index": 17, + "docs": [ + "Expected query response has been received but the querier location of the response does", + "not match the expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected querier, maybe actual querier \\]" + ] + }, + { + "name": "VersionNotifyStarted", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 18, + "docs": [ + "A remote has requested XCM version change notification from us and we have honored it.", + "A version information message is sent to them and its cost is included.", + "", + "\\[ destination location, cost \\]" + ] + }, + { + "name": "VersionNotifyRequested", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 19, + "docs": [ + "We have requested that a remote chain sends us XCM version change notifications.", + "", + "\\[ destination location, cost \\]" + ] + }, + { + "name": "VersionNotifyUnrequested", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 20, + "docs": [ + "We have requested that a remote chain stops sending us XCM version change notifications.", + "", + "\\[ destination location, cost \\]" + ] + }, + { + "name": "FeesPaid", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 21, + "docs": [ + "Fees were paid from a location for an operation (often for using `SendXcm`).", + "", + "\\[ paying location, fees \\]" + ] + }, + { + "name": "AssetsClaimed", + "fields": [ + { + "type": 12, + "typeName": "H256" + }, + { + "type": 116, + "typeName": "MultiLocation" + }, + { + "type": 152, + "typeName": "VersionedMultiAssets" + } + ], + "index": 22, + "docs": [ + "Some assets have been claimed from an asset trap", + "", + "\\[ hash, origin, assets \\]" + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 114, + "type": { + "path": [ + "xcm", + "v3", + "traits", + "Outcome" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Complete", + "fields": [ + { + "type": 9, + "typeName": "Weight" + } + ], + "index": 0 + }, + { + "name": "Incomplete", + "fields": [ + { + "type": 9, + "typeName": "Weight" + }, + { + "type": 115, + "typeName": "Error" + } + ], + "index": 1 + }, + { + "name": "Error", + "fields": [ + { + "type": 115, + "typeName": "Error" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 115, + "type": { + "path": [ + "xcm", + "v3", + "traits", + "Error" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Overflow", + "index": 0 + }, + { + "name": "Unimplemented", + "index": 1 + }, + { + "name": "UntrustedReserveLocation", + "index": 2 + }, + { + "name": "UntrustedTeleportLocation", + "index": 3 + }, + { + "name": "LocationFull", + "index": 4 + }, + { + "name": "LocationNotInvertible", + "index": 5 + }, + { + "name": "BadOrigin", + "index": 6 + }, + { + "name": "InvalidLocation", + "index": 7 + }, + { + "name": "AssetNotFound", + "index": 8 + }, + { + "name": "FailedToTransactAsset", + "index": 9 + }, + { + "name": "NotWithdrawable", + "index": 10 + }, + { + "name": "LocationCannotHold", + "index": 11 + }, + { + "name": "ExceedsMaxMessageSize", + "index": 12 + }, + { + "name": "DestinationUnsupported", + "index": 13 + }, + { + "name": "Transport", + "index": 14 + }, + { + "name": "Unroutable", + "index": 15 + }, + { + "name": "UnknownClaim", + "index": 16 + }, + { + "name": "FailedToDecode", + "index": 17 + }, + { + "name": "MaxWeightInvalid", + "index": 18 + }, + { + "name": "NotHoldingFees", + "index": 19 + }, + { + "name": "TooExpensive", + "index": 20 + }, + { + "name": "Trap", + "fields": [ + { + "type": 11, + "typeName": "u64" + } + ], + "index": 21 + }, + { + "name": "ExpectationFalse", + "index": 22 + }, + { + "name": "PalletNotFound", + "index": 23 + }, + { + "name": "NameMismatch", + "index": 24 + }, + { + "name": "VersionIncompatible", + "index": 25 + }, + { + "name": "HoldingWouldOverflow", + "index": 26 + }, + { + "name": "ExportError", + "index": 27 + }, + { + "name": "ReanchorFailed", + "index": 28 + }, + { + "name": "NoDeal", + "index": 29 + }, + { + "name": "FeesNotMet", + "index": 30 + }, + { + "name": "LockError", + "index": 31 + }, + { + "name": "NoPermission", + "index": 32 + }, + { + "name": "Unanchored", + "index": 33 + }, + { + "name": "NotDepositable", + "index": 34 + }, + { + "name": "UnhandledXcmVersion", + "index": 35 + }, + { + "name": "WeightLimitReached", + "fields": [ + { + "type": 9, + "typeName": "Weight" + } + ], + "index": 36 + }, + { + "name": "Barrier", + "index": 37 + }, + { + "name": "WeightNotComputable", + "index": 38 + }, + { + "name": "ExceedsStackLimit", + "index": 39 + } + ] + } + } + } + }, + { + "id": 116, + "type": { + "path": [ + "xcm", + "v3", + "multilocation", + "MultiLocation" + ], + "def": { + "composite": { + "fields": [ + { + "name": "parents", + "type": 2, + "typeName": "u8" + }, + { + "name": "interior", + "type": 117, + "typeName": "Junctions" + } + ] + } + } + } + }, + { + "id": 117, + "type": { + "path": [ + "xcm", + "v3", + "junctions", + "Junctions" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Here", + "index": 0 + }, + { + "name": "X1", + "fields": [ + { + "type": 118, + "typeName": "Junction" + } + ], + "index": 1 + }, + { + "name": "X2", + "fields": [ + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + } + ], + "index": 2 + }, + { + "name": "X3", + "fields": [ + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + } + ], + "index": 3 + }, + { + "name": "X4", + "fields": [ + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + } + ], + "index": 4 + }, + { + "name": "X5", + "fields": [ + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + } + ], + "index": 5 + }, + { + "name": "X6", + "fields": [ + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + } + ], + "index": 6 + }, + { + "name": "X7", + "fields": [ + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + } + ], + "index": 7 + }, + { + "name": "X8", + "fields": [ + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + }, + { + "type": 118, + "typeName": "Junction" + } + ], + "index": 8 + } + ] + } + } + } + }, + { + "id": 118, + "type": { + "path": [ + "xcm", + "v3", + "junction", + "Junction" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Parachain", + "fields": [ + { + "type": 119, + "typeName": "u32" + } + ], + "index": 0 + }, + { + "name": "AccountId32", + "fields": [ + { + "name": "network", + "type": 120, + "typeName": "Option" + }, + { + "name": "id", + "type": 1, + "typeName": "[u8; 32]" + } + ], + "index": 1 + }, + { + "name": "AccountIndex64", + "fields": [ + { + "name": "network", + "type": 120, + "typeName": "Option" + }, + { + "name": "index", + "type": 10, + "typeName": "u64" + } + ], + "index": 2 + }, + { + "name": "AccountKey20", + "fields": [ + { + "name": "network", + "type": 120, + "typeName": "Option" + }, + { + "name": "key", + "type": 122, + "typeName": "[u8; 20]" + } + ], + "index": 3 + }, + { + "name": "PalletInstance", + "fields": [ + { + "type": 2, + "typeName": "u8" + } + ], + "index": 4 + }, + { + "name": "GeneralIndex", + "fields": [ + { + "type": 63, + "typeName": "u128" + } + ], + "index": 5 + }, + { + "name": "GeneralKey", + "fields": [ + { + "name": "length", + "type": 2, + "typeName": "u8" + }, + { + "name": "data", + "type": 1, + "typeName": "[u8; 32]" + } + ], + "index": 6 + }, + { + "name": "OnlyChild", + "index": 7 + }, + { + "name": "Plurality", + "fields": [ + { + "name": "id", + "type": 123, + "typeName": "BodyId" + }, + { + "name": "part", + "type": 124, + "typeName": "BodyPart" + } + ], + "index": 8 + }, + { + "name": "GlobalConsensus", + "fields": [ + { + "type": 121, + "typeName": "NetworkId" + } + ], + "index": 9 + } + ] + } + } + } + }, + { + "id": 119, + "type": { + "def": { + "compact": { + "type": 4 + } + } + } + }, + { + "id": 120, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 121 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 121 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 121, + "type": { + "path": [ + "xcm", + "v3", + "junction", + "NetworkId" + ], + "def": { + "variant": { + "variants": [ + { + "name": "ByGenesis", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ], + "index": 0 + }, + { + "name": "ByFork", + "fields": [ + { + "name": "block_number", + "type": 11, + "typeName": "u64" + }, + { + "name": "block_hash", + "type": 1, + "typeName": "[u8; 32]" + } + ], + "index": 1 + }, + { + "name": "Polkadot", + "index": 2 + }, + { + "name": "Kusama", + "index": 3 + }, + { + "name": "Westend", + "index": 4 + }, + { + "name": "Rococo", + "index": 5 + }, + { + "name": "Wococo", + "index": 6 + }, + { + "name": "Ethereum", + "fields": [ + { + "name": "chain_id", + "type": 10, + "typeName": "u64" + } + ], + "index": 7 + }, + { + "name": "BitcoinCore", + "index": 8 + }, + { + "name": "BitcoinCash", + "index": 9 + } + ] + } + } + } + }, + { + "id": 122, + "type": { + "def": { + "array": { + "len": 20, + "type": 2 + } + } + } + }, + { + "id": 123, + "type": { + "path": [ + "xcm", + "v3", + "junction", + "BodyId" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Unit", + "index": 0 + }, + { + "name": "Moniker", + "fields": [ + { + "type": 17, + "typeName": "[u8; 4]" + } + ], + "index": 1 + }, + { + "name": "Index", + "fields": [ + { + "type": 119, + "typeName": "u32" + } + ], + "index": 2 + }, + { + "name": "Executive", + "index": 3 + }, + { + "name": "Technical", + "index": 4 + }, + { + "name": "Legislative", + "index": 5 + }, + { + "name": "Judicial", + "index": 6 + }, + { + "name": "Defense", + "index": 7 + }, + { + "name": "Administration", + "index": 8 + }, + { + "name": "Treasury", + "index": 9 + } + ] + } + } + } + }, + { + "id": 124, + "type": { + "path": [ + "xcm", + "v3", + "junction", + "BodyPart" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Voice", + "index": 0 + }, + { + "name": "Members", + "fields": [ + { + "name": "count", + "type": 119, + "typeName": "u32" + } + ], + "index": 1 + }, + { + "name": "Fraction", + "fields": [ + { + "name": "nom", + "type": 119, + "typeName": "u32" + }, + { + "name": "denom", + "type": 119, + "typeName": "u32" + } + ], + "index": 2 + }, + { + "name": "AtLeastProportion", + "fields": [ + { + "name": "nom", + "type": 119, + "typeName": "u32" + }, + { + "name": "denom", + "type": 119, + "typeName": "u32" + } + ], + "index": 3 + }, + { + "name": "MoreThanProportion", + "fields": [ + { + "name": "nom", + "type": 119, + "typeName": "u32" + }, + { + "name": "denom", + "type": 119, + "typeName": "u32" + } + ], + "index": 4 + } + ] + } + } + } + }, + { + "id": 125, + "type": { + "path": [ + "xcm", + "v3", + "Xcm" + ], + "params": [ + { + "name": "Call", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 126, + "typeName": "Vec>" + } + ] + } + } + } + }, + { + "id": 126, + "type": { + "def": { + "sequence": { + "type": 127 + } + } + } + }, + { + "id": 127, + "type": { + "path": [ + "xcm", + "v3", + "Instruction" + ], + "params": [ + { + "name": "Call", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "WithdrawAsset", + "fields": [ + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 0 + }, + { + "name": "ReserveAssetDeposited", + "fields": [ + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 1 + }, + { + "name": "ReceiveTeleportedAsset", + "fields": [ + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 2 + }, + { + "name": "QueryResponse", + "fields": [ + { + "name": "query_id", + "type": 10, + "typeName": "QueryId" + }, + { + "name": "response", + "type": 135, + "typeName": "Response" + }, + { + "name": "max_weight", + "type": 9, + "typeName": "Weight" + }, + { + "name": "querier", + "type": 144, + "typeName": "Option" + } + ], + "index": 3 + }, + { + "name": "TransferAsset", + "fields": [ + { + "name": "assets", + "type": 128, + "typeName": "MultiAssets" + }, + { + "name": "beneficiary", + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 4 + }, + { + "name": "TransferReserveAsset", + "fields": [ + { + "name": "assets", + "type": 128, + "typeName": "MultiAssets" + }, + { + "name": "dest", + "type": 116, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 125, + "typeName": "Xcm<()>" + } + ], + "index": 5 + }, + { + "name": "Transact", + "fields": [ + { + "name": "origin_kind", + "type": 145, + "typeName": "OriginKind" + }, + { + "name": "require_weight_at_most", + "type": 9, + "typeName": "Weight" + }, + { + "name": "call", + "type": 146, + "typeName": "DoubleEncoded" + } + ], + "index": 6 + }, + { + "name": "HrmpNewChannelOpenRequest", + "fields": [ + { + "name": "sender", + "type": 119, + "typeName": "u32" + }, + { + "name": "max_message_size", + "type": 119, + "typeName": "u32" + }, + { + "name": "max_capacity", + "type": 119, + "typeName": "u32" + } + ], + "index": 7 + }, + { + "name": "HrmpChannelAccepted", + "fields": [ + { + "name": "recipient", + "type": 119, + "typeName": "u32" + } + ], + "index": 8 + }, + { + "name": "HrmpChannelClosing", + "fields": [ + { + "name": "initiator", + "type": 119, + "typeName": "u32" + }, + { + "name": "sender", + "type": 119, + "typeName": "u32" + }, + { + "name": "recipient", + "type": 119, + "typeName": "u32" + } + ], + "index": 9 + }, + { + "name": "ClearOrigin", + "index": 10 + }, + { + "name": "DescendOrigin", + "fields": [ + { + "type": 117, + "typeName": "InteriorMultiLocation" + } + ], + "index": 11 + }, + { + "name": "ReportError", + "fields": [ + { + "type": 147, + "typeName": "QueryResponseInfo" + } + ], + "index": 12 + }, + { + "name": "DepositAsset", + "fields": [ + { + "name": "assets", + "type": 148, + "typeName": "MultiAssetFilter" + }, + { + "name": "beneficiary", + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 13 + }, + { + "name": "DepositReserveAsset", + "fields": [ + { + "name": "assets", + "type": 148, + "typeName": "MultiAssetFilter" + }, + { + "name": "dest", + "type": 116, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 125, + "typeName": "Xcm<()>" + } + ], + "index": 14 + }, + { + "name": "ExchangeAsset", + "fields": [ + { + "name": "give", + "type": 148, + "typeName": "MultiAssetFilter" + }, + { + "name": "want", + "type": 128, + "typeName": "MultiAssets" + }, + { + "name": "maximal", + "type": 37, + "typeName": "bool" + } + ], + "index": 15 + }, + { + "name": "InitiateReserveWithdraw", + "fields": [ + { + "name": "assets", + "type": 148, + "typeName": "MultiAssetFilter" + }, + { + "name": "reserve", + "type": 116, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 125, + "typeName": "Xcm<()>" + } + ], + "index": 16 + }, + { + "name": "InitiateTeleport", + "fields": [ + { + "name": "assets", + "type": 148, + "typeName": "MultiAssetFilter" + }, + { + "name": "dest", + "type": 116, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 125, + "typeName": "Xcm<()>" + } + ], + "index": 17 + }, + { + "name": "ReportHolding", + "fields": [ + { + "name": "response_info", + "type": 147, + "typeName": "QueryResponseInfo" + }, + { + "name": "assets", + "type": 148, + "typeName": "MultiAssetFilter" + } + ], + "index": 18 + }, + { + "name": "BuyExecution", + "fields": [ + { + "name": "fees", + "type": 130, + "typeName": "MultiAsset" + }, + { + "name": "weight_limit", + "type": 151, + "typeName": "WeightLimit" + } + ], + "index": 19 + }, + { + "name": "RefundSurplus", + "index": 20 + }, + { + "name": "SetErrorHandler", + "fields": [ + { + "type": 125, + "typeName": "Xcm" + } + ], + "index": 21 + }, + { + "name": "SetAppendix", + "fields": [ + { + "type": 125, + "typeName": "Xcm" + } + ], + "index": 22 + }, + { + "name": "ClearError", + "index": 23 + }, + { + "name": "ClaimAsset", + "fields": [ + { + "name": "assets", + "type": 128, + "typeName": "MultiAssets" + }, + { + "name": "ticket", + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 24 + }, + { + "name": "Trap", + "fields": [ + { + "type": 10, + "typeName": "u64" + } + ], + "index": 25 + }, + { + "name": "SubscribeVersion", + "fields": [ + { + "name": "query_id", + "type": 10, + "typeName": "QueryId" + }, + { + "name": "max_response_weight", + "type": 9, + "typeName": "Weight" + } + ], + "index": 26 + }, + { + "name": "UnsubscribeVersion", + "index": 27 + }, + { + "name": "BurnAsset", + "fields": [ + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 28 + }, + { + "name": "ExpectAsset", + "fields": [ + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 29 + }, + { + "name": "ExpectOrigin", + "fields": [ + { + "type": 144, + "typeName": "Option" + } + ], + "index": 30 + }, + { + "name": "ExpectError", + "fields": [ + { + "type": 136, + "typeName": "Option<(u32, Error)>" + } + ], + "index": 31 + }, + { + "name": "ExpectTransactStatus", + "fields": [ + { + "type": 142, + "typeName": "MaybeErrorCode" + } + ], + "index": 32 + }, + { + "name": "QueryPallet", + "fields": [ + { + "name": "module_name", + "type": 13, + "typeName": "Vec" + }, + { + "name": "response_info", + "type": 147, + "typeName": "QueryResponseInfo" + } + ], + "index": 33 + }, + { + "name": "ExpectPallet", + "fields": [ + { + "name": "index", + "type": 119, + "typeName": "u32" + }, + { + "name": "name", + "type": 13, + "typeName": "Vec" + }, + { + "name": "module_name", + "type": 13, + "typeName": "Vec" + }, + { + "name": "crate_major", + "type": 119, + "typeName": "u32" + }, + { + "name": "min_crate_minor", + "type": 119, + "typeName": "u32" + } + ], + "index": 34 + }, + { + "name": "ReportTransactStatus", + "fields": [ + { + "type": 147, + "typeName": "QueryResponseInfo" + } + ], + "index": 35 + }, + { + "name": "ClearTransactStatus", + "index": 36 + }, + { + "name": "UniversalOrigin", + "fields": [ + { + "type": 118, + "typeName": "Junction" + } + ], + "index": 37 + }, + { + "name": "ExportMessage", + "fields": [ + { + "name": "network", + "type": 121, + "typeName": "NetworkId" + }, + { + "name": "destination", + "type": 117, + "typeName": "InteriorMultiLocation" + }, + { + "name": "xcm", + "type": 125, + "typeName": "Xcm<()>" + } + ], + "index": 38 + }, + { + "name": "LockAsset", + "fields": [ + { + "name": "asset", + "type": 130, + "typeName": "MultiAsset" + }, + { + "name": "unlocker", + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 39 + }, + { + "name": "UnlockAsset", + "fields": [ + { + "name": "asset", + "type": 130, + "typeName": "MultiAsset" + }, + { + "name": "target", + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 40 + }, + { + "name": "NoteUnlockable", + "fields": [ + { + "name": "asset", + "type": 130, + "typeName": "MultiAsset" + }, + { + "name": "owner", + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 41 + }, + { + "name": "RequestUnlock", + "fields": [ + { + "name": "asset", + "type": 130, + "typeName": "MultiAsset" + }, + { + "name": "locker", + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 42 + }, + { + "name": "SetFeesMode", + "fields": [ + { + "name": "jit_withdraw", + "type": 37, + "typeName": "bool" + } + ], + "index": 43 + }, + { + "name": "SetTopic", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ], + "index": 44 + }, + { + "name": "ClearTopic", + "index": 45 + }, + { + "name": "AliasOrigin", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 46 + }, + { + "name": "UnpaidExecution", + "fields": [ + { + "name": "weight_limit", + "type": 151, + "typeName": "WeightLimit" + }, + { + "name": "check_origin", + "type": 144, + "typeName": "Option" + } + ], + "index": 47 + } + ] + } + } + } + }, + { + "id": 128, + "type": { + "path": [ + "xcm", + "v3", + "multiasset", + "MultiAssets" + ], + "def": { + "composite": { + "fields": [ + { + "type": 129, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 129, + "type": { + "def": { + "sequence": { + "type": 130 + } + } + } + }, + { + "id": 130, + "type": { + "path": [ + "xcm", + "v3", + "multiasset", + "MultiAsset" + ], + "def": { + "composite": { + "fields": [ + { + "name": "id", + "type": 131, + "typeName": "AssetId" + }, + { + "name": "fun", + "type": 132, + "typeName": "Fungibility" + } + ] + } + } + } + }, + { + "id": 131, + "type": { + "path": [ + "xcm", + "v3", + "multiasset", + "AssetId" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Concrete", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 0 + }, + { + "name": "Abstract", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 132, + "type": { + "path": [ + "xcm", + "v3", + "multiasset", + "Fungibility" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Fungible", + "fields": [ + { + "type": 63, + "typeName": "u128" + } + ], + "index": 0 + }, + { + "name": "NonFungible", + "fields": [ + { + "type": 133, + "typeName": "AssetInstance" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 133, + "type": { + "path": [ + "xcm", + "v3", + "multiasset", + "AssetInstance" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Undefined", + "index": 0 + }, + { + "name": "Index", + "fields": [ + { + "type": 63, + "typeName": "u128" + } + ], + "index": 1 + }, + { + "name": "Array4", + "fields": [ + { + "type": 17, + "typeName": "[u8; 4]" + } + ], + "index": 2 + }, + { + "name": "Array8", + "fields": [ + { + "type": 134, + "typeName": "[u8; 8]" + } + ], + "index": 3 + }, + { + "name": "Array16", + "fields": [ + { + "type": 33, + "typeName": "[u8; 16]" + } + ], + "index": 4 + }, + { + "name": "Array32", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ], + "index": 5 + } + ] + } + } + } + }, + { + "id": 134, + "type": { + "def": { + "array": { + "len": 8, + "type": 2 + } + } + } + }, + { + "id": 135, + "type": { + "path": [ + "xcm", + "v3", + "Response" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Null", + "index": 0 + }, + { + "name": "Assets", + "fields": [ + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 1 + }, + { + "name": "ExecutionResult", + "fields": [ + { + "type": 136, + "typeName": "Option<(u32, Error)>" + } + ], + "index": 2 + }, + { + "name": "Version", + "fields": [ + { + "type": 4, + "typeName": "super::Version" + } + ], + "index": 3 + }, + { + "name": "PalletsInfo", + "fields": [ + { + "type": 138, + "typeName": "BoundedVec" + } + ], + "index": 4 + }, + { + "name": "DispatchResult", + "fields": [ + { + "type": 142, + "typeName": "MaybeErrorCode" + } + ], + "index": 5 + } + ] + } + } + } + }, + { + "id": 136, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 137 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 137 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 137, + "type": { + "def": { + "tuple": [ + 4, + 115 + ] + } + } + }, + { + "id": 138, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 139 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 141, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 139, + "type": { + "path": [ + "xcm", + "v3", + "PalletInfo" + ], + "def": { + "composite": { + "fields": [ + { + "name": "index", + "type": 119, + "typeName": "u32" + }, + { + "name": "name", + "type": 140, + "typeName": "BoundedVec" + }, + { + "name": "module_name", + "type": 140, + "typeName": "BoundedVec" + }, + { + "name": "major", + "type": 119, + "typeName": "u32" + }, + { + "name": "minor", + "type": 119, + "typeName": "u32" + }, + { + "name": "patch", + "type": 119, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 140, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 141, + "type": { + "def": { + "sequence": { + "type": 139 + } + } + } + }, + { + "id": 142, + "type": { + "path": [ + "xcm", + "v3", + "MaybeErrorCode" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Success", + "index": 0 + }, + { + "name": "Error", + "fields": [ + { + "type": 143, + "typeName": "BoundedVec" + } + ], + "index": 1 + }, + { + "name": "TruncatedError", + "fields": [ + { + "type": 143, + "typeName": "BoundedVec" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 143, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 144, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 116 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 116 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 145, + "type": { + "path": [ + "xcm", + "v2", + "OriginKind" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Native", + "index": 0 + }, + { + "name": "SovereignAccount", + "index": 1 + }, + { + "name": "Superuser", + "index": 2 + }, + { + "name": "Xcm", + "index": 3 + } + ] + } + } + } + }, + { + "id": 146, + "type": { + "path": [ + "xcm", + "double_encoded", + "DoubleEncoded" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "encoded", + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 147, + "type": { + "path": [ + "xcm", + "v3", + "QueryResponseInfo" + ], + "def": { + "composite": { + "fields": [ + { + "name": "destination", + "type": 116, + "typeName": "MultiLocation" + }, + { + "name": "query_id", + "type": 10, + "typeName": "QueryId" + }, + { + "name": "max_weight", + "type": 9, + "typeName": "Weight" + } + ] + } + } + } + }, + { + "id": 148, + "type": { + "path": [ + "xcm", + "v3", + "multiasset", + "MultiAssetFilter" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Definite", + "fields": [ + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 0 + }, + { + "name": "Wild", + "fields": [ + { + "type": 149, + "typeName": "WildMultiAsset" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 149, + "type": { + "path": [ + "xcm", + "v3", + "multiasset", + "WildMultiAsset" + ], + "def": { + "variant": { + "variants": [ + { + "name": "All", + "index": 0 + }, + { + "name": "AllOf", + "fields": [ + { + "name": "id", + "type": 131, + "typeName": "AssetId" + }, + { + "name": "fun", + "type": 150, + "typeName": "WildFungibility" + } + ], + "index": 1 + }, + { + "name": "AllCounted", + "fields": [ + { + "type": 119, + "typeName": "u32" + } + ], + "index": 2 + }, + { + "name": "AllOfCounted", + "fields": [ + { + "name": "id", + "type": 131, + "typeName": "AssetId" + }, + { + "name": "fun", + "type": 150, + "typeName": "WildFungibility" + }, + { + "name": "count", + "type": 119, + "typeName": "u32" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 150, + "type": { + "path": [ + "xcm", + "v3", + "multiasset", + "WildFungibility" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Fungible", + "index": 0 + }, + { + "name": "NonFungible", + "index": 1 + } + ] + } + } + } + }, + { + "id": 151, + "type": { + "path": [ + "xcm", + "v3", + "WeightLimit" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Unlimited", + "index": 0 + }, + { + "name": "Limited", + "fields": [ + { + "type": 9, + "typeName": "Weight" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 152, + "type": { + "path": [ + "xcm", + "VersionedMultiAssets" + ], + "def": { + "variant": { + "variants": [ + { + "name": "V2", + "fields": [ + { + "type": 153, + "typeName": "v2::MultiAssets" + } + ], + "index": 1 + }, + { + "name": "V3", + "fields": [ + { + "type": 128, + "typeName": "v3::MultiAssets" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 153, + "type": { + "path": [ + "xcm", + "v2", + "multiasset", + "MultiAssets" + ], + "def": { + "composite": { + "fields": [ + { + "type": 154, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 154, + "type": { + "def": { + "sequence": { + "type": 155 + } + } + } + }, + { + "id": 155, + "type": { + "path": [ + "xcm", + "v2", + "multiasset", + "MultiAsset" + ], + "def": { + "composite": { + "fields": [ + { + "name": "id", + "type": 156, + "typeName": "AssetId" + }, + { + "name": "fun", + "type": 164, + "typeName": "Fungibility" + } + ] + } + } + } + }, + { + "id": 156, + "type": { + "path": [ + "xcm", + "v2", + "multiasset", + "AssetId" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Concrete", + "fields": [ + { + "type": 157, + "typeName": "MultiLocation" + } + ], + "index": 0 + }, + { + "name": "Abstract", + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 157, + "type": { + "path": [ + "xcm", + "v2", + "multilocation", + "MultiLocation" + ], + "def": { + "composite": { + "fields": [ + { + "name": "parents", + "type": 2, + "typeName": "u8" + }, + { + "name": "interior", + "type": 158, + "typeName": "Junctions" + } + ] + } + } + } + }, + { + "id": 158, + "type": { + "path": [ + "xcm", + "v2", + "multilocation", + "Junctions" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Here", + "index": 0 + }, + { + "name": "X1", + "fields": [ + { + "type": 159, + "typeName": "Junction" + } + ], + "index": 1 + }, + { + "name": "X2", + "fields": [ + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + } + ], + "index": 2 + }, + { + "name": "X3", + "fields": [ + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + } + ], + "index": 3 + }, + { + "name": "X4", + "fields": [ + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + } + ], + "index": 4 + }, + { + "name": "X5", + "fields": [ + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + } + ], + "index": 5 + }, + { + "name": "X6", + "fields": [ + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + } + ], + "index": 6 + }, + { + "name": "X7", + "fields": [ + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + } + ], + "index": 7 + }, + { + "name": "X8", + "fields": [ + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + }, + { + "type": 159, + "typeName": "Junction" + } + ], + "index": 8 + } + ] + } + } + } + }, + { + "id": 159, + "type": { + "path": [ + "xcm", + "v2", + "junction", + "Junction" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Parachain", + "fields": [ + { + "type": 119, + "typeName": "u32" + } + ], + "index": 0 + }, + { + "name": "AccountId32", + "fields": [ + { + "name": "network", + "type": 160, + "typeName": "NetworkId" + }, + { + "name": "id", + "type": 1, + "typeName": "[u8; 32]" + } + ], + "index": 1 + }, + { + "name": "AccountIndex64", + "fields": [ + { + "name": "network", + "type": 160, + "typeName": "NetworkId" + }, + { + "name": "index", + "type": 10, + "typeName": "u64" + } + ], + "index": 2 + }, + { + "name": "AccountKey20", + "fields": [ + { + "name": "network", + "type": 160, + "typeName": "NetworkId" + }, + { + "name": "key", + "type": 122, + "typeName": "[u8; 20]" + } + ], + "index": 3 + }, + { + "name": "PalletInstance", + "fields": [ + { + "type": 2, + "typeName": "u8" + } + ], + "index": 4 + }, + { + "name": "GeneralIndex", + "fields": [ + { + "type": 63, + "typeName": "u128" + } + ], + "index": 5 + }, + { + "name": "GeneralKey", + "fields": [ + { + "type": 161, + "typeName": "WeakBoundedVec>" + } + ], + "index": 6 + }, + { + "name": "OnlyChild", + "index": 7 + }, + { + "name": "Plurality", + "fields": [ + { + "name": "id", + "type": 162, + "typeName": "BodyId" + }, + { + "name": "part", + "type": 163, + "typeName": "BodyPart" + } + ], + "index": 8 + } + ] + } + } + } + }, + { + "id": 160, + "type": { + "path": [ + "xcm", + "v2", + "NetworkId" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Any", + "index": 0 + }, + { + "name": "Named", + "fields": [ + { + "type": 161, + "typeName": "WeakBoundedVec>" + } + ], + "index": 1 + }, + { + "name": "Polkadot", + "index": 2 + }, + { + "name": "Kusama", + "index": 3 + } + ] + } + } + } + }, + { + "id": 161, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 162, + "type": { + "path": [ + "xcm", + "v2", + "BodyId" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Unit", + "index": 0 + }, + { + "name": "Named", + "fields": [ + { + "type": 161, + "typeName": "WeakBoundedVec>" + } + ], + "index": 1 + }, + { + "name": "Index", + "fields": [ + { + "type": 119, + "typeName": "u32" + } + ], + "index": 2 + }, + { + "name": "Executive", + "index": 3 + }, + { + "name": "Technical", + "index": 4 + }, + { + "name": "Legislative", + "index": 5 + }, + { + "name": "Judicial", + "index": 6 + }, + { + "name": "Defense", + "index": 7 + }, + { + "name": "Administration", + "index": 8 + }, + { + "name": "Treasury", + "index": 9 + } + ] + } + } + } + }, + { + "id": 163, + "type": { + "path": [ + "xcm", + "v2", + "BodyPart" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Voice", + "index": 0 + }, + { + "name": "Members", + "fields": [ + { + "name": "count", + "type": 119, + "typeName": "u32" + } + ], + "index": 1 + }, + { + "name": "Fraction", + "fields": [ + { + "name": "nom", + "type": 119, + "typeName": "u32" + }, + { + "name": "denom", + "type": 119, + "typeName": "u32" + } + ], + "index": 2 + }, + { + "name": "AtLeastProportion", + "fields": [ + { + "name": "nom", + "type": 119, + "typeName": "u32" + }, + { + "name": "denom", + "type": 119, + "typeName": "u32" + } + ], + "index": 3 + }, + { + "name": "MoreThanProportion", + "fields": [ + { + "name": "nom", + "type": 119, + "typeName": "u32" + }, + { + "name": "denom", + "type": 119, + "typeName": "u32" + } + ], + "index": 4 + } + ] + } + } + } + }, + { + "id": 164, + "type": { + "path": [ + "xcm", + "v2", + "multiasset", + "Fungibility" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Fungible", + "fields": [ + { + "type": 63, + "typeName": "u128" + } + ], + "index": 0 + }, + { + "name": "NonFungible", + "fields": [ + { + "type": 165, + "typeName": "AssetInstance" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 165, + "type": { + "path": [ + "xcm", + "v2", + "multiasset", + "AssetInstance" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Undefined", + "index": 0 + }, + { + "name": "Index", + "fields": [ + { + "type": 63, + "typeName": "u128" + } + ], + "index": 1 + }, + { + "name": "Array4", + "fields": [ + { + "type": 17, + "typeName": "[u8; 4]" + } + ], + "index": 2 + }, + { + "name": "Array8", + "fields": [ + { + "type": 134, + "typeName": "[u8; 8]" + } + ], + "index": 3 + }, + { + "name": "Array16", + "fields": [ + { + "type": 33, + "typeName": "[u8; 16]" + } + ], + "index": 4 + }, + { + "name": "Array32", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ], + "index": 5 + }, + { + "name": "Blob", + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ], + "index": 6 + } + ] + } + } + } + }, + { + "id": 166, + "type": { + "path": [ + "xcm", + "VersionedMultiLocation" + ], + "def": { + "variant": { + "variants": [ + { + "name": "V2", + "fields": [ + { + "type": 157, + "typeName": "v2::MultiLocation" + } + ], + "index": 1 + }, + { + "name": "V3", + "fields": [ + { + "type": 116, + "typeName": "v3::MultiLocation" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 167, + "type": { + "path": [ + "pallet_message_queue", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "ProcessingFailed", + "fields": [ + { + "name": "id", + "type": 1, + "typeName": "[u8; 32]" + }, + { + "name": "origin", + "type": 168, + "typeName": "MessageOriginOf" + }, + { + "name": "error", + "type": 170, + "typeName": "ProcessMessageError" + } + ], + "index": 0, + "docs": [ + "Message discarded due to an error in the `MessageProcessor` (usually a format error)." + ] + }, + { + "name": "Processed", + "fields": [ + { + "name": "id", + "type": 1, + "typeName": "[u8; 32]" + }, + { + "name": "origin", + "type": 168, + "typeName": "MessageOriginOf" + }, + { + "name": "weight_used", + "type": 9, + "typeName": "Weight" + }, + { + "name": "success", + "type": 37, + "typeName": "bool" + } + ], + "index": 1, + "docs": [ + "Message is processed." + ] + }, + { + "name": "OverweightEnqueued", + "fields": [ + { + "name": "id", + "type": 1, + "typeName": "[u8; 32]" + }, + { + "name": "origin", + "type": 168, + "typeName": "MessageOriginOf" + }, + { + "name": "page_index", + "type": 4, + "typeName": "PageIndex" + }, + { + "name": "message_index", + "type": 4, + "typeName": "T::Size" + } + ], + "index": 2, + "docs": [ + "Message placed in overweight queue." + ] + }, + { + "name": "PageReaped", + "fields": [ + { + "name": "origin", + "type": 168, + "typeName": "MessageOriginOf" + }, + { + "name": "index", + "type": 4, + "typeName": "PageIndex" + } + ], + "index": 3, + "docs": [ + "This page was reaped." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 168, + "type": { + "path": [ + "polkadot_runtime_parachains", + "inclusion", + "AggregateMessageOrigin" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Ump", + "fields": [ + { + "type": 169, + "typeName": "UmpQueueId" + } + ], + "index": 0 + } + ] + } + } + } + }, + { + "id": 169, + "type": { + "path": [ + "polkadot_runtime_parachains", + "inclusion", + "UmpQueueId" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Para", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + } + ], + "index": 0 + } + ] + } + } + } + }, + { + "id": 170, + "type": { + "path": [ + "frame_support", + "traits", + "messages", + "ProcessMessageError" + ], + "def": { + "variant": { + "variants": [ + { + "name": "BadFormat", + "index": 0 + }, + { + "name": "Corrupt", + "index": 1 + }, + { + "name": "Unsupported", + "index": 2 + }, + { + "name": "Overweight", + "fields": [ + { + "type": 9, + "typeName": "Weight" + } + ], + "index": 3 + }, + { + "name": "Yield", + "index": 4 + } + ] + } + } + } + }, + { + "id": 171, + "type": { + "path": [ + "polkadot_runtime_common", + "assigned_slots", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "PermanentSlotAssigned", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + } + ], + "index": 0, + "docs": [ + "A para was assigned a permanent parachain slot" + ] + }, + { + "name": "TemporarySlotAssigned", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + } + ], + "index": 1, + "docs": [ + "A para was assigned a temporary parachain slot" + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 172, + "type": { + "path": [ + "pallet_validator_manager", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "ValidatorsRegistered", + "fields": [ + { + "type": 78, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "New validators were added to the set." + ] + }, + { + "name": "ValidatorsDeregistered", + "fields": [ + { + "type": 78, + "typeName": "Vec" + } + ], + "index": 1, + "docs": [ + "Validators were removed from the set." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 173, + "type": { + "path": [ + "pallet_multi_tokens", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "CollectionCreated", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The id of the [`Collection`](ep_multi_tokens::Collection)" + ] + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The owner of the [`Collection`](ep_multi_tokens::Collection)" + ] + } + ], + "index": 0, + "docs": [ + "A new collection was created" + ] + }, + { + "name": "CollectionDestroyed", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "id of collection destroyed" + ] + }, + { + "name": "caller", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) that destroyed the collection" + ] + } + ], + "index": 1, + "docs": [ + "A collection was destroyed." + ] + }, + { + "name": "CollectionMutated", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "[`CollectionId`](Config::CollectionId) of the", + "[`Collection`](ep_multi_tokens::Collection)" + ] + }, + { + "name": "mutation", + "type": 174, + "typeName": "T::CollectionMutation", + "docs": [ + "The mutation that was applied to the collection" + ] + } + ], + "index": 2, + "docs": [ + "A collection was mutated" + ] + }, + { + "name": "Minted", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "[`CollectionId`](Config::CollectionId) of minted token" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The [`TokenId`](Config::TokenId) minted" + ] + }, + { + "name": "issuer", + "type": 182, + "typeName": "RootOrSigned", + "docs": [ + "issuer of minted token" + ] + }, + { + "name": "recipient", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The receiver of the token" + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "T::TokenBalance", + "docs": [ + "the amount of units minted" + ] + } + ], + "index": 3, + "docs": [ + "Units of a token were minted" + ] + }, + { + "name": "TokenCreated", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) minted" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The [`TokenId`](Config::TokenId) minted" + ] + }, + { + "name": "issuer", + "type": 182, + "typeName": "RootOrSigned", + "docs": [ + "issuer of minted [`Token`](ep_multi_tokens::Token)" + ] + }, + { + "name": "initial_supply", + "type": 6, + "typeName": "T::TokenBalance", + "docs": [ + "the initial supply of the [`Token`](ep_multi_tokens::Token)" + ] + } + ], + "index": 4, + "docs": [ + "A token was created" + ] + }, + { + "name": "TokenMutated", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) [`Token`](ep_multi_tokens::Token)", + "belongs to" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "Id of the [`Token`](ep_multi_tokens::Token) mutated" + ] + }, + { + "name": "mutation", + "type": 183, + "typeName": "T::TokenMutation", + "docs": [ + "mutation that was applied to the [`Token`](ep_multi_tokens::Token)" + ] + } + ], + "index": 5, + "docs": [ + "A token was mutated" + ] + }, + { + "name": "Burned", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "collection id of tokens burned" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "the token id that was burned" + ] + }, + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "the account the tokens were burned from" + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "T::TokenBalance", + "docs": [ + "The amount that was burned for each token_id" + ] + } + ], + "index": 6, + "docs": [ + "Units of a token were burned" + ] + }, + { + "name": "TokenDestroyed", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) destroyed" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The [`TokenId`](Config::TokenId) destroyed" + ] + }, + { + "name": "caller", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "the [`AccountId`](frame_system::Config::AccountId) that destroyed the", + "[`Token`](ep_multi_tokens::Token)" + ] + } + ], + "index": 7, + "docs": [ + "A token was destroyed" + ] + }, + { + "name": "Transferred", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "collection_id of transferred collection" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "[`TokenId`](Config::TokenId) transferred" + ] + }, + { + "name": "operator", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) that performed the transfer" + ] + }, + { + "name": "from", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "transaction sender" + ] + }, + { + "name": "to", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "transaction recipient" + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "T::TokenBalance", + "docs": [ + "number of units transferred" + ] + } + ], + "index": 8, + "docs": [ + "Units of a token were transferred" + ] + }, + { + "name": "Frozen", + "fields": [ + { + "type": 197, + "typeName": "FreezeOf" + } + ], + "index": 9, + "docs": [ + "Collection, token or account was frozen" + ] + }, + { + "name": "Thawed", + "fields": [ + { + "type": 197, + "typeName": "FreezeOf" + } + ], + "index": 10, + "docs": [ + "Collection, token or account was unfrozen" + ] + }, + { + "name": "AttributeSet", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "collectionId of collection modified" + ] + }, + { + "name": "token_id", + "type": 77, + "typeName": "Option", + "docs": [ + "[`TokenId`](Config::TokenId) of [`Token`](ep_multi_tokens::Token) modified" + ] + }, + { + "name": "key", + "type": 201, + "typeName": "T::AttributeKey", + "docs": [ + "key of attribute set" + ] + }, + { + "name": "value", + "type": 202, + "typeName": "T::AttributeValue", + "docs": [ + "value of attribute set" + ] + } + ], + "index": 11, + "docs": [ + "New attribute has been set" + ] + }, + { + "name": "AttributeRemoved", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "collectionId of collection modified" + ] + }, + { + "name": "token_id", + "type": 77, + "typeName": "Option", + "docs": [ + "tokenid of token modified" + ] + }, + { + "name": "key", + "type": 201, + "typeName": "T::AttributeKey", + "docs": [ + "key of attribute cleared" + ] + } + ], + "index": 12, + "docs": [ + "An attribute has been removed" + ] + }, + { + "name": "Approved", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The collection that was approved" + ] + }, + { + "name": "token_id", + "type": 77, + "typeName": "Option", + "docs": [ + "The token that was approved" + ] + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that made the approval" + ] + }, + { + "name": "operator", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that was approved to operate" + ] + }, + { + "name": "amount", + "type": 77, + "typeName": "Option", + "docs": [ + "The amount approved for" + ] + }, + { + "name": "expiration", + "type": 73, + "typeName": "T::Expiration", + "docs": [ + "The expiration of the approval" + ] + } + ], + "index": 13, + "docs": [ + "An approval took place. If `token_id` is `None`, it applies to the whole collection." + ] + }, + { + "name": "Unapproved", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The collection that was unapproved" + ] + }, + { + "name": "token_id", + "type": 77, + "typeName": "Option", + "docs": [ + "The token that was unapproved" + ] + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that `operator` was unapproved for" + ] + }, + { + "name": "operator", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that was unapproved to operate" + ] + } + ], + "index": 14, + "docs": [ + "An unapproval took place. If `token_id` is `None`, it applies to the collection." + ] + }, + { + "name": "CollectionAccountCreated", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) for which the account is created" + ] + }, + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the account" + ] + } + ], + "index": 15, + "docs": [ + "A new collection account was created" + ] + }, + { + "name": "TokenAccountCreated", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) for which the account is created" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The [`TokenId`](Config::TokenId) for which the account is created" + ] + }, + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the account" + ] + }, + { + "name": "balance", + "type": 6, + "typeName": "T::TokenBalance", + "docs": [ + "The balance that this account holds" + ] + } + ], + "index": 16, + "docs": [ + "A new token account was created" + ] + }, + { + "name": "CollectionAccountDestroyed", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) of the destroyed account" + ] + }, + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the destroyed account" + ] + } + ], + "index": 17, + "docs": [ + "A collection account was destroyed" + ] + }, + { + "name": "TokenAccountDestroyed", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) for which the account is created" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The [`TokenId`](Config::TokenId) fof the destroyed account" + ] + }, + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the destroyed account" + ] + } + ], + "index": 18, + "docs": [ + "A token account was destroyed" + ] + }, + { + "name": "Reserved", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The collection in which token was reserved" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The token that was reserved" + ] + }, + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that reserved the tokens" + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "T::TokenBalance", + "docs": [ + "The amount that was reserved" + ] + }, + { + "name": "reserve_id", + "type": 203, + "typeName": "Option", + "docs": [ + "The identifier of the reserves" + ] + } + ], + "index": 19, + "docs": [ + "Token units were reserved" + ] + }, + { + "name": "Unreserved", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) in which token was unreserved" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The [`TokenId`](Config::TokenId) that was unreserved" + ] + }, + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that unreserved the tokens" + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "T::TokenBalance", + "docs": [ + "The amount that was unreserved" + ] + }, + { + "name": "reserve_id", + "type": 203, + "typeName": "Option", + "docs": [ + "The identifier of the unreserved tokens" + ] + } + ], + "index": 20, + "docs": [ + "Token units were unreserved" + ] + }, + { + "name": "MovedReserves", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) in which token was moved" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The [`TokenId`](Config::TokenId) that was moved" + ] + }, + { + "name": "source", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that reserves were moved from" + ] + }, + { + "name": "destination", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that received the moved reserves" + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "T::TokenBalance", + "docs": [ + "The amount that was moved" + ] + }, + { + "name": "reserve_id", + "type": 203, + "typeName": "Option", + "docs": [ + "The identifier of the moved reserves" + ] + } + ], + "index": 21, + "docs": [ + "Reserved token units were moved" + ] + }, + { + "name": "ReserveRepatriated", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) in which token was moved" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The [`TokenId`](Config::TokenId) that was moved" + ] + }, + { + "name": "source", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that reserves were moved from" + ] + }, + { + "name": "destination", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that received the moved reserves" + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "T::TokenBalance", + "docs": [ + "The amount that was moved" + ] + }, + { + "name": "reserve_id", + "type": 203, + "typeName": "Option", + "docs": [ + "The identifier of the moved reserves" + ] + } + ], + "index": 22, + "docs": [ + "Reserved token units were transferred" + ] + }, + { + "name": "BalanceSet", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) for which balance was set" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The [`TokenId`](Config::TokenId) for which balance was set" + ] + }, + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) that balance was set for" + ] + }, + { + "name": "balance", + "type": 6, + "typeName": "T::TokenBalance", + "docs": [ + "The balance of the account" + ] + }, + { + "name": "reserved_balance", + "type": 6, + "typeName": "T::TokenBalance", + "docs": [ + "The reserved balance of the account" + ] + } + ], + "index": 23, + "docs": [ + "The balance of an account was set" + ] + }, + { + "name": "Withdraw", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) of the tokens withdrawn" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The [`TokenId`](Config::TokenId) of the tokens withdrawn" + ] + }, + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) withdrawn from" + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "T::TokenBalance", + "docs": [ + "The amount of tokens withdrawn" + ] + } + ], + "index": 24, + "docs": [ + "Token units were withdrawn" + ] + }, + { + "name": "Deposit", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) of the tokens deposited" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The [`TokenId`](Config::TokenId) of the tokens deposited" + ] + }, + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) deposited to" + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "T::TokenBalance", + "docs": [ + "The amount of tokens deposited" + ] + } + ], + "index": 25, + "docs": [ + "Token units were deposited" + ] + }, + { + "name": "Slashed", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) of the tokens slashed" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The [`TokenId`](Config::TokenId) of the tokens slashed" + ] + }, + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) slashed" + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "T::TokenBalance", + "docs": [ + "The amount of tokens slashed" + ] + } + ], + "index": 26, + "docs": [ + "An amount of tokens were slashed from account" + ] + }, + { + "name": "CollectionUpdated", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) for which the value is set" + ] + }, + { + "name": "value", + "type": 204, + "typeName": "Option>", + "docs": [ + "new value of Collection storage" + ] + } + ], + "index": 27, + "docs": [ + "Collection storage was set to `value`" + ] + }, + { + "name": "TokenUpdated", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) for which the value is set" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The [`TokenId`](Config::TokenId) for which the value is set" + ] + }, + { + "name": "value", + "type": 217, + "typeName": "Option>", + "docs": [ + "new value of Token storage" + ] + } + ], + "index": 28, + "docs": [ + "Token storage was set to `value`" + ] + }, + { + "name": "NextCollectionIdUpdated", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId" + } + ], + "index": 29, + "docs": [ + "NextCollectionId storage was set to `collection_id`" + ] + }, + { + "name": "CollectionAccountUpdated", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) for which the value is set" + ] + }, + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) that owned the token account" + ] + }, + { + "name": "value", + "type": 222, + "typeName": "Option>", + "docs": [ + "new value of TokenAccount storage" + ] + } + ], + "index": 30, + "docs": [ + "TokenAccount storage was set to `value`" + ] + }, + { + "name": "TokenAccountUpdated", + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "T::CollectionId", + "docs": [ + "The [`CollectionId`](Config::CollectionId) for which the value is set" + ] + }, + { + "name": "token_id", + "type": 6, + "typeName": "T::TokenId", + "docs": [ + "The [`TokenId`](Config::TokenId) of the destroyed account" + ] + }, + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) that owned the token account" + ] + }, + { + "name": "value", + "type": 229, + "typeName": "Option>", + "docs": [ + "new value of TokenAccount storage" + ] + } + ], + "index": 31, + "docs": [ + "TokenAccount storage was set to `value`" + ] + }, + { + "name": "MigrationStatusUpdated", + "fields": [ + { + "name": "stage", + "type": 243, + "typeName": "MigrationStage" + } + ], + "index": 32, + "docs": [ + "Migration stage updated" + ] + }, + { + "name": "ClaimedCollections", + "fields": [ + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that received the claim" + ] + }, + { + "name": "ethereum_address", + "type": 244, + "typeName": "EthereumAddress", + "docs": [ + "The ethereum address" + ] + }, + { + "name": "collection_ids", + "type": 245, + "typeName": "Vec>", + "docs": [ + "The collection ids that were claimed" + ] + } + ], + "index": 33, + "docs": [ + "Collections were claimed" + ] + }, + { + "name": "ClaimedTokens", + "fields": [ + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that received the tokens" + ] + }, + { + "name": "ethereum_address", + "type": 244, + "typeName": "EthereumAddress", + "docs": [ + "The ethereum address" + ] + }, + { + "name": "asset_ids", + "type": 247, + "typeName": "Vec>", + "docs": [ + "The asset ids that were claimed" + ] + }, + { + "name": "more_tokens_remain", + "type": 37, + "typeName": "bool", + "docs": [ + "This is true if there are still more tokens to claim" + ] + } + ], + "index": 34, + "docs": [ + "Tokens were claimed" + ] + }, + { + "name": "ClaimTokensInitiated", + "fields": [ + { + "name": "account_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that will receive the tokens" + ] + }, + { + "name": "ethereum_address", + "type": 244, + "typeName": "EthereumAddress", + "docs": [ + "The ethereum address" + ] + } + ], + "index": 35, + "docs": [ + "Claims tokens initiated" + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 174, + "type": { + "path": [ + "ep_multi_tokens", + "collection", + "DefaultCollectionMutation" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Royalty", + "type": 175 + }, + { + "name": "ExplicitRoyaltyCurrencies", + "type": 176 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "owner", + "type": 36, + "typeName": "Option" + }, + { + "name": "royalty", + "type": 179, + "typeName": "ShouldMutate>" + }, + { + "name": "explicit_royalty_currencies", + "type": 181, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 175, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "market", + "DefaultRoyalty" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "beneficiary", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "percentage", + "type": 44, + "typeName": "Perbill" + } + ] + } + } + } + }, + { + "id": 176, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 177 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 178, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 177, + "type": { + "path": [ + "ep_multi_tokens", + "token", + "AssetId" + ], + "params": [ + { + "name": "CollectionId", + "type": 6 + }, + { + "name": "TokenId", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "CollectionId" + }, + { + "name": "token_id", + "type": 63, + "typeName": "TokenId" + } + ] + } + } + } + }, + { + "id": 178, + "type": { + "def": { + "sequence": { + "type": 177 + } + } + } + }, + { + "id": 179, + "type": { + "path": [ + "ep_multi_tokens", + "types", + "ShouldMutate" + ], + "params": [ + { + "name": "T", + "type": 180 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NoMutation", + "index": 0 + }, + { + "name": "SomeMutation", + "fields": [ + { + "type": 180, + "typeName": "T" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 180, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 175 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 175 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 181, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 176 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 176 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 182, + "type": { + "path": [ + "ep_multi_tokens", + "types", + "RootOrSigned" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Root", + "index": 0 + }, + { + "name": "Signed", + "fields": [ + { + "type": 0, + "typeName": "AccountId" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 183, + "type": { + "path": [ + "ep_multi_tokens", + "token", + "DefaultTokenMutation" + ], + "params": [ + { + "name": "Royalty", + "type": 175 + }, + { + "name": "TokenMetadata", + "type": 184 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "behavior", + "type": 192, + "typeName": "ShouldMutate>>" + }, + { + "name": "listing_forbidden", + "type": 195, + "typeName": "ShouldMutate" + }, + { + "name": "metadata", + "type": 196, + "typeName": "ShouldMutate" + } + ] + } + } + } + }, + { + "id": 184, + "type": { + "path": [ + "ep_multi_tokens", + "frame", + "DefaultTokenMetadata" + ], + "params": [ + { + "name": "ForeignTokenMetadata", + "type": 185 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Native", + "index": 0 + }, + { + "name": "Foreign", + "fields": [ + { + "type": 185, + "typeName": "ForeignTokenMetadata" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 185, + "type": { + "path": [ + "ep_multi_tokens", + "frame", + "DefaultForeignTokenMetadata" + ], + "params": [ + { + "name": "TokenBalance", + "type": 6 + }, + { + "name": "Name", + "type": 186 + }, + { + "name": "Symbol", + "type": 189 + }, + { + "name": "Location", + "type": 116 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "decimal_count", + "type": 119, + "typeName": "u32" + }, + { + "name": "name", + "type": 186, + "typeName": "Name" + }, + { + "name": "symbol", + "type": 189, + "typeName": "Symbol" + }, + { + "name": "location", + "type": 144, + "typeName": "Option" + }, + { + "name": "units_per_second", + "type": 77, + "typeName": "Option" + }, + { + "name": "preminted_supply", + "type": 63, + "typeName": "TokenBalance" + } + ] + } + } + } + }, + { + "id": 186, + "type": { + "path": [ + "ep_core", + "frame", + "types", + "BoundedString" + ], + "params": [ + { + "name": "MaxLength", + "type": 187 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 188, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 187, + "type": { + "path": [ + "enjin_runtime", + "ForeignTokenNameLength" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 188, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 189, + "type": { + "path": [ + "ep_core", + "frame", + "types", + "BoundedString" + ], + "params": [ + { + "name": "MaxLength", + "type": 190 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 191, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 190, + "type": { + "path": [ + "enjin_runtime", + "ForeignTokenSymbolLength" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 191, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 192, + "type": { + "path": [ + "ep_multi_tokens", + "types", + "ShouldMutate" + ], + "params": [ + { + "name": "T", + "type": 193 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NoMutation", + "index": 0 + }, + { + "name": "SomeMutation", + "fields": [ + { + "type": 193, + "typeName": "T" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 193, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 194 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 194 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 194, + "type": { + "path": [ + "ep_multi_tokens", + "token", + "TokenMarketBehavior" + ], + "params": [ + { + "name": "Royalty", + "type": 175 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "HasRoyalty", + "fields": [ + { + "type": 175, + "typeName": "Royalty" + } + ], + "index": 0 + }, + { + "name": "IsCurrency", + "index": 1 + } + ] + } + } + } + }, + { + "id": 195, + "type": { + "path": [ + "ep_multi_tokens", + "types", + "ShouldMutate" + ], + "params": [ + { + "name": "T", + "type": 37 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NoMutation", + "index": 0 + }, + { + "name": "SomeMutation", + "fields": [ + { + "type": 37, + "typeName": "T" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 196, + "type": { + "path": [ + "ep_multi_tokens", + "types", + "ShouldMutate" + ], + "params": [ + { + "name": "T", + "type": 184 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NoMutation", + "index": 0 + }, + { + "name": "SomeMutation", + "fields": [ + { + "type": 184, + "typeName": "T" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 197, + "type": { + "path": [ + "ep_multi_tokens", + "types", + "Freeze" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "CollectionId", + "type": 6 + }, + { + "name": "TokenId", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "CollectionId" + }, + { + "name": "freeze_type", + "type": 198, + "typeName": "FreezeType" + } + ] + } + } + } + }, + { + "id": 198, + "type": { + "path": [ + "ep_multi_tokens", + "types", + "FreezeType" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "TokenId", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Collection", + "index": 0 + }, + { + "name": "Token", + "fields": [ + { + "name": "token_id", + "type": 6, + "typeName": "TokenId" + }, + { + "name": "freeze_state", + "type": 199, + "typeName": "Option" + } + ], + "index": 1 + }, + { + "name": "CollectionAccount", + "fields": [ + { + "type": 0, + "typeName": "AccountId" + } + ], + "index": 2 + }, + { + "name": "TokenAccount", + "fields": [ + { + "name": "token_id", + "type": 63, + "typeName": "TokenId" + }, + { + "name": "account_id", + "type": 0, + "typeName": "AccountId" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 199, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 200 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 200 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 200, + "type": { + "path": [ + "ep_multi_tokens", + "token", + "FreezeState" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Permanent", + "index": 0 + }, + { + "name": "Temporary", + "index": 1 + }, + { + "name": "Never", + "index": 2 + } + ] + } + } + } + }, + { + "id": 201, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 202, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 203, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 134 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 134 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 204, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 205 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 205 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 205, + "type": { + "path": [ + "ep_multi_tokens", + "collection", + "Collection" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Policy", + "type": 206 + }, + { + "name": "ExplicitRoyaltyCurrencies", + "type": 213 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "policy", + "type": 206, + "typeName": "Policy" + }, + { + "name": "token_count", + "type": 10, + "typeName": "TokenCount" + }, + { + "name": "attribute_count", + "type": 119, + "typeName": "u32" + }, + { + "name": "total_deposit", + "type": 63, + "typeName": "Balance" + }, + { + "name": "explicit_royalty_currencies", + "type": 213, + "typeName": "ExplicitRoyaltyCurrencies" + } + ] + } + } + } + }, + { + "id": 206, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "DefaultCollectionPolicy" + ], + "params": [ + { + "name": "TokenBalance", + "type": 6 + }, + { + "name": "Royalty", + "type": 175 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "mint", + "type": 207, + "typeName": "DefaultMintPolicy" + }, + { + "name": "burn", + "type": 209, + "typeName": "DefaultBurnPolicy" + }, + { + "name": "transfer", + "type": 210, + "typeName": "DefaultTransferPolicy" + }, + { + "name": "attribute", + "type": 211, + "typeName": "DefaultAttributePolicy" + }, + { + "name": "market", + "type": 212, + "typeName": "DefaultMarketPolicy" + } + ] + } + } + } + }, + { + "id": 207, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "mint", + "DefaultMintPolicy" + ], + "params": [ + { + "name": "TokenBalance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "max_token_count", + "type": 208, + "typeName": "Option" + }, + { + "name": "max_token_supply", + "type": 77, + "typeName": "Option" + }, + { + "name": "force_single_mint", + "type": 37, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 208, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 11 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 11 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 209, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "burn", + "DefaultBurnPolicy" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 210, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "transfer", + "DefaultTransferPolicy" + ], + "def": { + "composite": { + "fields": [ + { + "name": "is_frozen", + "type": 37, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 211, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "attribute", + "DefaultAttributePolicy" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 212, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "market", + "DefaultMarketPolicy" + ], + "params": [ + { + "name": "Royalty", + "type": 175 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "royalty", + "type": 180, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 213, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 177 + }, + { + "name": "V", + "type": 56 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 214, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 214, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 177 + }, + { + "name": "V", + "type": 56 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 215 + } + ] + } + } + } + }, + { + "id": 215, + "type": { + "def": { + "sequence": { + "type": 216 + } + } + } + }, + { + "id": 216, + "type": { + "def": { + "tuple": [ + 177, + 56 + ] + } + } + }, + { + "id": 217, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 218 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 218 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 218, + "type": { + "path": [ + "ep_multi_tokens", + "token", + "Token" + ], + "params": [ + { + "name": "TokenBalance", + "type": 6 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Royalty", + "type": 175 + }, + { + "name": "TokenMetadata", + "type": 184 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "supply", + "type": 63, + "typeName": "TokenBalance" + }, + { + "name": "cap", + "type": 219, + "typeName": "Option>" + }, + { + "name": "freeze_state", + "type": 199, + "typeName": "Option" + }, + { + "name": "minimum_balance", + "type": 63, + "typeName": "TokenBalance" + }, + { + "name": "sufficiency", + "type": 221, + "typeName": "Sufficiency" + }, + { + "name": "mint_deposit", + "type": 63, + "typeName": "Balance" + }, + { + "name": "attribute_count", + "type": 119, + "typeName": "u32" + }, + { + "name": "market_behavior", + "type": 193, + "typeName": "Option>" + }, + { + "name": "listing_forbidden", + "type": 37, + "typeName": "bool" + }, + { + "name": "metadata", + "type": 184, + "typeName": "TokenMetadata" + } + ] + } + } + } + }, + { + "id": 219, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 220 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 220 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 220, + "type": { + "path": [ + "ep_multi_tokens", + "token", + "TokenCap" + ], + "params": [ + { + "name": "TokenBalance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "SingleMint", + "index": 0 + }, + { + "name": "Supply", + "fields": [ + { + "type": 63, + "typeName": "TokenBalance" + } + ], + "index": 1 + }, + { + "name": "CollapsingSupply", + "fields": [ + { + "type": 63, + "typeName": "TokenBalance" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 221, + "type": { + "path": [ + "ep_multi_tokens", + "token", + "Sufficiency" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Sufficient", + "index": 0 + }, + { + "name": "Insufficient", + "fields": [ + { + "name": "unit_price", + "type": 63, + "typeName": "Balance" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 222, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 223 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 223 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 223, + "type": { + "path": [ + "pallet_multi_tokens", + "features", + "collection", + "types", + "CollectionAccount" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Expiration", + "type": 73 + }, + { + "name": "MaxApprovalCount", + "type": 224 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "is_frozen", + "type": 37, + "typeName": "bool" + }, + { + "name": "approvals", + "type": 225, + "typeName": "BoundedBTreeMap" + }, + { + "name": "account_count", + "type": 119, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 224, + "type": { + "path": [ + "enjin_runtime", + "MaxOperatorsPerAccount" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 225, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 0 + }, + { + "name": "V", + "type": 73 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 226, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 226, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 0 + }, + { + "name": "V", + "type": 73 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 227 + } + ] + } + } + } + }, + { + "id": 227, + "type": { + "def": { + "sequence": { + "type": 228 + } + } + } + }, + { + "id": 228, + "type": { + "def": { + "tuple": [ + 0, + 73 + ] + } + } + }, + { + "id": 229, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 230 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 230 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 230, + "type": { + "path": [ + "pallet_multi_tokens", + "features", + "token", + "types", + "TokenAccount" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "TokenBalance", + "type": 6 + }, + { + "name": "Approval", + "type": 231 + }, + { + "name": "ApprovalCount", + "type": 224 + }, + { + "name": "ReserveIdentifier", + "type": 134 + }, + { + "name": "LockId", + "type": 134 + }, + { + "name": "MaxReserves", + "type": 232 + }, + { + "name": "MaxLocks", + "type": 233 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "balance", + "type": 63, + "typeName": "TokenBalance" + }, + { + "name": "reserved_balance", + "type": 63, + "typeName": "TokenBalance" + }, + { + "name": "locked_balance", + "type": 63, + "typeName": "TokenBalance" + }, + { + "name": "named_reserves", + "type": 234, + "typeName": "BoundedBTreeMap" + }, + { + "name": "locks", + "type": 238, + "typeName": "BoundedBTreeMap" + }, + { + "name": "approvals", + "type": 239, + "typeName": "BoundedBTreeMap" + }, + { + "name": "is_frozen", + "type": 37, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 231, + "type": { + "path": [ + "pallet_multi_tokens", + "features", + "operator", + "types", + "Approval" + ], + "params": [ + { + "name": "TokenBalance", + "type": 6 + }, + { + "name": "Expiration", + "type": 73 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "amount", + "type": 63, + "typeName": "TokenBalance" + }, + { + "name": "expiration", + "type": 73, + "typeName": "Expiration" + } + ] + } + } + } + }, + { + "id": 232, + "type": { + "path": [ + "enjin_runtime", + "MaxMultiTokensReserves" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 233, + "type": { + "path": [ + "enjin_runtime", + "MaxMultiTokensLocks" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 234, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 134 + }, + { + "name": "V", + "type": 6 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 235, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 235, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 134 + }, + { + "name": "V", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 236 + } + ] + } + } + } + }, + { + "id": 236, + "type": { + "def": { + "sequence": { + "type": 237 + } + } + } + }, + { + "id": 237, + "type": { + "def": { + "tuple": [ + 134, + 6 + ] + } + } + }, + { + "id": 238, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 134 + }, + { + "name": "V", + "type": 6 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 235, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 239, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 0 + }, + { + "name": "V", + "type": 231 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 240, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 240, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 0 + }, + { + "name": "V", + "type": 231 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 241 + } + ] + } + } + } + }, + { + "id": 241, + "type": { + "def": { + "sequence": { + "type": 242 + } + } + } + }, + { + "id": 242, + "type": { + "def": { + "tuple": [ + 0, + 231 + ] + } + } + }, + { + "id": 243, + "type": { + "path": [ + "ep_core", + "frame", + "migrations", + "MigrationStage" + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotStarted", + "index": 0 + }, + { + "name": "InProgress", + "index": 1 + }, + { + "name": "Completed", + "index": 2 + }, + { + "name": "Failed", + "index": 3 + } + ] + } + } + } + }, + { + "id": 244, + "type": { + "path": [ + "primitive_types", + "H160" + ], + "def": { + "composite": { + "fields": [ + { + "type": 122, + "typeName": "[u8; 20]" + } + ] + } + } + } + }, + { + "id": 245, + "type": { + "def": { + "sequence": { + "type": 246 + } + } + } + }, + { + "id": 246, + "type": { + "path": [ + "pallet_multi_tokens", + "features", + "claim", + "CollectionIdPair" + ], + "params": [ + { + "name": "CollectionId", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "ethereum", + "type": 6, + "typeName": "CollectionId" + }, + { + "name": "native", + "type": 6, + "typeName": "CollectionId" + } + ] + } + } + } + }, + { + "id": 247, + "type": { + "def": { + "sequence": { + "type": 248 + } + } + } + }, + { + "id": 248, + "type": { + "path": [ + "pallet_multi_tokens", + "features", + "claim", + "AssetIdWithEth" + ], + "params": [ + { + "name": "CollectionId", + "type": 6 + }, + { + "name": "TokenId", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "ethereum_collection_id", + "type": 6, + "typeName": "CollectionId" + }, + { + "name": "collection_id", + "type": 6, + "typeName": "CollectionId" + }, + { + "name": "token_id", + "type": 6, + "typeName": "TokenId" + } + ] + } + } + } + }, + { + "id": 249, + "type": { + "path": [ + "pallet_fuel_tanks", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "FuelTankCreated", + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) that owns the [`FuelTank`]" + ] + }, + { + "name": "name", + "type": 250, + "typeName": "FuelTankNameOf", + "docs": [ + "The name of the [`FuelTank`]" + ] + }, + { + "name": "tank_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account id of the [`FuelTank`]" + ] + } + ], + "index": 0, + "docs": [ + "A new [`FuelTank`] was created." + ] + }, + { + "name": "FuelTankMutated", + "fields": [ + { + "name": "tank_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the [`FuelTank`]" + ] + }, + { + "name": "mutation", + "type": 253, + "typeName": "T::TankMutation", + "docs": [ + "The mutation that was applied" + ] + } + ], + "index": 1, + "docs": [ + "A [`FuelTank`] was mutated" + ] + }, + { + "name": "FuelTankDestroyed", + "fields": [ + { + "name": "tank_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the [`FuelTank`]" + ] + } + ], + "index": 2, + "docs": [ + "A [`FuelTank`] was destroyed" + ] + }, + { + "name": "CallDispatched", + "fields": [ + { + "name": "caller", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) that dispatched the call" + ] + }, + { + "name": "tank_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the [`FuelTank`]" + ] + } + ], + "index": 3, + "docs": [ + "A call was dispatched through a [`FuelTank`]." + ] + }, + { + "name": "AccountAdded", + "fields": [ + { + "name": "tank_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the [`FuelTank`]" + ] + }, + { + "name": "user_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) that was added" + ] + }, + { + "name": "tank_deposit", + "type": 6, + "typeName": "T::Balance", + "docs": [ + "The deposit reserved by the [`FuelTank`] for this account" + ] + }, + { + "name": "user_deposit", + "type": 6, + "typeName": "T::Balance", + "docs": [ + "The deposit reserved by the user for this account" + ] + } + ], + "index": 4, + "docs": [ + "An account was added to a [`FuelTank`]" + ] + }, + { + "name": "AccountRemoved", + "fields": [ + { + "name": "tank_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the [`FuelTank`]" + ] + }, + { + "name": "user_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) that was removed" + ] + } + ], + "index": 5, + "docs": [ + "An account was removed from a [`FuelTank`]" + ] + }, + { + "name": "AccountRuleDataRemoved", + "fields": [ + { + "name": "tank_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the [`FuelTank`]" + ] + }, + { + "name": "user_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) that was removed" + ] + }, + { + "name": "rule_set_id", + "type": 4, + "typeName": "T::RuleSetId", + "docs": [ + "The id of the rule set that was removed" + ] + }, + { + "name": "rule_kind", + "type": 268, + "typeName": "DispatchRuleKind", + "docs": [ + "The [`DispatchRuleKind`] that was removed" + ] + } + ], + "index": 6, + "docs": [ + "Account data of [`AccountId`](frame_system::Config::AccountId) was removed from", + "[`RuleSetId`](Config::RuleSetId)" + ] + }, + { + "name": "RuleSetInserted", + "fields": [ + { + "name": "tank_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the [`FuelTank`]" + ] + }, + { + "name": "rule_set_id", + "type": 4, + "typeName": "T::RuleSetId", + "docs": [ + "The id of the rule set that was added" + ] + } + ], + "index": 7, + "docs": [ + "A new rule set was added to [`FuelTank`]" + ] + }, + { + "name": "RuleSetRemoved", + "fields": [ + { + "name": "tank_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the [`FuelTank`]" + ] + }, + { + "name": "rule_set_id", + "type": 4, + "typeName": "T::RuleSetId", + "docs": [ + "The id of the rule set that was removed" + ] + } + ], + "index": 8, + "docs": [ + "A rule set was removed from [`FuelTank`]" + ] + }, + { + "name": "MutateFreezeStateScheduled", + "fields": [ + { + "name": "tank_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the [`FuelTank`]" + ] + }, + { + "name": "rule_set_id", + "type": 73, + "typeName": "Option", + "docs": [ + "The possible [`RuleSetId`](Config::RuleSetId)" + ] + }, + { + "name": "is_frozen", + "type": 37, + "typeName": "bool", + "docs": [ + "The new `is_frozen` state" + ] + } + ], + "index": 9, + "docs": [ + "The freeze state mutation for fuel tank or its rule set was scheduled" + ] + }, + { + "name": "FreezeStateMutated", + "fields": [ + { + "name": "tank_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the [`FuelTank`]" + ] + }, + { + "name": "rule_set_id", + "type": 73, + "typeName": "Option", + "docs": [ + "The possible [`RuleSetId`](Config::RuleSetId)" + ] + }, + { + "name": "is_frozen", + "type": 37, + "typeName": "bool", + "docs": [ + "The new `is_frozen` state" + ] + } + ], + "index": 10, + "docs": [ + "The freeze state change for fuel tank or its rule set was executed in `on_finalize`" + ] + }, + { + "name": "ScheduleMutateFreezeStateFailed", + "fields": [ + { + "name": "tank_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the [`FuelTank`]" + ] + }, + { + "name": "rule_set_id", + "type": 73, + "typeName": "Option", + "docs": [ + "The possible [`RuleSetId`](Config::RuleSetId)" + ] + }, + { + "name": "is_frozen", + "type": 37, + "typeName": "bool", + "docs": [ + "The new `is_frozen` state" + ] + }, + { + "name": "error", + "type": 25, + "typeName": "DispatchError", + "docs": [ + "The error" + ] + } + ], + "index": 11, + "docs": [ + "The freeze state change for fuel tank or its rule set failed in `on_finalize`" + ] + }, + { + "name": "DispatchFailed", + "fields": [ + { + "name": "tank_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the [`FuelTank`]" + ] + }, + { + "name": "caller", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) that dispatched the call" + ] + }, + { + "name": "error", + "type": 25, + "typeName": "DispatchError", + "docs": [ + "The error" + ] + } + ], + "index": 12, + "docs": [ + "The dispatch of a call has failed" + ] + }, + { + "name": "ConsumptionSet", + "fields": [ + { + "name": "tank_id", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The [`AccountId`](frame_system::Config::AccountId) of the [`FuelTank`]" + ] + }, + { + "name": "user_id", + "type": 36, + "typeName": "Option", + "docs": [ + "The possible user [`AccountId`](frame_system::Config::AccountId) whose consumption", + "was set" + ] + }, + { + "name": "rule_set_id", + "type": 4, + "typeName": "T::RuleSetId", + "docs": [ + "The [`RuleSetId`](Config::RuleSetId)" + ] + }, + { + "name": "consumption", + "type": 269, + "typeName": "ConsumptionOf", + "docs": [ + "The new [`Consumption`](crate::Consumption)" + ] + } + ], + "index": 13, + "docs": [ + "The consumption for an account was set for a rule set on a [`FuelTank`]" + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 250, + "type": { + "path": [ + "ep_core", + "frame", + "types", + "BoundedString" + ], + "params": [ + { + "name": "MaxLength", + "type": 251 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 252, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 251, + "type": { + "path": [ + "enjin_runtime", + "MaxFuelTankNameLength" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 252, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 253, + "type": { + "path": [ + "pallet_fuel_tanks", + "impls", + "DefaultTankMutation" + ], + "params": [ + { + "name": "T", + "type": 254 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "user_account_management", + "type": 255, + "typeName": "ShouldMutate>" + }, + { + "name": "provides_deposit", + "type": 258, + "typeName": "Option" + }, + { + "name": "account_rules", + "type": 259, + "typeName": "Option>" + } + ] + } + } + } + }, + { + "id": 254, + "type": { + "path": [ + "enjin_runtime", + "Runtime" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 255, + "type": { + "path": [ + "ep_multi_tokens", + "types", + "ShouldMutate" + ], + "params": [ + { + "name": "T", + "type": 256 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NoMutation", + "index": 0 + }, + { + "name": "SomeMutation", + "fields": [ + { + "type": 256, + "typeName": "T" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 256, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 257 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 257 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 257, + "type": { + "path": [ + "pallet_fuel_tanks", + "types", + "UserAccountManagement" + ], + "def": { + "composite": { + "fields": [ + { + "name": "tank_reserves_existential_deposit", + "type": 37, + "typeName": "bool" + }, + { + "name": "tank_reserves_account_creation_deposit", + "type": 37, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 258, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 37 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 37 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 259, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 260 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 260 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 260, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 261 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 267, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 261, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "AccountRuleDescriptor" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "WhitelistedCallers", + "fields": [ + { + "type": 262, + "typeName": "WhitelistedCallersRuleOf" + } + ], + "index": 0 + }, + { + "name": "RequireToken", + "fields": [ + { + "type": 266, + "typeName": "RequireTokenRuleOf" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 262, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "whitelisted_callers", + "WhitelistedCallersRule" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Max", + "type": 263 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 264, + "typeName": "BoundedBTreeSet" + } + ] + } + } + } + }, + { + "id": 263, + "type": { + "path": [ + "enjin_runtime", + "MaxWhitelistedCallers" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 264, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_set", + "BoundedBTreeSet" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 265, + "typeName": "BTreeSet" + } + ] + } + } + } + }, + { + "id": 265, + "type": { + "path": [ + "BTreeSet" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 78 + } + ] + } + } + } + }, + { + "id": 266, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "require_token", + "RequireTokenRule" + ], + "params": [ + { + "name": "CollectionId", + "type": 6 + }, + { + "name": "TokenId", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "collection_id", + "type": 6, + "typeName": "CollectionId" + }, + { + "name": "token_id", + "type": 6, + "typeName": "TokenId" + } + ] + } + } + } + }, + { + "id": 267, + "type": { + "def": { + "sequence": { + "type": 261 + } + } + } + }, + { + "id": 268, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "DispatchRuleKind" + ], + "def": { + "variant": { + "variants": [ + { + "name": "WhitelistedCallers", + "index": 0 + }, + { + "name": "WhitelistedCollections", + "index": 1 + }, + { + "name": "MaxFuelBurnPerTransaction", + "index": 2 + }, + { + "name": "UserFuelBudget", + "index": 3 + }, + { + "name": "TankFuelBudget", + "index": 4 + }, + { + "name": "RequireToken", + "index": 5 + }, + { + "name": "PermittedCalls", + "index": 6 + }, + { + "name": "PermittedExtrinsics", + "index": 7 + } + ] + } + } + } + }, + { + "id": 269, + "type": { + "path": [ + "pallet_fuel_tanks", + "types", + "Consumption" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "total_consumed", + "type": 63, + "typeName": "Balance" + }, + { + "name": "last_reset_block", + "type": 73, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 270, + "type": { + "path": [ + "pallet_extrinsic_pause", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "PalletPaused", + "fields": [ + { + "name": "pallet_name", + "type": 271, + "typeName": "BoundedStringOf" + } + ], + "index": 0, + "docs": [ + "All pallet extrinsics are paused." + ] + }, + { + "name": "PalletResumed", + "fields": [ + { + "name": "pallet_name", + "type": 271, + "typeName": "BoundedStringOf" + } + ], + "index": 1, + "docs": [ + "All pallet extrinsics are resumed." + ] + }, + { + "name": "ExtrinsicPaused", + "fields": [ + { + "name": "pallet_name", + "type": 271, + "typeName": "BoundedStringOf" + }, + { + "name": "extrinsic_name", + "type": 271, + "typeName": "BoundedStringOf" + } + ], + "index": 2, + "docs": [ + "Extrinsic is paused." + ] + }, + { + "name": "ExtrinsicResumed", + "fields": [ + { + "name": "pallet_name", + "type": 271, + "typeName": "BoundedStringOf" + }, + { + "name": "extrinsic_name", + "type": 271, + "typeName": "BoundedStringOf" + } + ], + "index": 3, + "docs": [ + "Extrinsic is resumed" + ] + } + ] + } + }, + "docs": [ + "The pallet's event type." + ] + } + }, + { + "id": 271, + "type": { + "path": [ + "ep_core", + "frame", + "types", + "BoundedString" + ], + "params": [ + { + "name": "MaxLength", + "type": 272 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 273, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 272, + "type": { + "path": [ + "enjin_runtime", + "MaxNameLength" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 273, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 274, + "type": { + "path": [ + "pallet_marketplace", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "ListingCreated", + "fields": [ + { + "name": "listing_id", + "type": 12, + "typeName": "ListingIdOf", + "docs": [ + "Id for the listing" + ] + }, + { + "name": "listing", + "type": 275, + "typeName": "ListingOf", + "docs": [ + "The listing" + ] + } + ], + "index": 0, + "docs": [ + "A listing was created" + ] + }, + { + "name": "ListingCancelled", + "fields": [ + { + "name": "listing_id", + "type": 12, + "typeName": "ListingIdOf", + "docs": [ + "Id for the listing" + ] + } + ], + "index": 1, + "docs": [ + "A listing was cancelled" + ] + }, + { + "name": "ListingFilled", + "fields": [ + { + "name": "listing_id", + "type": 12, + "typeName": "ListingIdOf", + "docs": [ + "ID of the listing" + ] + }, + { + "name": "buyer", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "account that filled the listing" + ] + }, + { + "name": "amount_filled", + "type": 6, + "typeName": "TokenBalanceOf", + "docs": [ + "The amount that was filled" + ] + }, + { + "name": "amount_remaining", + "type": 6, + "typeName": "TokenBalanceOf", + "docs": [ + "Amount remaining to be filled" + ] + }, + { + "name": "protocol_fee", + "type": 6, + "typeName": "TokenBalanceOf", + "docs": [ + "Amount paid as protocol fee" + ] + }, + { + "name": "royalty", + "type": 6, + "typeName": "TokenBalanceOf", + "docs": [ + "Amount that went to royalties" + ] + } + ], + "index": 2, + "docs": [ + "A listing was filled or partially filled" + ] + }, + { + "name": "BidPlaced", + "fields": [ + { + "name": "listing_id", + "type": 12, + "typeName": "ListingIdOf", + "docs": [ + "ID of the listing" + ] + }, + { + "name": "bid", + "type": 283, + "typeName": "BidOf", + "docs": [ + "The bid that was placed" + ] + } + ], + "index": 3, + "docs": [ + "A bid was placed" + ] + }, + { + "name": "AuctionFinalized", + "fields": [ + { + "name": "listing_id", + "type": 12, + "typeName": "ListingIdOf", + "docs": [ + "The listing id" + ] + }, + { + "name": "winning_bid", + "type": 282, + "typeName": "Option>", + "docs": [ + "The bid that won" + ] + }, + { + "name": "protocol_fee", + "type": 6, + "typeName": "TokenBalanceOf", + "docs": [ + "Amount paid as protocol fee" + ] + }, + { + "name": "royalty", + "type": 6, + "typeName": "TokenBalanceOf", + "docs": [ + "Amount that went to royalties" + ] + } + ], + "index": 4, + "docs": [ + "An auction was finalized" + ] + }, + { + "name": "ProtocolFeeSet", + "fields": [ + { + "name": "protocol_fee", + "type": 42, + "typeName": "Perbill", + "docs": [ + "The new protocol fee" + ] + } + ], + "index": 5, + "docs": [ + "Protocol fee was set" + ] + } + ] + } + }, + "docs": [ + "The Event for this pallet" + ] + } + }, + { + "id": 275, + "type": { + "path": [ + "pallet_marketplace", + "features", + "listing", + "Listing" + ], + "params": [ + { + "name": "CollectionId", + "type": 6 + }, + { + "name": "TokenId", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "TokenBalance", + "type": 6 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "Salt", + "type": 276 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "seller", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "make_asset_id", + "type": 177, + "typeName": "AssetId" + }, + { + "name": "take_asset_id", + "type": 177, + "typeName": "AssetId" + }, + { + "name": "amount", + "type": 63, + "typeName": "TokenBalance" + }, + { + "name": "price", + "type": 63, + "typeName": "TokenBalance" + }, + { + "name": "min_take_value", + "type": 63, + "typeName": "TokenBalance" + }, + { + "name": "fee_side", + "type": 277, + "typeName": "FeeSide" + }, + { + "name": "creation_block", + "type": 119, + "typeName": "BlockNumber" + }, + { + "name": "deposit", + "type": 63, + "typeName": "Balance" + }, + { + "name": "salt", + "type": 276, + "typeName": "Salt" + }, + { + "name": "data", + "type": 278, + "typeName": "ListingData" + }, + { + "name": "state", + "type": 280, + "typeName": "ListingState" + } + ] + } + } + } + }, + { + "id": 276, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 277, + "type": { + "path": [ + "pallet_marketplace", + "features", + "listing", + "FeeSide" + ], + "def": { + "variant": { + "variants": [ + { + "name": "NoFee", + "index": 0 + }, + { + "name": "Make", + "index": 1 + }, + { + "name": "Take", + "index": 2 + } + ] + } + } + } + }, + { + "id": 278, + "type": { + "path": [ + "pallet_marketplace", + "features", + "listing", + "ListingData" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "FixedPrice", + "index": 0 + }, + { + "name": "Auction", + "fields": [ + { + "type": 279, + "typeName": "AuctionData" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 279, + "type": { + "path": [ + "pallet_marketplace", + "features", + "auction", + "AuctionData" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "start_block", + "type": 119, + "typeName": "BlockNumber" + }, + { + "name": "end_block", + "type": 119, + "typeName": "BlockNumber" + } + ] + } + } + } + }, + { + "id": 280, + "type": { + "path": [ + "pallet_marketplace", + "features", + "listing", + "ListingState" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "TokenBalance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "FixedPrice", + "fields": [ + { + "name": "amount_filled", + "type": 63, + "typeName": "TokenBalance" + } + ], + "index": 0 + }, + { + "name": "Auction", + "fields": [ + { + "type": 281, + "typeName": "AuctionState" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 281, + "type": { + "path": [ + "pallet_marketplace", + "features", + "auction", + "AuctionState" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "TokenBalance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "high_bid", + "type": 282, + "typeName": "Option>" + } + ] + } + } + } + }, + { + "id": 282, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 283 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 283 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 283, + "type": { + "path": [ + "pallet_marketplace", + "features", + "auction", + "Bid" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "TokenBalance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "bidder", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "price", + "type": 63, + "typeName": "TokenBalance" + } + ] + } + } + } + }, + { + "id": 284, + "type": { + "path": [ + "pallet_scheduler", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Scheduled", + "fields": [ + { + "name": "when", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "index", + "type": 4, + "typeName": "u32" + } + ], + "index": 0, + "docs": [ + "Scheduled some task." + ] + }, + { + "name": "Canceled", + "fields": [ + { + "name": "when", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "index", + "type": 4, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "Canceled some task." + ] + }, + { + "name": "Dispatched", + "fields": [ + { + "name": "task", + "type": 285, + "typeName": "TaskAddress" + }, + { + "name": "id", + "type": 286, + "typeName": "Option" + }, + { + "name": "result", + "type": 55, + "typeName": "DispatchResult" + } + ], + "index": 2, + "docs": [ + "Dispatched some task." + ] + }, + { + "name": "CallUnavailable", + "fields": [ + { + "name": "task", + "type": 285, + "typeName": "TaskAddress" + }, + { + "name": "id", + "type": 286, + "typeName": "Option" + } + ], + "index": 3, + "docs": [ + "The call for the provided hash was not found so the task has been aborted." + ] + }, + { + "name": "PeriodicFailed", + "fields": [ + { + "name": "task", + "type": 285, + "typeName": "TaskAddress" + }, + { + "name": "id", + "type": 286, + "typeName": "Option" + } + ], + "index": 4, + "docs": [ + "The given task was unable to be renewed since the agenda is full at that block." + ] + }, + { + "name": "PermanentlyOverweight", + "fields": [ + { + "name": "task", + "type": 285, + "typeName": "TaskAddress" + }, + { + "name": "id", + "type": 286, + "typeName": "Option" + } + ], + "index": 5, + "docs": [ + "The given task can never be executed since it is overweight." + ] + } + ] + } + }, + "docs": [ + "Events type." + ] + } + }, + { + "id": 285, + "type": { + "def": { + "tuple": [ + 4, + 4 + ] + } + } + }, + { + "id": 286, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 1 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 1 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 287, + "type": { + "path": [ + "pallet_preimage", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noted", + "fields": [ + { + "name": "hash", + "type": 12, + "typeName": "T::Hash" + } + ], + "index": 0, + "docs": [ + "A preimage has been noted." + ] + }, + { + "name": "Requested", + "fields": [ + { + "name": "hash", + "type": 12, + "typeName": "T::Hash" + } + ], + "index": 1, + "docs": [ + "A preimage has been requested." + ] + }, + { + "name": "Cleared", + "fields": [ + { + "name": "hash", + "type": 12, + "typeName": "T::Hash" + } + ], + "index": 2, + "docs": [ + "A preimage has ben cleared." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 288, + "type": { + "path": [ + "pallet_conviction_voting", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Delegated", + "fields": [ + { + "type": 0, + "typeName": "T::AccountId" + }, + { + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 0, + "docs": [ + "An account has delegated their vote to another account. \\[who, target\\]" + ] + }, + { + "name": "Undelegated", + "fields": [ + { + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 1, + "docs": [ + "An \\[account\\] has cancelled a previous delegation operation." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 289, + "type": { + "path": [ + "pallet_referenda", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Submitted", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "track", + "type": 290, + "typeName": "TrackIdOf", + "docs": [ + "The track (and by extension proposal dispatch origin) of this referendum." + ] + }, + { + "name": "proposal", + "type": 291, + "typeName": "BoundedCallOf", + "docs": [ + "The proposal for the referendum." + ] + } + ], + "index": 0, + "docs": [ + "A referendum has been submitted." + ] + }, + { + "name": "DecisionDepositPlaced", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account who placed the deposit." + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount placed by the account." + ] + } + ], + "index": 1, + "docs": [ + "The decision deposit has been placed." + ] + }, + { + "name": "DecisionDepositRefunded", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account who placed the deposit." + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount placed by the account." + ] + } + ], + "index": 2, + "docs": [ + "The decision deposit has been refunded." + ] + }, + { + "name": "DepositSlashed", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account who placed the deposit." + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount placed by the account." + ] + } + ], + "index": 3, + "docs": [ + "A deposit has been slashaed." + ] + }, + { + "name": "DecisionStarted", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "track", + "type": 290, + "typeName": "TrackIdOf", + "docs": [ + "The track (and by extension proposal dispatch origin) of this referendum." + ] + }, + { + "name": "proposal", + "type": 291, + "typeName": "BoundedCallOf", + "docs": [ + "The proposal for the referendum." + ] + }, + { + "name": "tally", + "type": 639, + "typeName": "T::Tally", + "docs": [ + "The current tally of votes in this referendum." + ] + } + ], + "index": 4, + "docs": [ + "A referendum has moved into the deciding phase." + ] + }, + { + "name": "ConfirmStarted", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + } + ], + "index": 5 + }, + { + "name": "ConfirmAborted", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + } + ], + "index": 6 + }, + { + "name": "Confirmed", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "tally", + "type": 639, + "typeName": "T::Tally", + "docs": [ + "The final tally of votes in this referendum." + ] + } + ], + "index": 7, + "docs": [ + "A referendum has ended its confirmation phase and is ready for approval." + ] + }, + { + "name": "Approved", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + } + ], + "index": 8, + "docs": [ + "A referendum has been approved and its proposal has been scheduled." + ] + }, + { + "name": "Rejected", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "tally", + "type": 639, + "typeName": "T::Tally", + "docs": [ + "The final tally of votes in this referendum." + ] + } + ], + "index": 9, + "docs": [ + "A proposal has been rejected by referendum." + ] + }, + { + "name": "TimedOut", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "tally", + "type": 639, + "typeName": "T::Tally", + "docs": [ + "The final tally of votes in this referendum." + ] + } + ], + "index": 10, + "docs": [ + "A referendum has been timed out without being decided." + ] + }, + { + "name": "Cancelled", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "tally", + "type": 639, + "typeName": "T::Tally", + "docs": [ + "The final tally of votes in this referendum." + ] + } + ], + "index": 11, + "docs": [ + "A referendum has been cancelled." + ] + }, + { + "name": "Killed", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "tally", + "type": 639, + "typeName": "T::Tally", + "docs": [ + "The final tally of votes in this referendum." + ] + } + ], + "index": 12, + "docs": [ + "A referendum has been killed." + ] + }, + { + "name": "SubmissionDepositRefunded", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account who placed the deposit." + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount placed by the account." + ] + } + ], + "index": 13, + "docs": [ + "The submission deposit has been refunded." + ] + }, + { + "name": "MetadataSet", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "hash", + "type": 12, + "typeName": "PreimageHash", + "docs": [ + "Preimage hash." + ] + } + ], + "index": 14, + "docs": [ + "Metadata for a referendum has been set." + ] + }, + { + "name": "MetadataCleared", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "hash", + "type": 12, + "typeName": "PreimageHash", + "docs": [ + "Preimage hash." + ] + } + ], + "index": 15, + "docs": [ + "Metadata for a referendum has been cleared." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 290, + "type": { + "def": { + "primitive": "u16" + } + } + }, + { + "id": 291, + "type": { + "path": [ + "frame_support", + "traits", + "preimages", + "Bounded" + ], + "params": [ + { + "name": "T", + "type": 292 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Legacy", + "fields": [ + { + "name": "hash", + "type": 12, + "typeName": "Hash" + } + ], + "index": 0 + }, + { + "name": "Inline", + "fields": [ + { + "type": 638, + "typeName": "BoundedInline" + } + ], + "index": 1 + }, + { + "name": "Lookup", + "fields": [ + { + "name": "hash", + "type": 12, + "typeName": "Hash" + }, + { + "name": "len", + "type": 4, + "typeName": "u32" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 292, + "type": { + "path": [ + "enjin_runtime", + "RuntimeCall" + ], + "def": { + "variant": { + "variants": [ + { + "name": "System", + "fields": [ + { + "type": 293, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 0 + }, + { + "name": "Timestamp", + "fields": [ + { + "type": 297, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 2 + }, + { + "name": "Babe", + "fields": [ + { + "type": 298, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 3 + }, + { + "name": "Balances", + "fields": [ + { + "type": 308, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 6 + }, + { + "name": "ElectionProviderMultiPhase", + "fields": [ + { + "type": 311, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 8 + }, + { + "name": "Staking", + "fields": [ + { + "type": 371, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 9 + }, + { + "name": "Session", + "fields": [ + { + "type": 380, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 10 + }, + { + "name": "Grandpa", + "fields": [ + { + "type": 385, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 11 + }, + { + "name": "Treasury", + "fields": [ + { + "type": 396, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 12 + }, + { + "name": "Sudo", + "fields": [ + { + "type": 397, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 14 + }, + { + "name": "ImOnline", + "fields": [ + { + "type": 398, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 15 + }, + { + "name": "VoterList", + "fields": [ + { + "type": 405, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 17 + }, + { + "name": "NominationPools", + "fields": [ + { + "type": 406, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 18 + }, + { + "name": "StakeExchange", + "fields": [ + { + "type": 411, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 19 + }, + { + "name": "Utility", + "fields": [ + { + "type": 413, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 20 + }, + { + "name": "Multisig", + "fields": [ + { + "type": 421, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 21 + }, + { + "name": "Configuration", + "fields": [ + { + "type": 423, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 51 + }, + { + "name": "ParasShared", + "fields": [ + { + "type": 430, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 52 + }, + { + "name": "ParaInclusion", + "fields": [ + { + "type": 431, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 53 + }, + { + "name": "ParaInherent", + "fields": [ + { + "type": 432, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 54 + }, + { + "name": "Paras", + "fields": [ + { + "type": 460, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 56 + }, + { + "name": "Initializer", + "fields": [ + { + "type": 462, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 57 + }, + { + "name": "Hrmp", + "fields": [ + { + "type": 463, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 60 + }, + { + "name": "ParasDisputes", + "fields": [ + { + "type": 464, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 62 + }, + { + "name": "ParasSlashing", + "fields": [ + { + "type": 465, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 63 + }, + { + "name": "Registrar", + "fields": [ + { + "type": 469, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 70 + }, + { + "name": "Slots", + "fields": [ + { + "type": 470, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 71 + }, + { + "name": "Auctions", + "fields": [ + { + "type": 471, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 72 + }, + { + "name": "Crowdloan", + "fields": [ + { + "type": 473, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 73 + }, + { + "name": "XcmPallet", + "fields": [ + { + "type": 482, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 99 + }, + { + "name": "MessageQueue", + "fields": [ + { + "type": 503, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 110 + }, + { + "name": "ParasSudoWrapper", + "fields": [ + { + "type": 504, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 250 + }, + { + "name": "AssignedSlots", + "fields": [ + { + "type": 506, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 251 + }, + { + "name": "ValidatorManager", + "fields": [ + { + "type": 508, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 252 + }, + { + "name": "MultiTokens", + "fields": [ + { + "type": 509, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 253 + }, + { + "name": "FuelTanks", + "fields": [ + { + "type": 540, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 254 + }, + { + "name": "ExtrinsicPause", + "fields": [ + { + "type": 570, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 255 + }, + { + "name": "Marketplace", + "fields": [ + { + "type": 571, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 249 + }, + { + "name": "Beefy", + "fields": [ + { + "type": 573, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 240 + }, + { + "name": "Scheduler", + "fields": [ + { + "type": 583, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 100 + }, + { + "name": "Preimage", + "fields": [ + { + "type": 585, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 101 + }, + { + "name": "ConvictionVoting", + "fields": [ + { + "type": 586, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 102 + }, + { + "name": "Referenda", + "fields": [ + { + "type": 591, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 103 + }, + { + "name": "Whitelist", + "fields": [ + { + "type": 594, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 105 + }, + { + "name": "FellowshipCollective", + "fields": [ + { + "type": 595, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 106 + }, + { + "name": "FellowshipReferenda", + "fields": [ + { + "type": 596, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 107 + }, + { + "name": "Identity", + "fields": [ + { + "type": 597, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 108 + }, + { + "name": "VoteManager", + "fields": [ + { + "type": 636, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 109 + } + ] + } + } + } + }, + { + "id": 293, + "type": { + "path": [ + "frame_system", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "remark", + "fields": [ + { + "name": "remark", + "type": 13, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Make some on-chain remark.", + "", + "- `O(1)`" + ] + }, + { + "name": "set_heap_pages", + "fields": [ + { + "name": "pages", + "type": 11, + "typeName": "u64" + } + ], + "index": 1, + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ] + }, + { + "name": "set_code", + "fields": [ + { + "name": "code", + "type": 13, + "typeName": "Vec" + } + ], + "index": 2, + "docs": [ + "Set the new runtime code." + ] + }, + { + "name": "set_code_without_checks", + "fields": [ + { + "name": "code", + "type": 13, + "typeName": "Vec" + } + ], + "index": 3, + "docs": [ + "Set the new runtime code without doing any checks of the given `code`." + ] + }, + { + "name": "set_storage", + "fields": [ + { + "name": "items", + "type": 294, + "typeName": "Vec" + } + ], + "index": 4, + "docs": [ + "Set some items of storage." + ] + }, + { + "name": "kill_storage", + "fields": [ + { + "name": "keys", + "type": 296, + "typeName": "Vec" + } + ], + "index": 5, + "docs": [ + "Kill some items from storage." + ] + }, + { + "name": "kill_prefix", + "fields": [ + { + "name": "prefix", + "type": 13, + "typeName": "Key" + }, + { + "name": "subkeys", + "type": 4, + "typeName": "u32" + } + ], + "index": 6, + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ] + }, + { + "name": "remark_with_event", + "fields": [ + { + "name": "remark", + "type": 13, + "typeName": "Vec" + } + ], + "index": 7, + "docs": [ + "Make some on-chain remark and emit event." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 294, + "type": { + "def": { + "sequence": { + "type": 295 + } + } + } + }, + { + "id": 295, + "type": { + "def": { + "tuple": [ + 13, + 13 + ] + } + } + }, + { + "id": 296, + "type": { + "def": { + "sequence": { + "type": 13 + } + } + } + }, + { + "id": 297, + "type": { + "path": [ + "pallet_timestamp", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "set", + "fields": [ + { + "name": "now", + "type": 10, + "typeName": "T::Moment" + } + ], + "index": 0, + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "`MinimumPeriod`.", + "", + "The dispatch origin for this call must be `Inherent`.", + "", + "## Complexity", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 298, + "type": { + "path": [ + "pallet_babe", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "report_equivocation", + "fields": [ + { + "name": "equivocation_proof", + "type": 299, + "typeName": "Box>" + }, + { + "name": "key_owner_proof", + "type": 304, + "typeName": "T::KeyOwnerProof" + } + ], + "index": 0, + "docs": [ + "Report authority equivocation/misbehavior. This method will verify", + "the equivocation proof and validate the given key ownership proof", + "against the extracted offender. If both are valid, the offence will", + "be reported." + ] + }, + { + "name": "report_equivocation_unsigned", + "fields": [ + { + "name": "equivocation_proof", + "type": 299, + "typeName": "Box>" + }, + { + "name": "key_owner_proof", + "type": 304, + "typeName": "T::KeyOwnerProof" + } + ], + "index": 1, + "docs": [ + "Report authority equivocation/misbehavior. This method will verify", + "the equivocation proof and validate the given key ownership proof", + "against the extracted offender. If both are valid, the offence will", + "be reported.", + "This extrinsic must be called unsigned and it is expected that only", + "block authors will call it (validated in `ValidateUnsigned`), as such", + "if the block author is defined it will be defined as the equivocation", + "reporter." + ] + }, + { + "name": "plan_config_change", + "fields": [ + { + "name": "config", + "type": 305, + "typeName": "NextConfigDescriptor" + } + ], + "index": 2, + "docs": [ + "Plan an epoch config change. The epoch config change is recorded and will be enacted on", + "the next call to `enact_epoch_change`. The config will be activated one epoch after.", + "Multiple calls to this method will replace any existing planned config change that had", + "not been enacted yet." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 299, + "type": { + "path": [ + "sp_consensus_slots", + "EquivocationProof" + ], + "params": [ + { + "name": "Header", + "type": 300 + }, + { + "name": "Id", + "type": 302 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "offender", + "type": 302, + "typeName": "Id" + }, + { + "name": "slot", + "type": 303, + "typeName": "Slot" + }, + { + "name": "first_header", + "type": 300, + "typeName": "Header" + }, + { + "name": "second_header", + "type": 300, + "typeName": "Header" + } + ] + } + } + } + }, + { + "id": 300, + "type": { + "path": [ + "sp_runtime", + "generic", + "header", + "Header" + ], + "params": [ + { + "name": "Number", + "type": 4 + }, + { + "name": "Hash", + "type": 301 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "parent_hash", + "type": 12, + "typeName": "Hash::Output" + }, + { + "name": "number", + "type": 119, + "typeName": "Number" + }, + { + "name": "state_root", + "type": 12, + "typeName": "Hash::Output" + }, + { + "name": "extrinsics_root", + "type": 12, + "typeName": "Hash::Output" + }, + { + "name": "digest", + "type": 14, + "typeName": "Digest" + } + ] + } + } + } + }, + { + "id": 301, + "type": { + "path": [ + "sp_runtime", + "traits", + "BlakeTwo256" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 302, + "type": { + "path": [ + "sp_consensus_babe", + "app", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 59, + "typeName": "sr25519::Public" + } + ] + } + } + } + }, + { + "id": 303, + "type": { + "path": [ + "sp_consensus_slots", + "Slot" + ], + "def": { + "composite": { + "fields": [ + { + "type": 11, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 304, + "type": { + "path": [ + "sp_session", + "MembershipProof" + ], + "def": { + "composite": { + "fields": [ + { + "name": "session", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "trie_nodes", + "type": 296, + "typeName": "Vec>" + }, + { + "name": "validator_count", + "type": 4, + "typeName": "ValidatorCount" + } + ] + } + } + } + }, + { + "id": 305, + "type": { + "path": [ + "sp_consensus_babe", + "digests", + "NextConfigDescriptor" + ], + "def": { + "variant": { + "variants": [ + { + "name": "V1", + "fields": [ + { + "name": "c", + "type": 306, + "typeName": "(u64, u64)" + }, + { + "name": "allowed_slots", + "type": 307, + "typeName": "AllowedSlots" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 306, + "type": { + "def": { + "tuple": [ + 11, + 11 + ] + } + } + }, + { + "id": 307, + "type": { + "path": [ + "sp_consensus_babe", + "AllowedSlots" + ], + "def": { + "variant": { + "variants": [ + { + "name": "PrimarySlots", + "index": 0 + }, + { + "name": "PrimaryAndSecondaryPlainSlots", + "index": 1 + }, + { + "name": "PrimaryAndSecondaryVRFSlots", + "index": 2 + } + ] + } + } + } + }, + { + "id": 308, + "type": { + "path": [ + "pallet_balances", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "transfer_allow_death", + "fields": [ + { + "name": "dest", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 63, + "typeName": "T::Balance" + } + ], + "index": 0, + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor." + ] + }, + { + "name": "set_balance_deprecated", + "fields": [ + { + "name": "who", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": 63, + "typeName": "T::Balance" + }, + { + "name": "old_reserved", + "type": 63, + "typeName": "T::Balance" + } + ], + "index": 1, + "docs": [ + "Set the regular balance of a given account; it also takes a reserved balance but this", + "must be the same as the account's current reserved balance.", + "", + "The dispatch origin for this call is `root`.", + "", + "WARNING: This call is DEPRECATED! Use `force_set_balance` instead." + ] + }, + { + "name": "force_transfer", + "fields": [ + { + "name": "source", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 63, + "typeName": "T::Balance" + } + ], + "index": 2, + "docs": [ + "Exactly as `transfer_allow_death`, except the origin must be root and the source account", + "may be specified." + ] + }, + { + "name": "transfer_keep_alive", + "fields": [ + { + "name": "dest", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 63, + "typeName": "T::Balance" + } + ], + "index": 3, + "docs": [ + "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not", + "kill the origin account.", + "", + "99% of the time you want [`transfer_allow_death`] instead.", + "", + "[`transfer_allow_death`]: struct.Pallet.html#method.transfer" + ] + }, + { + "name": "transfer_all", + "fields": [ + { + "name": "dest", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": 37, + "typeName": "bool" + } + ], + "index": 4, + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true)." + ] + }, + { + "name": "force_unreserve", + "fields": [ + { + "name": "who", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 5, + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ] + }, + { + "name": "upgrade_accounts", + "fields": [ + { + "name": "who", + "type": 78, + "typeName": "Vec" + } + ], + "index": 6, + "docs": [ + "Upgrade a specified account.", + "", + "- `origin`: Must be `Signed`.", + "- `who`: The account to be upgraded.", + "", + "This will waive the transaction fee if at least all but 10% of the accounts needed to", + "be upgraded. (We let some not have to be upgraded just in order to allow for the", + "possibililty of churn)." + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "dest", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 63, + "typeName": "T::Balance" + } + ], + "index": 7, + "docs": [ + "Alias for `transfer_allow_death`, provided only for name-wise compatibility.", + "", + "WARNING: DEPRECATED! Will be released in approximately 3 months." + ] + }, + { + "name": "force_set_balance", + "fields": [ + { + "name": "who", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": 63, + "typeName": "T::Balance" + } + ], + "index": 8, + "docs": [ + "Set the regular balance of a given account.", + "", + "The dispatch origin for this call is `root`." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 309, + "type": { + "path": [ + "sp_runtime", + "multiaddress", + "MultiAddress" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "AccountIndex", + "type": 56 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Id", + "fields": [ + { + "type": 0, + "typeName": "AccountId" + } + ], + "index": 0 + }, + { + "name": "Index", + "fields": [ + { + "type": 310, + "typeName": "AccountIndex" + } + ], + "index": 1 + }, + { + "name": "Raw", + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ], + "index": 2 + }, + { + "name": "Address32", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ], + "index": 3 + }, + { + "name": "Address20", + "fields": [ + { + "type": 122, + "typeName": "[u8; 20]" + } + ], + "index": 4 + } + ] + } + } + } + }, + { + "id": 310, + "type": { + "def": { + "compact": { + "type": 56 + } + } + } + }, + { + "id": 311, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "submit_unsigned", + "fields": [ + { + "name": "raw_solution", + "type": 312, + "typeName": "Box>>" + }, + { + "name": "witness", + "type": 364, + "typeName": "SolutionOrSnapshotSize" + } + ], + "index": 0, + "docs": [ + "Submit a solution for the unsigned phase.", + "", + "The dispatch origin fo this call must be __none__.", + "", + "This submission is checked on the fly. Moreover, this unsigned solution is only", + "validated when submitted to the pool from the **local** node. Effectively, this means", + "that only active validators can submit this transaction when authoring a block (similar", + "to an inherent).", + "", + "To prevent any incorrect solution (and thus wasted time/weight), this transaction will", + "panic if the solution submitted by the validator is invalid in any way, effectively", + "putting their authoring reward at risk.", + "", + "No deposit or reward is associated with this submission." + ] + }, + { + "name": "set_minimum_untrusted_score", + "fields": [ + { + "name": "maybe_next_score", + "type": 365, + "typeName": "Option" + } + ], + "index": 1, + "docs": [ + "Set a new value for `MinimumUntrustedScore`.", + "", + "Dispatch origin must be aligned with `T::ForceOrigin`.", + "", + "This check can be turned off by setting the value to `None`." + ] + }, + { + "name": "set_emergency_election_result", + "fields": [ + { + "name": "supports", + "type": 366, + "typeName": "Supports" + } + ], + "index": 2, + "docs": [ + "Set a solution in the queue, to be handed out to the client of this pallet in the next", + "call to `ElectionProvider::elect`.", + "", + "This can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`.", + "", + "The solution is not checked for any feasibility and is assumed to be trustworthy, as any", + "feasibility check itself can in principle cause the election process to fail (due to", + "memory/weight constrains)." + ] + }, + { + "name": "submit", + "fields": [ + { + "name": "raw_solution", + "type": 312, + "typeName": "Box>>" + } + ], + "index": 3, + "docs": [ + "Submit a solution for the signed phase.", + "", + "The dispatch origin fo this call must be __signed__.", + "", + "The solution is potentially queued, based on the claimed score and processed at the end", + "of the signed phase.", + "", + "A deposit is reserved and recorded for the solution. Based on the outcome, the solution", + "might be rewarded, slashed, or get all or a part of the deposit back." + ] + }, + { + "name": "governance_fallback", + "fields": [ + { + "name": "maybe_max_voters", + "type": 73, + "typeName": "Option" + }, + { + "name": "maybe_max_targets", + "type": 73, + "typeName": "Option" + } + ], + "index": 4, + "docs": [ + "Trigger the governance fallback.", + "", + "This can only be called when [`Phase::Emergency`] is enabled, as an alternative to", + "calling [`Call::set_emergency_election_result`]." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 312, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "RawSolution" + ], + "params": [ + { + "name": "S", + "type": 313 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "solution", + "type": 313, + "typeName": "S" + }, + { + "name": "score", + "type": 38, + "typeName": "ElectionScore" + }, + { + "name": "round", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 313, + "type": { + "path": [ + "enjin_runtime", + "NposSolution16" + ], + "def": { + "composite": { + "fields": [ + { + "name": "votes1", + "type": 314 + }, + { + "name": "votes2", + "type": 317 + }, + { + "name": "votes3", + "type": 322 + }, + { + "name": "votes4", + "type": 325 + }, + { + "name": "votes5", + "type": 328 + }, + { + "name": "votes6", + "type": 331 + }, + { + "name": "votes7", + "type": 334 + }, + { + "name": "votes8", + "type": 337 + }, + { + "name": "votes9", + "type": 340 + }, + { + "name": "votes10", + "type": 343 + }, + { + "name": "votes11", + "type": 346 + }, + { + "name": "votes12", + "type": 349 + }, + { + "name": "votes13", + "type": 352 + }, + { + "name": "votes14", + "type": 355 + }, + { + "name": "votes15", + "type": 358 + }, + { + "name": "votes16", + "type": 361 + } + ] + } + } + } + }, + { + "id": 314, + "type": { + "def": { + "sequence": { + "type": 315 + } + } + } + }, + { + "id": 315, + "type": { + "def": { + "tuple": [ + 119, + 316 + ] + } + } + }, + { + "id": 316, + "type": { + "def": { + "compact": { + "type": 290 + } + } + } + }, + { + "id": 317, + "type": { + "def": { + "sequence": { + "type": 318 + } + } + } + }, + { + "id": 318, + "type": { + "def": { + "tuple": [ + 119, + 319, + 316 + ] + } + } + }, + { + "id": 319, + "type": { + "def": { + "tuple": [ + 316, + 320 + ] + } + } + }, + { + "id": 320, + "type": { + "def": { + "compact": { + "type": 321 + } + } + } + }, + { + "id": 321, + "type": { + "path": [ + "sp_arithmetic", + "per_things", + "PerU16" + ], + "def": { + "composite": { + "fields": [ + { + "type": 290, + "typeName": "u16" + } + ] + } + } + } + }, + { + "id": 322, + "type": { + "def": { + "sequence": { + "type": 323 + } + } + } + }, + { + "id": 323, + "type": { + "def": { + "tuple": [ + 119, + 324, + 316 + ] + } + } + }, + { + "id": 324, + "type": { + "def": { + "array": { + "len": 2, + "type": 319 + } + } + } + }, + { + "id": 325, + "type": { + "def": { + "sequence": { + "type": 326 + } + } + } + }, + { + "id": 326, + "type": { + "def": { + "tuple": [ + 119, + 327, + 316 + ] + } + } + }, + { + "id": 327, + "type": { + "def": { + "array": { + "len": 3, + "type": 319 + } + } + } + }, + { + "id": 328, + "type": { + "def": { + "sequence": { + "type": 329 + } + } + } + }, + { + "id": 329, + "type": { + "def": { + "tuple": [ + 119, + 330, + 316 + ] + } + } + }, + { + "id": 330, + "type": { + "def": { + "array": { + "len": 4, + "type": 319 + } + } + } + }, + { + "id": 331, + "type": { + "def": { + "sequence": { + "type": 332 + } + } + } + }, + { + "id": 332, + "type": { + "def": { + "tuple": [ + 119, + 333, + 316 + ] + } + } + }, + { + "id": 333, + "type": { + "def": { + "array": { + "len": 5, + "type": 319 + } + } + } + }, + { + "id": 334, + "type": { + "def": { + "sequence": { + "type": 335 + } + } + } + }, + { + "id": 335, + "type": { + "def": { + "tuple": [ + 119, + 336, + 316 + ] + } + } + }, + { + "id": 336, + "type": { + "def": { + "array": { + "len": 6, + "type": 319 + } + } + } + }, + { + "id": 337, + "type": { + "def": { + "sequence": { + "type": 338 + } + } + } + }, + { + "id": 338, + "type": { + "def": { + "tuple": [ + 119, + 339, + 316 + ] + } + } + }, + { + "id": 339, + "type": { + "def": { + "array": { + "len": 7, + "type": 319 + } + } + } + }, + { + "id": 340, + "type": { + "def": { + "sequence": { + "type": 341 + } + } + } + }, + { + "id": 341, + "type": { + "def": { + "tuple": [ + 119, + 342, + 316 + ] + } + } + }, + { + "id": 342, + "type": { + "def": { + "array": { + "len": 8, + "type": 319 + } + } + } + }, + { + "id": 343, + "type": { + "def": { + "sequence": { + "type": 344 + } + } + } + }, + { + "id": 344, + "type": { + "def": { + "tuple": [ + 119, + 345, + 316 + ] + } + } + }, + { + "id": 345, + "type": { + "def": { + "array": { + "len": 9, + "type": 319 + } + } + } + }, + { + "id": 346, + "type": { + "def": { + "sequence": { + "type": 347 + } + } + } + }, + { + "id": 347, + "type": { + "def": { + "tuple": [ + 119, + 348, + 316 + ] + } + } + }, + { + "id": 348, + "type": { + "def": { + "array": { + "len": 10, + "type": 319 + } + } + } + }, + { + "id": 349, + "type": { + "def": { + "sequence": { + "type": 350 + } + } + } + }, + { + "id": 350, + "type": { + "def": { + "tuple": [ + 119, + 351, + 316 + ] + } + } + }, + { + "id": 351, + "type": { + "def": { + "array": { + "len": 11, + "type": 319 + } + } + } + }, + { + "id": 352, + "type": { + "def": { + "sequence": { + "type": 353 + } + } + } + }, + { + "id": 353, + "type": { + "def": { + "tuple": [ + 119, + 354, + 316 + ] + } + } + }, + { + "id": 354, + "type": { + "def": { + "array": { + "len": 12, + "type": 319 + } + } + } + }, + { + "id": 355, + "type": { + "def": { + "sequence": { + "type": 356 + } + } + } + }, + { + "id": 356, + "type": { + "def": { + "tuple": [ + 119, + 357, + 316 + ] + } + } + }, + { + "id": 357, + "type": { + "def": { + "array": { + "len": 13, + "type": 319 + } + } + } + }, + { + "id": 358, + "type": { + "def": { + "sequence": { + "type": 359 + } + } + } + }, + { + "id": 359, + "type": { + "def": { + "tuple": [ + 119, + 360, + 316 + ] + } + } + }, + { + "id": 360, + "type": { + "def": { + "array": { + "len": 14, + "type": 319 + } + } + } + }, + { + "id": 361, + "type": { + "def": { + "sequence": { + "type": 362 + } + } + } + }, + { + "id": 362, + "type": { + "def": { + "tuple": [ + 119, + 363, + 316 + ] + } + } + }, + { + "id": 363, + "type": { + "def": { + "array": { + "len": 15, + "type": 319 + } + } + } + }, + { + "id": 364, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "SolutionOrSnapshotSize" + ], + "def": { + "composite": { + "fields": [ + { + "name": "voters", + "type": 119, + "typeName": "u32" + }, + { + "name": "targets", + "type": 119, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 365, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 38 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 38 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 366, + "type": { + "def": { + "sequence": { + "type": 367 + } + } + } + }, + { + "id": 367, + "type": { + "def": { + "tuple": [ + 0, + 368 + ] + } + } + }, + { + "id": 368, + "type": { + "path": [ + "sp_npos_elections", + "Support" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "total", + "type": 6, + "typeName": "ExtendedBalance" + }, + { + "name": "voters", + "type": 369, + "typeName": "Vec<(AccountId, ExtendedBalance)>" + } + ] + } + } + } + }, + { + "id": 369, + "type": { + "def": { + "sequence": { + "type": 370 + } + } + } + }, + { + "id": 370, + "type": { + "def": { + "tuple": [ + 0, + 6 + ] + } + } + }, + { + "id": 371, + "type": { + "path": [ + "pallet_staking", + "pallet", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "bond", + "fields": [ + { + "name": "value", + "type": 63, + "typeName": "BalanceOf" + }, + { + "name": "payee", + "type": 372, + "typeName": "RewardDestination" + } + ], + "index": 0, + "docs": [ + "Take the origin account as a stash and lock up `value` of its balance. `controller` will", + "be the account that controls it.", + "", + "`value` must be more than the `minimum_balance` specified by `T::Currency`.", + "", + "The dispatch origin for this call must be _Signed_ by the stash account.", + "", + "Emits `Bonded`.", + "## Complexity", + "- Independent of the arguments. Moderate complexity.", + "- O(1).", + "- Three extra DB entries.", + "", + "NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned", + "unless the `origin` falls below _existential deposit_ and gets removed as dust." + ] + }, + { + "name": "bond_extra", + "fields": [ + { + "name": "max_additional", + "type": 63, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "Add some extra amount that have appeared in the stash `free_balance` into the balance up", + "for staking.", + "", + "The dispatch origin for this call must be _Signed_ by the stash, not the controller.", + "", + "Use this if there are additional funds in your stash account that you wish to bond.", + "Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose", + "any limitation on the amount that can be added.", + "", + "Emits `Bonded`.", + "", + "## Complexity", + "- Independent of the arguments. Insignificant complexity.", + "- O(1)." + ] + }, + { + "name": "unbond", + "fields": [ + { + "name": "value", + "type": 63, + "typeName": "BalanceOf" + } + ], + "index": 2, + "docs": [ + "Schedule a portion of the stash to be unlocked ready for transfer out after the bond", + "period ends. If this leaves an amount actively bonded less than", + "T::Currency::minimum_balance(), then it is increased to the full amount.", + "", + "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", + "", + "Once the unlock period is done, you can call `withdraw_unbonded` to actually move", + "the funds out of management ready for transfer.", + "", + "No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)", + "can co-exists at the same time. If there are no unlocking chunks slots available", + "[`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible).", + "", + "If a user encounters the `InsufficientBond` error when calling this extrinsic,", + "they should call `chill` first in order to free up their bonded funds.", + "", + "Emits `Unbonded`.", + "", + "See also [`Call::withdraw_unbonded`]." + ] + }, + { + "name": "withdraw_unbonded", + "fields": [ + { + "name": "num_slashing_spans", + "type": 4, + "typeName": "u32" + } + ], + "index": 3, + "docs": [ + "Remove any unlocked chunks from the `unlocking` queue from our management.", + "", + "This essentially frees up that balance to be used by the stash account to do", + "whatever it wants.", + "", + "The dispatch origin for this call must be _Signed_ by the controller.", + "", + "Emits `Withdrawn`.", + "", + "See also [`Call::unbond`].", + "", + "## Complexity", + "O(S) where S is the number of slashing spans to remove", + "NOTE: Weight annotation is the kill scenario, we refund otherwise." + ] + }, + { + "name": "validate", + "fields": [ + { + "name": "prefs", + "type": 43, + "typeName": "ValidatorPrefs" + } + ], + "index": 4, + "docs": [ + "Declare the desire to validate for the origin controller.", + "", + "Effects will be felt at the beginning of the next era.", + "", + "The dispatch origin for this call must be _Signed_ by the controller, not the stash." + ] + }, + { + "name": "nominate", + "fields": [ + { + "name": "targets", + "type": 373, + "typeName": "Vec>" + } + ], + "index": 5, + "docs": [ + "Declare the desire to nominate `targets` for the origin controller.", + "", + "Effects will be felt at the beginning of the next era.", + "", + "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", + "", + "## Complexity", + "- The transaction's complexity is proportional to the size of `targets` (N)", + "which is capped at CompactAssignments::LIMIT (T::MaxNominations).", + "- Both the reads and writes follow a similar pattern." + ] + }, + { + "name": "chill", + "index": 6, + "docs": [ + "Declare no desire to either validate or nominate.", + "", + "Effects will be felt at the beginning of the next era.", + "", + "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", + "", + "## Complexity", + "- Independent of the arguments. Insignificant complexity.", + "- Contains one read.", + "- Writes are limited to the `origin` account key." + ] + }, + { + "name": "set_payee", + "fields": [ + { + "name": "payee", + "type": 372, + "typeName": "RewardDestination" + } + ], + "index": 7, + "docs": [ + "(Re-)set the payment target for a controller.", + "", + "Effects will be felt instantly (as soon as this function is completed successfully).", + "", + "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", + "", + "## Complexity", + "- O(1)", + "- Independent of the arguments. Insignificant complexity.", + "- Contains a limited number of reads.", + "- Writes are limited to the `origin` account key.", + "---------" + ] + }, + { + "name": "set_controller", + "index": 8, + "docs": [ + "(Re-)sets the controller of a stash to the stash itself. This function previously", + "accepted a `controller` argument to set the controller to an account other than the", + "stash itself. This functionality has now been removed, now only setting the controller", + "to the stash, if it is not already.", + "", + "Effects will be felt instantly (as soon as this function is completed successfully).", + "", + "The dispatch origin for this call must be _Signed_ by the stash, not the controller.", + "", + "## Complexity", + "O(1)", + "- Independent of the arguments. Insignificant complexity.", + "- Contains a limited number of reads.", + "- Writes are limited to the `origin` account key." + ] + }, + { + "name": "set_validator_count", + "fields": [ + { + "name": "new", + "type": 119, + "typeName": "u32" + } + ], + "index": 9, + "docs": [ + "Sets the ideal number of validators.", + "", + "The dispatch origin must be Root.", + "", + "## Complexity", + "O(1)" + ] + }, + { + "name": "increase_validator_count", + "fields": [ + { + "name": "additional", + "type": 119, + "typeName": "u32" + } + ], + "index": 10, + "docs": [ + "Increments the ideal number of validators upto maximum of", + "`ElectionProviderBase::MaxWinners`.", + "", + "The dispatch origin must be Root.", + "", + "## Complexity", + "Same as [`Self::set_validator_count`]." + ] + }, + { + "name": "scale_validator_count", + "fields": [ + { + "name": "factor", + "type": 374, + "typeName": "Percent" + } + ], + "index": 11, + "docs": [ + "Scale up the ideal number of validators by a factor upto maximum of", + "`ElectionProviderBase::MaxWinners`.", + "", + "The dispatch origin must be Root.", + "", + "## Complexity", + "Same as [`Self::set_validator_count`]." + ] + }, + { + "name": "force_no_eras", + "index": 12, + "docs": [ + "Force there to be no new eras indefinitely.", + "", + "The dispatch origin must be Root.", + "", + "# Warning", + "", + "The election process starts multiple blocks before the end of the era.", + "Thus the election process may be ongoing when this is called. In this case the", + "election will continue until the next era is triggered.", + "", + "## Complexity", + "- No arguments.", + "- Weight: O(1)" + ] + }, + { + "name": "force_new_era", + "index": 13, + "docs": [ + "Force there to be a new era at the end of the next session. After this, it will be", + "reset to normal (non-forced) behaviour.", + "", + "The dispatch origin must be Root.", + "", + "# Warning", + "", + "The election process starts multiple blocks before the end of the era.", + "If this is called just before a new era is triggered, the election process may not", + "have enough blocks to get a result.", + "", + "## Complexity", + "- No arguments.", + "- Weight: O(1)" + ] + }, + { + "name": "set_invulnerables", + "fields": [ + { + "name": "invulnerables", + "type": 78, + "typeName": "Vec" + } + ], + "index": 14, + "docs": [ + "Set the validators who cannot be slashed (if any).", + "", + "The dispatch origin must be Root." + ] + }, + { + "name": "force_unstake", + "fields": [ + { + "name": "stash", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "num_slashing_spans", + "type": 4, + "typeName": "u32" + } + ], + "index": 15, + "docs": [ + "Force a current staker to become completely unstaked, immediately.", + "", + "The dispatch origin must be Root." + ] + }, + { + "name": "force_new_era_always", + "index": 16, + "docs": [ + "Force there to be a new era at the end of sessions indefinitely.", + "", + "The dispatch origin must be Root.", + "", + "# Warning", + "", + "The election process starts multiple blocks before the end of the era.", + "If this is called just before a new era is triggered, the election process may not", + "have enough blocks to get a result." + ] + }, + { + "name": "cancel_deferred_slash", + "fields": [ + { + "name": "era", + "type": 4, + "typeName": "EraIndex" + }, + { + "name": "slash_indices", + "type": 375, + "typeName": "Vec" + } + ], + "index": 17, + "docs": [ + "Cancel enactment of a deferred slash.", + "", + "Can be called by the `T::AdminOrigin`.", + "", + "Parameters: era and indices of the slashes for that era to kill." + ] + }, + { + "name": "payout_stakers", + "fields": [ + { + "name": "validator_stash", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "era", + "type": 4, + "typeName": "EraIndex" + } + ], + "index": 18, + "docs": [ + "Pay out all the stakers behind a single validator for a single era.", + "", + "- `validator_stash` is the stash account of the validator. Their nominators, up to", + " `T::MaxNominatorRewardedPerValidator`, will also receive their rewards.", + "- `era` may be any era between `[current_era - history_depth; current_era]`.", + "", + "The origin of this call must be _Signed_. Any account can call this function, even if", + "it is not one of the stakers.", + "", + "## Complexity", + "- At most O(MaxNominatorRewardedPerValidator)." + ] + }, + { + "name": "rebond", + "fields": [ + { + "name": "value", + "type": 63, + "typeName": "BalanceOf" + } + ], + "index": 19, + "docs": [ + "Rebond a portion of the stash scheduled to be unlocked.", + "", + "The dispatch origin must be signed by the controller.", + "", + "## Complexity", + "- Time complexity: O(L), where L is unlocking chunks", + "- Bounded by `MaxUnlockingChunks`." + ] + }, + { + "name": "reap_stash", + "fields": [ + { + "name": "stash", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "num_slashing_spans", + "type": 4, + "typeName": "u32" + } + ], + "index": 20, + "docs": [ + "Remove all data structures concerning a staker/stash once it is at a state where it can", + "be considered `dust` in the staking system. The requirements are:", + "", + "1. the `total_balance` of the stash is below existential deposit.", + "2. or, the `ledger.total` of the stash is below existential deposit.", + "", + "The former can happen in cases like a slash; the latter when a fully unbonded account", + "is still receiving staking rewards in `RewardDestination::Staked`.", + "", + "It can be called by anyone, as long as `stash` meets the above requirements.", + "", + "Refunds the transaction fees upon successful execution." + ] + }, + { + "name": "kick", + "fields": [ + { + "name": "who", + "type": 373, + "typeName": "Vec>" + } + ], + "index": 21, + "docs": [ + "Remove the given nominations from the calling validator.", + "", + "Effects will be felt at the beginning of the next era.", + "", + "The dispatch origin for this call must be _Signed_ by the controller, not the stash.", + "", + "- `who`: A list of nominator stash accounts who are nominating this validator which", + " should no longer be nominating this validator.", + "", + "Note: Making this call only makes sense if you first set the validator preferences to", + "block any further nominations." + ] + }, + { + "name": "set_staking_configs", + "fields": [ + { + "name": "min_nominator_bond", + "type": 376, + "typeName": "ConfigOp>" + }, + { + "name": "min_validator_bond", + "type": 376, + "typeName": "ConfigOp>" + }, + { + "name": "max_nominator_count", + "type": 377, + "typeName": "ConfigOp" + }, + { + "name": "max_validator_count", + "type": 377, + "typeName": "ConfigOp" + }, + { + "name": "chill_threshold", + "type": 378, + "typeName": "ConfigOp" + }, + { + "name": "min_commission", + "type": 379, + "typeName": "ConfigOp" + } + ], + "index": 22, + "docs": [ + "Update the various staking configurations .", + "", + "* `min_nominator_bond`: The minimum active bond needed to be a nominator.", + "* `min_validator_bond`: The minimum active bond needed to be a validator.", + "* `max_nominator_count`: The max number of users who can be a nominator at once. When", + " set to `None`, no limit is enforced.", + "* `max_validator_count`: The max number of users who can be a validator at once. When", + " set to `None`, no limit is enforced.", + "* `chill_threshold`: The ratio of `max_nominator_count` or `max_validator_count` which", + " should be filled in order for the `chill_other` transaction to work.", + "* `min_commission`: The minimum amount of commission that each validators must maintain.", + " This is checked only upon calling `validate`. Existing validators are not affected.", + "", + "RuntimeOrigin must be Root to call this function.", + "", + "NOTE: Existing nominators and validators will not be affected by this update.", + "to kick people under the new limits, `chill_other` should be called." + ] + }, + { + "name": "chill_other", + "fields": [ + { + "name": "controller", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 23, + "docs": [ + "Declare a `controller` to stop participating as either a validator or nominator.", + "", + "Effects will be felt at the beginning of the next era.", + "", + "The dispatch origin for this call must be _Signed_, but can be called by anyone.", + "", + "If the caller is the same as the controller being targeted, then no further checks are", + "enforced, and this function behaves just like `chill`.", + "", + "If the caller is different than the controller being targeted, the following conditions", + "must be met:", + "", + "* `controller` must belong to a nominator who has become non-decodable,", + "", + "Or:", + "", + "* A `ChillThreshold` must be set and checked which defines how close to the max", + " nominators or validators we must reach before users can start chilling one-another.", + "* A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine", + " how close we are to the threshold.", + "* A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines", + " if this is a person that should be chilled because they have not met the threshold", + " bond required.", + "", + "This can be helpful if bond requirements are updated, and we need to remove old users", + "who do not satisfy these requirements." + ] + }, + { + "name": "force_apply_min_commission", + "fields": [ + { + "name": "validator_stash", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 24, + "docs": [ + "Force a validator to have at least the minimum commission. This will not affect a", + "validator who already has a commission greater than or equal to the minimum. Any account", + "can call this." + ] + }, + { + "name": "set_min_commission", + "fields": [ + { + "name": "new", + "type": 42, + "typeName": "Perbill" + } + ], + "index": 25, + "docs": [ + "Sets the minimum amount of commission that each validators must maintain.", + "", + "This call has lower privilege requirements than `set_staking_config` and can be called", + "by the `T::AdminOrigin`. Root can always call this." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 372, + "type": { + "path": [ + "pallet_staking", + "RewardDestination" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Staked", + "index": 0 + }, + { + "name": "Stash", + "index": 1 + }, + { + "name": "Controller", + "index": 2 + }, + { + "name": "Account", + "fields": [ + { + "type": 0, + "typeName": "AccountId" + } + ], + "index": 3 + }, + { + "name": "None", + "index": 4 + } + ] + } + } + } + }, + { + "id": 373, + "type": { + "def": { + "sequence": { + "type": 309 + } + } + } + }, + { + "id": 374, + "type": { + "path": [ + "sp_arithmetic", + "per_things", + "Percent" + ], + "def": { + "composite": { + "fields": [ + { + "type": 2, + "typeName": "u8" + } + ] + } + } + } + }, + { + "id": 375, + "type": { + "def": { + "sequence": { + "type": 4 + } + } + } + }, + { + "id": 376, + "type": { + "path": [ + "pallet_staking", + "pallet", + "pallet", + "ConfigOp" + ], + "params": [ + { + "name": "T", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noop", + "index": 0 + }, + { + "name": "Set", + "fields": [ + { + "type": 6, + "typeName": "T" + } + ], + "index": 1 + }, + { + "name": "Remove", + "index": 2 + } + ] + } + } + } + }, + { + "id": 377, + "type": { + "path": [ + "pallet_staking", + "pallet", + "pallet", + "ConfigOp" + ], + "params": [ + { + "name": "T", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noop", + "index": 0 + }, + { + "name": "Set", + "fields": [ + { + "type": 4, + "typeName": "T" + } + ], + "index": 1 + }, + { + "name": "Remove", + "index": 2 + } + ] + } + } + } + }, + { + "id": 378, + "type": { + "path": [ + "pallet_staking", + "pallet", + "pallet", + "ConfigOp" + ], + "params": [ + { + "name": "T", + "type": 374 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noop", + "index": 0 + }, + { + "name": "Set", + "fields": [ + { + "type": 374, + "typeName": "T" + } + ], + "index": 1 + }, + { + "name": "Remove", + "index": 2 + } + ] + } + } + } + }, + { + "id": 379, + "type": { + "path": [ + "pallet_staking", + "pallet", + "pallet", + "ConfigOp" + ], + "params": [ + { + "name": "T", + "type": 42 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noop", + "index": 0 + }, + { + "name": "Set", + "fields": [ + { + "type": 42, + "typeName": "T" + } + ], + "index": 1 + }, + { + "name": "Remove", + "index": 2 + } + ] + } + } + } + }, + { + "id": 380, + "type": { + "path": [ + "pallet_session", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "set_keys", + "fields": [ + { + "name": "keys", + "type": 381, + "typeName": "T::Keys" + }, + { + "name": "proof", + "type": 13, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "## Complexity", + "- `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is", + " fixed." + ] + }, + { + "name": "purge_keys", + "index": 1, + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "## Complexity", + "- `O(1)` in number of key types. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 381, + "type": { + "path": [ + "enjin_runtime", + "opaque", + "SessionKeys" + ], + "def": { + "composite": { + "fields": [ + { + "name": "grandpa", + "type": 50, + "typeName": "::Public" + }, + { + "name": "babe", + "type": 302, + "typeName": "::Public" + }, + { + "name": "im_online", + "type": 58, + "typeName": "::Public" + }, + { + "name": "para_validator", + "type": 382, + "typeName": "::Public" + }, + { + "name": "para_assignment", + "type": 383, + "typeName": "::Public" + }, + { + "name": "authority_discovery", + "type": 384, + "typeName": "::Public" + } + ] + } + } + } + }, + { + "id": 382, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "validator_app", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 59, + "typeName": "sr25519::Public" + } + ] + } + } + } + }, + { + "id": 383, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "assignment_app", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 59, + "typeName": "sr25519::Public" + } + ] + } + } + } + }, + { + "id": 384, + "type": { + "path": [ + "sp_authority_discovery", + "app", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 59, + "typeName": "sr25519::Public" + } + ] + } + } + } + }, + { + "id": 385, + "type": { + "path": [ + "pallet_grandpa", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "report_equivocation", + "fields": [ + { + "name": "equivocation_proof", + "type": 386, + "typeName": "Box>" + }, + { + "name": "key_owner_proof", + "type": 304, + "typeName": "T::KeyOwnerProof" + } + ], + "index": 0, + "docs": [ + "Report voter equivocation/misbehavior. This method will verify the", + "equivocation proof and validate the given key ownership proof", + "against the extracted offender. If both are valid, the offence", + "will be reported." + ] + }, + { + "name": "report_equivocation_unsigned", + "fields": [ + { + "name": "equivocation_proof", + "type": 386, + "typeName": "Box>" + }, + { + "name": "key_owner_proof", + "type": 304, + "typeName": "T::KeyOwnerProof" + } + ], + "index": 1, + "docs": [ + "Report voter equivocation/misbehavior. This method will verify the", + "equivocation proof and validate the given key ownership proof", + "against the extracted offender. If both are valid, the offence", + "will be reported.", + "", + "This extrinsic must be called unsigned and it is expected that only", + "block authors will call it (validated in `ValidateUnsigned`), as such", + "if the block author is defined it will be defined as the equivocation", + "reporter." + ] + }, + { + "name": "note_stalled", + "fields": [ + { + "name": "delay", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "best_finalized_block_number", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 2, + "docs": [ + "Note that the current authority set of the GRANDPA finality gadget has stalled.", + "", + "This will trigger a forced authority set change at the beginning of the next session, to", + "be enacted `delay` blocks after that. The `delay` should be high enough to safely assume", + "that the block signalling the forced change will not be re-orged e.g. 1000 blocks.", + "The block production rate (which may be slowed down because of finality lagging) should", + "be taken into account when choosing the `delay`. The GRANDPA voters based on the new", + "authority will start voting on top of `best_finalized_block_number` for new finalized", + "blocks. `best_finalized_block_number` should be the highest of the latest finalized", + "block of all validators of the new authority set.", + "", + "Only callable by root." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 386, + "type": { + "path": [ + "sp_consensus_grandpa", + "EquivocationProof" + ], + "params": [ + { + "name": "H", + "type": 12 + }, + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "set_id", + "type": 11, + "typeName": "SetId" + }, + { + "name": "equivocation", + "type": 387, + "typeName": "Equivocation" + } + ] + } + } + } + }, + { + "id": 387, + "type": { + "path": [ + "sp_consensus_grandpa", + "Equivocation" + ], + "params": [ + { + "name": "H", + "type": 12 + }, + { + "name": "N", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Prevote", + "fields": [ + { + "type": 388, + "typeName": "grandpa::Equivocation,\nAuthoritySignature>" + } + ], + "index": 0 + }, + { + "name": "Precommit", + "fields": [ + { + "type": 393, + "typeName": "grandpa::Equivocation,\nAuthoritySignature>" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 388, + "type": { + "path": [ + "finality_grandpa", + "Equivocation" + ], + "params": [ + { + "name": "Id", + "type": 50 + }, + { + "name": "V", + "type": 389 + }, + { + "name": "S", + "type": 390 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "round_number", + "type": 11, + "typeName": "u64" + }, + { + "name": "identity", + "type": 50, + "typeName": "Id" + }, + { + "name": "first", + "type": 392, + "typeName": "(V, S)" + }, + { + "name": "second", + "type": 392, + "typeName": "(V, S)" + } + ] + } + } + } + }, + { + "id": 389, + "type": { + "path": [ + "finality_grandpa", + "Prevote" + ], + "params": [ + { + "name": "H", + "type": 12 + }, + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "target_hash", + "type": 12, + "typeName": "H" + }, + { + "name": "target_number", + "type": 4, + "typeName": "N" + } + ] + } + } + } + }, + { + "id": 390, + "type": { + "path": [ + "sp_consensus_grandpa", + "app", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 391, + "typeName": "ed25519::Signature" + } + ] + } + } + } + }, + { + "id": 391, + "type": { + "path": [ + "sp_core", + "ed25519", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 97, + "typeName": "[u8; 64]" + } + ] + } + } + } + }, + { + "id": 392, + "type": { + "def": { + "tuple": [ + 389, + 390 + ] + } + } + }, + { + "id": 393, + "type": { + "path": [ + "finality_grandpa", + "Equivocation" + ], + "params": [ + { + "name": "Id", + "type": 50 + }, + { + "name": "V", + "type": 394 + }, + { + "name": "S", + "type": 390 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "round_number", + "type": 11, + "typeName": "u64" + }, + { + "name": "identity", + "type": 50, + "typeName": "Id" + }, + { + "name": "first", + "type": 395, + "typeName": "(V, S)" + }, + { + "name": "second", + "type": 395, + "typeName": "(V, S)" + } + ] + } + } + } + }, + { + "id": 394, + "type": { + "path": [ + "finality_grandpa", + "Precommit" + ], + "params": [ + { + "name": "H", + "type": 12 + }, + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "target_hash", + "type": 12, + "typeName": "H" + }, + { + "name": "target_number", + "type": 4, + "typeName": "N" + } + ] + } + } + } + }, + { + "id": 395, + "type": { + "def": { + "tuple": [ + 394, + 390 + ] + } + } + }, + { + "id": 396, + "type": { + "path": [ + "pallet_treasury", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "propose_spend", + "fields": [ + { + "name": "value", + "type": 63, + "typeName": "BalanceOf" + }, + { + "name": "beneficiary", + "type": 309, + "typeName": "AccountIdLookupOf" + } + ], + "index": 0, + "docs": [ + "Put forward a suggestion for spending. A deposit proportional to the value", + "is reserved and slashed if the proposal is rejected. It is returned once the", + "proposal is awarded.", + "", + "## Complexity", + "- O(1)" + ] + }, + { + "name": "reject_proposal", + "fields": [ + { + "name": "proposal_id", + "type": 119, + "typeName": "ProposalIndex" + } + ], + "index": 1, + "docs": [ + "Reject a proposed spend. The original deposit will be slashed.", + "", + "May only be called from `T::RejectOrigin`.", + "", + "## Complexity", + "- O(1)" + ] + }, + { + "name": "approve_proposal", + "fields": [ + { + "name": "proposal_id", + "type": 119, + "typeName": "ProposalIndex" + } + ], + "index": 2, + "docs": [ + "Approve a proposal. At a later time, the proposal will be allocated to the beneficiary", + "and the original deposit will be returned.", + "", + "May only be called from `T::ApproveOrigin`.", + "", + "## Complexity", + " - O(1)." + ] + }, + { + "name": "spend", + "fields": [ + { + "name": "amount", + "type": 63, + "typeName": "BalanceOf" + }, + { + "name": "beneficiary", + "type": 309, + "typeName": "AccountIdLookupOf" + } + ], + "index": 3, + "docs": [ + "Propose and approve a spend of treasury funds.", + "", + "- `origin`: Must be `SpendOrigin` with the `Success` value being at least `amount`.", + "- `amount`: The amount to be transferred from the treasury to the `beneficiary`.", + "- `beneficiary`: The destination account for the transfer.", + "", + "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the", + "beneficiary." + ] + }, + { + "name": "remove_approval", + "fields": [ + { + "name": "proposal_id", + "type": 119, + "typeName": "ProposalIndex" + } + ], + "index": 4, + "docs": [ + "Force a previously approved proposal to be removed from the approval queue.", + "The original deposit will no longer be returned.", + "", + "May only be called from `T::RejectOrigin`.", + "- `proposal_id`: The index of a proposal", + "", + "## Complexity", + "- O(A) where `A` is the number of approvals", + "", + "Errors:", + "- `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue,", + "i.e., the proposal has not been approved. This could also mean the proposal does not", + "exist altogether, thus there is no way it would have been approved in the first place." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 397, + "type": { + "path": [ + "pallet_sudo", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "sudo", + "fields": [ + { + "name": "call", + "type": 292, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 0, + "docs": [ + "Authenticates the sudo key and dispatches a function call with `Root` origin.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "sudo_unchecked_weight", + "fields": [ + { + "name": "call", + "type": 292, + "typeName": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": 9, + "typeName": "Weight" + } + ], + "index": 1, + "docs": [ + "Authenticates the sudo key and dispatches a function call with `Root` origin.", + "This function does not check the weight of the call, and instead allows the", + "Sudo user to specify the weight of the call.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "set_key", + "fields": [ + { + "name": "new", + "type": 309, + "typeName": "AccountIdLookupOf" + } + ], + "index": 2, + "docs": [ + "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo", + "key.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "sudo_as", + "fields": [ + { + "name": "who", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "call", + "type": 292, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 3, + "docs": [ + "Authenticates the sudo key and dispatches a function call with `Signed` origin from", + "a given account.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "## Complexity", + "- O(1)." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 398, + "type": { + "path": [ + "pallet_im_online", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "heartbeat", + "fields": [ + { + "name": "heartbeat", + "type": 399, + "typeName": "Heartbeat" + }, + { + "name": "signature", + "type": 404, + "typeName": "::Signature" + } + ], + "index": 0, + "docs": [ + "## Complexity:", + "- `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is length of", + " `heartbeat.network_state.external_address`", + " - `O(K)`: decoding of length `K`", + " - `O(E)`: decoding/encoding of length `E`" + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 399, + "type": { + "path": [ + "pallet_im_online", + "Heartbeat" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "block_number", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "network_state", + "type": 400, + "typeName": "OpaqueNetworkState" + }, + { + "name": "session_index", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "authority_index", + "type": 4, + "typeName": "AuthIndex" + }, + { + "name": "validators_len", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 400, + "type": { + "path": [ + "sp_core", + "offchain", + "OpaqueNetworkState" + ], + "def": { + "composite": { + "fields": [ + { + "name": "peer_id", + "type": 401, + "typeName": "OpaquePeerId" + }, + { + "name": "external_addresses", + "type": 402, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 401, + "type": { + "path": [ + "sp_core", + "OpaquePeerId" + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 402, + "type": { + "def": { + "sequence": { + "type": 403 + } + } + } + }, + { + "id": 403, + "type": { + "path": [ + "sp_core", + "offchain", + "OpaqueMultiaddr" + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 404, + "type": { + "path": [ + "pallet_im_online", + "sr25519", + "app_sr25519", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 96, + "typeName": "sr25519::Signature" + } + ] + } + } + } + }, + { + "id": 405, + "type": { + "path": [ + "pallet_bags_list", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "rebag", + "fields": [ + { + "name": "dislocated", + "type": 309, + "typeName": "AccountIdLookupOf" + } + ], + "index": 0, + "docs": [ + "Declare that some `dislocated` account has, through rewards or penalties, sufficiently", + "changed its score that it should properly fall into a different bag than its current", + "one.", + "", + "Anyone can call this function about any potentially dislocated account.", + "", + "Will always update the stored score of `dislocated` to the correct score, based on", + "`ScoreProvider`.", + "", + "If `dislocated` does not exists, it returns an error." + ] + }, + { + "name": "put_in_front_of", + "fields": [ + { + "name": "lighter", + "type": 309, + "typeName": "AccountIdLookupOf" + } + ], + "index": 1, + "docs": [ + "Move the caller's Id directly in front of `lighter`.", + "", + "The dispatch origin for this call must be _Signed_ and can only be called by the Id of", + "the account going in front of `lighter`.", + "", + "Only works if", + "- both nodes are within the same bag,", + "- and `origin` has a greater `Score` than `lighter`." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 406, + "type": { + "path": [ + "pallet_nomination_pools", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "bond", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "amount", + "type": 407, + "typeName": "BondValueOf" + } + ], + "index": 0, + "docs": [ + "Stake funds with a pool. The amount to bond is transferred from the member to the", + "pools account and immediately increases the pools bond. The sENJ token will be minted", + "and transferred to `origin`.", + "", + "# Parameters", + "- `origin`: the caller", + "- `pool_id`: the pool id to bond", + "- `amount`: the amount of tokens deposited into the pool", + "", + "# Note", + "", + "* An account can only be a member of a single pool.", + "* An account cannot join the same pool multiple times.", + "* This call will *not* dust the member account, so the member must have at least", + " `existential deposit + amount` in their account.", + "* Only a pool with [`PoolState::Open`] can be joined" + ] + }, + { + "name": "unbond", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "member_account", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "unbonding_points", + "type": 63, + "typeName": "BalanceOf" + } + ], + "index": 3, + "docs": [ + "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool by burning", + "sENJ.", + "", + "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any", + "account).", + "", + "# Conditions for a permissionless dispatch.", + "", + "* The pool is blocked and the caller is holding the pool's token. This is refereed to as", + " a kick.", + "* The pool is destroying.", + "* The pool is destroying and no other members are in the pool.", + "", + "## Conditions for permissioned dispatch (i.e. the caller is also the", + "`member_account`):", + "", + "* The caller is not the last member.", + "* The caller is the last member and the pool is destroying.", + "", + "# Note", + "", + "If there are too many unlocking chunks to unbond with the pool account,", + "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks.", + "The [`StakingInterface::unbond`] will implicitly call [`Call::pool_withdraw_unbonded`]", + "to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks", + "are available). However, it may not be possible to release the current unlocking chunks,", + "in which case, the result of this call will likely be the `NoMoreChunks` error from the", + "staking system." + ] + }, + { + "name": "pool_withdraw_unbonded", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "num_slashing_spans", + "type": 4, + "typeName": "u32" + } + ], + "index": 4, + "docs": [ + "Call `withdraw_unbonded` for the pools account. This call can be made by any account.", + "", + "This is useful if their are too many unlocking chunks to call `unbond`, and some", + "can be cleared by withdrawing. In the case there are too many unlocking chunks, the user", + "would probably see an error like `NoMoreChunks` emitted from the staking system when", + "they attempt to unbond." + ] + }, + { + "name": "withdraw_unbonded", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "member_account", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "num_slashing_spans", + "type": 4, + "typeName": "u32" + } + ], + "index": 5, + "docs": [ + "Withdraw unbonded funds from `member_account`. If no bonded funds can be unbonded, an", + "error is returned.", + "", + "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any", + "account).", + "", + "# Conditions for a permissionless dispatch", + "", + "* The pool is in destroy mode.", + "* The target is the only member in the sub pools.", + "* The pool is blocked and the caller is either the admin or state-toggler.", + "", + "# Conditions for permissioned dispatch", + "", + "* The caller is the target and they are not the last member.", + "", + "# Note", + "", + "If the target is the last member, the pool will be destroyed." + ] + }, + { + "name": "create", + "fields": [ + { + "name": "token_id", + "type": 6, + "typeName": "TokenIdOf" + }, + { + "name": "deposit", + "type": 63, + "typeName": "BalanceOf" + }, + { + "name": "capacity", + "type": 63, + "typeName": "BalanceOf" + }, + { + "name": "duration", + "type": 119, + "typeName": "EraIndex" + } + ], + "index": 6, + "docs": [ + "Create a new nomination pool.", + "", + "# Arguments", + "", + "* `token_id` - Token that that will control the pool. This token must be from the", + " [`Config::PoolCollectionId`] collection and it must be held by the caller.", + "* `deposit` - The amount of funds to delegate to the pool. This also acts as a deposit", + " because the pool's creator cannot fully unbond funds until the pool is destroyed.", + "* `capacity` - The maximum total balance allowed in the pool. This is measured in sENJ.", + " It must be below the pool's capacity. See `Capacity` section in crate level docs.", + "* `duration` - The duration in blocks of the pool's bonus cycle", + "", + "# Note", + "", + "In addition to `deposit`, the caller will transfer the existential deposit for the", + "pool's accounts; so the caller needs at have at least `deposit + existential_deposit *", + "2` transferable." + ] + }, + { + "name": "nominate", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "validators", + "type": 78, + "typeName": "Vec" + } + ], + "index": 8, + "docs": [ + "Nominate on behalf of the pool.", + "", + "The dispatch origin of this call must be signed by the holder of the pool token.", + "", + "This directly forward the call to the staking pallet, on behalf of the pool bonded", + "account." + ] + }, + { + "name": "set_configs", + "fields": [ + { + "name": "min_join_bond", + "type": 408, + "typeName": "ConfigOp>" + }, + { + "name": "min_create_bond", + "type": 408, + "typeName": "ConfigOp>" + }, + { + "name": "global_max_commission", + "type": 409, + "typeName": "ConfigOp" + }, + { + "name": "required_payout_count", + "type": 409, + "typeName": "ConfigOp" + } + ], + "index": 11, + "docs": [ + "Update configurations for the nomination pools. Callable only by", + "[`Config::ForceOrigin`].", + "", + "# Arguments", + "", + "* `min_join_bond` - Set [`MinJoinBond`].", + "* `min_create_bond` - Set [`MinCreateBond`].", + "* `global_max_commission` - Set [`GlobalMaxCommission`]." + ] + }, + { + "name": "chill", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + } + ], + "index": 13, + "docs": [ + "Chill on behalf of the pool.", + "", + "The dispatch origin of this call must be signed by the pool token holder, same as", + "[`Pallet::nominate`].", + "", + "This directly forward the call to the staking pallet, on behalf of the pool bonded", + "account." + ] + }, + { + "name": "destroy", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + } + ], + "index": 14, + "docs": [ + "Destroy the pool.", + "", + "The dispatch origin of this call must be signed by the account holding the pool token", + "of the given pool_id." + ] + }, + { + "name": "payout_rewards", + "fields": [ + { + "name": "validator_stash", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "era", + "type": 4, + "typeName": "EraIndex" + } + ], + "index": 18, + "docs": [ + "Pays rewards to `validator_stash` and also distributes rewards to the reward accounts of", + "the pools nominating it. The appropriate bonus is also calculated and stored in the", + "bonus account.", + "", + "This should be called once per era per validator. It is a permissionless call. It also", + "processes rewards for the previous era if [`Self::process_payouts`] was not called.", + "", + "## Bonus Calculation", + "", + "1. Minimum duration and max duration are found for all pools nominating", + " `validator_stash`", + "2. [`Config::BonusPercentage`] is set aside from rewards for bonus", + "3. Normalized weight is calculated and then scaled according to the total bonus. See", + " `functions::calculate_real_weight`.", + "4. The scaled weight is offset according to [`Config::BaseBonusRewardPercentage`] so", + " that all pools at least get the minimum weight", + "5. Final calculation is done in [`traits::Bonus::calculate_bonus`] and then transferred", + " to the bonus account" + ] + }, + { + "name": "process_payouts", + "fields": [ + { + "name": "pool_count", + "type": 4, + "typeName": "u32" + } + ], + "index": 25, + "docs": [ + "Processes the rewards for all pools that were distributed in [`Self::payout_rewards`].", + "It will only succeed if it is called on the same era that payouts were made. It uses the", + "[`EraPayoutInfo`] storage to verify this. This extrinsic is permissionless.", + "", + "The following is done for each pool:", + "1. If the pool has reached the end of its cycle, it cycles the pool.", + "2. Sends bonus for the current era from the bonus account to the rewards account.", + "3. Sends reward commission to the depositor.", + "4. It bonds the pool's reward balance.", + "", + "It is not required to call this extrinsic. If it is not called, the rewards will be", + "processed when `payout_rewards` is called in the next era." + ] + }, + { + "name": "mutate", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "mutation", + "type": 72, + "typeName": "PoolMutationOf" + } + ], + "index": 19, + "docs": [ + "Mutate the nomination pool data.", + "", + "The dispatch origin of this call must be signed by the account holding the pool token", + "of the given pool_id." + ] + }, + { + "name": "unbond_deposit", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + } + ], + "index": 20, + "docs": [ + "Unbonds the deposit", + "", + "This call is permissionless but certain conditions must be met before the deposit can", + "be unbonded:", + "", + "- Pool must be in [`PoolState::Destroying`] mode", + "- Deposit points must be the only points in the pool", + "- [`UnbondingMembers`] must be empty", + "", + "This will unbond the deposit from the pool." + ] + }, + { + "name": "withdraw_deposit", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + } + ], + "index": 21, + "docs": [ + "Withdraws the deposit", + "", + "This call is permissionless and should be called after the deposit has been unbonded." + ] + }, + { + "name": "withdraw_free_balance", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "destination", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 26, + "docs": [ + "Transfers `amount` from the pool's free balance to `destination`. Only callable by", + "[`Config::ForceOrigin`]." + ] + }, + { + "name": "set_staking_info", + "fields": [ + { + "name": "info", + "type": 410, + "typeName": "StakingInfo" + } + ], + "index": 22, + "docs": [ + "Set the annual inflation rate and collator payout cut", + "", + "Callable only by [`Config::ForceOrigin`]" + ] + }, + { + "name": "queue_early_bird_bonus", + "fields": [ + { + "name": "pool_count", + "type": 4, + "typeName": "u32" + } + ], + "index": 23, + "docs": [ + "Calculate and prepare early bird bonus if it is ready to be queued.", + "", + "Callable by any signed origin after [`Config::EarlyBirdBonusDistributionBlock`].", + "", + "## Details", + "", + "1. Calculates the normalized weights for each pool by calling", + " [`Pallet::early_bird_normalized_weight`]. Factors for the weight are each pool's", + " total points and the creation date.", + "2. Each pool's weight is multiplied by the total reward to determine each pool's reward.", + "3. The rewards are stored in [`EarlyBirdBonusInfo`] and can be distributed by calling", + " [`Self::distribute_early_bird_bonus`]." + ] + }, + { + "name": "distribute_early_bird_bonus", + "fields": [ + { + "name": "transfer_count", + "type": 4, + "typeName": "u32" + } + ], + "index": 24, + "docs": [ + "Distribute early bird bonus to pools. The `transfer_count` parameter is the max number", + "of transfers to be made in this call. If there are less items in the queue, it will end", + "early.", + "", + "Callable by any signed origin after the bonus has been queued." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 407, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "BondValue" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Amount", + "fields": [ + { + "type": 63, + "typeName": "Balance" + } + ], + "index": 0 + }, + { + "name": "Fill", + "index": 1 + } + ] + } + } + } + }, + { + "id": 408, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "ConfigOp" + ], + "params": [ + { + "name": "T", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noop", + "index": 0 + }, + { + "name": "Set", + "fields": [ + { + "type": 6, + "typeName": "T" + } + ], + "index": 1 + }, + { + "name": "Remove", + "index": 2 + } + ] + } + } + } + }, + { + "id": 409, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "ConfigOp" + ], + "params": [ + { + "name": "T", + "type": 42 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noop", + "index": 0 + }, + { + "name": "Set", + "fields": [ + { + "type": 42, + "typeName": "T" + } + ], + "index": 1 + }, + { + "name": "Remove", + "index": 2 + } + ] + } + } + } + }, + { + "id": 410, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "StakingInfo" + ], + "def": { + "composite": { + "fields": [ + { + "name": "annual_inflation_rate", + "type": 42, + "typeName": "Perbill" + }, + { + "name": "collator_payout_cut", + "type": 42, + "typeName": "Perbill" + } + ] + } + } + } + }, + { + "id": 411, + "type": { + "path": [ + "pallet_stake_exchange", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "create_offer", + "fields": [ + { + "name": "offer", + "type": 412, + "typeName": "CreateOfferOf" + } + ], + "index": 0, + "docs": [ + "Place a new offer with the given parameters", + "", + "# Errors", + "- [`Error::CallerNotOfferCreator`] if the caller account does not match offer account.", + "- [`Error::ZeroOffer`] if offer amount is zero.", + "- [`Error::ZeroRate`] if rate amount is zero.", + "- [`Error::Overflow`] if arithmetic overflow occurs" + ] + }, + { + "name": "cancel_offer", + "fields": [ + { + "name": "offer_id", + "type": 63, + "typeName": "T::OfferId" + } + ], + "index": 1, + "docs": [ + "Cancel an existing offer with `offer_id`", + "", + "# Errors", + "- [`Error::CallerNotOfferCreator`] if the caller account does not match offer account.", + "- [`Error::OfferNotFound`] if the `offer_id` does not exist" + ] + }, + { + "name": "configure_liquidity_account", + "fields": [ + { + "name": "config", + "type": 81, + "typeName": "LiquidityAccountConfigOf" + } + ], + "index": 2, + "docs": [ + "Set the liquidity config for the caller account" + ] + }, + { + "name": "withdraw_liquidity", + "fields": [ + { + "name": "offer_id", + "type": 63, + "typeName": "T::OfferId" + }, + { + "name": "amount", + "type": 63, + "typeName": "BalanceOf" + } + ], + "index": 3, + "docs": [ + "Withdraw liquidity from a current active offer", + "", + "# Errors", + "- [`Error::CallerNotOfferCreator`] if the caller account does not match offer account.", + "- [`Error::OfferNotFound`] if the offerId does not exist" + ] + }, + { + "name": "add_liquidity", + "fields": [ + { + "name": "offer_id", + "type": 63, + "typeName": "T::OfferId" + }, + { + "name": "amount", + "type": 63, + "typeName": "BalanceOf" + } + ], + "index": 4, + "docs": [ + "Add liquidity to a current active offer", + "", + "# Errors", + "- [`Error::CallerNotOfferCreator`] if the caller account does not match bidding account.", + "- [`Error::OfferNotFound`] if the offerId does not exist" + ] + }, + { + "name": "buy", + "fields": [ + { + "name": "offer_id", + "type": 63, + "typeName": "T::OfferId" + }, + { + "name": "amount", + "type": 63, + "typeName": "BalanceOf" + }, + { + "name": "token_id", + "type": 63, + "typeName": "TokenIdOf" + } + ], + "index": 5, + "docs": [ + "Buy from a current active offer, returning the native currency by exchanging the staked", + "tokens", + "", + "# Errors", + "- [`Error::CallerNotOfferCreator`] if the caller account does not match bidding account.", + "- [`Error::TokenRestriction`] if the tokenId is restricted by the LP", + "- [`Error::NotEnoughLiquidity`] if the offer cannot cover the amount requested", + "- [`Error::TransferParamCreationFailed`] if the multitokens transfer failed" + ] + } + ] + } + }, + "docs": [ + "The pallet's extrinsics." + ] + } + }, + { + "id": 412, + "type": { + "path": [ + "pallet_stake_exchange", + "types", + "CreateOffer" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "total", + "type": 63, + "typeName": "Balance" + }, + { + "name": "rate", + "type": 44, + "typeName": "Rate" + }, + { + "name": "min_average_reward_rate", + "type": 42, + "typeName": "Rate" + } + ] + } + } + } + }, + { + "id": 413, + "type": { + "path": [ + "pallet_utility", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "batch", + "fields": [ + { + "name": "calls", + "type": 414, + "typeName": "Vec<::RuntimeCall>" + } + ], + "index": 0, + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched.", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ] + }, + { + "name": "as_derivative", + "fields": [ + { + "name": "index", + "type": 290, + "typeName": "u16" + }, + { + "name": "call", + "type": 292, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 1, + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ] + }, + { + "name": "batch_all", + "fields": [ + { + "name": "calls", + "type": 414, + "typeName": "Vec<::RuntimeCall>" + } + ], + "index": 2, + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched." + ] + }, + { + "name": "dispatch_as", + "fields": [ + { + "name": "as_origin", + "type": 415, + "typeName": "Box" + }, + { + "name": "call", + "type": 292, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 3, + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "force_batch", + "fields": [ + { + "name": "calls", + "type": 414, + "typeName": "Vec<::RuntimeCall>" + } + ], + "index": 4, + "docs": [ + "Send a batch of dispatch calls.", + "Unlike `batch`, it allows errors and won't interrupt.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatch without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched." + ] + }, + { + "name": "with_weight", + "fields": [ + { + "name": "call", + "type": 292, + "typeName": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": 9, + "typeName": "Weight" + } + ], + "index": 5, + "docs": [ + "Dispatch a function call with a specified weight.", + "", + "This function does not check the weight of the call, and instead allows the", + "Root origin to specify the weight of the call.", + "", + "The dispatch origin for this call must be _Root_." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 414, + "type": { + "def": { + "sequence": { + "type": 292 + } + } + } + }, + { + "id": 415, + "type": { + "path": [ + "enjin_runtime", + "OriginCaller" + ], + "def": { + "variant": { + "variants": [ + { + "name": "system", + "fields": [ + { + "type": 416, + "typeName": "frame_system::Origin" + } + ], + "index": 0 + }, + { + "name": "ParachainsOrigin", + "fields": [ + { + "type": 417, + "typeName": "parachains_origin::Origin" + } + ], + "index": 50 + }, + { + "name": "XcmPallet", + "fields": [ + { + "type": 418, + "typeName": "pallet_xcm::Origin" + } + ], + "index": 99 + }, + { + "name": "Origins", + "fields": [ + { + "type": 419, + "typeName": "pallet_custom_origins::Origin" + } + ], + "index": 104 + }, + { + "name": "Void", + "fields": [ + { + "type": 420, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::Void" + } + ], + "index": 4 + } + ] + } + } + } + }, + { + "id": 416, + "type": { + "path": [ + "frame_support", + "dispatch", + "RawOrigin" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Root", + "index": 0 + }, + { + "name": "Signed", + "fields": [ + { + "type": 0, + "typeName": "AccountId" + } + ], + "index": 1 + }, + { + "name": "None", + "index": 2 + } + ] + } + } + } + }, + { + "id": 417, + "type": { + "path": [ + "polkadot_runtime_parachains", + "origin", + "pallet", + "Origin" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Parachain", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + } + ], + "index": 0 + } + ] + } + } + } + }, + { + "id": 418, + "type": { + "path": [ + "pallet_xcm", + "pallet", + "Origin" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Xcm", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 0 + }, + { + "name": "Response", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 419, + "type": { + "path": [ + "enjin_runtime_common", + "governance", + "origins", + "pallet_custom_origins", + "Origin" + ], + "def": { + "variant": { + "variants": [ + { + "name": "StakingAdmin", + "index": 0 + }, + { + "name": "TreasuryAdmin", + "index": 1 + }, + { + "name": "FellowshipAdmin", + "index": 2 + }, + { + "name": "GeneralAdmin", + "index": 3 + }, + { + "name": "AuctionAdmin", + "index": 4 + }, + { + "name": "LeaseAdmin", + "index": 5 + }, + { + "name": "MultiTokensAdmin", + "index": 6 + }, + { + "name": "FuelTanksAdmin", + "index": 7 + }, + { + "name": "ClaimsAdmin", + "index": 8 + }, + { + "name": "ExtrinsicPauseAdmin", + "index": 9 + }, + { + "name": "PreimageAdmin", + "index": 10 + }, + { + "name": "WhitelistAdmin", + "index": 11 + }, + { + "name": "ParachainsAdmin", + "index": 12 + }, + { + "name": "ReferendumCanceller", + "index": 13 + }, + { + "name": "ReferendumKiller", + "index": 14 + }, + { + "name": "SmallTipper", + "index": 15 + }, + { + "name": "BigTipper", + "index": 16 + }, + { + "name": "SmallSpender", + "index": 17 + }, + { + "name": "MediumSpender", + "index": 18 + }, + { + "name": "BigSpender", + "index": 19 + }, + { + "name": "WhitelistedCaller", + "index": 20 + }, + { + "name": "FellowshipInitiates", + "index": 21 + }, + { + "name": "Fellows", + "index": 22 + }, + { + "name": "FellowshipExperts", + "index": 23 + }, + { + "name": "FellowshipMasters", + "index": 24 + }, + { + "name": "Fellowship1Dan", + "index": 25 + }, + { + "name": "Fellowship2Dan", + "index": 26 + }, + { + "name": "Fellowship3Dan", + "index": 27 + }, + { + "name": "Fellowship4Dan", + "index": 28 + }, + { + "name": "Fellowship5Dan", + "index": 29 + }, + { + "name": "Fellowship6Dan", + "index": 30 + }, + { + "name": "Fellowship7Dan", + "index": 31 + }, + { + "name": "Fellowship8Dan", + "index": 32 + }, + { + "name": "Fellowship9Dan", + "index": 33 + } + ] + } + } + } + }, + { + "id": 420, + "type": { + "path": [ + "sp_core", + "Void" + ], + "def": { + "variant": {} + } + } + }, + { + "id": 421, + "type": { + "path": [ + "pallet_multisig", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "as_multi_threshold_1", + "fields": [ + { + "name": "other_signatories", + "type": 78, + "typeName": "Vec" + }, + { + "name": "call", + "type": 292, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 0, + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "## Complexity", + "O(Z + C) where Z is the length of the call and C its execution weight." + ] + }, + { + "name": "as_multi", + "fields": [ + { + "name": "threshold", + "type": 290, + "typeName": "u16" + }, + { + "name": "other_signatories", + "type": 78, + "typeName": "Vec" + }, + { + "name": "maybe_timepoint", + "type": 422, + "typeName": "Option>" + }, + { + "name": "call", + "type": 292, + "typeName": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": 9, + "typeName": "Weight" + } + ], + "index": 1, + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "## Complexity", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`." + ] + }, + { + "name": "approve_as_multi", + "fields": [ + { + "name": "threshold", + "type": 290, + "typeName": "u16" + }, + { + "name": "other_signatories", + "type": 78, + "typeName": "Vec" + }, + { + "name": "maybe_timepoint", + "type": 422, + "typeName": "Option>" + }, + { + "name": "call_hash", + "type": 1, + "typeName": "[u8; 32]" + }, + { + "name": "max_weight", + "type": 9, + "typeName": "Weight" + } + ], + "index": 2, + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "## Complexity", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`." + ] + }, + { + "name": "cancel_as_multi", + "fields": [ + { + "name": "threshold", + "type": 290, + "typeName": "u16" + }, + { + "name": "other_signatories", + "type": 78, + "typeName": "Vec" + }, + { + "name": "timepoint", + "type": 89, + "typeName": "Timepoint" + }, + { + "name": "call_hash", + "type": 1, + "typeName": "[u8; 32]" + } + ], + "index": 3, + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "## Complexity", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 422, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 89 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 89 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 423, + "type": { + "path": [ + "polkadot_runtime_parachains", + "configuration", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "set_validation_upgrade_cooldown", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 0, + "docs": [ + "Set the validation upgrade cooldown." + ] + }, + { + "name": "set_validation_upgrade_delay", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 1, + "docs": [ + "Set the validation upgrade delay." + ] + }, + { + "name": "set_code_retention_period", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 2, + "docs": [ + "Set the acceptance period for an included candidate." + ] + }, + { + "name": "set_max_code_size", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 3, + "docs": [ + "Set the max validation code size for incoming upgrades." + ] + }, + { + "name": "set_max_pov_size", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 4, + "docs": [ + "Set the max POV block size for incoming upgrades." + ] + }, + { + "name": "set_max_head_data_size", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 5, + "docs": [ + "Set the max head data size for paras." + ] + }, + { + "name": "set_parathread_cores", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 6, + "docs": [ + "Set the number of parathread execution cores." + ] + }, + { + "name": "set_parathread_retries", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 7, + "docs": [ + "Set the number of retries for a particular parathread." + ] + }, + { + "name": "set_group_rotation_frequency", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 8, + "docs": [ + "Set the parachain validator-group rotation frequency" + ] + }, + { + "name": "set_chain_availability_period", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 9, + "docs": [ + "Set the availability period for parachains." + ] + }, + { + "name": "set_thread_availability_period", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 10, + "docs": [ + "Set the availability period for parathreads." + ] + }, + { + "name": "set_scheduling_lookahead", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 11, + "docs": [ + "Set the scheduling lookahead, in expected number of blocks at peak throughput." + ] + }, + { + "name": "set_max_validators_per_core", + "fields": [ + { + "name": "new", + "type": 73, + "typeName": "Option" + } + ], + "index": 12, + "docs": [ + "Set the maximum number of validators to assign to any core." + ] + }, + { + "name": "set_max_validators", + "fields": [ + { + "name": "new", + "type": 73, + "typeName": "Option" + } + ], + "index": 13, + "docs": [ + "Set the maximum number of validators to use in parachain consensus." + ] + }, + { + "name": "set_dispute_period", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "SessionIndex" + } + ], + "index": 14, + "docs": [ + "Set the dispute period, in number of sessions to keep for disputes." + ] + }, + { + "name": "set_dispute_post_conclusion_acceptance_period", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 15, + "docs": [ + "Set the dispute post conclusion acceptance period." + ] + }, + { + "name": "set_no_show_slots", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 18, + "docs": [ + "Set the no show slots, in number of number of consensus slots.", + "Must be at least 1." + ] + }, + { + "name": "set_n_delay_tranches", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 19, + "docs": [ + "Set the total number of delay tranches." + ] + }, + { + "name": "set_zeroth_delay_tranche_width", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 20, + "docs": [ + "Set the zeroth delay tranche width." + ] + }, + { + "name": "set_needed_approvals", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 21, + "docs": [ + "Set the number of validators needed to approve a block." + ] + }, + { + "name": "set_relay_vrf_modulo_samples", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 22, + "docs": [ + "Set the number of samples to do of the `RelayVRFModulo` approval assignment criterion." + ] + }, + { + "name": "set_max_upward_queue_count", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 23, + "docs": [ + "Sets the maximum items that can present in a upward dispatch queue at once." + ] + }, + { + "name": "set_max_upward_queue_size", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 24, + "docs": [ + "Sets the maximum total size of items that can present in a upward dispatch queue at once." + ] + }, + { + "name": "set_max_downward_message_size", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 25, + "docs": [ + "Set the critical downward message size." + ] + }, + { + "name": "set_max_upward_message_size", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 27, + "docs": [ + "Sets the maximum size of an upward message that can be sent by a candidate." + ] + }, + { + "name": "set_max_upward_message_num_per_candidate", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 28, + "docs": [ + "Sets the maximum number of messages that a candidate can contain." + ] + }, + { + "name": "set_hrmp_open_request_ttl", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 29, + "docs": [ + "Sets the number of sessions after which an HRMP open channel request expires." + ] + }, + { + "name": "set_hrmp_sender_deposit", + "fields": [ + { + "name": "new", + "type": 6, + "typeName": "Balance" + } + ], + "index": 30, + "docs": [ + "Sets the amount of funds that the sender should provide for opening an HRMP channel." + ] + }, + { + "name": "set_hrmp_recipient_deposit", + "fields": [ + { + "name": "new", + "type": 6, + "typeName": "Balance" + } + ], + "index": 31, + "docs": [ + "Sets the amount of funds that the recipient should provide for accepting opening an HRMP", + "channel." + ] + }, + { + "name": "set_hrmp_channel_max_capacity", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 32, + "docs": [ + "Sets the maximum number of messages allowed in an HRMP channel at once." + ] + }, + { + "name": "set_hrmp_channel_max_total_size", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 33, + "docs": [ + "Sets the maximum total size of messages in bytes allowed in an HRMP channel at once." + ] + }, + { + "name": "set_hrmp_max_parachain_inbound_channels", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 34, + "docs": [ + "Sets the maximum number of inbound HRMP channels a parachain is allowed to accept." + ] + }, + { + "name": "set_hrmp_max_parathread_inbound_channels", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 35, + "docs": [ + "Sets the maximum number of inbound HRMP channels a parathread is allowed to accept." + ] + }, + { + "name": "set_hrmp_channel_max_message_size", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 36, + "docs": [ + "Sets the maximum size of a message that could ever be put into an HRMP channel." + ] + }, + { + "name": "set_hrmp_max_parachain_outbound_channels", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 37, + "docs": [ + "Sets the maximum number of outbound HRMP channels a parachain is allowed to open." + ] + }, + { + "name": "set_hrmp_max_parathread_outbound_channels", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 38, + "docs": [ + "Sets the maximum number of outbound HRMP channels a parathread is allowed to open." + ] + }, + { + "name": "set_hrmp_max_message_num_per_candidate", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "u32" + } + ], + "index": 39, + "docs": [ + "Sets the maximum number of outbound HRMP messages can be sent by a candidate." + ] + }, + { + "name": "set_pvf_checking_enabled", + "fields": [ + { + "name": "new", + "type": 37, + "typeName": "bool" + } + ], + "index": 41, + "docs": [ + "Enable or disable PVF pre-checking. Consult the field documentation prior executing." + ] + }, + { + "name": "set_pvf_voting_ttl", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "SessionIndex" + } + ], + "index": 42, + "docs": [ + "Set the number of session changes after which a PVF pre-checking voting is rejected." + ] + }, + { + "name": "set_minimum_validation_upgrade_delay", + "fields": [ + { + "name": "new", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 43, + "docs": [ + "Sets the minimum delay between announcing the upgrade block for a parachain until the", + "upgrade taking place.", + "", + "See the field documentation for information and constraints for the new value." + ] + }, + { + "name": "set_bypass_consistency_check", + "fields": [ + { + "name": "new", + "type": 37, + "typeName": "bool" + } + ], + "index": 44, + "docs": [ + "Setting this to true will disable consistency checks for the configuration setters.", + "Use with caution." + ] + }, + { + "name": "set_async_backing_params", + "fields": [ + { + "name": "new", + "type": 424, + "typeName": "AsyncBackingParams" + } + ], + "index": 45, + "docs": [ + "Set the asynchronous backing parameters." + ] + }, + { + "name": "set_executor_params", + "fields": [ + { + "name": "new", + "type": 425, + "typeName": "ExecutorParams" + } + ], + "index": 46, + "docs": [ + "Set PVF executor parameters." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 424, + "type": { + "path": [ + "polkadot_primitives", + "vstaging", + "AsyncBackingParams" + ], + "def": { + "composite": { + "fields": [ + { + "name": "max_candidate_depth", + "type": 4, + "typeName": "u32" + }, + { + "name": "allowed_ancestry_len", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 425, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "executor_params", + "ExecutorParams" + ], + "def": { + "composite": { + "fields": [ + { + "type": 426, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 426, + "type": { + "def": { + "sequence": { + "type": 427 + } + } + } + }, + { + "id": 427, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "executor_params", + "ExecutorParam" + ], + "def": { + "variant": { + "variants": [ + { + "name": "MaxMemoryPages", + "fields": [ + { + "type": 4, + "typeName": "u32" + } + ], + "index": 1 + }, + { + "name": "StackLogicalMax", + "fields": [ + { + "type": 4, + "typeName": "u32" + } + ], + "index": 2 + }, + { + "name": "StackNativeMax", + "fields": [ + { + "type": 4, + "typeName": "u32" + } + ], + "index": 3 + }, + { + "name": "PrecheckingMaxMemory", + "fields": [ + { + "type": 11, + "typeName": "u64" + } + ], + "index": 4 + }, + { + "name": "PvfPrepTimeout", + "fields": [ + { + "type": 428, + "typeName": "PvfPrepTimeoutKind" + }, + { + "type": 11, + "typeName": "u64" + } + ], + "index": 5 + }, + { + "name": "PvfExecTimeout", + "fields": [ + { + "type": 429, + "typeName": "PvfExecTimeoutKind" + }, + { + "type": 11, + "typeName": "u64" + } + ], + "index": 6 + }, + { + "name": "WasmExtBulkMemory", + "index": 7 + } + ] + } + } + } + }, + { + "id": 428, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "PvfPrepTimeoutKind" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Precheck", + "index": 0 + }, + { + "name": "Lenient", + "index": 1 + } + ] + } + } + } + }, + { + "id": 429, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "PvfExecTimeoutKind" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Backing", + "index": 0 + }, + { + "name": "Approval", + "index": 1 + } + ] + } + } + } + }, + { + "id": 430, + "type": { + "path": [ + "polkadot_runtime_parachains", + "shared", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": {} + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 431, + "type": { + "path": [ + "polkadot_runtime_parachains", + "inclusion", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": {} + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 432, + "type": { + "path": [ + "polkadot_runtime_parachains", + "paras_inherent", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "enter", + "fields": [ + { + "name": "data", + "type": 433, + "typeName": "ParachainsInherentData" + } + ], + "index": 0, + "docs": [ + "Enter the paras inherent. This will process bitfields and backed candidates." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 433, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "InherentData" + ], + "params": [ + { + "name": "HDR", + "type": 300 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "bitfields", + "type": 434, + "typeName": "UncheckedSignedAvailabilityBitfields" + }, + { + "name": "backed_candidates", + "type": 441, + "typeName": "Vec>" + }, + { + "name": "disputes", + "type": 453, + "typeName": "MultiDisputeStatementSet" + }, + { + "name": "parent_header", + "type": 300, + "typeName": "HDR" + } + ] + } + } + } + }, + { + "id": 434, + "type": { + "def": { + "sequence": { + "type": 435 + } + } + } + }, + { + "id": 435, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "signed", + "UncheckedSigned" + ], + "params": [ + { + "name": "Payload", + "type": 436 + }, + { + "name": "RealPayload", + "type": 436 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "payload", + "type": 436, + "typeName": "Payload" + }, + { + "name": "validator_index", + "type": 439, + "typeName": "ValidatorIndex" + }, + { + "name": "signature", + "type": 440, + "typeName": "ValidatorSignature" + } + ] + } + } + } + }, + { + "id": 436, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "AvailabilityBitfield" + ], + "def": { + "composite": { + "fields": [ + { + "type": 437, + "typeName": "BitVec" + } + ] + } + } + } + }, + { + "id": 437, + "type": { + "def": { + "bitsequence": { + "bit_store_type": 2, + "bit_order_type": 438 + } + } + } + }, + { + "id": 438, + "type": { + "path": [ + "bitvec", + "order", + "Lsb0" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 439, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "ValidatorIndex" + ], + "def": { + "composite": { + "fields": [ + { + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 440, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "validator_app", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 96, + "typeName": "sr25519::Signature" + } + ] + } + } + } + }, + { + "id": 441, + "type": { + "def": { + "sequence": { + "type": 442 + } + } + } + }, + { + "id": 442, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "BackedCandidate" + ], + "params": [ + { + "name": "H", + "type": 12 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "candidate", + "type": 443, + "typeName": "CommittedCandidateReceipt" + }, + { + "name": "validity_votes", + "type": 451, + "typeName": "Vec" + }, + { + "name": "validator_indices", + "type": 437, + "typeName": "BitVec" + } + ] + } + } + } + }, + { + "id": 443, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "CommittedCandidateReceipt" + ], + "params": [ + { + "name": "H", + "type": 12 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "descriptor", + "type": 92, + "typeName": "CandidateDescriptor" + }, + { + "name": "commitments", + "type": 444, + "typeName": "CandidateCommitments" + } + ] + } + } + } + }, + { + "id": 444, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "CandidateCommitments" + ], + "params": [ + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "upward_messages", + "type": 445, + "typeName": "UpwardMessages" + }, + { + "name": "horizontal_messages", + "type": 446, + "typeName": "HorizontalMessages" + }, + { + "name": "new_validation_code", + "type": 449, + "typeName": "Option" + }, + { + "name": "head_data", + "type": 99, + "typeName": "HeadData" + }, + { + "name": "processed_downward_messages", + "type": 4, + "typeName": "u32" + }, + { + "name": "hrmp_watermark", + "type": 4, + "typeName": "N" + } + ] + } + } + } + }, + { + "id": 445, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 13 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 296, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 446, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 447 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 448, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 447, + "type": { + "path": [ + "polkadot_core_primitives", + "OutboundHrmpMessage" + ], + "params": [ + { + "name": "Id", + "type": 93 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "recipient", + "type": 93, + "typeName": "Id" + }, + { + "name": "data", + "type": 13, + "typeName": "sp_std::vec::Vec" + } + ] + } + } + } + }, + { + "id": 448, + "type": { + "def": { + "sequence": { + "type": 447 + } + } + } + }, + { + "id": 449, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 450 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 450 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 450, + "type": { + "path": [ + "polkadot_parachain", + "primitives", + "ValidationCode" + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 451, + "type": { + "def": { + "sequence": { + "type": 452 + } + } + } + }, + { + "id": 452, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "ValidityAttestation" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Implicit", + "fields": [ + { + "type": 440, + "typeName": "ValidatorSignature" + } + ], + "index": 1 + }, + { + "name": "Explicit", + "fields": [ + { + "type": 440, + "typeName": "ValidatorSignature" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 453, + "type": { + "def": { + "sequence": { + "type": 454 + } + } + } + }, + { + "id": 454, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "DisputeStatementSet" + ], + "def": { + "composite": { + "fields": [ + { + "name": "candidate_hash", + "type": 106, + "typeName": "CandidateHash" + }, + { + "name": "session", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "statements", + "type": 455, + "typeName": "Vec<(DisputeStatement, ValidatorIndex, ValidatorSignature)>" + } + ] + } + } + } + }, + { + "id": 455, + "type": { + "def": { + "sequence": { + "type": 456 + } + } + } + }, + { + "id": 456, + "type": { + "def": { + "tuple": [ + 457, + 439, + 440 + ] + } + } + }, + { + "id": 457, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "DisputeStatement" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Valid", + "fields": [ + { + "type": 458, + "typeName": "ValidDisputeStatementKind" + } + ], + "index": 0 + }, + { + "name": "Invalid", + "fields": [ + { + "type": 459, + "typeName": "InvalidDisputeStatementKind" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 458, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "ValidDisputeStatementKind" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Explicit", + "index": 0 + }, + { + "name": "BackingSeconded", + "fields": [ + { + "type": 12, + "typeName": "Hash" + } + ], + "index": 1 + }, + { + "name": "BackingValid", + "fields": [ + { + "type": 12, + "typeName": "Hash" + } + ], + "index": 2 + }, + { + "name": "ApprovalChecking", + "index": 3 + } + ] + } + } + } + }, + { + "id": 459, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "InvalidDisputeStatementKind" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Explicit", + "index": 0 + } + ] + } + } + } + }, + { + "id": 460, + "type": { + "path": [ + "polkadot_runtime_parachains", + "paras", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "force_set_current_code", + "fields": [ + { + "name": "para", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "new_code", + "type": 450, + "typeName": "ValidationCode" + } + ], + "index": 0, + "docs": [ + "Set the storage for the parachain validation code immediately." + ] + }, + { + "name": "force_set_current_head", + "fields": [ + { + "name": "para", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "new_head", + "type": 99, + "typeName": "HeadData" + } + ], + "index": 1, + "docs": [ + "Set the storage for the current parachain head data immediately." + ] + }, + { + "name": "force_schedule_code_upgrade", + "fields": [ + { + "name": "para", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "new_code", + "type": 450, + "typeName": "ValidationCode" + }, + { + "name": "relay_parent_number", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 2, + "docs": [ + "Schedule an upgrade as if it was scheduled in the given relay parent block." + ] + }, + { + "name": "force_note_new_head", + "fields": [ + { + "name": "para", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "new_head", + "type": 99, + "typeName": "HeadData" + } + ], + "index": 3, + "docs": [ + "Note a new block head for para within the context of the current block." + ] + }, + { + "name": "force_queue_action", + "fields": [ + { + "name": "para", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 4, + "docs": [ + "Put a parachain directly into the next session's action queue.", + "We can't queue it any sooner than this without going into the", + "initializer..." + ] + }, + { + "name": "add_trusted_validation_code", + "fields": [ + { + "name": "validation_code", + "type": 450, + "typeName": "ValidationCode" + } + ], + "index": 5, + "docs": [ + "Adds the validation code to the storage.", + "", + "The code will not be added if it is already present. Additionally, if PVF pre-checking", + "is running for that code, it will be instantly accepted.", + "", + "Otherwise, the code will be added into the storage. Note that the code will be added", + "into storage with reference count 0. This is to account the fact that there are no users", + "for this code yet. The caller will have to make sure that this code eventually gets", + "used by some parachain or removed from the storage to avoid storage leaks. For the latter", + "prefer to use the `poke_unused_validation_code` dispatchable to raw storage manipulation.", + "", + "This function is mainly meant to be used for upgrading parachains that do not follow", + "the go-ahead signal while the PVF pre-checking feature is enabled." + ] + }, + { + "name": "poke_unused_validation_code", + "fields": [ + { + "name": "validation_code_hash", + "type": 98, + "typeName": "ValidationCodeHash" + } + ], + "index": 6, + "docs": [ + "Remove the validation code from the storage iff the reference count is 0.", + "", + "This is better than removing the storage directly, because it will not remove the code", + "that was suddenly got used by some parachain while this dispatchable was pending", + "dispatching." + ] + }, + { + "name": "include_pvf_check_statement", + "fields": [ + { + "name": "stmt", + "type": 461, + "typeName": "PvfCheckStatement" + }, + { + "name": "signature", + "type": 440, + "typeName": "ValidatorSignature" + } + ], + "index": 7, + "docs": [ + "Includes a statement for a PVF pre-checking vote. Potentially, finalizes the vote and", + "enacts the results if that was the last vote before achieving the supermajority." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 461, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "PvfCheckStatement" + ], + "def": { + "composite": { + "fields": [ + { + "name": "accept", + "type": 37, + "typeName": "bool" + }, + { + "name": "subject", + "type": 98, + "typeName": "ValidationCodeHash" + }, + { + "name": "session_index", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "validator_index", + "type": 439, + "typeName": "ValidatorIndex" + } + ] + } + } + } + }, + { + "id": 462, + "type": { + "path": [ + "polkadot_runtime_parachains", + "initializer", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "force_approve", + "fields": [ + { + "name": "up_to", + "type": 4, + "typeName": "BlockNumber" + } + ], + "index": 0, + "docs": [ + "Issue a signal to the consensus engine to forcibly act as though all parachain", + "blocks in all relay chain blocks up to and including the given number in the current", + "chain are valid and should be finalized." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 463, + "type": { + "path": [ + "polkadot_runtime_parachains", + "hrmp", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "hrmp_init_open_channel", + "fields": [ + { + "name": "recipient", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "proposed_max_capacity", + "type": 4, + "typeName": "u32" + }, + { + "name": "proposed_max_message_size", + "type": 4, + "typeName": "u32" + } + ], + "index": 0, + "docs": [ + "Initiate opening a channel from a parachain to a given recipient with given channel", + "parameters.", + "", + "- `proposed_max_capacity` - specifies how many messages can be in the channel at once.", + "- `proposed_max_message_size` - specifies the maximum size of the messages.", + "", + "These numbers are a subject to the relay-chain configuration limits.", + "", + "The channel can be opened only after the recipient confirms it and only on a session", + "change." + ] + }, + { + "name": "hrmp_accept_open_channel", + "fields": [ + { + "name": "sender", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 1, + "docs": [ + "Accept a pending open channel request from the given sender.", + "", + "The channel will be opened only on the next session boundary." + ] + }, + { + "name": "hrmp_close_channel", + "fields": [ + { + "name": "channel_id", + "type": 104, + "typeName": "HrmpChannelId" + } + ], + "index": 2, + "docs": [ + "Initiate unilateral closing of a channel. The origin must be either the sender or the", + "recipient in the channel being closed.", + "", + "The closure can only happen on a session change." + ] + }, + { + "name": "force_clean_hrmp", + "fields": [ + { + "name": "para", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "inbound", + "type": 4, + "typeName": "u32" + }, + { + "name": "outbound", + "type": 4, + "typeName": "u32" + } + ], + "index": 3, + "docs": [ + "This extrinsic triggers the cleanup of all the HRMP storage items that", + "a para may have. Normally this happens once per session, but this allows", + "you to trigger the cleanup immediately for a specific parachain.", + "", + "Origin must be Root.", + "", + "Number of inbound and outbound channels for `para` must be provided as witness data of weighing." + ] + }, + { + "name": "force_process_hrmp_open", + "fields": [ + { + "name": "channels", + "type": 4, + "typeName": "u32" + } + ], + "index": 4, + "docs": [ + "Force process HRMP open channel requests.", + "", + "If there are pending HRMP open channel requests, you can use this", + "function process all of those requests immediately.", + "", + "Total number of opening channels must be provided as witness data of weighing." + ] + }, + { + "name": "force_process_hrmp_close", + "fields": [ + { + "name": "channels", + "type": 4, + "typeName": "u32" + } + ], + "index": 5, + "docs": [ + "Force process HRMP close channel requests.", + "", + "If there are pending HRMP close channel requests, you can use this", + "function process all of those requests immediately.", + "", + "Total number of closing channels must be provided as witness data of weighing." + ] + }, + { + "name": "hrmp_cancel_open_request", + "fields": [ + { + "name": "channel_id", + "type": 104, + "typeName": "HrmpChannelId" + }, + { + "name": "open_requests", + "type": 4, + "typeName": "u32" + } + ], + "index": 6, + "docs": [ + "This cancels a pending open channel request. It can be canceled by either of the sender", + "or the recipient for that request. The origin must be either of those.", + "", + "The cancellation happens immediately. It is not possible to cancel the request if it is", + "already accepted.", + "", + "Total number of open requests (i.e. `HrmpOpenChannelRequestsList`) must be provided as", + "witness data." + ] + }, + { + "name": "force_open_hrmp_channel", + "fields": [ + { + "name": "sender", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "recipient", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "max_capacity", + "type": 4, + "typeName": "u32" + }, + { + "name": "max_message_size", + "type": 4, + "typeName": "u32" + } + ], + "index": 7, + "docs": [ + "Open a channel from a `sender` to a `recipient` `ParaId` using the Root origin. Although", + "opened by Root, the `max_capacity` and `max_message_size` are still subject to the Relay", + "Chain's configured limits.", + "", + "Expected use is when one of the `ParaId`s involved in the channel is governed by the", + "Relay Chain, e.g. a common good parachain." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 464, + "type": { + "path": [ + "polkadot_runtime_parachains", + "disputes", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "force_unfreeze", + "index": 0 + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 465, + "type": { + "path": [ + "polkadot_runtime_parachains", + "disputes", + "slashing", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "report_dispute_lost_unsigned", + "fields": [ + { + "name": "dispute_proof", + "type": 466, + "typeName": "Box" + }, + { + "name": "key_owner_proof", + "type": 304, + "typeName": "T::KeyOwnerProof" + } + ], + "index": 0 + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 466, + "type": { + "path": [ + "polkadot_runtime_parachains", + "disputes", + "slashing", + "DisputeProof" + ], + "def": { + "composite": { + "fields": [ + { + "name": "time_slot", + "type": 467, + "typeName": "DisputesTimeSlot" + }, + { + "name": "kind", + "type": 468, + "typeName": "SlashingOffenceKind" + }, + { + "name": "validator_index", + "type": 439, + "typeName": "ValidatorIndex" + }, + { + "name": "validator_id", + "type": 382, + "typeName": "ValidatorId" + } + ] + } + } + } + }, + { + "id": 467, + "type": { + "path": [ + "polkadot_runtime_parachains", + "disputes", + "slashing", + "DisputesTimeSlot" + ], + "def": { + "composite": { + "fields": [ + { + "name": "session_index", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "candidate_hash", + "type": 106, + "typeName": "CandidateHash" + } + ] + } + } + } + }, + { + "id": 468, + "type": { + "path": [ + "polkadot_runtime_parachains", + "disputes", + "slashing", + "SlashingOffenceKind" + ], + "def": { + "variant": { + "variants": [ + { + "name": "ForInvalid", + "index": 0 + }, + { + "name": "AgainstValid", + "index": 1 + } + ] + } + } + } + }, + { + "id": 469, + "type": { + "path": [ + "polkadot_runtime_common", + "paras_registrar", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "register", + "fields": [ + { + "name": "id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "genesis_head", + "type": 99, + "typeName": "HeadData" + }, + { + "name": "validation_code", + "type": 450, + "typeName": "ValidationCode" + } + ], + "index": 0, + "docs": [ + "Register head data and validation code for a reserved Para Id.", + "", + "## Arguments", + "- `origin`: Must be called by a `Signed` origin.", + "- `id`: The para ID. Must be owned/managed by the `origin` signing account.", + "- `genesis_head`: The genesis head data of the parachain/thread.", + "- `validation_code`: The initial validation code of the parachain/thread.", + "", + "## Deposits/Fees", + "The origin signed account must reserve a corresponding deposit for the registration. Anything already", + "reserved previously for this para ID is accounted for.", + "", + "## Events", + "The `Registered` event is emitted in case of success." + ] + }, + { + "name": "force_register", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "deposit", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "genesis_head", + "type": 99, + "typeName": "HeadData" + }, + { + "name": "validation_code", + "type": 450, + "typeName": "ValidationCode" + } + ], + "index": 1, + "docs": [ + "Force the registration of a Para Id on the relay chain.", + "", + "This function must be called by a Root origin.", + "", + "The deposit taken can be specified for this registration. Any `ParaId`", + "can be registered, including sub-1000 IDs which are System Parachains." + ] + }, + { + "name": "deregister", + "fields": [ + { + "name": "id", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 2, + "docs": [ + "Deregister a Para Id, freeing all data and returning any deposit.", + "", + "The caller must be Root, the `para` owner, or the `para` itself. The para must be a parathread." + ] + }, + { + "name": "swap", + "fields": [ + { + "name": "id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "other", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 3, + "docs": [ + "Swap a parachain with another parachain or parathread.", + "", + "The origin must be Root, the `para` owner, or the `para` itself.", + "", + "The swap will happen only if there is already an opposite swap pending. If there is not,", + "the swap will be stored in the pending swaps map, ready for a later confirmatory swap.", + "", + "The `ParaId`s remain mapped to the same head data and code so external code can rely on", + "`ParaId` to be a long-term identifier of a notional \"parachain\". However, their", + "scheduling info (i.e. whether they're a parathread or parachain), auction information", + "and the auction deposit are switched." + ] + }, + { + "name": "remove_lock", + "fields": [ + { + "name": "para", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 4, + "docs": [ + "Remove a manager lock from a para. This will allow the manager of a", + "previously locked para to deregister or swap a para without using governance.", + "", + "Can only be called by the Root origin or the parachain." + ] + }, + { + "name": "reserve", + "index": 5, + "docs": [ + "Reserve a Para Id on the relay chain.", + "", + "This function will reserve a new Para Id to be owned/managed by the origin account.", + "The origin account is able to register head data and validation code using `register` to create", + "a parathread. Using the Slots pallet, a parathread can then be upgraded to get a parachain slot.", + "", + "## Arguments", + "- `origin`: Must be called by a `Signed` origin. Becomes the manager/owner of the new para ID.", + "", + "## Deposits/Fees", + "The origin must reserve a deposit of `ParaDeposit` for the registration.", + "", + "## Events", + "The `Reserved` event is emitted in case of success, which provides the ID reserved for use." + ] + }, + { + "name": "add_lock", + "fields": [ + { + "name": "para", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 6, + "docs": [ + "Add a manager lock from a para. This will prevent the manager of a", + "para to deregister or swap a para.", + "", + "Can be called by Root, the parachain, or the parachain manager if the parachain is unlocked." + ] + }, + { + "name": "schedule_code_upgrade", + "fields": [ + { + "name": "para", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "new_code", + "type": 450, + "typeName": "ValidationCode" + } + ], + "index": 7, + "docs": [ + "Schedule a parachain upgrade.", + "", + "Can be called by Root, the parachain, or the parachain manager if the parachain is unlocked." + ] + }, + { + "name": "set_current_head", + "fields": [ + { + "name": "para", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "new_head", + "type": 99, + "typeName": "HeadData" + } + ], + "index": 8, + "docs": [ + "Set the parachain's current head.", + "", + "Can be called by Root, the parachain, or the parachain manager if the parachain is unlocked." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 470, + "type": { + "path": [ + "polkadot_runtime_common", + "slots", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "force_lease", + "fields": [ + { + "name": "para", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "leaser", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "period_begin", + "type": 4, + "typeName": "LeasePeriodOf" + }, + { + "name": "period_count", + "type": 4, + "typeName": "LeasePeriodOf" + } + ], + "index": 0, + "docs": [ + "Just a connect into the `lease_out` call, in case Root wants to force some lease to happen", + "independently of any other on-chain mechanism to use it.", + "", + "The dispatch origin for this call must match `T::ForceOrigin`." + ] + }, + { + "name": "clear_all_leases", + "fields": [ + { + "name": "para", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 1, + "docs": [ + "Clear all leases for a Para Id, refunding any deposits back to the original owners.", + "", + "The dispatch origin for this call must match `T::ForceOrigin`." + ] + }, + { + "name": "trigger_onboard", + "fields": [ + { + "name": "para", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 2, + "docs": [ + "Try to onboard a parachain that has a lease for the current lease period.", + "", + "This function can be useful if there was some state issue with a para that should", + "have onboarded, but was unable to. As long as they have a lease period, we can", + "let them onboard from here.", + "", + "Origin must be signed, but can be called by anyone." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 471, + "type": { + "path": [ + "polkadot_runtime_common", + "auctions", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "new_auction", + "fields": [ + { + "name": "duration", + "type": 119, + "typeName": "T::BlockNumber" + }, + { + "name": "lease_period_index", + "type": 119, + "typeName": "LeasePeriodOf" + } + ], + "index": 0, + "docs": [ + "Create a new auction.", + "", + "This can only happen when there isn't already an auction in progress and may only be", + "called by the root origin. Accepts the `duration` of this auction and the", + "`lease_period_index` of the initial lease period of the four that are to be auctioned." + ] + }, + { + "name": "bid", + "fields": [ + { + "name": "para", + "type": 472, + "typeName": "ParaId" + }, + { + "name": "auction_index", + "type": 119, + "typeName": "AuctionIndex" + }, + { + "name": "first_slot", + "type": 119, + "typeName": "LeasePeriodOf" + }, + { + "name": "last_slot", + "type": 119, + "typeName": "LeasePeriodOf" + }, + { + "name": "amount", + "type": 63, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "Make a new bid from an account (including a parachain account) for deploying a new", + "parachain.", + "", + "Multiple simultaneous bids from the same bidder are allowed only as long as all active", + "bids overlap each other (i.e. are mutually exclusive). Bids cannot be redacted.", + "", + "- `sub` is the sub-bidder ID, allowing for multiple competing bids to be made by (and", + "funded by) the same account.", + "- `auction_index` is the index of the auction to bid on. Should just be the present", + "value of `AuctionCounter`.", + "- `first_slot` is the first lease period index of the range to bid on. This is the", + "absolute lease period index value, not an auction-specific offset.", + "- `last_slot` is the last lease period index of the range to bid on. This is the", + "absolute lease period index value, not an auction-specific offset.", + "- `amount` is the amount to bid to be held as deposit for the parachain should the", + "bid win. This amount is held throughout the range." + ] + }, + { + "name": "cancel_auction", + "index": 2, + "docs": [ + "Cancel an in-progress auction.", + "", + "Can only be called by Root origin." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 472, + "type": { + "def": { + "compact": { + "type": 93 + } + } + } + }, + { + "id": 473, + "type": { + "path": [ + "polkadot_runtime_common", + "crowdloan", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "create", + "fields": [ + { + "name": "index", + "type": 472, + "typeName": "ParaId" + }, + { + "name": "cap", + "type": 63, + "typeName": "BalanceOf" + }, + { + "name": "first_period", + "type": 119, + "typeName": "LeasePeriodOf" + }, + { + "name": "last_period", + "type": 119, + "typeName": "LeasePeriodOf" + }, + { + "name": "end", + "type": 119, + "typeName": "T::BlockNumber" + }, + { + "name": "verifier", + "type": 474, + "typeName": "Option" + } + ], + "index": 0, + "docs": [ + "Create a new crowdloaning campaign for a parachain slot with the given lease period range.", + "", + "This applies a lock to your parachain configuration, ensuring that it cannot be changed", + "by the parachain manager." + ] + }, + { + "name": "contribute", + "fields": [ + { + "name": "index", + "type": 472, + "typeName": "ParaId" + }, + { + "name": "value", + "type": 63, + "typeName": "BalanceOf" + }, + { + "name": "signature", + "type": 478, + "typeName": "Option" + } + ], + "index": 1, + "docs": [ + "Contribute to a crowd sale. This will transfer some balance over to fund a parachain", + "slot. It will be withdrawable when the crowdloan has ended and the funds are unused." + ] + }, + { + "name": "withdraw", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "index", + "type": 472, + "typeName": "ParaId" + } + ], + "index": 2, + "docs": [ + "Withdraw full balance of a specific contributor.", + "", + "Origin must be signed, but can come from anyone.", + "", + "The fund must be either in, or ready for, retirement. For a fund to be *in* retirement, then the retirement", + "flag must be set. For a fund to be ready for retirement, then:", + "- it must not already be in retirement;", + "- the amount of raised funds must be bigger than the _free_ balance of the account;", + "- and either:", + " - the block number must be at least `end`; or", + " - the current lease period must be greater than the fund's `last_period`.", + "", + "In this case, the fund's retirement flag is set and its `end` is reset to the current block", + "number.", + "", + "- `who`: The account whose contribution should be withdrawn.", + "- `index`: The parachain to whose crowdloan the contribution was made." + ] + }, + { + "name": "refund", + "fields": [ + { + "name": "index", + "type": 472, + "typeName": "ParaId" + } + ], + "index": 3, + "docs": [ + "Automatically refund contributors of an ended crowdloan.", + "Due to weight restrictions, this function may need to be called multiple", + "times to fully refund all users. We will refund `RemoveKeysLimit` users at a time.", + "", + "Origin must be signed, but can come from anyone." + ] + }, + { + "name": "dissolve", + "fields": [ + { + "name": "index", + "type": 472, + "typeName": "ParaId" + } + ], + "index": 4, + "docs": [ + "Remove a fund after the retirement period has ended and all funds have been returned." + ] + }, + { + "name": "edit", + "fields": [ + { + "name": "index", + "type": 472, + "typeName": "ParaId" + }, + { + "name": "cap", + "type": 63, + "typeName": "BalanceOf" + }, + { + "name": "first_period", + "type": 119, + "typeName": "LeasePeriodOf" + }, + { + "name": "last_period", + "type": 119, + "typeName": "LeasePeriodOf" + }, + { + "name": "end", + "type": 119, + "typeName": "T::BlockNumber" + }, + { + "name": "verifier", + "type": 474, + "typeName": "Option" + } + ], + "index": 5, + "docs": [ + "Edit the configuration for an in-progress crowdloan.", + "", + "Can only be called by Root origin." + ] + }, + { + "name": "add_memo", + "fields": [ + { + "name": "index", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "memo", + "type": 13, + "typeName": "Vec" + } + ], + "index": 6, + "docs": [ + "Add an optional memo to an existing crowdloan contribution.", + "", + "Origin must be Signed, and the user must have contributed to the crowdloan." + ] + }, + { + "name": "poke", + "fields": [ + { + "name": "index", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 7, + "docs": [ + "Poke the fund into `NewRaise`", + "", + "Origin must be Signed, and the fund has non-zero raise." + ] + }, + { + "name": "contribute_all", + "fields": [ + { + "name": "index", + "type": 472, + "typeName": "ParaId" + }, + { + "name": "signature", + "type": 478, + "typeName": "Option" + } + ], + "index": 8, + "docs": [ + "Contribute your entire balance to a crowd sale. This will transfer the entire balance of a user over to fund a parachain", + "slot. It will be withdrawable when the crowdloan has ended and the funds are unused." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 474, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 475 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 475 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 475, + "type": { + "path": [ + "sp_runtime", + "MultiSigner" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Ed25519", + "fields": [ + { + "type": 51, + "typeName": "ed25519::Public" + } + ], + "index": 0 + }, + { + "name": "Sr25519", + "fields": [ + { + "type": 59, + "typeName": "sr25519::Public" + } + ], + "index": 1 + }, + { + "name": "Ecdsa", + "fields": [ + { + "type": 476, + "typeName": "ecdsa::Public" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 476, + "type": { + "path": [ + "sp_core", + "ecdsa", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 477, + "typeName": "[u8; 33]" + } + ] + } + } + } + }, + { + "id": 477, + "type": { + "def": { + "array": { + "len": 33, + "type": 2 + } + } + } + }, + { + "id": 478, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 479 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 479 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 479, + "type": { + "path": [ + "sp_runtime", + "MultiSignature" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Ed25519", + "fields": [ + { + "type": 391, + "typeName": "ed25519::Signature" + } + ], + "index": 0 + }, + { + "name": "Sr25519", + "fields": [ + { + "type": 96, + "typeName": "sr25519::Signature" + } + ], + "index": 1 + }, + { + "name": "Ecdsa", + "fields": [ + { + "type": 480, + "typeName": "ecdsa::Signature" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 480, + "type": { + "path": [ + "sp_core", + "ecdsa", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 481, + "typeName": "[u8; 65]" + } + ] + } + } + } + }, + { + "id": 481, + "type": { + "def": { + "array": { + "len": 65, + "type": 2 + } + } + } + }, + { + "id": 482, + "type": { + "path": [ + "pallet_xcm", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "send", + "fields": [ + { + "name": "dest", + "type": 166, + "typeName": "Box" + }, + { + "name": "message", + "type": 483, + "typeName": "Box>" + } + ], + "index": 0 + }, + { + "name": "teleport_assets", + "fields": [ + { + "name": "dest", + "type": 166, + "typeName": "Box" + }, + { + "name": "beneficiary", + "type": 166, + "typeName": "Box" + }, + { + "name": "assets", + "type": 152, + "typeName": "Box" + }, + { + "name": "fee_asset_item", + "type": 4, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ] + }, + { + "name": "reserve_transfer_assets", + "fields": [ + { + "name": "dest", + "type": 166, + "typeName": "Box" + }, + { + "name": "beneficiary", + "type": 166, + "typeName": "Box" + }, + { + "name": "assets", + "type": 152, + "typeName": "Box" + }, + { + "name": "fee_asset_item", + "type": 4, + "typeName": "u32" + } + ], + "index": 2, + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ] + }, + { + "name": "execute", + "fields": [ + { + "name": "message", + "type": 495, + "typeName": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": 9, + "typeName": "Weight" + } + ], + "index": 3, + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than the", + "maximum amount of weight that the message could take to be executed, then no execution", + "attempt will be made.", + "", + "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", + "to completion; only that *some* of it was executed." + ] + }, + { + "name": "force_xcm_version", + "fields": [ + { + "name": "location", + "type": 116, + "typeName": "Box" + }, + { + "name": "xcm_version", + "type": 4, + "typeName": "XcmVersion" + } + ], + "index": 4, + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ] + }, + { + "name": "force_default_xcm_version", + "fields": [ + { + "name": "maybe_xcm_version", + "type": 73, + "typeName": "Option" + } + ], + "index": 5, + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ] + }, + { + "name": "force_subscribe_version_notify", + "fields": [ + { + "name": "location", + "type": 166, + "typeName": "Box" + } + ], + "index": 6, + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ] + }, + { + "name": "force_unsubscribe_version_notify", + "fields": [ + { + "name": "location", + "type": 166, + "typeName": "Box" + } + ], + "index": 7, + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ] + }, + { + "name": "limited_reserve_transfer_assets", + "fields": [ + { + "name": "dest", + "type": 166, + "typeName": "Box" + }, + { + "name": "beneficiary", + "type": 166, + "typeName": "Box" + }, + { + "name": "assets", + "type": 152, + "typeName": "Box" + }, + { + "name": "fee_asset_item", + "type": 4, + "typeName": "u32" + }, + { + "name": "weight_limit", + "type": 151, + "typeName": "WeightLimit" + } + ], + "index": 8, + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ] + }, + { + "name": "limited_teleport_assets", + "fields": [ + { + "name": "dest", + "type": 166, + "typeName": "Box" + }, + { + "name": "beneficiary", + "type": 166, + "typeName": "Box" + }, + { + "name": "assets", + "type": 152, + "typeName": "Box" + }, + { + "name": "fee_asset_item", + "type": 4, + "typeName": "u32" + }, + { + "name": "weight_limit", + "type": 151, + "typeName": "WeightLimit" + } + ], + "index": 9, + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ] + }, + { + "name": "force_suspension", + "fields": [ + { + "name": "suspended", + "type": 37, + "typeName": "bool" + } + ], + "index": 10, + "docs": [ + "Set or unset the global suspension state of the XCM executor.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `suspended`: `true` to suspend, `false` to resume." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 483, + "type": { + "path": [ + "xcm", + "VersionedXcm" + ], + "params": [ + { + "name": "RuntimeCall", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "V2", + "fields": [ + { + "type": 484, + "typeName": "v2::Xcm" + } + ], + "index": 2 + }, + { + "name": "V3", + "fields": [ + { + "type": 125, + "typeName": "v3::Xcm" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 484, + "type": { + "path": [ + "xcm", + "v2", + "Xcm" + ], + "params": [ + { + "name": "RuntimeCall", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 485, + "typeName": "Vec>" + } + ] + } + } + } + }, + { + "id": 485, + "type": { + "def": { + "sequence": { + "type": 486 + } + } + } + }, + { + "id": 486, + "type": { + "path": [ + "xcm", + "v2", + "Instruction" + ], + "params": [ + { + "name": "RuntimeCall", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "WithdrawAsset", + "fields": [ + { + "type": 153, + "typeName": "MultiAssets" + } + ], + "index": 0 + }, + { + "name": "ReserveAssetDeposited", + "fields": [ + { + "type": 153, + "typeName": "MultiAssets" + } + ], + "index": 1 + }, + { + "name": "ReceiveTeleportedAsset", + "fields": [ + { + "type": 153, + "typeName": "MultiAssets" + } + ], + "index": 2 + }, + { + "name": "QueryResponse", + "fields": [ + { + "name": "query_id", + "type": 10, + "typeName": "QueryId" + }, + { + "name": "response", + "type": 487, + "typeName": "Response" + }, + { + "name": "max_weight", + "type": 10, + "typeName": "u64" + } + ], + "index": 3 + }, + { + "name": "TransferAsset", + "fields": [ + { + "name": "assets", + "type": 153, + "typeName": "MultiAssets" + }, + { + "name": "beneficiary", + "type": 157, + "typeName": "MultiLocation" + } + ], + "index": 4 + }, + { + "name": "TransferReserveAsset", + "fields": [ + { + "name": "assets", + "type": 153, + "typeName": "MultiAssets" + }, + { + "name": "dest", + "type": 157, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 484, + "typeName": "Xcm<()>" + } + ], + "index": 5 + }, + { + "name": "Transact", + "fields": [ + { + "name": "origin_type", + "type": 145, + "typeName": "OriginKind" + }, + { + "name": "require_weight_at_most", + "type": 10, + "typeName": "u64" + }, + { + "name": "call", + "type": 146, + "typeName": "DoubleEncoded" + } + ], + "index": 6 + }, + { + "name": "HrmpNewChannelOpenRequest", + "fields": [ + { + "name": "sender", + "type": 119, + "typeName": "u32" + }, + { + "name": "max_message_size", + "type": 119, + "typeName": "u32" + }, + { + "name": "max_capacity", + "type": 119, + "typeName": "u32" + } + ], + "index": 7 + }, + { + "name": "HrmpChannelAccepted", + "fields": [ + { + "name": "recipient", + "type": 119, + "typeName": "u32" + } + ], + "index": 8 + }, + { + "name": "HrmpChannelClosing", + "fields": [ + { + "name": "initiator", + "type": 119, + "typeName": "u32" + }, + { + "name": "sender", + "type": 119, + "typeName": "u32" + }, + { + "name": "recipient", + "type": 119, + "typeName": "u32" + } + ], + "index": 9 + }, + { + "name": "ClearOrigin", + "index": 10 + }, + { + "name": "DescendOrigin", + "fields": [ + { + "type": 158, + "typeName": "InteriorMultiLocation" + } + ], + "index": 11 + }, + { + "name": "ReportError", + "fields": [ + { + "name": "query_id", + "type": 10, + "typeName": "QueryId" + }, + { + "name": "dest", + "type": 157, + "typeName": "MultiLocation" + }, + { + "name": "max_response_weight", + "type": 10, + "typeName": "u64" + } + ], + "index": 12 + }, + { + "name": "DepositAsset", + "fields": [ + { + "name": "assets", + "type": 491, + "typeName": "MultiAssetFilter" + }, + { + "name": "max_assets", + "type": 119, + "typeName": "u32" + }, + { + "name": "beneficiary", + "type": 157, + "typeName": "MultiLocation" + } + ], + "index": 13 + }, + { + "name": "DepositReserveAsset", + "fields": [ + { + "name": "assets", + "type": 491, + "typeName": "MultiAssetFilter" + }, + { + "name": "max_assets", + "type": 119, + "typeName": "u32" + }, + { + "name": "dest", + "type": 157, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 484, + "typeName": "Xcm<()>" + } + ], + "index": 14 + }, + { + "name": "ExchangeAsset", + "fields": [ + { + "name": "give", + "type": 491, + "typeName": "MultiAssetFilter" + }, + { + "name": "receive", + "type": 153, + "typeName": "MultiAssets" + } + ], + "index": 15 + }, + { + "name": "InitiateReserveWithdraw", + "fields": [ + { + "name": "assets", + "type": 491, + "typeName": "MultiAssetFilter" + }, + { + "name": "reserve", + "type": 157, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 484, + "typeName": "Xcm<()>" + } + ], + "index": 16 + }, + { + "name": "InitiateTeleport", + "fields": [ + { + "name": "assets", + "type": 491, + "typeName": "MultiAssetFilter" + }, + { + "name": "dest", + "type": 157, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 484, + "typeName": "Xcm<()>" + } + ], + "index": 17 + }, + { + "name": "QueryHolding", + "fields": [ + { + "name": "query_id", + "type": 10, + "typeName": "QueryId" + }, + { + "name": "dest", + "type": 157, + "typeName": "MultiLocation" + }, + { + "name": "assets", + "type": 491, + "typeName": "MultiAssetFilter" + }, + { + "name": "max_response_weight", + "type": 10, + "typeName": "u64" + } + ], + "index": 18 + }, + { + "name": "BuyExecution", + "fields": [ + { + "name": "fees", + "type": 155, + "typeName": "MultiAsset" + }, + { + "name": "weight_limit", + "type": 494, + "typeName": "WeightLimit" + } + ], + "index": 19 + }, + { + "name": "RefundSurplus", + "index": 20 + }, + { + "name": "SetErrorHandler", + "fields": [ + { + "type": 484, + "typeName": "Xcm" + } + ], + "index": 21 + }, + { + "name": "SetAppendix", + "fields": [ + { + "type": 484, + "typeName": "Xcm" + } + ], + "index": 22 + }, + { + "name": "ClearError", + "index": 23 + }, + { + "name": "ClaimAsset", + "fields": [ + { + "name": "assets", + "type": 153, + "typeName": "MultiAssets" + }, + { + "name": "ticket", + "type": 157, + "typeName": "MultiLocation" + } + ], + "index": 24 + }, + { + "name": "Trap", + "fields": [ + { + "type": 10, + "typeName": "u64" + } + ], + "index": 25 + }, + { + "name": "SubscribeVersion", + "fields": [ + { + "name": "query_id", + "type": 10, + "typeName": "QueryId" + }, + { + "name": "max_response_weight", + "type": 10, + "typeName": "u64" + } + ], + "index": 26 + }, + { + "name": "UnsubscribeVersion", + "index": 27 + } + ] + } + } + } + }, + { + "id": 487, + "type": { + "path": [ + "xcm", + "v2", + "Response" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Null", + "index": 0 + }, + { + "name": "Assets", + "fields": [ + { + "type": 153, + "typeName": "MultiAssets" + } + ], + "index": 1 + }, + { + "name": "ExecutionResult", + "fields": [ + { + "type": 488, + "typeName": "Option<(u32, Error)>" + } + ], + "index": 2 + }, + { + "name": "Version", + "fields": [ + { + "type": 4, + "typeName": "super::Version" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 488, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 489 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 489 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 489, + "type": { + "def": { + "tuple": [ + 4, + 490 + ] + } + } + }, + { + "id": 490, + "type": { + "path": [ + "xcm", + "v2", + "traits", + "Error" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Overflow", + "index": 0 + }, + { + "name": "Unimplemented", + "index": 1 + }, + { + "name": "UntrustedReserveLocation", + "index": 2 + }, + { + "name": "UntrustedTeleportLocation", + "index": 3 + }, + { + "name": "MultiLocationFull", + "index": 4 + }, + { + "name": "MultiLocationNotInvertible", + "index": 5 + }, + { + "name": "BadOrigin", + "index": 6 + }, + { + "name": "InvalidLocation", + "index": 7 + }, + { + "name": "AssetNotFound", + "index": 8 + }, + { + "name": "FailedToTransactAsset", + "index": 9 + }, + { + "name": "NotWithdrawable", + "index": 10 + }, + { + "name": "LocationCannotHold", + "index": 11 + }, + { + "name": "ExceedsMaxMessageSize", + "index": 12 + }, + { + "name": "DestinationUnsupported", + "index": 13 + }, + { + "name": "Transport", + "index": 14 + }, + { + "name": "Unroutable", + "index": 15 + }, + { + "name": "UnknownClaim", + "index": 16 + }, + { + "name": "FailedToDecode", + "index": 17 + }, + { + "name": "MaxWeightInvalid", + "index": 18 + }, + { + "name": "NotHoldingFees", + "index": 19 + }, + { + "name": "TooExpensive", + "index": 20 + }, + { + "name": "Trap", + "fields": [ + { + "type": 11, + "typeName": "u64" + } + ], + "index": 21 + }, + { + "name": "UnhandledXcmVersion", + "index": 22 + }, + { + "name": "WeightLimitReached", + "fields": [ + { + "type": 11, + "typeName": "Weight" + } + ], + "index": 23 + }, + { + "name": "Barrier", + "index": 24 + }, + { + "name": "WeightNotComputable", + "index": 25 + } + ] + } + } + } + }, + { + "id": 491, + "type": { + "path": [ + "xcm", + "v2", + "multiasset", + "MultiAssetFilter" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Definite", + "fields": [ + { + "type": 153, + "typeName": "MultiAssets" + } + ], + "index": 0 + }, + { + "name": "Wild", + "fields": [ + { + "type": 492, + "typeName": "WildMultiAsset" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 492, + "type": { + "path": [ + "xcm", + "v2", + "multiasset", + "WildMultiAsset" + ], + "def": { + "variant": { + "variants": [ + { + "name": "All", + "index": 0 + }, + { + "name": "AllOf", + "fields": [ + { + "name": "id", + "type": 156, + "typeName": "AssetId" + }, + { + "name": "fun", + "type": 493, + "typeName": "WildFungibility" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 493, + "type": { + "path": [ + "xcm", + "v2", + "multiasset", + "WildFungibility" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Fungible", + "index": 0 + }, + { + "name": "NonFungible", + "index": 1 + } + ] + } + } + } + }, + { + "id": 494, + "type": { + "path": [ + "xcm", + "v2", + "WeightLimit" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Unlimited", + "index": 0 + }, + { + "name": "Limited", + "fields": [ + { + "type": 10, + "typeName": "u64" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 495, + "type": { + "path": [ + "xcm", + "VersionedXcm" + ], + "params": [ + { + "name": "RuntimeCall", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "V2", + "fields": [ + { + "type": 496, + "typeName": "v2::Xcm" + } + ], + "index": 2 + }, + { + "name": "V3", + "fields": [ + { + "type": 500, + "typeName": "v3::Xcm" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 496, + "type": { + "path": [ + "xcm", + "v2", + "Xcm" + ], + "params": [ + { + "name": "RuntimeCall", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 497, + "typeName": "Vec>" + } + ] + } + } + } + }, + { + "id": 497, + "type": { + "def": { + "sequence": { + "type": 498 + } + } + } + }, + { + "id": 498, + "type": { + "path": [ + "xcm", + "v2", + "Instruction" + ], + "params": [ + { + "name": "RuntimeCall", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "WithdrawAsset", + "fields": [ + { + "type": 153, + "typeName": "MultiAssets" + } + ], + "index": 0 + }, + { + "name": "ReserveAssetDeposited", + "fields": [ + { + "type": 153, + "typeName": "MultiAssets" + } + ], + "index": 1 + }, + { + "name": "ReceiveTeleportedAsset", + "fields": [ + { + "type": 153, + "typeName": "MultiAssets" + } + ], + "index": 2 + }, + { + "name": "QueryResponse", + "fields": [ + { + "name": "query_id", + "type": 10, + "typeName": "QueryId" + }, + { + "name": "response", + "type": 487, + "typeName": "Response" + }, + { + "name": "max_weight", + "type": 10, + "typeName": "u64" + } + ], + "index": 3 + }, + { + "name": "TransferAsset", + "fields": [ + { + "name": "assets", + "type": 153, + "typeName": "MultiAssets" + }, + { + "name": "beneficiary", + "type": 157, + "typeName": "MultiLocation" + } + ], + "index": 4 + }, + { + "name": "TransferReserveAsset", + "fields": [ + { + "name": "assets", + "type": 153, + "typeName": "MultiAssets" + }, + { + "name": "dest", + "type": 157, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 484, + "typeName": "Xcm<()>" + } + ], + "index": 5 + }, + { + "name": "Transact", + "fields": [ + { + "name": "origin_type", + "type": 145, + "typeName": "OriginKind" + }, + { + "name": "require_weight_at_most", + "type": 10, + "typeName": "u64" + }, + { + "name": "call", + "type": 499, + "typeName": "DoubleEncoded" + } + ], + "index": 6 + }, + { + "name": "HrmpNewChannelOpenRequest", + "fields": [ + { + "name": "sender", + "type": 119, + "typeName": "u32" + }, + { + "name": "max_message_size", + "type": 119, + "typeName": "u32" + }, + { + "name": "max_capacity", + "type": 119, + "typeName": "u32" + } + ], + "index": 7 + }, + { + "name": "HrmpChannelAccepted", + "fields": [ + { + "name": "recipient", + "type": 119, + "typeName": "u32" + } + ], + "index": 8 + }, + { + "name": "HrmpChannelClosing", + "fields": [ + { + "name": "initiator", + "type": 119, + "typeName": "u32" + }, + { + "name": "sender", + "type": 119, + "typeName": "u32" + }, + { + "name": "recipient", + "type": 119, + "typeName": "u32" + } + ], + "index": 9 + }, + { + "name": "ClearOrigin", + "index": 10 + }, + { + "name": "DescendOrigin", + "fields": [ + { + "type": 158, + "typeName": "InteriorMultiLocation" + } + ], + "index": 11 + }, + { + "name": "ReportError", + "fields": [ + { + "name": "query_id", + "type": 10, + "typeName": "QueryId" + }, + { + "name": "dest", + "type": 157, + "typeName": "MultiLocation" + }, + { + "name": "max_response_weight", + "type": 10, + "typeName": "u64" + } + ], + "index": 12 + }, + { + "name": "DepositAsset", + "fields": [ + { + "name": "assets", + "type": 491, + "typeName": "MultiAssetFilter" + }, + { + "name": "max_assets", + "type": 119, + "typeName": "u32" + }, + { + "name": "beneficiary", + "type": 157, + "typeName": "MultiLocation" + } + ], + "index": 13 + }, + { + "name": "DepositReserveAsset", + "fields": [ + { + "name": "assets", + "type": 491, + "typeName": "MultiAssetFilter" + }, + { + "name": "max_assets", + "type": 119, + "typeName": "u32" + }, + { + "name": "dest", + "type": 157, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 484, + "typeName": "Xcm<()>" + } + ], + "index": 14 + }, + { + "name": "ExchangeAsset", + "fields": [ + { + "name": "give", + "type": 491, + "typeName": "MultiAssetFilter" + }, + { + "name": "receive", + "type": 153, + "typeName": "MultiAssets" + } + ], + "index": 15 + }, + { + "name": "InitiateReserveWithdraw", + "fields": [ + { + "name": "assets", + "type": 491, + "typeName": "MultiAssetFilter" + }, + { + "name": "reserve", + "type": 157, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 484, + "typeName": "Xcm<()>" + } + ], + "index": 16 + }, + { + "name": "InitiateTeleport", + "fields": [ + { + "name": "assets", + "type": 491, + "typeName": "MultiAssetFilter" + }, + { + "name": "dest", + "type": 157, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 484, + "typeName": "Xcm<()>" + } + ], + "index": 17 + }, + { + "name": "QueryHolding", + "fields": [ + { + "name": "query_id", + "type": 10, + "typeName": "QueryId" + }, + { + "name": "dest", + "type": 157, + "typeName": "MultiLocation" + }, + { + "name": "assets", + "type": 491, + "typeName": "MultiAssetFilter" + }, + { + "name": "max_response_weight", + "type": 10, + "typeName": "u64" + } + ], + "index": 18 + }, + { + "name": "BuyExecution", + "fields": [ + { + "name": "fees", + "type": 155, + "typeName": "MultiAsset" + }, + { + "name": "weight_limit", + "type": 494, + "typeName": "WeightLimit" + } + ], + "index": 19 + }, + { + "name": "RefundSurplus", + "index": 20 + }, + { + "name": "SetErrorHandler", + "fields": [ + { + "type": 496, + "typeName": "Xcm" + } + ], + "index": 21 + }, + { + "name": "SetAppendix", + "fields": [ + { + "type": 496, + "typeName": "Xcm" + } + ], + "index": 22 + }, + { + "name": "ClearError", + "index": 23 + }, + { + "name": "ClaimAsset", + "fields": [ + { + "name": "assets", + "type": 153, + "typeName": "MultiAssets" + }, + { + "name": "ticket", + "type": 157, + "typeName": "MultiLocation" + } + ], + "index": 24 + }, + { + "name": "Trap", + "fields": [ + { + "type": 10, + "typeName": "u64" + } + ], + "index": 25 + }, + { + "name": "SubscribeVersion", + "fields": [ + { + "name": "query_id", + "type": 10, + "typeName": "QueryId" + }, + { + "name": "max_response_weight", + "type": 10, + "typeName": "u64" + } + ], + "index": 26 + }, + { + "name": "UnsubscribeVersion", + "index": 27 + } + ] + } + } + } + }, + { + "id": 499, + "type": { + "path": [ + "xcm", + "double_encoded", + "DoubleEncoded" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "encoded", + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 500, + "type": { + "path": [ + "xcm", + "v3", + "Xcm" + ], + "params": [ + { + "name": "Call", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 501, + "typeName": "Vec>" + } + ] + } + } + } + }, + { + "id": 501, + "type": { + "def": { + "sequence": { + "type": 502 + } + } + } + }, + { + "id": 502, + "type": { + "path": [ + "xcm", + "v3", + "Instruction" + ], + "params": [ + { + "name": "Call", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "WithdrawAsset", + "fields": [ + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 0 + }, + { + "name": "ReserveAssetDeposited", + "fields": [ + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 1 + }, + { + "name": "ReceiveTeleportedAsset", + "fields": [ + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 2 + }, + { + "name": "QueryResponse", + "fields": [ + { + "name": "query_id", + "type": 10, + "typeName": "QueryId" + }, + { + "name": "response", + "type": 135, + "typeName": "Response" + }, + { + "name": "max_weight", + "type": 9, + "typeName": "Weight" + }, + { + "name": "querier", + "type": 144, + "typeName": "Option" + } + ], + "index": 3 + }, + { + "name": "TransferAsset", + "fields": [ + { + "name": "assets", + "type": 128, + "typeName": "MultiAssets" + }, + { + "name": "beneficiary", + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 4 + }, + { + "name": "TransferReserveAsset", + "fields": [ + { + "name": "assets", + "type": 128, + "typeName": "MultiAssets" + }, + { + "name": "dest", + "type": 116, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 125, + "typeName": "Xcm<()>" + } + ], + "index": 5 + }, + { + "name": "Transact", + "fields": [ + { + "name": "origin_kind", + "type": 145, + "typeName": "OriginKind" + }, + { + "name": "require_weight_at_most", + "type": 9, + "typeName": "Weight" + }, + { + "name": "call", + "type": 499, + "typeName": "DoubleEncoded" + } + ], + "index": 6 + }, + { + "name": "HrmpNewChannelOpenRequest", + "fields": [ + { + "name": "sender", + "type": 119, + "typeName": "u32" + }, + { + "name": "max_message_size", + "type": 119, + "typeName": "u32" + }, + { + "name": "max_capacity", + "type": 119, + "typeName": "u32" + } + ], + "index": 7 + }, + { + "name": "HrmpChannelAccepted", + "fields": [ + { + "name": "recipient", + "type": 119, + "typeName": "u32" + } + ], + "index": 8 + }, + { + "name": "HrmpChannelClosing", + "fields": [ + { + "name": "initiator", + "type": 119, + "typeName": "u32" + }, + { + "name": "sender", + "type": 119, + "typeName": "u32" + }, + { + "name": "recipient", + "type": 119, + "typeName": "u32" + } + ], + "index": 9 + }, + { + "name": "ClearOrigin", + "index": 10 + }, + { + "name": "DescendOrigin", + "fields": [ + { + "type": 117, + "typeName": "InteriorMultiLocation" + } + ], + "index": 11 + }, + { + "name": "ReportError", + "fields": [ + { + "type": 147, + "typeName": "QueryResponseInfo" + } + ], + "index": 12 + }, + { + "name": "DepositAsset", + "fields": [ + { + "name": "assets", + "type": 148, + "typeName": "MultiAssetFilter" + }, + { + "name": "beneficiary", + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 13 + }, + { + "name": "DepositReserveAsset", + "fields": [ + { + "name": "assets", + "type": 148, + "typeName": "MultiAssetFilter" + }, + { + "name": "dest", + "type": 116, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 125, + "typeName": "Xcm<()>" + } + ], + "index": 14 + }, + { + "name": "ExchangeAsset", + "fields": [ + { + "name": "give", + "type": 148, + "typeName": "MultiAssetFilter" + }, + { + "name": "want", + "type": 128, + "typeName": "MultiAssets" + }, + { + "name": "maximal", + "type": 37, + "typeName": "bool" + } + ], + "index": 15 + }, + { + "name": "InitiateReserveWithdraw", + "fields": [ + { + "name": "assets", + "type": 148, + "typeName": "MultiAssetFilter" + }, + { + "name": "reserve", + "type": 116, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 125, + "typeName": "Xcm<()>" + } + ], + "index": 16 + }, + { + "name": "InitiateTeleport", + "fields": [ + { + "name": "assets", + "type": 148, + "typeName": "MultiAssetFilter" + }, + { + "name": "dest", + "type": 116, + "typeName": "MultiLocation" + }, + { + "name": "xcm", + "type": 125, + "typeName": "Xcm<()>" + } + ], + "index": 17 + }, + { + "name": "ReportHolding", + "fields": [ + { + "name": "response_info", + "type": 147, + "typeName": "QueryResponseInfo" + }, + { + "name": "assets", + "type": 148, + "typeName": "MultiAssetFilter" + } + ], + "index": 18 + }, + { + "name": "BuyExecution", + "fields": [ + { + "name": "fees", + "type": 130, + "typeName": "MultiAsset" + }, + { + "name": "weight_limit", + "type": 151, + "typeName": "WeightLimit" + } + ], + "index": 19 + }, + { + "name": "RefundSurplus", + "index": 20 + }, + { + "name": "SetErrorHandler", + "fields": [ + { + "type": 500, + "typeName": "Xcm" + } + ], + "index": 21 + }, + { + "name": "SetAppendix", + "fields": [ + { + "type": 500, + "typeName": "Xcm" + } + ], + "index": 22 + }, + { + "name": "ClearError", + "index": 23 + }, + { + "name": "ClaimAsset", + "fields": [ + { + "name": "assets", + "type": 128, + "typeName": "MultiAssets" + }, + { + "name": "ticket", + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 24 + }, + { + "name": "Trap", + "fields": [ + { + "type": 10, + "typeName": "u64" + } + ], + "index": 25 + }, + { + "name": "SubscribeVersion", + "fields": [ + { + "name": "query_id", + "type": 10, + "typeName": "QueryId" + }, + { + "name": "max_response_weight", + "type": 9, + "typeName": "Weight" + } + ], + "index": 26 + }, + { + "name": "UnsubscribeVersion", + "index": 27 + }, + { + "name": "BurnAsset", + "fields": [ + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 28 + }, + { + "name": "ExpectAsset", + "fields": [ + { + "type": 128, + "typeName": "MultiAssets" + } + ], + "index": 29 + }, + { + "name": "ExpectOrigin", + "fields": [ + { + "type": 144, + "typeName": "Option" + } + ], + "index": 30 + }, + { + "name": "ExpectError", + "fields": [ + { + "type": 136, + "typeName": "Option<(u32, Error)>" + } + ], + "index": 31 + }, + { + "name": "ExpectTransactStatus", + "fields": [ + { + "type": 142, + "typeName": "MaybeErrorCode" + } + ], + "index": 32 + }, + { + "name": "QueryPallet", + "fields": [ + { + "name": "module_name", + "type": 13, + "typeName": "Vec" + }, + { + "name": "response_info", + "type": 147, + "typeName": "QueryResponseInfo" + } + ], + "index": 33 + }, + { + "name": "ExpectPallet", + "fields": [ + { + "name": "index", + "type": 119, + "typeName": "u32" + }, + { + "name": "name", + "type": 13, + "typeName": "Vec" + }, + { + "name": "module_name", + "type": 13, + "typeName": "Vec" + }, + { + "name": "crate_major", + "type": 119, + "typeName": "u32" + }, + { + "name": "min_crate_minor", + "type": 119, + "typeName": "u32" + } + ], + "index": 34 + }, + { + "name": "ReportTransactStatus", + "fields": [ + { + "type": 147, + "typeName": "QueryResponseInfo" + } + ], + "index": 35 + }, + { + "name": "ClearTransactStatus", + "index": 36 + }, + { + "name": "UniversalOrigin", + "fields": [ + { + "type": 118, + "typeName": "Junction" + } + ], + "index": 37 + }, + { + "name": "ExportMessage", + "fields": [ + { + "name": "network", + "type": 121, + "typeName": "NetworkId" + }, + { + "name": "destination", + "type": 117, + "typeName": "InteriorMultiLocation" + }, + { + "name": "xcm", + "type": 125, + "typeName": "Xcm<()>" + } + ], + "index": 38 + }, + { + "name": "LockAsset", + "fields": [ + { + "name": "asset", + "type": 130, + "typeName": "MultiAsset" + }, + { + "name": "unlocker", + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 39 + }, + { + "name": "UnlockAsset", + "fields": [ + { + "name": "asset", + "type": 130, + "typeName": "MultiAsset" + }, + { + "name": "target", + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 40 + }, + { + "name": "NoteUnlockable", + "fields": [ + { + "name": "asset", + "type": 130, + "typeName": "MultiAsset" + }, + { + "name": "owner", + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 41 + }, + { + "name": "RequestUnlock", + "fields": [ + { + "name": "asset", + "type": 130, + "typeName": "MultiAsset" + }, + { + "name": "locker", + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 42 + }, + { + "name": "SetFeesMode", + "fields": [ + { + "name": "jit_withdraw", + "type": 37, + "typeName": "bool" + } + ], + "index": 43 + }, + { + "name": "SetTopic", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ], + "index": 44 + }, + { + "name": "ClearTopic", + "index": 45 + }, + { + "name": "AliasOrigin", + "fields": [ + { + "type": 116, + "typeName": "MultiLocation" + } + ], + "index": 46 + }, + { + "name": "UnpaidExecution", + "fields": [ + { + "name": "weight_limit", + "type": 151, + "typeName": "WeightLimit" + }, + { + "name": "check_origin", + "type": 144, + "typeName": "Option" + } + ], + "index": 47 + } + ] + } + } + } + }, + { + "id": 503, + "type": { + "path": [ + "pallet_message_queue", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "reap_page", + "fields": [ + { + "name": "message_origin", + "type": 168, + "typeName": "MessageOriginOf" + }, + { + "name": "page_index", + "type": 4, + "typeName": "PageIndex" + } + ], + "index": 0, + "docs": [ + "Remove a page which has no more messages remaining to be processed or is stale." + ] + }, + { + "name": "execute_overweight", + "fields": [ + { + "name": "message_origin", + "type": 168, + "typeName": "MessageOriginOf" + }, + { + "name": "page", + "type": 4, + "typeName": "PageIndex" + }, + { + "name": "index", + "type": 4, + "typeName": "T::Size" + }, + { + "name": "weight_limit", + "type": 9, + "typeName": "Weight" + } + ], + "index": 1, + "docs": [ + "Execute an overweight message.", + "", + "Temporary processing errors will be propagated whereas permanent errors are treated", + "as success condition.", + "", + "- `origin`: Must be `Signed`.", + "- `message_origin`: The origin from which the message to be executed arrived.", + "- `page`: The page in the queue in which the message to be executed is sitting.", + "- `index`: The index into the queue of the message to be executed.", + "- `weight_limit`: The maximum amount of weight allowed to be consumed in the execution", + " of the message.", + "", + "Benchmark complexity considerations: O(index + weight_limit)." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 504, + "type": { + "path": [ + "polkadot_runtime_common", + "paras_sudo_wrapper", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "sudo_schedule_para_initialize", + "fields": [ + { + "name": "id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "genesis", + "type": 505, + "typeName": "ParaGenesisArgs" + } + ], + "index": 0, + "docs": [ + "Schedule a para to be initialized at the start of the next session." + ] + }, + { + "name": "sudo_schedule_para_cleanup", + "fields": [ + { + "name": "id", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 1, + "docs": [ + "Schedule a para to be cleaned up at the start of the next session." + ] + }, + { + "name": "sudo_schedule_parathread_upgrade", + "fields": [ + { + "name": "id", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 2, + "docs": [ + "Upgrade a parathread to a parachain" + ] + }, + { + "name": "sudo_schedule_parachain_downgrade", + "fields": [ + { + "name": "id", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 3, + "docs": [ + "Downgrade a parachain to a parathread" + ] + }, + { + "name": "sudo_queue_downward_xcm", + "fields": [ + { + "name": "id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "xcm", + "type": 483, + "typeName": "Box" + } + ], + "index": 4, + "docs": [ + "Send a downward XCM to the given para.", + "", + "The given parachain should exist and the payload should not exceed the preconfigured size", + "`config.max_downward_message_size`." + ] + }, + { + "name": "sudo_establish_hrmp_channel", + "fields": [ + { + "name": "sender", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "recipient", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "max_capacity", + "type": 4, + "typeName": "u32" + }, + { + "name": "max_message_size", + "type": 4, + "typeName": "u32" + } + ], + "index": 5, + "docs": [ + "Forcefully establish a channel from the sender to the recipient.", + "", + "This is equivalent to sending an `Hrmp::hrmp_init_open_channel` extrinsic followed by", + "`Hrmp::hrmp_accept_open_channel`." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 505, + "type": { + "path": [ + "polkadot_runtime_parachains", + "paras", + "ParaGenesisArgs" + ], + "def": { + "composite": { + "fields": [ + { + "name": "genesis_head", + "type": 99, + "typeName": "HeadData" + }, + { + "name": "validation_code", + "type": 450, + "typeName": "ValidationCode" + }, + { + "name": "para_kind", + "type": 37, + "typeName": "ParaKind" + } + ] + } + } + } + }, + { + "id": 506, + "type": { + "path": [ + "polkadot_runtime_common", + "assigned_slots", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "assign_perm_parachain_slot", + "fields": [ + { + "name": "id", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 0, + "docs": [ + "Assign a permanent parachain slot and immediately create a lease for it." + ] + }, + { + "name": "assign_temp_parachain_slot", + "fields": [ + { + "name": "id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "lease_period_start", + "type": 507, + "typeName": "SlotLeasePeriodStart" + } + ], + "index": 1, + "docs": [ + "Assign a temporary parachain slot. The function tries to create a lease for it", + "immediately if `SlotLeasePeriodStart::Current` is specified, and if the number", + "of currently active temporary slots is below `MaxTemporarySlotPerLeasePeriod`." + ] + }, + { + "name": "unassign_parachain_slot", + "fields": [ + { + "name": "id", + "type": 93, + "typeName": "ParaId" + } + ], + "index": 2, + "docs": [ + "Unassign a permanent or temporary parachain slot" + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 507, + "type": { + "path": [ + "polkadot_runtime_common", + "assigned_slots", + "SlotLeasePeriodStart" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Current", + "index": 0 + }, + { + "name": "Next", + "index": 1 + } + ] + } + } + } + }, + { + "id": 508, + "type": { + "path": [ + "pallet_validator_manager", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "register_validators", + "fields": [ + { + "name": "validators", + "type": 78, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Add new validators to the set.", + "", + "The new validators will be active from current session + 2." + ] + }, + { + "name": "deregister_validators", + "fields": [ + { + "name": "validators", + "type": 78, + "typeName": "Vec" + } + ], + "index": 1, + "docs": [ + "Remove validators from the set.", + "", + "The removed validators will be deactivated from current session + 2." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 509, + "type": { + "path": [ + "pallet_multi_tokens", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "create_collection", + "fields": [ + { + "name": "descriptor", + "type": 510, + "typeName": "Box<::CollectionDescriptor>" + } + ], + "index": 0, + "docs": [ + "Creates a new [`Collection`](ep_multi_tokens::Collection) from `descriptor`", + "", + "# Errors", + "", + "- [`Error::DepositReserveFailed`] if the deposit cannot be reserved" + ] + }, + { + "name": "destroy_collection", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + } + ], + "index": 1, + "docs": [ + "Destroys [`Collection`](ep_multi_tokens::Collection) with `id`. `origin` must be the", + "owner of the [`Collection`](ep_multi_tokens::Collection).", + "", + "# Errors", + "", + "- [`Error::NoPermission`] if `origin` is not the owner of the collection.", + "- [`Error::CollectionNotFound`] if `Collection` with `id` does not exist.", + "- [`Error::DestroyForbiddenByCollectionEvent`] if another pallet is blocking the", + " collection's destruction", + "- [`Error::DestroyForbiddenByRemainingTokens`] if collection still has tokens when", + " destroying", + "- [`Error::DestroyForbiddenByAttributeCount`] if collection still has attributes when", + " destroying", + "current number of collection attributes." + ] + }, + { + "name": "mutate_collection", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "mutation", + "type": 174, + "typeName": "Box<::CollectionMutation>" + } + ], + "index": 2, + "docs": [ + "Modify [`Collection`](ep_multi_tokens::Collection) with `id` by applying `mutation`", + "", + "# Errors", + "", + "- [`Error::CollectionNotFound`] if `collection_id` does not exist.", + "- [`Error::NoPermission`] if `origin` is not the owner of `collection`." + ] + }, + { + "name": "mutate_token", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "token_id", + "type": 63, + "typeName": "T::TokenId" + }, + { + "name": "mutation", + "type": 183, + "typeName": "Box<::TokenMutation>" + } + ], + "index": 3, + "docs": [ + "Modify [`Token`](ep_multi_tokens::Token) with `token_id` from", + "[`Collection`](ep_multi_tokens::Collection) with `collection_id` by applying `mutation`", + "", + "# Errors", + "", + "- [`Error::CurrencyIncompatibleWithCollectionRoyalty`] if token has already been", + " assigned a royalty", + "- [`Error::NoPermission`] if not the collection owner", + "- [`Error::TokenNotFound`] if Token does not exist", + "- [`Error::ConflictingLocation`] if the new location is already occupied" + ] + }, + { + "name": "mint", + "fields": [ + { + "name": "recipient", + "type": 309, + "typeName": "::Source" + }, + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "params", + "type": 520, + "typeName": "Box>" + } + ], + "index": 4, + "docs": [ + "`origin` mints to `recipient` for `collection_id` with `params` using the pallet's", + "[`MintPolicy`](traits::CollectionPolicy::Mint).", + "", + "# Errors", + "", + "- [`Error::AmountZero`] if `amount == 0`.", + "- [`Error::CollectionNotFound`] if `Collection` does not exist.", + "- [`Error::TokenNotFound`] if `Token` does not exist.", + "- [`Error::TokenAlreadyExists`] if attempting to create a token that already exists", + "- [`Error::NoPermission`] if `caller` is not allowed to mint the `collection`.", + "- [`Error::TokenMintCapExceeded`] if the mint policy TokenCap does not allow minting", + "- `MaxTokenCountExceeded` if the mint policy max_token_count is exceeded", + "- [`Error::DepositReserveFailed`] if the issuer does not have sufficient balance for", + " token deposit", + "- [`Error::ConflictingLocation`] if the token is foreign and the location is already", + " mapped to another asset in `AssetIdsByLocation`" + ] + }, + { + "name": "burn", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "params", + "type": 524, + "typeName": "BurnParamsOf" + } + ], + "index": 5, + "docs": [ + "Reduces the balance of `owner` by `amount` of `token_id` from `collection_id`.", + "It also updates the total supply of `collection_id`.", + "", + "# Errors", + "- [`Error::CollectionNotFound`] if `collection` does not exist.", + "- [`Error::BalanceLow`] if `owner` account does not has enough amount of any token in", + " `tokens` of `collection`.", + "- [`Error::DepositUnreserveFailed`] if caller does not have enough reserved balance to", + " unreserve", + "- [`Error::DestroyForbiddenByAttributeCount`] if removing token from storage but the", + " attribute count is greater than zero" + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "recipient", + "type": 309, + "typeName": "::Source" + }, + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "params", + "type": 525, + "typeName": "TransferParamsOf" + } + ], + "index": 6, + "docs": [ + "`operator` transfers to `recipient` for `collection_id` with `params`", + "", + "# Errors", + "", + "- [`Error::AmountZero`] if `amount == 0`.", + "- [`Error::BalanceLow`] if `source` does not own enough amount of `collection`." + ] + }, + { + "name": "freeze", + "fields": [ + { + "name": "info", + "type": 197, + "typeName": "FreezeOf" + } + ], + "index": 7, + "docs": [ + "Freeze collection, token or account" + ] + }, + { + "name": "thaw", + "fields": [ + { + "name": "info", + "type": 197, + "typeName": "FreezeOf" + } + ], + "index": 8, + "docs": [ + "Thaw collection, token or account" + ] + }, + { + "name": "set_attribute", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "token_id", + "type": 77, + "typeName": "Option" + }, + { + "name": "key", + "type": 201, + "typeName": "T::AttributeKey" + }, + { + "name": "value", + "type": 202, + "typeName": "T::AttributeValue" + } + ], + "index": 9, + "docs": [ + "Sets the attribute `key` to `value` for `collection_id`.", + "If `token_id` is [`None`], the attribute is added to the collection. If it is [`Some`],", + "the attribute is added to the token.", + "", + "# Errors", + "- [`Error::InvalidAttributeKey`] if `key.len() == 0`", + "- [`Error::CollectionNotFound`] if `collection_id` does not exist.", + "- [`Error::TokenNotFound`] if `token_id` is `Some` and does not exist.", + "- [`Error::NoPermission`] if `source` account is not the owner of the collection.", + "- [`Error::DepositReserveFailed`] if unable to reserve the deposit for the attribute", + " storage." + ] + }, + { + "name": "remove_attribute", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "token_id", + "type": 77, + "typeName": "Option" + }, + { + "name": "key", + "type": 201, + "typeName": "T::AttributeKey" + } + ], + "index": 10, + "docs": [ + "Removes the `key` attribute from the given `collection_id` or `token_id`.", + "", + "# Errors", + "- [`Error::InvalidAttributeKey`] if `key.len() == 0`", + "- [`Error::CollectionNotFound`] if `collection_id` does not exist.", + "- [`Error::TokenNotFound`] if `token_id` is `Some` and does not exist.", + "- [`Error::NoPermission`] if `caller` is not the owner of the collection.", + "- `Underflow` if an attribute counter underflows" + ] + }, + { + "name": "remove_all_attributes", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "token_id", + "type": 77, + "typeName": "Option" + }, + { + "name": "attribute_count", + "type": 4, + "typeName": "u32" + } + ], + "index": 11, + "docs": [ + "Removes all attributes from the given `collection_id` or `token_id`.", + "", + "# Errors", + "- `InvalidAttributeCount` if `attribute_count` doesn't match the number of attributes", + "- [`Error::CollectionNotFound`] if Collection with `collection_id` does not exist.", + "- [`Error::TokenNotFound`] if Token with `token_id` does not exist.", + "- [`Error::NoPermission`] if `origin` account is not the owner of the Collection or", + " Token", + "- other errors from `remove_attribute`" + ] + }, + { + "name": "batch_transfer", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "recipients", + "type": 526, + "typeName": "TransferRecipientsOf" + } + ], + "index": 12, + "docs": [ + "Transfers the specific amount of tokens of `collection` to `recipients` from `origin`", + "account. A single failure will fail all transfers.", + "", + "# Errors", + "", + "- [`Error::AmountZero`] if `amount == 0`.", + "- [`Error::BalanceLow`] if `source` does not own enough amount of `collection`." + ] + }, + { + "name": "batch_mint", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "recipients", + "type": 529, + "typeName": "MintRecipientsOf" + } + ], + "index": 13, + "docs": [ + "Collection owner mints tokens of `collection_id` to `recipients` consisting of an", + "[`AccountId`](frame_system::Config::AccountId) and [`MintParams`]. A single mint failure", + "will fail all of them in the batch.", + "", + "# Errors", + "- [`Error::AmountZero`] if `amount == 0`.", + "- [`Error::CollectionNotFound`] if `collection` does **not** exist.", + "- [`Error::NoPermission`] if `caller` is not allowed to mint the `collection`.", + "- [`Error::TokenMintCapExceeded`] if the mint policy TokenCap does not allow minting", + "- [`Error::MaxTokenCountExceeded`] if the mint policy max_token_count is exceeded", + "- [`Error::DepositReserveFailed`] if the issuer does not have sufficient balance for", + " token deposit" + ] + }, + { + "name": "batch_set_attribute", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "token_id", + "type": 77, + "typeName": "Option" + }, + { + "name": "attributes", + "type": 511, + "typeName": "AttributesOf" + } + ], + "index": 14, + "docs": [ + "Collection owner sets `attributes` to `collection_id`", + "", + "If `token_id` is [`None`], the attribute is added to the collection. If it is [`Some`],", + "the attribute is added to the token.", + "", + "# Errors", + "", + "- [`Error::InvalidAttributeKey`] if `key.len() == 0`", + "- [`Error::CollectionNotFound`] if `collection_id` does not exist.", + "- [`Error::TokenNotFound`] if `token_id` is `Some` and does not exist.", + "- [`Error::NoPermission`] if `source` account is not the owner of the collection.", + "- [`Error::DepositReserveFailed`] if unable to reserve the deposit for the attribute", + " storage." + ] + }, + { + "name": "approve_collection", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "operator", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "expiration", + "type": 73, + "typeName": "T::Expiration" + } + ], + "index": 15, + "docs": [ + "Approve the `operator` to manage all of `origin`'s tokens belonging to `collection_id`.", + "If an `expiration` is provided, the approval will end when it expires.", + "", + "# Errors", + "", + "- [`Error::CannotApproveSelf`] if `origin == operator`", + "- [`Error::AlreadyExpired`] if `expiration` is earlier than now", + "- [`Error::CollectionAccountNotFound`] if the collection account does not exist", + "- [`Error::MaxApprovalsExceeded`] if approval count has exceeded the maximum" + ] + }, + { + "name": "unapprove_collection", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "operator", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 16, + "docs": [ + "Unapprove the `operator` to manage all of `origin`'s tokens belonging to `collection`", + "", + "# Errors", + "", + "- [`Error::CollectionAccountNotFound`] if the collection account cannot be found" + ] + }, + { + "name": "approve_token", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "token_id", + "type": 63, + "typeName": "T::TokenId" + }, + { + "name": "operator", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 63, + "typeName": "T::TokenBalance" + }, + { + "name": "expiration", + "type": 73, + "typeName": "T::Expiration" + }, + { + "name": "current_amount", + "type": 63, + "typeName": "T::TokenBalance" + } + ], + "index": 17, + "docs": [ + "Approve `operator` to transfer up to `amount` of `caller`'s balance for `token_id` of", + "`collection_id`. An `expiration` can be provided. `current_amount` must match the", + "current approved amount.", + "", + "# Errors", + "- [`Error::CannotApproveSelf`] if `origin == operator`", + "- [`Error::CollectionAlreadyApproved`] if `collection_id` is already approved", + "- [`Error::AlreadyExpired`] if `expiration` is earlier than now", + "- [`Error::TokenAccountNotFound`] if the token account does not exist", + "- [`Error::MaxApprovalsExceeded`] if approval count has exceeded the maximum", + "- [`Error::WrongCurrentApprovedAmount`] if `current_amount` does not match the current", + " approval amount" + ] + }, + { + "name": "unapprove_token", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "token_id", + "type": 63, + "typeName": "T::TokenId" + }, + { + "name": "operator", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 18, + "docs": [ + "Unapprove `operator` to transfer `origin`'s `token_id` of `collection_id`", + "", + "# Errors", + "", + "- [`Error::TokenAccountNotFound`] if the token account does not exist" + ] + }, + { + "name": "claim_collections", + "fields": [ + { + "name": "destination", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "ethereum_signature", + "type": 480, + "typeName": "Signature" + }, + { + "name": "ethereum_address", + "type": 244, + "typeName": "EthereumAddress" + } + ], + "index": 32, + "docs": [ + "Transfers ownership of collections to `destination` if the signature matches.", + "", + "The dispatch origin for this call must be _None_.", + "", + "Unsigned Validation:", + "A call to claim is deemed valid if the signature provided matches", + "the expected signed message of:", + "", + "> Ethereum Signed Message:", + "> (configured prefix string)(address)", + "", + "and `address` matches the `destination` account.", + "", + "This will always execute with weight of [`Config::MaxClaimableCollectionsPerAccount`]", + "and it will reimburse weight for collections under that number.", + "", + "### Parameters:", + "- `destination`: The account that will receive ownership of the collections", + "- `ethereum_signature`: The signature of an ethereum signed message matching the format", + " described above.", + "- `ethereum_address` : The Ethereum address from which the message is signed." + ] + }, + { + "name": "claim_tokens", + "fields": [ + { + "name": "destination", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "ethereum_signature", + "type": 480, + "typeName": "Signature" + }, + { + "name": "ethereum_address", + "type": 244, + "typeName": "EthereumAddress" + } + ], + "index": 33, + "docs": [ + "Transfers balances of tokens to `destination` if the signature matches. Mints tokens if", + "needed.", + "", + "The dispatch origin for this call must be _None_.", + "", + "Unsigned Validation:", + "A call to claim is deemed valid if the signature provided matches", + "the expected signed message of:", + "", + "> Ethereum Signed Message:", + "> (configured prefix string)(address)", + "", + "and `address` matches the `destination` account.", + "", + "This will always execute with weight of [`Config::MaxClaimableTokensPerCall`]", + "and it will reimburse weight for tokens under that number.", + "", + "### Parameters:", + "- `destination`: The account that will receive token balances", + "- `ethereum_signature`: The signature of an ethereum signed message matching the format", + " described above.", + "- `ethereum_address` : The Ethereum address from which the message is signed." + ] + }, + { + "name": "force_mutate_collection", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "mutation", + "type": 174, + "typeName": "Box<::CollectionMutation>" + } + ], + "index": 19, + "docs": [ + "Exactly as [`mutate_collection`](Self::mutate_collection), except the origin must be", + "root and the `caller` account should be specified.", + "", + "# Errors", + "", + "Same as [`mutate_collection`](Self::mutate_collection)" + ] + }, + { + "name": "force_transfer", + "fields": [ + { + "name": "source", + "type": 309, + "typeName": "::Source" + }, + { + "name": "destination", + "type": 309, + "typeName": "::Source" + }, + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "params", + "type": 525, + "typeName": "TransferParamsOf" + } + ], + "index": 20, + "docs": [ + "Exactly as [`transfer`](Self::transfer), except the origin must be root and the source", + "account should be specified.", + "", + "# Errors", + "", + "Same as [`transfer`](Self::transfer)" + ] + }, + { + "name": "force_set_collection", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "value", + "type": 204, + "typeName": "Box>>" + } + ], + "index": 21, + "docs": [ + "Set the Collections storage to the given `value`, origin must be root" + ] + }, + { + "name": "force_set_token", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "token_id", + "type": 63, + "typeName": "T::TokenId" + }, + { + "name": "value", + "type": 532, + "typeName": "Option>>" + } + ], + "index": 22, + "docs": [ + "Set the Tokens storage to the given `value`, origin must be root" + ] + }, + { + "name": "force_set_attribute", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "token_id", + "type": 77, + "typeName": "Option" + }, + { + "name": "key", + "type": 201, + "typeName": "T::AttributeKey" + }, + { + "name": "value", + "type": 533, + "typeName": "Option>" + } + ], + "index": 23, + "docs": [ + "Set the Tokens storage to the given `value`, origin must be root" + ] + }, + { + "name": "force_set_collection_account", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "account_id", + "type": 309, + "typeName": "::Source" + }, + { + "name": "value", + "type": 222, + "typeName": "Option>" + } + ], + "index": 24, + "docs": [ + "Set the CollectionAccounts storage to the given `value`, origin must be root" + ] + }, + { + "name": "force_set_token_account", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "token_id", + "type": 63, + "typeName": "T::TokenId" + }, + { + "name": "account_id", + "type": 309, + "typeName": "::Source" + }, + { + "name": "value", + "type": 229, + "typeName": "Option>" + } + ], + "index": 25, + "docs": [ + "Set the TokenAccounts storage to the given `value`, origin must be root" + ] + }, + { + "name": "force_create_collection", + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "descriptor", + "type": 510, + "typeName": "Box<::CollectionDescriptor>" + } + ], + "index": 26, + "docs": [ + "Creates a new collection from `descriptor` at `collection_id`, origin must be root", + "", + "# Errors", + "- [`Error::DepositReserveFailed`] if the deposit cannot be reserved", + "- [`Error::CollectionIdAlreadyInUse`] if the collection id is already in use" + ] + }, + { + "name": "force_mint", + "fields": [ + { + "name": "caller", + "type": 309, + "typeName": "::Source" + }, + { + "name": "recipient", + "type": 309, + "typeName": "::Source" + }, + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "params", + "type": 520, + "typeName": "Box>" + }, + { + "name": "deposit_backer", + "type": 535, + "typeName": "Option<::Source>" + } + ], + "index": 27, + "docs": [ + "Same as [`mint`](Self::mint), but it is callable by", + "[`Config::ForceOrigin`]." + ] + }, + { + "name": "force_burn", + "fields": [ + { + "name": "caller", + "type": 309, + "typeName": "::Source" + }, + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "params", + "type": 524, + "typeName": "BurnParamsOf" + } + ], + "index": 28, + "docs": [ + "Same as [`burn`](Self::burn), but it is only callable by", + "[`Config::ForceOrigin`]. Executes the burn by `caller`." + ] + }, + { + "name": "force_approve_collection", + "fields": [ + { + "name": "caller", + "type": 309, + "typeName": "::Source" + }, + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "operator", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "expiration", + "type": 73, + "typeName": "T::Expiration" + } + ], + "index": 29, + "docs": [ + "Same as [`approve_collection`](Self::approve_collection), but it is callable by", + "[`Config::ForceOrigin`]." + ] + }, + { + "name": "force_freeze", + "fields": [ + { + "name": "info", + "type": 197, + "typeName": "FreezeOf" + } + ], + "index": 30, + "docs": [ + "Same as [`freeze`](Self::freeze), but it is callable by [`Config::ForceOrigin`]" + ] + }, + { + "name": "force_set_next_collection_id", + "fields": [ + { + "name": "value", + "type": 63, + "typeName": "T::CollectionId" + } + ], + "index": 31, + "docs": [ + "Sets [`NextCollectionId`] to `value`. Only callable by [`Config::ForceOrigin`]." + ] + }, + { + "name": "force_set_ethereum_account", + "fields": [ + { + "name": "address", + "type": 244, + "typeName": "EthereumAddress" + }, + { + "name": "value", + "type": 536, + "typeName": "Option>" + } + ], + "index": 34, + "docs": [ + "Sets [`ClaimableCollectionIds`] to `value`. Only callable by [`Config::ForceOrigin`]." + ] + }, + { + "name": "force_set_ethereum_collection_id", + "fields": [ + { + "name": "ethereum_collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "native_collection_id", + "type": 77, + "typeName": "Option" + } + ], + "index": 35, + "docs": [ + "Sets [`NativeCollectionIds`] to `native_collection_id`. Only callable by", + "[`Config::ForceOrigin`]." + ] + }, + { + "name": "force_set_unmintable_token_ids", + "fields": [ + { + "name": "collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "value", + "type": 538, + "typeName": "Option>" + } + ], + "index": 38, + "docs": [ + "Sets [`UnmintableTokenIds`] to `value`. Only callable by [`Config::ForceOrigin`]." + ] + }, + { + "name": "force_create_ethereum_collection", + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "native_collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "ethereum_collection_id", + "type": 63, + "typeName": "T::CollectionId" + }, + { + "name": "token_range", + "type": 539, + "typeName": "RangeInclusiveOf" + }, + { + "name": "descriptor", + "type": 510, + "typeName": "Box<::CollectionDescriptor>" + } + ], + "index": 39, + "docs": [ + "Creates a new collection from `descriptor` at `collection_id`, origin must be root", + "It differes from `force_create_collection` since it writes to NativeCollectionId and", + "UnmintableTokenIds", + "", + "# Errors", + "- [`Error::DepositReserveFailed`] if the deposit cannot be reserved", + "- [`Error::CollectionIdAlreadyInUse`] if the collection id is already in use" + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 510, + "type": { + "path": [ + "ep_multi_tokens", + "collection", + "DefaultCollectionDescriptor" + ], + "params": [ + { + "name": "TokenBalance", + "type": 6 + }, + { + "name": "Royalty", + "type": 175 + }, + { + "name": "ExplicitRoyaltyCurrenciesVec", + "type": 176 + }, + { + "name": "Attributes", + "type": 511 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "policy", + "type": 514, + "typeName": "DefaultCollectionPolicyDescriptor" + }, + { + "name": "explicit_royalty_currencies", + "type": 176, + "typeName": "ExplicitRoyaltyCurrenciesVec" + }, + { + "name": "attributes", + "type": 511, + "typeName": "Attributes" + } + ] + } + } + } + }, + { + "id": 511, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 512 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 513, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 512, + "type": { + "path": [ + "ep_multi_tokens", + "batch", + "AttributeKeyValuePair" + ], + "params": [ + { + "name": "Key", + "type": 201 + }, + { + "name": "Value", + "type": 202 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "key", + "type": 201, + "typeName": "Key" + }, + { + "name": "value", + "type": 202, + "typeName": "Value" + } + ] + } + } + } + }, + { + "id": 513, + "type": { + "def": { + "sequence": { + "type": 512 + } + } + } + }, + { + "id": 514, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "DefaultCollectionPolicyDescriptor" + ], + "params": [ + { + "name": "TokenBalance", + "type": 6 + }, + { + "name": "Royalty", + "type": 175 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "mint", + "type": 515, + "typeName": "DefaultMintPolicyDescriptor" + }, + { + "name": "burn", + "type": 516, + "typeName": "DefaultBurnPolicyDescriptor" + }, + { + "name": "transfer", + "type": 517, + "typeName": "DefaultTransferPolicyDescriptor" + }, + { + "name": "attribute", + "type": 518, + "typeName": "DefaultAttributePolicyDescriptor" + }, + { + "name": "market", + "type": 519, + "typeName": "DefaultMarketPolicyDescriptor" + } + ] + } + } + } + }, + { + "id": 515, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "mint", + "DefaultMintPolicyDescriptor" + ], + "params": [ + { + "name": "TokenBalance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "max_token_count", + "type": 208, + "typeName": "Option" + }, + { + "name": "max_token_supply", + "type": 77, + "typeName": "Option" + }, + { + "name": "force_single_mint", + "type": 37, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 516, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "burn", + "DefaultBurnPolicyDescriptor" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 517, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "transfer", + "DefaultTransferPolicyDescriptor" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 518, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "attribute", + "DefaultAttributePolicyDescriptor" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 519, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "market", + "DefaultMarketPolicyDescriptor" + ], + "params": [ + { + "name": "Royalty", + "type": 175 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "royalty", + "type": 180, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 520, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "mint", + "DefaultMintParams" + ], + "params": [ + { + "name": "TokenId", + "type": 6 + }, + { + "name": "TokenBalance", + "type": 6 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Royalty", + "type": 175 + }, + { + "name": "Attributes", + "type": 511 + }, + { + "name": "ForeignName", + "type": 186 + }, + { + "name": "ForeignSymbol", + "type": 189 + }, + { + "name": "Location", + "type": 116 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "CreateToken", + "fields": [ + { + "name": "token_id", + "type": 63, + "typeName": "TokenId" + }, + { + "name": "initial_supply", + "type": 63, + "typeName": "TokenBalance" + }, + { + "name": "sufficiency", + "type": 521, + "typeName": "SufficiencyParam" + }, + { + "name": "cap", + "type": 219, + "typeName": "Option>" + }, + { + "name": "behavior", + "type": 193, + "typeName": "Option>" + }, + { + "name": "listing_forbidden", + "type": 37, + "typeName": "bool" + }, + { + "name": "freeze_state", + "type": 199, + "typeName": "Option" + }, + { + "name": "attributes", + "type": 511, + "typeName": "Attributes" + }, + { + "name": "foreign_params", + "type": 522, + "typeName": "Option>" + } + ], + "index": 0 + }, + { + "name": "Mint", + "fields": [ + { + "name": "token_id", + "type": 63, + "typeName": "TokenId" + }, + { + "name": "amount", + "type": 63, + "typeName": "TokenBalance" + }, + { + "name": "unit_price", + "type": 77, + "typeName": "Option" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 521, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "mint", + "SufficiencyParam" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "TokenBalance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Insufficient", + "fields": [ + { + "name": "unit_price", + "type": 77, + "typeName": "Option" + } + ], + "index": 0 + }, + { + "name": "Sufficient", + "fields": [ + { + "name": "minimum_balance", + "type": 6, + "typeName": "TokenBalance" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 522, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 523 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 523 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 523, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "mint", + "ForeignTokenCreationParams" + ], + "params": [ + { + "name": "Name", + "type": 186 + }, + { + "name": "Symbol", + "type": 189 + }, + { + "name": "Location", + "type": 116 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "decimal_count", + "type": 119, + "typeName": "u32" + }, + { + "name": "name", + "type": 186, + "typeName": "Name" + }, + { + "name": "symbol", + "type": 189, + "typeName": "Symbol" + }, + { + "name": "location", + "type": 144, + "typeName": "Option" + }, + { + "name": "units_per_second", + "type": 77, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 524, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "burn", + "DefaultBurnParams" + ], + "params": [ + { + "name": "TokenId", + "type": 6 + }, + { + "name": "TokenBalance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "token_id", + "type": 63, + "typeName": "TokenId" + }, + { + "name": "amount", + "type": 63, + "typeName": "TokenBalance" + }, + { + "name": "keep_alive", + "type": 37, + "typeName": "bool" + }, + { + "name": "remove_token_storage", + "type": 37, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 525, + "type": { + "path": [ + "ep_multi_tokens", + "policy", + "transfer", + "DefaultTransferParams" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "TokenId", + "type": 6 + }, + { + "name": "TokenBalance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Simple", + "fields": [ + { + "name": "token_id", + "type": 63, + "typeName": "TokenId" + }, + { + "name": "amount", + "type": 63, + "typeName": "TokenBalance" + }, + { + "name": "keep_alive", + "type": 37, + "typeName": "bool" + } + ], + "index": 0 + }, + { + "name": "Operator", + "fields": [ + { + "name": "token_id", + "type": 63, + "typeName": "TokenId" + }, + { + "name": "source", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "amount", + "type": 63, + "typeName": "TokenBalance" + }, + { + "name": "keep_alive", + "type": 37, + "typeName": "bool" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 526, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 527 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 528, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 527, + "type": { + "path": [ + "ep_multi_tokens", + "batch", + "Recipient" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Params", + "type": 525 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "account_id", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "params", + "type": 525, + "typeName": "Params" + } + ] + } + } + } + }, + { + "id": 528, + "type": { + "def": { + "sequence": { + "type": 527 + } + } + } + }, + { + "id": 529, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 530 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 531, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 530, + "type": { + "path": [ + "ep_multi_tokens", + "batch", + "Recipient" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Params", + "type": 520 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "account_id", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "params", + "type": 520, + "typeName": "Params" + } + ] + } + } + } + }, + { + "id": 531, + "type": { + "def": { + "sequence": { + "type": 530 + } + } + } + }, + { + "id": 532, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 218 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 218 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 533, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 534 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 534 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 534, + "type": { + "path": [ + "ep_multi_tokens", + "attribute", + "Attribute" + ], + "params": [ + { + "name": "AttributeValue", + "type": 202 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "value", + "type": 202, + "typeName": "AttributeValue" + }, + { + "name": "deposit", + "type": 63, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 535, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 309 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 309 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 536, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 537 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 537 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 537, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 6 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 86, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 538, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 539 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 539 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 539, + "type": { + "path": [ + "pallet_multi_tokens", + "features", + "ethereum", + "RangeInclusive" + ], + "params": [ + { + "name": "TokenId", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "start", + "type": 63, + "typeName": "TokenId" + }, + { + "name": "end", + "type": 63, + "typeName": "TokenId" + } + ] + } + } + } + }, + { + "id": 540, + "type": { + "path": [ + "pallet_fuel_tanks", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "create_fuel_tank", + "fields": [ + { + "name": "descriptor", + "type": 541, + "typeName": "FuelTankDescriptorOf" + } + ], + "index": 0, + "docs": [ + "Creates a fuel tank, given a descriptor", + "", + "# Errors", + "", + "- [`Error::FuelTankAlreadyExists`] if `tank_id` already exists", + "- [`Error::DuplicateRuleKinds`] if a rule set has multiple rules of the same kind" + ] + }, + { + "name": "mutate_fuel_tank", + "fields": [ + { + "name": "tank_id", + "type": 309, + "typeName": "::Source" + }, + { + "name": "mutation", + "type": 253, + "typeName": "T::TankMutation" + } + ], + "index": 1, + "docs": [ + "Apply `mutation` to fuel tank with `tank_id`.", + "", + "# Errors", + "", + "- [`Error::FuelTankNotFound`] if `tank_id` does not exist.", + "- [`Error::NoPermission`] if `origin` is not the fuel tank owner" + ] + }, + { + "name": "add_account", + "fields": [ + { + "name": "tank_id", + "type": 309, + "typeName": "LookupSourceOf" + }, + { + "name": "user_id", + "type": 309, + "typeName": "LookupSourceOf" + } + ], + "index": 2, + "docs": [ + "Adds new account for `user_id` to fuel tank at `tank_id`. An account is", + "required to dispatch calls. A deposit is required, and may be paid by", + "the user or the fuel tank, depending on the settings.", + "", + "### Errors", + "", + "- [`Error::FuelTankNotFound`] if fuel tank at `tank_id` does not exist", + "- [`Error::NoPermission`] if `origin` does not have permission to add an account", + "- [`Error::AccountAlreadyExists`] if account at `user_id` already exists" + ] + }, + { + "name": "remove_account", + "fields": [ + { + "name": "tank_id", + "type": 309, + "typeName": "LookupSourceOf" + }, + { + "name": "user_id", + "type": 309, + "typeName": "LookupSourceOf" + } + ], + "index": 3, + "docs": [ + "Removes account for `user_id` from fuel tank at `tank_id`. Any deposits", + "are returned.", + "", + "### Errors", + "", + "- [`Error::FuelTankNotFound`] if fuel tank at `tank_id` does not exist", + "- [`Error::NoPermission`] if `origin` does not have permission to add an account", + "- [`Error::AccountNotFound`] if account at `user_id` does not exist" + ] + }, + { + "name": "remove_account_rule_data", + "fields": [ + { + "name": "tank_id", + "type": 309, + "typeName": "LookupSourceOf" + }, + { + "name": "user_id", + "type": 309, + "typeName": "LookupSourceOf" + }, + { + "name": "rule_set_id", + "type": 4, + "typeName": "T::RuleSetId" + }, + { + "name": "rule_kind", + "type": 268, + "typeName": "DispatchRuleKind" + } + ], + "index": 4, + "docs": [ + "Remove account rule data if it exists. Only callable by the fuel tank's owner. Requires", + "the fuel tank or the rule set to be frozen.", + "", + "### Errors", + "", + "- [`Error::FuelTankNotFound`] if fuel tank for `tank_id` doesn't exist", + "- [`Error::NoPermission`] if called by non-owner", + "- [`Error::AccountNotFound`] if account does not exist for `user_id`", + "- [`Error::RuleSetNotFound`] if rule set does not exist for `rule_set_id`", + "- [`Error::RequiresFrozenTankOrRuleset`] if tank or rule set is not frozen", + "- [`Error::RuleNotFound`] if rule does not exist for `rule_kind`" + ] + }, + { + "name": "dispatch", + "fields": [ + { + "name": "tank_id", + "type": 309, + "typeName": "::Source" + }, + { + "name": "rule_set_id", + "type": 4, + "typeName": "T::RuleSetId" + }, + { + "name": "call", + "type": 292, + "typeName": "Box<::Call>" + }, + { + "name": "settings", + "type": 567, + "typeName": "Option" + } + ], + "index": 5, + "docs": [ + "Dispatch a call using the `tank_id` subject to the rules of `rule_set_id`", + "", + "# Errors", + "- [`Error::FuelTankNotFound`] if `tank_id` does not exist.", + "- [`Error::UsageRestricted`] if caller is not part of ruleset whitelist", + "- [`Error::CallerDoesNotHaveRuleSetTokenBalance`] if caller does not own the tokens to", + " use the ruleset for remaining_fee when `pays_remaining_fee` is true", + "- [`Error::FuelTankOutOfFunds`] if the fuel tank account cannot pay fees" + ] + }, + { + "name": "dispatch_and_touch", + "fields": [ + { + "name": "tank_id", + "type": 309, + "typeName": "::Source" + }, + { + "name": "rule_set_id", + "type": 4, + "typeName": "T::RuleSetId" + }, + { + "name": "call", + "type": 292, + "typeName": "Box<::Call>" + }, + { + "name": "settings", + "type": 567, + "typeName": "Option" + } + ], + "index": 6, + "docs": [ + "Same as [dispatch](Self::dispatch), but creates an account for `origin` if it does not", + "exist and is allowed by the fuel tank's `user_account_management` settings.", + "", + "# Errors", + "", + "Returns the same errors as [dispatch](Self::dispatch) and", + "[add_account](Self::add_account)" + ] + }, + { + "name": "schedule_mutate_freeze_state", + "fields": [ + { + "name": "tank_id", + "type": 309, + "typeName": "::Source" + }, + { + "name": "rule_set_id", + "type": 73, + "typeName": "Option" + }, + { + "name": "is_frozen", + "type": 37, + "typeName": "bool" + } + ], + "index": 7, + "docs": [ + "Schedule mutating of `is_frozen` state that determines if fuel tank or rule set can be", + "used", + "", + "Additional 1 read and 1 write are added to account for `on_finalize` storage operations", + "", + "# Errors", + "- [`Error::FuelTankNotFound`] if `tank_id` does not exist.", + "- [`Error::NoPermission`] if caller is not a fuel tank owner", + "- [`Error::FreezeQueueFull`] if the queue is full" + ] + }, + { + "name": "insert_rule_set", + "fields": [ + { + "name": "tank_id", + "type": 309, + "typeName": "LookupSourceOf" + }, + { + "name": "rule_set_id", + "type": 4, + "typeName": "T::RuleSetId" + }, + { + "name": "rules", + "type": 562, + "typeName": "RuleDescriptorsOf" + } + ], + "index": 8, + "docs": [ + "Insert a new rule set for `tank_id` and `rule_set_id`. It can be a new rule set", + "or it can replace an existing one. If it is replacing a rule set, a rule that is storing", + "data on any accounts cannot be removed. Use [Self::remove_account_rule_data] to remove", + "the data first. If a rule is being replaced, it will be mutated with the new parameters,", + "and it will maintain any persistent data it already has.", + "", + "This is only callable by the fuel tank's owner.", + "### Errors", + "- [`Error::FuelTankNotFound`] if `tank_id` does not exist.", + "- [`Error::NoPermission`] if caller is not the fuel tank owner", + "- [`Error::RequiresFrozenTankOrRuleset`] if tank or rule set is not frozen", + "- [`Error::CannotRemoveRuleThatIsStoringAccountData`] if removing a rule that is storing", + " account data", + "- [`Error::MaxRuleSetsExceeded`] if max number of rule sets was exceeded", + "- [`Error::DuplicateRuleKinds`] if adding a rule set with multiple rules of the same", + " kind" + ] + }, + { + "name": "remove_rule_set", + "fields": [ + { + "name": "tank_id", + "type": 309, + "typeName": "LookupSourceOf" + }, + { + "name": "rule_set_id", + "type": 4, + "typeName": "T::RuleSetId" + } + ], + "index": 9, + "docs": [ + "Remove rule set for `tank_id` and `rule_set_id`. A rule that is storing data on", + "any accounts cannot be removed. Use [Self::remove_account_rule_data] to remove the", + "data first. This is only callable by the fuel tank's owner.", + "# Errors", + "", + "- [`Error::FuelTankNotFound`] if `tank_id` does not exist.", + "- [`Error::NoPermission`] if caller is not the fuel tank owner", + "- [`Error::RequiresFrozenTankOrRuleset`] if tank or rule set is not frozen", + "- [`Error::CannotRemoveRuleThatIsStoringAccountData`] if removing a rule that is storing", + " account data" + ] + }, + { + "name": "batch_add_account", + "fields": [ + { + "name": "tank_id", + "type": 309, + "typeName": "LookupSourceOf" + }, + { + "name": "user_ids", + "type": 569, + "typeName": "BatchUserAccountsOf" + } + ], + "index": 10, + "docs": [ + "Similar to add_account but takes a list of", + "[`AccountId`](frame_system::Config::AccountId)s to insert into a fuel tank.", + "### Errors", + "- [`Error::FuelTankNotFound`] if fuel tank at `tank_id` does not exist", + "- [`Error::NoPermission`] if `origin` does not have permission to add an account", + "- [`Error::AccountAlreadyExists`] if account at `user_id` already exists" + ] + }, + { + "name": "batch_remove_account", + "fields": [ + { + "name": "tank_id", + "type": 309, + "typeName": "LookupSourceOf" + }, + { + "name": "user_ids", + "type": 569, + "typeName": "BatchUserAccountsOf" + } + ], + "index": 11, + "docs": [ + "Similar to remove_account but takes a list of", + "[`AccountId`](frame_system::Config::AccountId)s to remove from a fuel tank.", + "### Errors", + "- [`Error::FuelTankNotFound`] if fuel tank at `tank_id` does not exist", + "- [`Error::NoPermission`] if `origin` does not have permission to add an account", + "- [`Error::AccountNotFound`] if account at `user_id` does not exist" + ] + }, + { + "name": "force_set_consumption", + "fields": [ + { + "name": "tank_id", + "type": 309, + "typeName": "LookupSourceOf" + }, + { + "name": "user_id", + "type": 535, + "typeName": "Option>" + }, + { + "name": "rule_set_id", + "type": 4, + "typeName": "T::RuleSetId" + }, + { + "name": "consumption", + "type": 269, + "typeName": "ConsumptionOf" + } + ], + "index": 12, + "docs": [ + "Force set the fuel tank consumption", + "If `user_id` is [`Some`], it sets the consumption for that account.", + "If it is [`None`], it sets the consumption on the fuel tank directly.", + "", + "# Errors", + "", + "- [`Error::AccountNotFound`] if `user_id` is `Some` and account does not exist", + "- [`Error::FuelTankNotFound`] if tank_id does not exist", + "- [`Error::NoPermission`] if caller is not ForceOrigin or fuel tank owner", + "- [`Error::InvalidRuleSet`] if `rule_set_id` does not exist", + "- [`Error::MissingRequiredRule`] if `rule_set_id` does not have the required role" + ] + }, + { + "name": "destroy_fuel_tank", + "fields": [ + { + "name": "tank_id", + "type": 309, + "typeName": "LookupSourceOf" + } + ], + "index": 13, + "docs": [ + "Destroy the fuel tank by scheduling the deletion for `on_finalize` to execute", + "Only callable by owner", + "The fuel tank must be frozen", + "Can only be destroyed if all accounts are removed", + "", + "# Errors", + "", + "- [`Error::FuelTankNotFound`] if tank_id does not exist", + "- [`Error::NoPermission`] if caller is not owner", + "- [`Error::DestroyUnfrozenTank`] if tank is not frozen", + "- [`Error::DestroyWithExistingAccounts`] if there are still accounts on the tank" + ] + }, + { + "name": "force_create_fuel_tank", + "fields": [ + { + "name": "owner", + "type": 309, + "typeName": "::Source" + }, + { + "name": "descriptor", + "type": 541, + "typeName": "FuelTankDescriptorOf" + } + ], + "index": 14, + "docs": [ + "Force creates a fuel tank", + "", + "# Errors", + "", + "- [`Error::FuelTankAlreadyExists`] if `tank_id` already exists" + ] + }, + { + "name": "force_batch_add_account", + "fields": [ + { + "name": "owner", + "type": 309, + "typeName": "::Source" + }, + { + "name": "tank_id", + "type": 309, + "typeName": "LookupSourceOf" + }, + { + "name": "user_ids", + "type": 569, + "typeName": "BatchUserAccountsOf" + } + ], + "index": 15, + "docs": [ + "Sets the account storage for give tank_id and account" + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 541, + "type": { + "path": [ + "pallet_fuel_tanks", + "types", + "FuelTankDescriptor" + ], + "params": [ + { + "name": "Name", + "type": 250 + }, + { + "name": "RuleSetDescriptors", + "type": 542 + }, + { + "name": "AccountRuleSetDescriptors", + "type": 260 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "name", + "type": 250, + "typeName": "Name" + }, + { + "name": "user_account_management", + "type": 256, + "typeName": "Option" + }, + { + "name": "rule_sets", + "type": 542, + "typeName": "RuleSetDescriptors" + }, + { + "name": "provides_deposit", + "type": 37, + "typeName": "bool" + }, + { + "name": "account_rules", + "type": 260, + "typeName": "AccountRuleSetDescriptors" + } + ] + } + } + } + }, + { + "id": 542, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 4 + }, + { + "name": "V", + "type": 543 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 564, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 543, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "RuleSetDescriptor" + ], + "params": [ + { + "name": "DispatchRuleDescriptor", + "type": 544 + }, + { + "name": "MaxRules", + "type": 561 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 562, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 544, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "DispatchRuleDescriptor" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "WhitelistedCallers", + "fields": [ + { + "type": 262, + "typeName": "WhitelistedCallersRuleOf" + } + ], + "index": 0 + }, + { + "name": "WhitelistedCollections", + "fields": [ + { + "type": 545, + "typeName": "WhitelistedCollectionsRuleOf" + } + ], + "index": 1 + }, + { + "name": "MaxFuelBurnPerTransaction", + "fields": [ + { + "type": 548, + "typeName": "MaxFuelBurnPerTransactionRuleOf" + } + ], + "index": 2 + }, + { + "name": "UserFuelBudget", + "fields": [ + { + "type": 549, + "typeName": "UserFuelBudgetRuleDescriptorOf" + } + ], + "index": 3 + }, + { + "name": "TankFuelBudget", + "fields": [ + { + "type": 551, + "typeName": "TankFuelBudgetRuleDescriptorOf" + } + ], + "index": 4 + }, + { + "name": "RequireToken", + "fields": [ + { + "type": 266, + "typeName": "RequireTokenRuleOf" + } + ], + "index": 5 + }, + { + "name": "PermittedCalls", + "fields": [ + { + "type": 552, + "typeName": "PermittedCallsRuleOf" + } + ], + "index": 6 + }, + { + "name": "PermittedExtrinsics", + "fields": [ + { + "type": 558, + "typeName": "PermittedExtrinsicsDescriptorOf" + } + ], + "index": 7 + } + ] + } + } + } + }, + { + "id": 545, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "whitelisted_collections", + "WhitelistedCollectionsRule" + ], + "params": [ + { + "name": "CollectionId", + "type": 6 + }, + { + "name": "Max", + "type": 546 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 547, + "typeName": "BoundedBTreeSet" + } + ] + } + } + } + }, + { + "id": 546, + "type": { + "path": [ + "enjin_runtime", + "MaxCollectionIds" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 547, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_set", + "BoundedBTreeSet" + ], + "params": [ + { + "name": "T", + "type": 6 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 85, + "typeName": "BTreeSet" + } + ] + } + } + } + }, + { + "id": 548, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "max_fuel_burn_per_tx", + "MaxFuelBurnPerTransactionRule" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 549, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "user_fuel_budget", + "UserFuelBudgetRuleDescriptor" + ], + "params": [ + { + "name": "Budget", + "type": 550 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 550, + "typeName": "Budget" + } + ] + } + } + } + }, + { + "id": 550, + "type": { + "path": [ + "pallet_fuel_tanks", + "types", + "Budget" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "amount", + "type": 63, + "typeName": "Balance" + }, + { + "name": "reset_period", + "type": 4, + "typeName": "BlockNumber" + } + ] + } + } + } + }, + { + "id": 551, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "tank_fuel_budget", + "TankFuelBudgetRuleDescriptor" + ], + "params": [ + { + "name": "Budget", + "type": 550 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 550, + "typeName": "Budget" + } + ] + } + } + } + }, + { + "id": 552, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "permitted_calls", + "PermittedCallsRule" + ], + "params": [ + { + "name": "EncodedCall", + "type": 553 + }, + { + "name": "Max", + "type": 554 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 555, + "typeName": "BoundedBTreeSet" + } + ] + } + } + } + }, + { + "id": 553, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 554, + "type": { + "path": [ + "enjin_runtime", + "MaxCallFilters" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 555, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_set", + "BoundedBTreeSet" + ], + "params": [ + { + "name": "T", + "type": 553 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 556, + "typeName": "BTreeSet" + } + ] + } + } + } + }, + { + "id": 556, + "type": { + "path": [ + "BTreeSet" + ], + "params": [ + { + "name": "T", + "type": 553 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 557 + } + ] + } + } + } + }, + { + "id": 557, + "type": { + "def": { + "sequence": { + "type": 553 + } + } + } + }, + { + "id": 558, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "permitted_extrinsics", + "PermittedExtrinsicsDescriptor" + ], + "params": [ + { + "name": "Call", + "type": 292 + }, + { + "name": "Max", + "type": 559 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 560, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 559, + "type": { + "path": [ + "enjin_runtime", + "MaxPermittedExtrinsicLength" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 560, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 292 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 414, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 561, + "type": { + "path": [ + "enjin_runtime", + "MaxRulesPerSet" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 562, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 544 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 563, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 563, + "type": { + "def": { + "sequence": { + "type": 544 + } + } + } + }, + { + "id": 564, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 4 + }, + { + "name": "V", + "type": 543 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 565 + } + ] + } + } + } + }, + { + "id": 565, + "type": { + "def": { + "sequence": { + "type": 566 + } + } + } + }, + { + "id": 566, + "type": { + "def": { + "tuple": [ + 4, + 543 + ] + } + } + }, + { + "id": 567, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 568 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 568 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 568, + "type": { + "path": [ + "pallet_fuel_tanks", + "types", + "DispatchSettings" + ], + "def": { + "composite": { + "fields": [ + { + "name": "use_none_origin", + "type": 37, + "typeName": "bool" + }, + { + "name": "pays_remaining_fee", + "type": 37, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 569, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 309 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 373, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 570, + "type": { + "path": [ + "pallet_extrinsic_pause", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "pause_extrinsic", + "fields": [ + { + "name": "call", + "type": 292, + "typeName": "Box<::Call>" + }, + { + "name": "pause_only_extrinsic", + "type": 37, + "typeName": "bool" + } + ], + "index": 0, + "docs": [ + "Pause execution of extrinsic(s)", + "", + "The values of pallet_name and extrinsic_name are extracted from the `call` parameter.", + "Ex : To pause the multi_tokens pallet, the `call` parameter should be of the type", + "`pallet_multi_tokens::Call` If `pause_only_extrinsic` is true, then only the extrinsic", + "is paused, else the entire pallet is paused.", + "", + "# Errors", + "", + "- [`Error::CannotProcessInput`] if the pallet name or extrinsic name is faulty.", + "- [`Error::CannotPauseSelf`] if the pallet name is the same as the name of this pallet." + ] + }, + { + "name": "resume_extrinsic", + "fields": [ + { + "name": "call", + "type": 292, + "typeName": "Box<::Call>" + }, + { + "name": "resume_only_extrinsic", + "type": 37, + "typeName": "bool" + } + ], + "index": 1, + "docs": [ + "Resume execution of extrinsic(s)", + "", + "The values of pallet_name and extrinsic_name are extracted from the `call` parameter.", + "Ex : To resume the multi_tokens pallet, the `call` parameter should be of the type", + "`pallet_multi_tokens::Call` If `pause_only_extrinsic` is true, then only the extrinsic", + "is resumed, else the entire pallet is resumed.", + "", + "# Errors", + "", + "- [`Error::CannotProcessInput`] if the pallet name or extrinsic name is faulty." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 571, + "type": { + "path": [ + "pallet_marketplace", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "create_listing", + "fields": [ + { + "name": "make_asset_id", + "type": 177, + "typeName": "AssetIdOf" + }, + { + "name": "take_asset_id", + "type": 177, + "typeName": "AssetIdOf" + }, + { + "name": "amount", + "type": 63, + "typeName": "TokenBalanceOf" + }, + { + "name": "price", + "type": 63, + "typeName": "TokenBalanceOf" + }, + { + "name": "salt", + "type": 276, + "typeName": "Salt" + }, + { + "name": "auction_data", + "type": 572, + "typeName": "Option>" + } + ], + "index": 0, + "docs": [ + "Places a sell order. Requires `make_asset_id` or `take_asset_id` to be a currency.", + "The id for the listing is generated by hashing the encoded bytes of the listing.", + "", + "# Parameters", + "", + "- `make_asset_id`: The id of the asset being sold", + "- `take_asset_id`: The id of the asset being requested", + "- `amount`: The number of units being sold", + "- `price`: The requested price for each unit. If it's an auction, this is the minimum", + " bid", + "- `salt`: Can be used to differentiate listings", + "- `auction_data`: Including this makes the listing an auction", + "", + "# Errors", + "", + "- [`Error::InvalidAuctionStart`] if the start is less than the current block +", + " `T::ListingActiveDelay`", + "- [`Error::NoCurrency`] Neither the make or take side is considered a currency", + "- [`Error::ListingForbidden`] if make or take side tokens are not allowed to be listed", + "- [`Error::CurrencyNotAllowedAsRoyalty`] if currency cannot be used as a royalty", + "- [`Error::LowBaseCurrencyBalance`] if base currency balance is too low", + "- [`Error::LowTokenBalance`] token balance is too low for reserve", + "- [`Error::ListingAlreadyExists`] if a listing with the same ID already exists" + ] + }, + { + "name": "cancel_listing", + "fields": [ + { + "name": "listing_id", + "type": 12, + "typeName": "ListingIdOf" + } + ], + "index": 1, + "docs": [ + "Cancels the listing with `listing_id`. Only callable by the seller.", + "", + "# Parameters", + "", + "- `listing_id`: The ID of the listing to cancel", + "", + "# Errors", + "", + "- [`Error::ListingNotFound`] if the listing under `listing_id` does not exist", + "- [`Error::NoPermission`] if the listing seller is not the caller, `origin`" + ] + }, + { + "name": "fill_listing", + "fields": [ + { + "name": "listing_id", + "type": 12, + "typeName": "ListingIdOf" + }, + { + "name": "amount", + "type": 63, + "typeName": "TokenBalanceOf" + } + ], + "index": 2, + "docs": [ + "Fills a fixed price listing. This will execute immediately.", + "# Parameters", + "", + "- `listing_id`: The id for the listing to buy from", + "- `amount`: The number of units purchased", + "", + "# Errors", + "", + "- [`Error::ListingNotFound`] if the listing under `listing_id` does not exist", + "- [`Error::BuyerIsSeller`] if the buyer is the seller of the listing", + "- [`Error::ListingIsWrongType`] if the listing is not under auction", + "- [`Error::InvalidAmount`] if the amount that still needs to be filled is greater than", + " `amount`", + "- [`Error::ListingNotActive`] if the listing has not passed the `ListingActiveDelay` yet", + "- [`Error::TakeValueUnderMinimum`] if the listings `take` value is under the minimum", + " required", + "- [`Error::LowTokenBalance`] if the buyer does not have enough tokens for reserve" + ] + }, + { + "name": "place_bid", + "fields": [ + { + "name": "listing_id", + "type": 12, + "typeName": "ListingIdOf" + }, + { + "name": "price", + "type": 63, + "typeName": "TokenBalanceOf" + } + ], + "index": 3, + "docs": [ + "Places a bid on a listing. The listing must be an auction, and it must be currently", + "active.", + "", + "# Parameters", + "", + "- `listing_id`: The id for the listing to buy from", + "- `price`: The price for a single unit", + "", + "# Errors", + "", + "- [`Error::ListingNotFound`] if listing under `listing_id` does not exist", + "- [`Error::BuyerIsSeller`] if the bidder is the seller of the listing", + "- [`Error::InactiveAuction`] if listing operates outside of specified start and end", + " block", + "- [`Error::InvalidPrice`] if price is less than minimum_price for a bid" + ] + }, + { + "name": "finalize_auction", + "fields": [ + { + "name": "listing_id", + "type": 12, + "typeName": "ListingIdOf" + } + ], + "index": 4, + "docs": [ + "Finalize the auction with id: `listing_id`. This will end the auction and transfer", + "funds. It fails if the auction is not over.", + "", + "# Parameters", + "", + "- `listing_id`: The ID for the listing to finalize", + "", + "# Errors", + "", + "- [`Error::ListingNotFound`] if listing under `listing_id` does not exist", + "- [`Error::ListingIsWrongType`] if listing is not an auction", + "- [`Error::AuctionNotOver`] if the auction has not finished yet", + "- [`Error::TakeValueUnderMinimum`] if the take value is less than the minimum required" + ] + }, + { + "name": "set_protocol_fee", + "fields": [ + { + "name": "protocol_fee", + "type": 42, + "typeName": "Perbill" + } + ], + "index": 5, + "docs": [ + "Change the protocol fee to `protocol_fee`. Fails if `origin` is invalid.", + "", + "#Parameters", + "", + "- `protocol_fee`: Percentage of fee to set" + ] + }, + { + "name": "force_create_listing", + "fields": [ + { + "name": "seller", + "type": 309, + "typeName": "::Source" + }, + { + "name": "make_asset_id", + "type": 177, + "typeName": "AssetIdOf" + }, + { + "name": "take_asset_id", + "type": 177, + "typeName": "AssetIdOf" + }, + { + "name": "amount", + "type": 63, + "typeName": "TokenBalanceOf" + }, + { + "name": "price", + "type": 63, + "typeName": "TokenBalanceOf" + }, + { + "name": "salt", + "type": 276, + "typeName": "Salt" + }, + { + "name": "auction_data", + "type": 572, + "typeName": "Option>" + }, + { + "name": "deposit_backer", + "type": 535, + "typeName": "Option<::Source>" + } + ], + "index": 6, + "docs": [ + "Force create a listing. This is only callable by the [`Config::ForceOrigin`].", + "", + "# Parameters", + "", + "Mostly the same as [`Self::create_listing`], but `deposit_backer` can be included to pay", + "a deposit if `seller` does not have enough.", + "", + "# Errors", + "", + "Same as [`Self::create_listing`], except `BadOrigin` if the origin is not", + "[`Config::ForceOrigin`]" + ] + }, + { + "name": "force_place_bid", + "fields": [ + { + "name": "bidder", + "type": 309, + "typeName": "::Source" + }, + { + "name": "listing_id", + "type": 12, + "typeName": "ListingIdOf" + }, + { + "name": "price", + "type": 63, + "typeName": "TokenBalanceOf" + }, + { + "name": "funds_backer", + "type": 535, + "typeName": "Option<::Source>" + } + ], + "index": 7, + "docs": [ + "Same as [create_listing](Self::place_bid), but allows specifying the `bidder` and can", + "place a bid in an inactive auction. Only callable by [`Config::ForceOrigin`]. If", + "`funds_backer` is `Some`, it will transfer balance if `bidder` does not have enough." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 572, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 279 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 279 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 573, + "type": { + "path": [ + "pallet_beefy", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "report_equivocation", + "fields": [ + { + "name": "equivocation_proof", + "type": 574, + "typeName": "Box, T::BeefyId,::Signature,>,>" + }, + { + "name": "key_owner_proof", + "type": 304, + "typeName": "T::KeyOwnerProof" + } + ], + "index": 0, + "docs": [ + "Report voter equivocation/misbehavior. This method will verify the", + "equivocation proof and validate the given key ownership proof", + "against the extracted offender. If both are valid, the offence", + "will be reported." + ] + }, + { + "name": "report_equivocation_unsigned", + "fields": [ + { + "name": "equivocation_proof", + "type": 574, + "typeName": "Box, T::BeefyId,::Signature,>,>" + }, + { + "name": "key_owner_proof", + "type": 304, + "typeName": "T::KeyOwnerProof" + } + ], + "index": 1, + "docs": [ + "Report voter equivocation/misbehavior. This method will verify the", + "equivocation proof and validate the given key ownership proof", + "against the extracted offender. If both are valid, the offence", + "will be reported.", + "", + "This extrinsic must be called unsigned and it is expected that only", + "block authors will call it (validated in `ValidateUnsigned`), as such", + "if the block author is defined it will be defined as the equivocation", + "reporter." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 574, + "type": { + "path": [ + "sp_consensus_beefy", + "EquivocationProof" + ], + "params": [ + { + "name": "Number", + "type": 4 + }, + { + "name": "Id", + "type": 575 + }, + { + "name": "Signature", + "type": 576 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "first", + "type": 577, + "typeName": "VoteMessage" + }, + { + "name": "second", + "type": 577, + "typeName": "VoteMessage" + } + ] + } + } + } + }, + { + "id": 575, + "type": { + "path": [ + "sp_consensus_beefy", + "crypto", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 476, + "typeName": "ecdsa::Public" + } + ] + } + } + } + }, + { + "id": 576, + "type": { + "path": [ + "sp_consensus_beefy", + "crypto", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 480, + "typeName": "ecdsa::Signature" + } + ] + } + } + } + }, + { + "id": 577, + "type": { + "path": [ + "sp_consensus_beefy", + "VoteMessage" + ], + "params": [ + { + "name": "Number", + "type": 4 + }, + { + "name": "Id", + "type": 575 + }, + { + "name": "Signature", + "type": 576 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "commitment", + "type": 578, + "typeName": "Commitment" + }, + { + "name": "id", + "type": 575, + "typeName": "Id" + }, + { + "name": "signature", + "type": 576, + "typeName": "Signature" + } + ] + } + } + } + }, + { + "id": 578, + "type": { + "path": [ + "sp_consensus_beefy", + "commitment", + "Commitment" + ], + "params": [ + { + "name": "TBlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "payload", + "type": 579, + "typeName": "Payload" + }, + { + "name": "block_number", + "type": 4, + "typeName": "TBlockNumber" + }, + { + "name": "validator_set_id", + "type": 11, + "typeName": "ValidatorSetId" + } + ] + } + } + } + }, + { + "id": 579, + "type": { + "path": [ + "sp_consensus_beefy", + "payload", + "Payload" + ], + "def": { + "composite": { + "fields": [ + { + "type": 580, + "typeName": "Vec<(BeefyPayloadId, Vec)>" + } + ] + } + } + } + }, + { + "id": 580, + "type": { + "def": { + "sequence": { + "type": 581 + } + } + } + }, + { + "id": 581, + "type": { + "def": { + "tuple": [ + 582, + 13 + ] + } + } + }, + { + "id": 582, + "type": { + "def": { + "array": { + "len": 2, + "type": 2 + } + } + } + }, + { + "id": 583, + "type": { + "path": [ + "pallet_scheduler", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "schedule", + "fields": [ + { + "name": "when", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "maybe_periodic", + "type": 584, + "typeName": "Option>" + }, + { + "name": "priority", + "type": 2, + "typeName": "schedule::Priority" + }, + { + "name": "call", + "type": 292, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 0, + "docs": [ + "Anonymously schedule a task." + ] + }, + { + "name": "cancel", + "fields": [ + { + "name": "when", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "index", + "type": 4, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "Cancel an anonymously scheduled task." + ] + }, + { + "name": "schedule_named", + "fields": [ + { + "name": "id", + "type": 1, + "typeName": "TaskName" + }, + { + "name": "when", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "maybe_periodic", + "type": 584, + "typeName": "Option>" + }, + { + "name": "priority", + "type": 2, + "typeName": "schedule::Priority" + }, + { + "name": "call", + "type": 292, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 2, + "docs": [ + "Schedule a named task." + ] + }, + { + "name": "cancel_named", + "fields": [ + { + "name": "id", + "type": 1, + "typeName": "TaskName" + } + ], + "index": 3, + "docs": [ + "Cancel a named scheduled task." + ] + }, + { + "name": "schedule_after", + "fields": [ + { + "name": "after", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "maybe_periodic", + "type": 584, + "typeName": "Option>" + }, + { + "name": "priority", + "type": 2, + "typeName": "schedule::Priority" + }, + { + "name": "call", + "type": 292, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 4, + "docs": [ + "Anonymously schedule a task after a delay." + ] + }, + { + "name": "schedule_named_after", + "fields": [ + { + "name": "id", + "type": 1, + "typeName": "TaskName" + }, + { + "name": "after", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "maybe_periodic", + "type": 584, + "typeName": "Option>" + }, + { + "name": "priority", + "type": 2, + "typeName": "schedule::Priority" + }, + { + "name": "call", + "type": 292, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 5, + "docs": [ + "Schedule a named task after a delay." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 584, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 285 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 285 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 585, + "type": { + "path": [ + "pallet_preimage", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "note_preimage", + "fields": [ + { + "name": "bytes", + "type": 13, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Register a preimage on-chain.", + "", + "If the preimage was previously requested, no fees or deposits are taken for providing", + "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage." + ] + }, + { + "name": "unnote_preimage", + "fields": [ + { + "name": "hash", + "type": 12, + "typeName": "T::Hash" + } + ], + "index": 1, + "docs": [ + "Clear an unrequested preimage from the runtime storage.", + "", + "If `len` is provided, then it will be a much cheaper operation.", + "", + "- `hash`: The hash of the preimage to be removed from the store.", + "- `len`: The length of the preimage of `hash`." + ] + }, + { + "name": "request_preimage", + "fields": [ + { + "name": "hash", + "type": 12, + "typeName": "T::Hash" + } + ], + "index": 2, + "docs": [ + "Request a preimage be uploaded to the chain without paying any fees or deposits.", + "", + "If the preimage requests has already been provided on-chain, we unreserve any deposit", + "a user may have paid, and take the control of the preimage out of their hands." + ] + }, + { + "name": "unrequest_preimage", + "fields": [ + { + "name": "hash", + "type": 12, + "typeName": "T::Hash" + } + ], + "index": 3, + "docs": [ + "Clear a previously made request for a preimage.", + "", + "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 586, + "type": { + "path": [ + "pallet_conviction_voting", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "vote", + "fields": [ + { + "name": "poll_index", + "type": 119, + "typeName": "PollIndexOf" + }, + { + "name": "vote", + "type": 587, + "typeName": "AccountVote>" + } + ], + "index": 0, + "docs": [ + "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;", + "otherwise it is a vote to keep the status quo.", + "", + "The dispatch origin of this call must be _Signed_.", + "", + "- `poll_index`: The index of the poll to vote for.", + "- `vote`: The vote configuration.", + "", + "Weight: `O(R)` where R is the number of polls the voter has voted on." + ] + }, + { + "name": "delegate", + "fields": [ + { + "name": "class", + "type": 290, + "typeName": "ClassOf" + }, + { + "name": "to", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "conviction", + "type": 589, + "typeName": "Conviction" + }, + { + "name": "balance", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "Delegate the voting power (with some given conviction) of the sending account for a", + "particular class of polls.", + "", + "The balance delegated is locked for as long as it's delegated, and thereafter for the", + "time appropriate for the conviction's lock period.", + "", + "The dispatch origin of this call must be _Signed_, and the signing account must either:", + " - be delegating already; or", + " - have no voting activity (if there is, then it will need to be removed/consolidated", + " through `reap_vote` or `unvote`).", + "", + "- `to`: The account whose voting the `target` account's voting power will follow.", + "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls", + " to this function are required.", + "- `conviction`: The conviction that will be attached to the delegated votes. When the", + " account is undelegated, the funds will be locked for the corresponding period.", + "- `balance`: The amount of the account's balance to be used in delegating. This must not", + " be more than the account's current balance.", + "", + "Emits `Delegated`.", + "", + "Weight: `O(R)` where R is the number of polls the voter delegating to has", + " voted on. Weight is initially charged as if maximum votes, but is refunded later." + ] + }, + { + "name": "undelegate", + "fields": [ + { + "name": "class", + "type": 290, + "typeName": "ClassOf" + } + ], + "index": 2, + "docs": [ + "Undelegate the voting power of the sending account for a particular class of polls.", + "", + "Tokens may be unlocked following once an amount of time consistent with the lock period", + "of the conviction with which the delegation was issued has passed.", + "", + "The dispatch origin of this call must be _Signed_ and the signing account must be", + "currently delegating.", + "", + "- `class`: The class of polls to remove the delegation from.", + "", + "Emits `Undelegated`.", + "", + "Weight: `O(R)` where R is the number of polls the voter delegating to has", + " voted on. Weight is initially charged as if maximum votes, but is refunded later." + ] + }, + { + "name": "unlock", + "fields": [ + { + "name": "class", + "type": 290, + "typeName": "ClassOf" + }, + { + "name": "target", + "type": 309, + "typeName": "AccountIdLookupOf" + } + ], + "index": 3, + "docs": [ + "Remove the lock caused by prior voting/delegating which has expired within a particular", + "class.", + "", + "The dispatch origin of this call must be _Signed_.", + "", + "- `class`: The class of polls to unlock.", + "- `target`: The account to remove the lock on.", + "", + "Weight: `O(R)` with R number of vote of target." + ] + }, + { + "name": "remove_vote", + "fields": [ + { + "name": "class", + "type": 590, + "typeName": "Option>" + }, + { + "name": "index", + "type": 4, + "typeName": "PollIndexOf" + } + ], + "index": 4, + "docs": [ + "Remove a vote for a poll.", + "", + "If:", + "- the poll was cancelled, or", + "- the poll is ongoing, or", + "- the poll has ended such that", + " - the vote of the account was in opposition to the result; or", + " - there was no conviction to the account's vote; or", + " - the account made a split vote", + "...then the vote is removed cleanly and a following call to `unlock` may result in more", + "funds being available.", + "", + "If, however, the poll has ended and:", + "- it finished corresponding to the vote of the account, and", + "- the account made a standard vote with conviction, and", + "- the lock period of the conviction is not over", + "...then the lock will be aggregated into the overall account's lock, which may involve", + "*overlocking* (where the two locks are combined into a single lock that is the maximum", + "of both the amount locked and the time is it locked for).", + "", + "The dispatch origin of this call must be _Signed_, and the signer must have a vote", + "registered for poll `index`.", + "", + "- `index`: The index of poll of the vote to be removed.", + "- `class`: Optional parameter, if given it indicates the class of the poll. For polls", + " which have finished or are cancelled, this must be `Some`.", + "", + "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on.", + " Weight is calculated for the maximum number of vote." + ] + }, + { + "name": "remove_other_vote", + "fields": [ + { + "name": "target", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "class", + "type": 290, + "typeName": "ClassOf" + }, + { + "name": "index", + "type": 4, + "typeName": "PollIndexOf" + } + ], + "index": 5, + "docs": [ + "Remove a vote for a poll.", + "", + "If the `target` is equal to the signer, then this function is exactly equivalent to", + "`remove_vote`. If not equal to the signer, then the vote must have expired,", + "either because the poll was cancelled, because the voter lost the poll or", + "because the conviction period is over.", + "", + "The dispatch origin of this call must be _Signed_.", + "", + "- `target`: The account of the vote to be removed; this account must have voted for poll", + " `index`.", + "- `index`: The index of poll of the vote to be removed.", + "- `class`: The class of the poll.", + "", + "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on.", + " Weight is calculated for the maximum number of vote." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 587, + "type": { + "path": [ + "pallet_conviction_voting", + "vote", + "AccountVote" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Standard", + "fields": [ + { + "name": "vote", + "type": 588, + "typeName": "Vote" + }, + { + "name": "balance", + "type": 6, + "typeName": "Balance" + } + ], + "index": 0 + }, + { + "name": "Split", + "fields": [ + { + "name": "aye", + "type": 6, + "typeName": "Balance" + }, + { + "name": "nay", + "type": 6, + "typeName": "Balance" + } + ], + "index": 1 + }, + { + "name": "SplitAbstain", + "fields": [ + { + "name": "aye", + "type": 6, + "typeName": "Balance" + }, + { + "name": "nay", + "type": 6, + "typeName": "Balance" + }, + { + "name": "abstain", + "type": 6, + "typeName": "Balance" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 588, + "type": { + "path": [ + "pallet_conviction_voting", + "vote", + "Vote" + ], + "def": { + "composite": { + "fields": [ + { + "type": 2 + } + ] + } + } + } + }, + { + "id": 589, + "type": { + "path": [ + "pallet_conviction_voting", + "conviction", + "Conviction" + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Locked1x", + "index": 1 + }, + { + "name": "Locked2x", + "index": 2 + }, + { + "name": "Locked3x", + "index": 3 + }, + { + "name": "Locked4x", + "index": 4 + }, + { + "name": "Locked5x", + "index": 5 + }, + { + "name": "Locked6x", + "index": 6 + } + ] + } + } + } + }, + { + "id": 590, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 290 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 290 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 591, + "type": { + "path": [ + "pallet_referenda", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "submit", + "fields": [ + { + "name": "proposal_origin", + "type": 415, + "typeName": "Box>" + }, + { + "name": "proposal", + "type": 291, + "typeName": "BoundedCallOf" + }, + { + "name": "enactment_moment", + "type": 592, + "typeName": "DispatchTime" + } + ], + "index": 0, + "docs": [ + "Propose a referendum on a privileged action.", + "", + "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds", + " available.", + "- `proposal_origin`: The origin from which the proposal should be executed.", + "- `proposal`: The proposal.", + "- `enactment_moment`: The moment that the proposal should be enacted.", + "", + "Emits `Submitted`." + ] + }, + { + "name": "place_decision_deposit", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 1, + "docs": [ + "Post the Decision Deposit for a referendum.", + "", + "- `origin`: must be `Signed` and the account must have funds available for the", + " referendum's track's Decision Deposit.", + "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be", + " posted.", + "", + "Emits `DecisionDepositPlaced`." + ] + }, + { + "name": "refund_decision_deposit", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 2, + "docs": [ + "Refund the Decision Deposit for a closed referendum back to the depositor.", + "", + "- `origin`: must be `Signed` or `Root`.", + "- `index`: The index of a closed referendum whose Decision Deposit has not yet been", + " refunded.", + "", + "Emits `DecisionDepositRefunded`." + ] + }, + { + "name": "cancel", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 3, + "docs": [ + "Cancel an ongoing referendum.", + "", + "- `origin`: must be the `CancelOrigin`.", + "- `index`: The index of the referendum to be cancelled.", + "", + "Emits `Cancelled`." + ] + }, + { + "name": "kill", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 4, + "docs": [ + "Cancel an ongoing referendum and slash the deposits.", + "", + "- `origin`: must be the `KillOrigin`.", + "- `index`: The index of the referendum to be cancelled.", + "", + "Emits `Killed` and `DepositSlashed`." + ] + }, + { + "name": "nudge_referendum", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 5, + "docs": [ + "Advance a referendum onto its next logical state. Only used internally.", + "", + "- `origin`: must be `Root`.", + "- `index`: the referendum to be advanced." + ] + }, + { + "name": "one_fewer_deciding", + "fields": [ + { + "name": "track", + "type": 290, + "typeName": "TrackIdOf" + } + ], + "index": 6, + "docs": [ + "Advance a track onto its next logical state. Only used internally.", + "", + "- `origin`: must be `Root`.", + "- `track`: the track to be advanced.", + "", + "Action item for when there is now one fewer referendum in the deciding phase and the", + "`DecidingCount` is not yet updated. This means that we should either:", + "- begin deciding another referendum (and leave `DecidingCount` alone); or", + "- decrement `DecidingCount`." + ] + }, + { + "name": "refund_submission_deposit", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 7, + "docs": [ + "Refund the Submission Deposit for a closed referendum back to the depositor.", + "", + "- `origin`: must be `Signed` or `Root`.", + "- `index`: The index of a closed referendum whose Submission Deposit has not yet been", + " refunded.", + "", + "Emits `SubmissionDepositRefunded`." + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + }, + { + "name": "maybe_hash", + "type": 593, + "typeName": "Option" + } + ], + "index": 8, + "docs": [ + "Set or clear metadata of a referendum.", + "", + "Parameters:", + "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a", + " metadata of a finished referendum.", + "- `index`: The index of a referendum to set or clear metadata for.", + "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 592, + "type": { + "path": [ + "frame_support", + "traits", + "schedule", + "DispatchTime" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "At", + "fields": [ + { + "type": 4, + "typeName": "BlockNumber" + } + ], + "index": 0 + }, + { + "name": "After", + "fields": [ + { + "type": 4, + "typeName": "BlockNumber" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 593, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 12 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 12 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 594, + "type": { + "path": [ + "pallet_whitelist", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "whitelist_call", + "fields": [ + { + "name": "call_hash", + "type": 12, + "typeName": "PreimageHash" + } + ], + "index": 0 + }, + { + "name": "remove_whitelisted_call", + "fields": [ + { + "name": "call_hash", + "type": 12, + "typeName": "PreimageHash" + } + ], + "index": 1 + }, + { + "name": "dispatch_whitelisted_call", + "fields": [ + { + "name": "call_hash", + "type": 12, + "typeName": "PreimageHash" + }, + { + "name": "call_encoded_len", + "type": 4, + "typeName": "u32" + }, + { + "name": "call_weight_witness", + "type": 9, + "typeName": "Weight" + } + ], + "index": 2 + }, + { + "name": "dispatch_whitelisted_call_with_preimage", + "fields": [ + { + "name": "call", + "type": 292, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 3 + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 595, + "type": { + "path": [ + "pallet_ranked_collective", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "add_member", + "fields": [ + { + "name": "who", + "type": 309, + "typeName": "AccountIdLookupOf" + } + ], + "index": 0, + "docs": [ + "Introduce a new member.", + "", + "- `origin`: Must be the `AdminOrigin`.", + "- `who`: Account of non-member which will become a member.", + "- `rank`: The rank to give the new member.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "promote_member", + "fields": [ + { + "name": "who", + "type": 309, + "typeName": "AccountIdLookupOf" + } + ], + "index": 1, + "docs": [ + "Increment the rank of an existing member by one.", + "", + "- `origin`: Must be the `AdminOrigin`.", + "- `who`: Account of existing member.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "demote_member", + "fields": [ + { + "name": "who", + "type": 309, + "typeName": "AccountIdLookupOf" + } + ], + "index": 2, + "docs": [ + "Decrement the rank of an existing member by one. If the member is already at rank zero,", + "then they are removed entirely.", + "", + "- `origin`: Must be the `AdminOrigin`.", + "- `who`: Account of existing member of rank greater than zero.", + "", + "Weight: `O(1)`, less if the member's index is highest in its rank." + ] + }, + { + "name": "remove_member", + "fields": [ + { + "name": "who", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "min_rank", + "type": 290, + "typeName": "Rank" + } + ], + "index": 3, + "docs": [ + "Remove the member entirely.", + "", + "- `origin`: Must be the `AdminOrigin`.", + "- `who`: Account of existing member of rank greater than zero.", + "- `min_rank`: The rank of the member or greater.", + "", + "Weight: `O(min_rank)`." + ] + }, + { + "name": "vote", + "fields": [ + { + "name": "poll", + "type": 4, + "typeName": "PollIndexOf" + }, + { + "name": "aye", + "type": 37, + "typeName": "bool" + } + ], + "index": 4, + "docs": [ + "Add an aye or nay vote for the sender to the given proposal.", + "", + "- `origin`: Must be `Signed` by a member account.", + "- `poll`: Index of a poll which is ongoing.", + "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise.", + "", + "Transaction fees are be waived if the member is voting on any particular proposal", + "for the first time and the call is successful. Subsequent vote changes will charge a", + "fee.", + "", + "Weight: `O(1)`, less if there was no previous vote on the poll by the member." + ] + }, + { + "name": "cleanup_poll", + "fields": [ + { + "name": "poll_index", + "type": 4, + "typeName": "PollIndexOf" + }, + { + "name": "max", + "type": 4, + "typeName": "u32" + } + ], + "index": 5, + "docs": [ + "Remove votes from the given poll. It must have ended.", + "", + "- `origin`: Must be `Signed` by any account.", + "- `poll_index`: Index of a poll which is completed and for which votes continue to", + " exist.", + "- `max`: Maximum number of vote items from remove in this call.", + "", + "Transaction fees are waived if the operation is successful.", + "", + "Weight `O(max)` (less if there are fewer items to remove than `max`)." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 596, + "type": { + "path": [ + "pallet_referenda", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "submit", + "fields": [ + { + "name": "proposal_origin", + "type": 415, + "typeName": "Box>" + }, + { + "name": "proposal", + "type": 291, + "typeName": "BoundedCallOf" + }, + { + "name": "enactment_moment", + "type": 592, + "typeName": "DispatchTime" + } + ], + "index": 0, + "docs": [ + "Propose a referendum on a privileged action.", + "", + "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds", + " available.", + "- `proposal_origin`: The origin from which the proposal should be executed.", + "- `proposal`: The proposal.", + "- `enactment_moment`: The moment that the proposal should be enacted.", + "", + "Emits `Submitted`." + ] + }, + { + "name": "place_decision_deposit", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 1, + "docs": [ + "Post the Decision Deposit for a referendum.", + "", + "- `origin`: must be `Signed` and the account must have funds available for the", + " referendum's track's Decision Deposit.", + "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be", + " posted.", + "", + "Emits `DecisionDepositPlaced`." + ] + }, + { + "name": "refund_decision_deposit", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 2, + "docs": [ + "Refund the Decision Deposit for a closed referendum back to the depositor.", + "", + "- `origin`: must be `Signed` or `Root`.", + "- `index`: The index of a closed referendum whose Decision Deposit has not yet been", + " refunded.", + "", + "Emits `DecisionDepositRefunded`." + ] + }, + { + "name": "cancel", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 3, + "docs": [ + "Cancel an ongoing referendum.", + "", + "- `origin`: must be the `CancelOrigin`.", + "- `index`: The index of the referendum to be cancelled.", + "", + "Emits `Cancelled`." + ] + }, + { + "name": "kill", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 4, + "docs": [ + "Cancel an ongoing referendum and slash the deposits.", + "", + "- `origin`: must be the `KillOrigin`.", + "- `index`: The index of the referendum to be cancelled.", + "", + "Emits `Killed` and `DepositSlashed`." + ] + }, + { + "name": "nudge_referendum", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 5, + "docs": [ + "Advance a referendum onto its next logical state. Only used internally.", + "", + "- `origin`: must be `Root`.", + "- `index`: the referendum to be advanced." + ] + }, + { + "name": "one_fewer_deciding", + "fields": [ + { + "name": "track", + "type": 290, + "typeName": "TrackIdOf" + } + ], + "index": 6, + "docs": [ + "Advance a track onto its next logical state. Only used internally.", + "", + "- `origin`: must be `Root`.", + "- `track`: the track to be advanced.", + "", + "Action item for when there is now one fewer referendum in the deciding phase and the", + "`DecidingCount` is not yet updated. This means that we should either:", + "- begin deciding another referendum (and leave `DecidingCount` alone); or", + "- decrement `DecidingCount`." + ] + }, + { + "name": "refund_submission_deposit", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 7, + "docs": [ + "Refund the Submission Deposit for a closed referendum back to the depositor.", + "", + "- `origin`: must be `Signed` or `Root`.", + "- `index`: The index of a closed referendum whose Submission Deposit has not yet been", + " refunded.", + "", + "Emits `SubmissionDepositRefunded`." + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + }, + { + "name": "maybe_hash", + "type": 593, + "typeName": "Option" + } + ], + "index": 8, + "docs": [ + "Set or clear metadata of a referendum.", + "", + "Parameters:", + "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a", + " metadata of a finished referendum.", + "- `index`: The index of a referendum to set or clear metadata for.", + "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 597, + "type": { + "path": [ + "pallet_identity", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "add_registrar", + "fields": [ + { + "name": "account", + "type": 309, + "typeName": "AccountIdLookupOf" + } + ], + "index": 0, + "docs": [ + "Add a registrar to the system.", + "", + "The dispatch origin for this call must be `T::RegistrarOrigin`.", + "", + "- `account`: the account of the registrar.", + "", + "Emits `RegistrarAdded` if successful.", + "", + "## Complexity", + "- `O(R)` where `R` registrar-count (governance-bounded and code-bounded)." + ] + }, + { + "name": "set_identity", + "fields": [ + { + "name": "info", + "type": 598, + "typeName": "Box>" + } + ], + "index": 1, + "docs": [ + "Set an account's identity information and reserve the appropriate deposit.", + "", + "If the account already has identity information, the deposit is taken as part payment", + "for the new deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `info`: The identity information.", + "", + "Emits `IdentitySet` if successful.", + "", + "## Complexity", + "- `O(X + X' + R)`", + " - where `X` additional-field-count (deposit-bounded and code-bounded)", + " - where `R` judgements-count (registrar-count-bounded)" + ] + }, + { + "name": "set_subs", + "fields": [ + { + "name": "subs", + "type": 631, + "typeName": "Vec<(T::AccountId, Data)>" + } + ], + "index": 2, + "docs": [ + "Set the sub-accounts of the sender.", + "", + "Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned", + "and an amount `SubAccountDeposit` will be reserved for each item in `subs`.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must have a registered", + "identity.", + "", + "- `subs`: The identity's (new) sub-accounts.", + "", + "## Complexity", + "- `O(P + S)`", + " - where `P` old-subs-count (hard- and deposit-bounded).", + " - where `S` subs-count (hard- and deposit-bounded)." + ] + }, + { + "name": "clear_identity", + "index": 3, + "docs": [ + "Clear an account's identity info and all sub-accounts and return all deposits.", + "", + "Payment: All reserved balances on the account are returned.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must have a registered", + "identity.", + "", + "Emits `IdentityCleared` if successful.", + "", + "## Complexity", + "- `O(R + S + X)`", + " - where `R` registrar-count (governance-bounded).", + " - where `S` subs-count (hard- and deposit-bounded).", + " - where `X` additional-field-count (deposit-bounded and code-bounded)." + ] + }, + { + "name": "request_judgement", + "fields": [ + { + "name": "reg_index", + "type": 119, + "typeName": "RegistrarIndex" + }, + { + "name": "max_fee", + "type": 63, + "typeName": "BalanceOf" + } + ], + "index": 4, + "docs": [ + "Request a judgement from a registrar.", + "", + "Payment: At most `max_fee` will be reserved for payment to the registrar if judgement", + "given.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must have a", + "registered identity.", + "", + "- `reg_index`: The index of the registrar whose judgement is requested.", + "- `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:", + "", + "```nocompile", + "Self::registrars().get(reg_index).unwrap().fee", + "```", + "", + "Emits `JudgementRequested` if successful.", + "", + "## Complexity", + "- `O(R + X)`.", + " - where `R` registrar-count (governance-bounded).", + " - where `X` additional-field-count (deposit-bounded and code-bounded)." + ] + }, + { + "name": "cancel_request", + "fields": [ + { + "name": "reg_index", + "type": 4, + "typeName": "RegistrarIndex" + } + ], + "index": 5, + "docs": [ + "Cancel a previous request.", + "", + "Payment: A previously reserved deposit is returned on success.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must have a", + "registered identity.", + "", + "- `reg_index`: The index of the registrar whose judgement is no longer requested.", + "", + "Emits `JudgementUnrequested` if successful.", + "", + "## Complexity", + "- `O(R + X)`.", + " - where `R` registrar-count (governance-bounded).", + " - where `X` additional-field-count (deposit-bounded and code-bounded)." + ] + }, + { + "name": "set_fee", + "fields": [ + { + "name": "index", + "type": 119, + "typeName": "RegistrarIndex" + }, + { + "name": "fee", + "type": 63, + "typeName": "BalanceOf" + } + ], + "index": 6, + "docs": [ + "Set the fee required for a judgement to be requested from a registrar.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must be the account", + "of the registrar whose index is `index`.", + "", + "- `index`: the index of the registrar whose fee is to be set.", + "- `fee`: the new fee.", + "", + "## Complexity", + "- `O(R)`.", + " - where `R` registrar-count (governance-bounded)." + ] + }, + { + "name": "set_account_id", + "fields": [ + { + "name": "index", + "type": 119, + "typeName": "RegistrarIndex" + }, + { + "name": "new", + "type": 309, + "typeName": "AccountIdLookupOf" + } + ], + "index": 7, + "docs": [ + "Change the account associated with a registrar.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must be the account", + "of the registrar whose index is `index`.", + "", + "- `index`: the index of the registrar whose fee is to be set.", + "- `new`: the new account ID.", + "", + "## Complexity", + "- `O(R)`.", + " - where `R` registrar-count (governance-bounded)." + ] + }, + { + "name": "set_fields", + "fields": [ + { + "name": "index", + "type": 119, + "typeName": "RegistrarIndex" + }, + { + "name": "fields", + "type": 633, + "typeName": "IdentityFields" + } + ], + "index": 8, + "docs": [ + "Set the field information for a registrar.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must be the account", + "of the registrar whose index is `index`.", + "", + "- `index`: the index of the registrar whose fee is to be set.", + "- `fields`: the fields that the registrar concerns themselves with.", + "", + "## Complexity", + "- `O(R)`.", + " - where `R` registrar-count (governance-bounded)." + ] + }, + { + "name": "provide_judgement", + "fields": [ + { + "name": "reg_index", + "type": 119, + "typeName": "RegistrarIndex" + }, + { + "name": "target", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "judgement", + "type": 635, + "typeName": "Judgement>" + }, + { + "name": "identity", + "type": 12, + "typeName": "T::Hash" + } + ], + "index": 9, + "docs": [ + "Provide a judgement for an account's identity.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must be the account", + "of the registrar whose index is `reg_index`.", + "", + "- `reg_index`: the index of the registrar whose judgement is being made.", + "- `target`: the account whose identity the judgement is upon. This must be an account", + " with a registered identity.", + "- `judgement`: the judgement of the registrar of index `reg_index` about `target`.", + "- `identity`: The hash of the [`IdentityInfo`] for that the judgement is provided.", + "", + "Emits `JudgementGiven` if successful.", + "", + "## Complexity", + "- `O(R + X)`.", + " - where `R` registrar-count (governance-bounded).", + " - where `X` additional-field-count (deposit-bounded and code-bounded)." + ] + }, + { + "name": "kill_identity", + "fields": [ + { + "name": "target", + "type": 309, + "typeName": "AccountIdLookupOf" + } + ], + "index": 10, + "docs": [ + "Remove an account's identity and sub-account information and slash the deposits.", + "", + "Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by", + "`Slash`. Verification request deposits are not returned; they should be cancelled", + "manually using `cancel_request`.", + "", + "The dispatch origin for this call must match `T::ForceOrigin`.", + "", + "- `target`: the account whose identity the judgement is upon. This must be an account", + " with a registered identity.", + "", + "Emits `IdentityKilled` if successful.", + "", + "## Complexity", + "- `O(R + S + X)`", + " - where `R` registrar-count (governance-bounded).", + " - where `S` subs-count (hard- and deposit-bounded).", + " - where `X` additional-field-count (deposit-bounded and code-bounded)." + ] + }, + { + "name": "add_sub", + "fields": [ + { + "name": "sub", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "data", + "type": 601, + "typeName": "Data" + } + ], + "index": 11, + "docs": [ + "Add the given account to the sender's subs.", + "", + "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated", + "to the sender.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must have a registered", + "sub identity of `sub`." + ] + }, + { + "name": "rename_sub", + "fields": [ + { + "name": "sub", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "data", + "type": 601, + "typeName": "Data" + } + ], + "index": 12, + "docs": [ + "Alter the associated name of the given sub-account.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must have a registered", + "sub identity of `sub`." + ] + }, + { + "name": "remove_sub", + "fields": [ + { + "name": "sub", + "type": 309, + "typeName": "AccountIdLookupOf" + } + ], + "index": 13, + "docs": [ + "Remove the given account from the sender's subs.", + "", + "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated", + "to the sender.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must have a registered", + "sub identity of `sub`." + ] + }, + { + "name": "quit_sub", + "index": 14, + "docs": [ + "Remove the sender as a sub-account.", + "", + "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated", + "to the sender (*not* the original depositor).", + "", + "The dispatch origin for this call must be _Signed_ and the sender must have a registered", + "super-identity.", + "", + "NOTE: This should not normally be used, but is provided in the case that the non-", + "controller of an account is maliciously registered as a sub-account." + ] + } + ] + } + }, + "docs": [ + "Identity pallet declaration." + ] + } + }, + { + "id": 598, + "type": { + "path": [ + "pallet_identity", + "types", + "IdentityInfo" + ], + "params": [ + { + "name": "FieldLimit", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "additional", + "type": 599, + "typeName": "BoundedVec<(Data, Data), FieldLimit>" + }, + { + "name": "display", + "type": 601, + "typeName": "Data" + }, + { + "name": "legal", + "type": 601, + "typeName": "Data" + }, + { + "name": "web", + "type": 601, + "typeName": "Data" + }, + { + "name": "riot", + "type": 601, + "typeName": "Data" + }, + { + "name": "email", + "type": 601, + "typeName": "Data" + }, + { + "name": "pgp_fingerprint", + "type": 630, + "typeName": "Option<[u8; 20]>" + }, + { + "name": "image", + "type": 601, + "typeName": "Data" + }, + { + "name": "twitter", + "type": 601, + "typeName": "Data" + } + ] + } + } + } + }, + { + "id": 599, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 600 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 629, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 600, + "type": { + "def": { + "tuple": [ + 601, + 601 + ] + } + } + }, + { + "id": 601, + "type": { + "path": [ + "pallet_identity", + "types", + "Data" + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Raw0", + "fields": [ + { + "type": 602 + } + ], + "index": 1 + }, + { + "name": "Raw1", + "fields": [ + { + "type": 603 + } + ], + "index": 2 + }, + { + "name": "Raw2", + "fields": [ + { + "type": 582 + } + ], + "index": 3 + }, + { + "name": "Raw3", + "fields": [ + { + "type": 604 + } + ], + "index": 4 + }, + { + "name": "Raw4", + "fields": [ + { + "type": 17 + } + ], + "index": 5 + }, + { + "name": "Raw5", + "fields": [ + { + "type": 605 + } + ], + "index": 6 + }, + { + "name": "Raw6", + "fields": [ + { + "type": 606 + } + ], + "index": 7 + }, + { + "name": "Raw7", + "fields": [ + { + "type": 607 + } + ], + "index": 8 + }, + { + "name": "Raw8", + "fields": [ + { + "type": 134 + } + ], + "index": 9 + }, + { + "name": "Raw9", + "fields": [ + { + "type": 608 + } + ], + "index": 10 + }, + { + "name": "Raw10", + "fields": [ + { + "type": 609 + } + ], + "index": 11 + }, + { + "name": "Raw11", + "fields": [ + { + "type": 610 + } + ], + "index": 12 + }, + { + "name": "Raw12", + "fields": [ + { + "type": 611 + } + ], + "index": 13 + }, + { + "name": "Raw13", + "fields": [ + { + "type": 612 + } + ], + "index": 14 + }, + { + "name": "Raw14", + "fields": [ + { + "type": 613 + } + ], + "index": 15 + }, + { + "name": "Raw15", + "fields": [ + { + "type": 614 + } + ], + "index": 16 + }, + { + "name": "Raw16", + "fields": [ + { + "type": 33 + } + ], + "index": 17 + }, + { + "name": "Raw17", + "fields": [ + { + "type": 615 + } + ], + "index": 18 + }, + { + "name": "Raw18", + "fields": [ + { + "type": 616 + } + ], + "index": 19 + }, + { + "name": "Raw19", + "fields": [ + { + "type": 617 + } + ], + "index": 20 + }, + { + "name": "Raw20", + "fields": [ + { + "type": 122 + } + ], + "index": 21 + }, + { + "name": "Raw21", + "fields": [ + { + "type": 618 + } + ], + "index": 22 + }, + { + "name": "Raw22", + "fields": [ + { + "type": 619 + } + ], + "index": 23 + }, + { + "name": "Raw23", + "fields": [ + { + "type": 620 + } + ], + "index": 24 + }, + { + "name": "Raw24", + "fields": [ + { + "type": 621 + } + ], + "index": 25 + }, + { + "name": "Raw25", + "fields": [ + { + "type": 622 + } + ], + "index": 26 + }, + { + "name": "Raw26", + "fields": [ + { + "type": 623 + } + ], + "index": 27 + }, + { + "name": "Raw27", + "fields": [ + { + "type": 624 + } + ], + "index": 28 + }, + { + "name": "Raw28", + "fields": [ + { + "type": 625 + } + ], + "index": 29 + }, + { + "name": "Raw29", + "fields": [ + { + "type": 626 + } + ], + "index": 30 + }, + { + "name": "Raw30", + "fields": [ + { + "type": 627 + } + ], + "index": 31 + }, + { + "name": "Raw31", + "fields": [ + { + "type": 628 + } + ], + "index": 32 + }, + { + "name": "Raw32", + "fields": [ + { + "type": 1 + } + ], + "index": 33 + }, + { + "name": "BlakeTwo256", + "fields": [ + { + "type": 1 + } + ], + "index": 34 + }, + { + "name": "Sha256", + "fields": [ + { + "type": 1 + } + ], + "index": 35 + }, + { + "name": "Keccak256", + "fields": [ + { + "type": 1 + } + ], + "index": 36 + }, + { + "name": "ShaThree256", + "fields": [ + { + "type": 1 + } + ], + "index": 37 + } + ] + } + } + } + }, + { + "id": 602, + "type": { + "def": { + "array": { + "len": 0, + "type": 2 + } + } + } + }, + { + "id": 603, + "type": { + "def": { + "array": { + "len": 1, + "type": 2 + } + } + } + }, + { + "id": 604, + "type": { + "def": { + "array": { + "len": 3, + "type": 2 + } + } + } + }, + { + "id": 605, + "type": { + "def": { + "array": { + "len": 5, + "type": 2 + } + } + } + }, + { + "id": 606, + "type": { + "def": { + "array": { + "len": 6, + "type": 2 + } + } + } + }, + { + "id": 607, + "type": { + "def": { + "array": { + "len": 7, + "type": 2 + } + } + } + }, + { + "id": 608, + "type": { + "def": { + "array": { + "len": 9, + "type": 2 + } + } + } + }, + { + "id": 609, + "type": { + "def": { + "array": { + "len": 10, + "type": 2 + } + } + } + }, + { + "id": 610, + "type": { + "def": { + "array": { + "len": 11, + "type": 2 + } + } + } + }, + { + "id": 611, + "type": { + "def": { + "array": { + "len": 12, + "type": 2 + } + } + } + }, + { + "id": 612, + "type": { + "def": { + "array": { + "len": 13, + "type": 2 + } + } + } + }, + { + "id": 613, + "type": { + "def": { + "array": { + "len": 14, + "type": 2 + } + } + } + }, + { + "id": 614, + "type": { + "def": { + "array": { + "len": 15, + "type": 2 + } + } + } + }, + { + "id": 615, + "type": { + "def": { + "array": { + "len": 17, + "type": 2 + } + } + } + }, + { + "id": 616, + "type": { + "def": { + "array": { + "len": 18, + "type": 2 + } + } + } + }, + { + "id": 617, + "type": { + "def": { + "array": { + "len": 19, + "type": 2 + } + } + } + }, + { + "id": 618, + "type": { + "def": { + "array": { + "len": 21, + "type": 2 + } + } + } + }, + { + "id": 619, + "type": { + "def": { + "array": { + "len": 22, + "type": 2 + } + } + } + }, + { + "id": 620, + "type": { + "def": { + "array": { + "len": 23, + "type": 2 + } + } + } + }, + { + "id": 621, + "type": { + "def": { + "array": { + "len": 24, + "type": 2 + } + } + } + }, + { + "id": 622, + "type": { + "def": { + "array": { + "len": 25, + "type": 2 + } + } + } + }, + { + "id": 623, + "type": { + "def": { + "array": { + "len": 26, + "type": 2 + } + } + } + }, + { + "id": 624, + "type": { + "def": { + "array": { + "len": 27, + "type": 2 + } + } + } + }, + { + "id": 625, + "type": { + "def": { + "array": { + "len": 28, + "type": 2 + } + } + } + }, + { + "id": 626, + "type": { + "def": { + "array": { + "len": 29, + "type": 2 + } + } + } + }, + { + "id": 627, + "type": { + "def": { + "array": { + "len": 30, + "type": 2 + } + } + } + }, + { + "id": 628, + "type": { + "def": { + "array": { + "len": 31, + "type": 2 + } + } + } + }, + { + "id": 629, + "type": { + "def": { + "sequence": { + "type": 600 + } + } + } + }, + { + "id": 630, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 122 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 122 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 631, + "type": { + "def": { + "sequence": { + "type": 632 + } + } + } + }, + { + "id": 632, + "type": { + "def": { + "tuple": [ + 0, + 601 + ] + } + } + }, + { + "id": 633, + "type": { + "path": [ + "pallet_identity", + "types", + "BitFlags" + ], + "params": [ + { + "name": "T", + "type": 634 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 11, + "typeName": "IdentityField" + } + ] + } + } + } + }, + { + "id": 634, + "type": { + "path": [ + "pallet_identity", + "types", + "IdentityField" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Display", + "index": 1 + }, + { + "name": "Legal", + "index": 2 + }, + { + "name": "Web", + "index": 4 + }, + { + "name": "Riot", + "index": 8 + }, + { + "name": "Email", + "index": 16 + }, + { + "name": "PgpFingerprint", + "index": 32 + }, + { + "name": "Image", + "index": 64 + }, + { + "name": "Twitter", + "index": 128 + } + ] + } + } + } + }, + { + "id": 635, + "type": { + "path": [ + "pallet_identity", + "types", + "Judgement" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Unknown", + "index": 0 + }, + { + "name": "FeePaid", + "fields": [ + { + "type": 6, + "typeName": "Balance" + } + ], + "index": 1 + }, + { + "name": "Reasonable", + "index": 2 + }, + { + "name": "KnownGood", + "index": 3 + }, + { + "name": "OutOfDate", + "index": 4 + }, + { + "name": "LowQuality", + "index": 5 + }, + { + "name": "Erroneous", + "index": 6 + } + ] + } + } + } + }, + { + "id": 636, + "type": { + "path": [ + "pallet_vote_manager", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "vote", + "fields": [ + { + "name": "poll_index", + "type": 119, + "typeName": "PollIndexOf" + }, + { + "name": "vote", + "type": 587, + "typeName": "AccountVote>" + }, + { + "name": "currency", + "type": 637, + "typeName": "VoteCurrency>" + } + ], + "index": 0, + "docs": [ + "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;", + "otherwise it is a vote to keep the status quo.", + "", + "The dispatch origin of this call must be _Signed_.", + "", + "- `poll_index`: The index of the poll to vote for.", + "- `vote`: The vote configuration.", + "", + "Weight: `O(R)` where R is the number of polls the voter has voted on." + ] + }, + { + "name": "remove_vote", + "fields": [ + { + "name": "class", + "type": 590, + "typeName": "Option>" + }, + { + "name": "index", + "type": 4, + "typeName": "PollIndexOf" + } + ], + "index": 1, + "docs": [ + "Remove a vote for a poll.", + "", + "If:", + "- the poll was cancelled, or", + "- the poll is ongoing, or", + "- the poll has ended such that", + " - the vote of the account was in opposition to the result; or", + " - there was no conviction to the account's vote; or", + " - the account made a split vote", + "...then the vote is removed cleanly and a following call to `unlock` may result in more", + "funds being available.", + "", + "If, however, the poll has ended and:", + "- it finished corresponding to the vote of the account, and", + "- the account made a standard vote with conviction, and", + "- the lock period of the conviction is not over", + "...then the lock will be aggregated into the overall account's lock, which may involve", + "*overlocking* (where the two locks are combined into a single lock that is the maximum", + "of both the amount locked and the time is it locked for).", + "", + "The dispatch origin of this call must be _Signed_, and the signer must have a vote", + "registered for poll `index`.", + "", + "- `index`: The index of poll of the vote to be removed.", + "- `class`: Optional parameter, if given it indicates the class of the poll. For polls", + " which have finished or are cancelled, this must be `Some`.", + "", + "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on.", + " Weight is calculated for the maximum number of vote." + ] + }, + { + "name": "remove_other_vote", + "fields": [ + { + "name": "target", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "class", + "type": 290, + "typeName": "ClassOf" + }, + { + "name": "index", + "type": 4, + "typeName": "PollIndexOf" + } + ], + "index": 2, + "docs": [ + "Remove a vote for a poll.", + "", + "If the `target` is equal to the signer, then this function is exactly equivalent to", + "`remove_vote`. If not equal to the signer, then the vote must have expired,", + "either because the poll was cancelled, because the voter lost the poll or", + "because the conviction period is over.", + "", + "The dispatch origin of this call must be _Signed_.", + "", + "- `target`: The account of the vote to be removed; this account must have voted for poll", + " `index`.", + "- `index`: The index of poll of the vote to be removed.", + "- `class`: The class of the poll.", + "", + "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on.", + " Weight is calculated for the maximum number of vote." + ] + }, + { + "name": "unlock", + "fields": [ + { + "name": "class", + "type": 290, + "typeName": "ClassOf" + }, + { + "name": "target", + "type": 309, + "typeName": "AccountIdLookupOf" + }, + { + "name": "index", + "type": 4, + "typeName": "PollIndexOf" + } + ], + "index": 3, + "docs": [ + "Remove the lock caused by prior voting/delegating which has expired within a particular", + "class.", + "", + "The dispatch origin of this call must be _Signed_.", + "", + "- `class`: The class of polls to unlock.", + "- `target`: The account to remove the lock on.", + "", + "Weight: `O(R)` with R number of vote of target." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 637, + "type": { + "path": [ + "pallet_vote_manager", + "types", + "VoteCurrency" + ], + "params": [ + { + "name": "TokenId", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Enj", + "index": 0 + }, + { + "name": "SEnj", + "fields": [ + { + "type": 6, + "typeName": "TokenId" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 638, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 639, + "type": { + "path": [ + "pallet_conviction_voting", + "types", + "Tally" + ], + "params": [ + { + "name": "Votes", + "type": 6 + }, + { + "name": "Total", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "ayes", + "type": 6, + "typeName": "Votes" + }, + { + "name": "nays", + "type": 6, + "typeName": "Votes" + }, + { + "name": "support", + "type": 6, + "typeName": "Votes" + } + ] + } + } + } + }, + { + "id": 640, + "type": { + "path": [ + "pallet_whitelist", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "CallWhitelisted", + "fields": [ + { + "name": "call_hash", + "type": 12, + "typeName": "PreimageHash" + } + ], + "index": 0 + }, + { + "name": "WhitelistedCallRemoved", + "fields": [ + { + "name": "call_hash", + "type": 12, + "typeName": "PreimageHash" + } + ], + "index": 1 + }, + { + "name": "WhitelistedCallDispatched", + "fields": [ + { + "name": "call_hash", + "type": 12, + "typeName": "PreimageHash" + }, + { + "name": "result", + "type": 641, + "typeName": "DispatchResultWithPostInfo" + } + ], + "index": 2 + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 641, + "type": { + "path": [ + "Result" + ], + "params": [ + { + "name": "T", + "type": 642 + }, + { + "name": "E", + "type": 644 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Ok", + "fields": [ + { + "type": 642 + } + ], + "index": 0 + }, + { + "name": "Err", + "fields": [ + { + "type": 644 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 642, + "type": { + "path": [ + "frame_support", + "dispatch", + "PostDispatchInfo" + ], + "def": { + "composite": { + "fields": [ + { + "name": "actual_weight", + "type": 643, + "typeName": "Option" + }, + { + "name": "pays_fee", + "type": 24, + "typeName": "Pays" + } + ] + } + } + } + }, + { + "id": 643, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 9 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 9 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 644, + "type": { + "path": [ + "sp_runtime", + "DispatchErrorWithPostInfo" + ], + "params": [ + { + "name": "Info", + "type": 642 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "post_info", + "type": 642, + "typeName": "Info" + }, + { + "name": "error", + "type": 25, + "typeName": "DispatchError" + } + ] + } + } + } + }, + { + "id": 645, + "type": { + "path": [ + "pallet_ranked_collective", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "MemberAdded", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 0, + "docs": [ + "A member `who` has been added." + ] + }, + { + "name": "RankChanged", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "rank", + "type": 290, + "typeName": "Rank" + } + ], + "index": 1, + "docs": [ + "The member `who`se rank has been changed to the given `rank`." + ] + }, + { + "name": "MemberRemoved", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "rank", + "type": 290, + "typeName": "Rank" + } + ], + "index": 2, + "docs": [ + "The member `who` of given `rank` has been removed from the collective." + ] + }, + { + "name": "Voted", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "poll", + "type": 4, + "typeName": "PollIndexOf" + }, + { + "name": "vote", + "type": 646, + "typeName": "VoteRecord" + }, + { + "name": "tally", + "type": 647, + "typeName": "TallyOf" + } + ], + "index": 3, + "docs": [ + "The member `who` has voted for the `poll` with the given `vote` leading to an updated", + "`tally`." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 646, + "type": { + "path": [ + "pallet_ranked_collective", + "VoteRecord" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Aye", + "fields": [ + { + "type": 4, + "typeName": "Votes" + } + ], + "index": 0 + }, + { + "name": "Nay", + "fields": [ + { + "type": 4, + "typeName": "Votes" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 647, + "type": { + "path": [ + "pallet_ranked_collective", + "Tally" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + }, + { + "name": "M", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "bare_ayes", + "type": 4, + "typeName": "MemberIndex" + }, + { + "name": "ayes", + "type": 4, + "typeName": "Votes" + }, + { + "name": "nays", + "type": 4, + "typeName": "Votes" + } + ] + } + } + } + }, + { + "id": 648, + "type": { + "path": [ + "pallet_referenda", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Submitted", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "track", + "type": 290, + "typeName": "TrackIdOf", + "docs": [ + "The track (and by extension proposal dispatch origin) of this referendum." + ] + }, + { + "name": "proposal", + "type": 291, + "typeName": "BoundedCallOf", + "docs": [ + "The proposal for the referendum." + ] + } + ], + "index": 0, + "docs": [ + "A referendum has been submitted." + ] + }, + { + "name": "DecisionDepositPlaced", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account who placed the deposit." + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount placed by the account." + ] + } + ], + "index": 1, + "docs": [ + "The decision deposit has been placed." + ] + }, + { + "name": "DecisionDepositRefunded", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account who placed the deposit." + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount placed by the account." + ] + } + ], + "index": 2, + "docs": [ + "The decision deposit has been refunded." + ] + }, + { + "name": "DepositSlashed", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account who placed the deposit." + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount placed by the account." + ] + } + ], + "index": 3, + "docs": [ + "A deposit has been slashaed." + ] + }, + { + "name": "DecisionStarted", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "track", + "type": 290, + "typeName": "TrackIdOf", + "docs": [ + "The track (and by extension proposal dispatch origin) of this referendum." + ] + }, + { + "name": "proposal", + "type": 291, + "typeName": "BoundedCallOf", + "docs": [ + "The proposal for the referendum." + ] + }, + { + "name": "tally", + "type": 647, + "typeName": "T::Tally", + "docs": [ + "The current tally of votes in this referendum." + ] + } + ], + "index": 4, + "docs": [ + "A referendum has moved into the deciding phase." + ] + }, + { + "name": "ConfirmStarted", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + } + ], + "index": 5 + }, + { + "name": "ConfirmAborted", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + } + ], + "index": 6 + }, + { + "name": "Confirmed", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "tally", + "type": 647, + "typeName": "T::Tally", + "docs": [ + "The final tally of votes in this referendum." + ] + } + ], + "index": 7, + "docs": [ + "A referendum has ended its confirmation phase and is ready for approval." + ] + }, + { + "name": "Approved", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + } + ], + "index": 8, + "docs": [ + "A referendum has been approved and its proposal has been scheduled." + ] + }, + { + "name": "Rejected", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "tally", + "type": 647, + "typeName": "T::Tally", + "docs": [ + "The final tally of votes in this referendum." + ] + } + ], + "index": 9, + "docs": [ + "A proposal has been rejected by referendum." + ] + }, + { + "name": "TimedOut", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "tally", + "type": 647, + "typeName": "T::Tally", + "docs": [ + "The final tally of votes in this referendum." + ] + } + ], + "index": 10, + "docs": [ + "A referendum has been timed out without being decided." + ] + }, + { + "name": "Cancelled", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "tally", + "type": 647, + "typeName": "T::Tally", + "docs": [ + "The final tally of votes in this referendum." + ] + } + ], + "index": 11, + "docs": [ + "A referendum has been cancelled." + ] + }, + { + "name": "Killed", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "tally", + "type": 647, + "typeName": "T::Tally", + "docs": [ + "The final tally of votes in this referendum." + ] + } + ], + "index": 12, + "docs": [ + "A referendum has been killed." + ] + }, + { + "name": "SubmissionDepositRefunded", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account who placed the deposit." + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount placed by the account." + ] + } + ], + "index": 13, + "docs": [ + "The submission deposit has been refunded." + ] + }, + { + "name": "MetadataSet", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "hash", + "type": 12, + "typeName": "PreimageHash", + "docs": [ + "Preimage hash." + ] + } + ], + "index": 14, + "docs": [ + "Metadata for a referendum has been set." + ] + }, + { + "name": "MetadataCleared", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex", + "docs": [ + "Index of the referendum." + ] + }, + { + "name": "hash", + "type": 12, + "typeName": "PreimageHash", + "docs": [ + "Preimage hash." + ] + } + ], + "index": 15, + "docs": [ + "Metadata for a referendum has been cleared." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 649, + "type": { + "path": [ + "pallet_identity", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "IdentitySet", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 0, + "docs": [ + "A name was set or reset (which will remove all judgements)." + ] + }, + { + "name": "IdentityCleared", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "deposit", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "A name was cleared, and the given balance returned." + ] + }, + { + "name": "IdentityKilled", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "deposit", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 2, + "docs": [ + "A name was removed and the given balance slashed." + ] + }, + { + "name": "JudgementRequested", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "registrar_index", + "type": 4, + "typeName": "RegistrarIndex" + } + ], + "index": 3, + "docs": [ + "A judgement was asked from a registrar." + ] + }, + { + "name": "JudgementUnrequested", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "registrar_index", + "type": 4, + "typeName": "RegistrarIndex" + } + ], + "index": 4, + "docs": [ + "A judgement request was retracted." + ] + }, + { + "name": "JudgementGiven", + "fields": [ + { + "name": "target", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "registrar_index", + "type": 4, + "typeName": "RegistrarIndex" + } + ], + "index": 5, + "docs": [ + "A judgement was given by a registrar." + ] + }, + { + "name": "RegistrarAdded", + "fields": [ + { + "name": "registrar_index", + "type": 4, + "typeName": "RegistrarIndex" + } + ], + "index": 6, + "docs": [ + "A registrar was added." + ] + }, + { + "name": "SubIdentityAdded", + "fields": [ + { + "name": "sub", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "main", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "deposit", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 7, + "docs": [ + "A sub-identity was added to an identity and the deposit paid." + ] + }, + { + "name": "SubIdentityRemoved", + "fields": [ + { + "name": "sub", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "main", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "deposit", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 8, + "docs": [ + "A sub-identity was removed from an identity and the deposit freed." + ] + }, + { + "name": "SubIdentityRevoked", + "fields": [ + { + "name": "sub", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "main", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "deposit", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 9, + "docs": [ + "A sub-identity was cleared, and the given deposit repatriated from the", + "main identity account to the sub-identity account." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 650, + "type": { + "path": [ + "pallet_vote_manager", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Voted", + "fields": [ + { + "name": "voter", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "poll_index", + "type": 4, + "typeName": "PollIndexOf" + }, + { + "name": "vote", + "type": 587, + "typeName": "AccountVote>" + } + ], + "index": 0, + "docs": [ + "An account has voted in a referendum" + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t" + ] + } + }, + { + "id": 651, + "type": { + "path": [ + "frame_system", + "Phase" + ], + "def": { + "variant": { + "variants": [ + { + "name": "ApplyExtrinsic", + "fields": [ + { + "type": 4, + "typeName": "u32" + } + ], + "index": 0 + }, + { + "name": "Finalization", + "index": 1 + }, + { + "name": "Initialization", + "index": 2 + } + ] + } + } + } + }, + { + "id": 652, + "type": { + "def": { + "sequence": { + "type": 12 + } + } + } + }, + { + "id": 653, + "type": { + "def": { + "sequence": { + "type": 285 + } + } + } + }, + { + "id": 654, + "type": { + "path": [ + "frame_system", + "LastRuntimeUpgradeInfo" + ], + "def": { + "composite": { + "fields": [ + { + "name": "spec_version", + "type": 119, + "typeName": "codec::Compact" + }, + { + "name": "spec_name", + "type": 655, + "typeName": "sp_runtime::RuntimeString" + } + ] + } + } + } + }, + { + "id": 655, + "type": { + "def": { + "primitive": "str" + } + } + }, + { + "id": 656, + "type": { + "path": [ + "frame_system", + "limits", + "BlockWeights" + ], + "def": { + "composite": { + "fields": [ + { + "name": "base_block", + "type": 9, + "typeName": "Weight" + }, + { + "name": "max_block", + "type": 9, + "typeName": "Weight" + }, + { + "name": "per_class", + "type": 657, + "typeName": "PerDispatchClass" + } + ] + } + } + } + }, + { + "id": 657, + "type": { + "path": [ + "frame_support", + "dispatch", + "PerDispatchClass" + ], + "params": [ + { + "name": "T", + "type": 658 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "normal", + "type": 658, + "typeName": "T" + }, + { + "name": "operational", + "type": 658, + "typeName": "T" + }, + { + "name": "mandatory", + "type": 658, + "typeName": "T" + } + ] + } + } + } + }, + { + "id": 658, + "type": { + "path": [ + "frame_system", + "limits", + "WeightsPerClass" + ], + "def": { + "composite": { + "fields": [ + { + "name": "base_extrinsic", + "type": 9, + "typeName": "Weight" + }, + { + "name": "max_extrinsic", + "type": 643, + "typeName": "Option" + }, + { + "name": "max_total", + "type": 643, + "typeName": "Option" + }, + { + "name": "reserved", + "type": 643, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 659, + "type": { + "path": [ + "frame_system", + "limits", + "BlockLength" + ], + "def": { + "composite": { + "fields": [ + { + "name": "max", + "type": 660, + "typeName": "PerDispatchClass" + } + ] + } + } + } + }, + { + "id": 660, + "type": { + "path": [ + "frame_support", + "dispatch", + "PerDispatchClass" + ], + "params": [ + { + "name": "T", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "normal", + "type": 4, + "typeName": "T" + }, + { + "name": "operational", + "type": 4, + "typeName": "T" + }, + { + "name": "mandatory", + "type": 4, + "typeName": "T" + } + ] + } + } + } + }, + { + "id": 661, + "type": { + "path": [ + "sp_weights", + "RuntimeDbWeight" + ], + "def": { + "composite": { + "fields": [ + { + "name": "read", + "type": 11, + "typeName": "u64" + }, + { + "name": "write", + "type": 11, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 662, + "type": { + "path": [ + "sp_version", + "RuntimeVersion" + ], + "def": { + "composite": { + "fields": [ + { + "name": "spec_name", + "type": 655, + "typeName": "RuntimeString" + }, + { + "name": "impl_name", + "type": 655, + "typeName": "RuntimeString" + }, + { + "name": "authoring_version", + "type": 4, + "typeName": "u32" + }, + { + "name": "spec_version", + "type": 4, + "typeName": "u32" + }, + { + "name": "impl_version", + "type": 4, + "typeName": "u32" + }, + { + "name": "apis", + "type": 663, + "typeName": "ApisVec" + }, + { + "name": "transaction_version", + "type": 4, + "typeName": "u32" + }, + { + "name": "state_version", + "type": 2, + "typeName": "u8" + } + ] + } + } + } + }, + { + "id": 663, + "type": { + "path": [ + "Cow" + ], + "params": [ + { + "name": "T", + "type": 664 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 664 + } + ] + } + } + } + }, + { + "id": 664, + "type": { + "def": { + "sequence": { + "type": 665 + } + } + } + }, + { + "id": 665, + "type": { + "def": { + "tuple": [ + 134, + 4 + ] + } + } + }, + { + "id": 666, + "type": { + "path": [ + "frame_system", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "InvalidSpecName", + "index": 0, + "docs": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "index": 1, + "docs": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "index": 2, + "docs": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "index": 3, + "docs": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "index": 4, + "docs": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "index": 5, + "docs": [ + "The origin filter prevent the call to be dispatched." + ] + } + ] + } + }, + "docs": [ + "Error for the System pallet" + ] + } + }, + { + "id": 667, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 12 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 652, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 668, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 669 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 670, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 669, + "type": { + "def": { + "tuple": [ + 302, + 11 + ] + } + } + }, + { + "id": 670, + "type": { + "def": { + "sequence": { + "type": 669 + } + } + } + }, + { + "id": 671, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 1 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 672, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 672, + "type": { + "def": { + "sequence": { + "type": 1 + } + } + } + }, + { + "id": 673, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 674 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 674 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 674, + "type": { + "path": [ + "sp_consensus_babe", + "digests", + "PreDigest" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Primary", + "fields": [ + { + "type": 675, + "typeName": "PrimaryPreDigest" + } + ], + "index": 1 + }, + { + "name": "SecondaryPlain", + "fields": [ + { + "type": 677, + "typeName": "SecondaryPlainPreDigest" + } + ], + "index": 2 + }, + { + "name": "SecondaryVRF", + "fields": [ + { + "type": 678, + "typeName": "SecondaryVRFPreDigest" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 675, + "type": { + "path": [ + "sp_consensus_babe", + "digests", + "PrimaryPreDigest" + ], + "def": { + "composite": { + "fields": [ + { + "name": "authority_index", + "type": 4, + "typeName": "super::AuthorityIndex" + }, + { + "name": "slot", + "type": 303, + "typeName": "Slot" + }, + { + "name": "vrf_signature", + "type": 676, + "typeName": "VrfSignature" + } + ] + } + } + } + }, + { + "id": 676, + "type": { + "path": [ + "sp_core", + "sr25519", + "vrf", + "VrfSignature" + ], + "def": { + "composite": { + "fields": [ + { + "name": "output", + "type": 1, + "typeName": "VrfOutput" + }, + { + "name": "proof", + "type": 97, + "typeName": "VrfProof" + } + ] + } + } + } + }, + { + "id": 677, + "type": { + "path": [ + "sp_consensus_babe", + "digests", + "SecondaryPlainPreDigest" + ], + "def": { + "composite": { + "fields": [ + { + "name": "authority_index", + "type": 4, + "typeName": "super::AuthorityIndex" + }, + { + "name": "slot", + "type": 303, + "typeName": "Slot" + } + ] + } + } + } + }, + { + "id": 678, + "type": { + "path": [ + "sp_consensus_babe", + "digests", + "SecondaryVRFPreDigest" + ], + "def": { + "composite": { + "fields": [ + { + "name": "authority_index", + "type": 4, + "typeName": "super::AuthorityIndex" + }, + { + "name": "slot", + "type": 303, + "typeName": "Slot" + }, + { + "name": "vrf_signature", + "type": 676, + "typeName": "VrfSignature" + } + ] + } + } + } + }, + { + "id": 679, + "type": { + "path": [ + "sp_consensus_babe", + "BabeEpochConfiguration" + ], + "def": { + "composite": { + "fields": [ + { + "name": "c", + "type": 306, + "typeName": "(u64, u64)" + }, + { + "name": "allowed_slots", + "type": 307, + "typeName": "AllowedSlots" + } + ] + } + } + } + }, + { + "id": 680, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 681 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 682, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 681, + "type": { + "def": { + "tuple": [ + 11, + 4 + ] + } + } + }, + { + "id": 682, + "type": { + "def": { + "sequence": { + "type": 681 + } + } + } + }, + { + "id": 683, + "type": { + "path": [ + "pallet_babe", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "InvalidEquivocationProof", + "index": 0, + "docs": [ + "An equivocation proof provided as part of an equivocation report is invalid." + ] + }, + { + "name": "InvalidKeyOwnershipProof", + "index": 1, + "docs": [ + "A key ownership proof provided as part of an equivocation report is invalid." + ] + }, + { + "name": "DuplicateOffenceReport", + "index": 2, + "docs": [ + "A given equivocation report is valid but already previously reported." + ] + }, + { + "name": "InvalidConfiguration", + "index": 3, + "docs": [ + "Submitted configuration is invalid." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 684, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 685 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 687, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 685, + "type": { + "path": [ + "pallet_balances", + "types", + "BalanceLock" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "id", + "type": 134, + "typeName": "LockIdentifier" + }, + { + "name": "amount", + "type": 6, + "typeName": "Balance" + }, + { + "name": "reasons", + "type": 686, + "typeName": "Reasons" + } + ] + } + } + } + }, + { + "id": 686, + "type": { + "path": [ + "pallet_balances", + "types", + "Reasons" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Fee", + "index": 0 + }, + { + "name": "Misc", + "index": 1 + }, + { + "name": "All", + "index": 2 + } + ] + } + } + } + }, + { + "id": 687, + "type": { + "def": { + "sequence": { + "type": 685 + } + } + } + }, + { + "id": 688, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 689 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 690, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 689, + "type": { + "path": [ + "pallet_balances", + "types", + "ReserveData" + ], + "params": [ + { + "name": "ReserveIdentifier", + "type": 134 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "id", + "type": 134, + "typeName": "ReserveIdentifier" + }, + { + "name": "amount", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 690, + "type": { + "def": { + "sequence": { + "type": 689 + } + } + } + }, + { + "id": 691, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 692 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 693, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 692, + "type": { + "path": [ + "pallet_balances", + "types", + "IdAmount" + ], + "params": [ + { + "name": "Id", + "type": 56 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "id", + "type": 56, + "typeName": "Id" + }, + { + "name": "amount", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 693, + "type": { + "def": { + "sequence": { + "type": 692 + } + } + } + }, + { + "id": 694, + "type": { + "path": [ + "pallet_balances", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "VestingBalance", + "index": 0, + "docs": [ + "Vesting balance too high to send value." + ] + }, + { + "name": "LiquidityRestrictions", + "index": 1, + "docs": [ + "Account liquidity restrictions prevent withdrawal." + ] + }, + { + "name": "InsufficientBalance", + "index": 2, + "docs": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "index": 3, + "docs": [ + "Value too low to create account due to existential deposit." + ] + }, + { + "name": "Expendability", + "index": 4, + "docs": [ + "Transfer/payment would kill account." + ] + }, + { + "name": "ExistingVestingSchedule", + "index": 5, + "docs": [ + "A vesting schedule already exists for this account." + ] + }, + { + "name": "DeadAccount", + "index": 6, + "docs": [ + "Beneficiary account must pre-exist." + ] + }, + { + "name": "TooManyReserves", + "index": 7, + "docs": [ + "Number of named reserves exceed `MaxReserves`." + ] + }, + { + "name": "TooManyHolds", + "index": 8, + "docs": [ + "Number of holds exceed `MaxHolds`." + ] + }, + { + "name": "TooManyFreezes", + "index": 9, + "docs": [ + "Number of freezes exceed `MaxFreezes`." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 695, + "type": { + "path": [ + "sp_staking", + "offence", + "OffenceDetails" + ], + "params": [ + { + "name": "Reporter", + "type": 0 + }, + { + "name": "Offender", + "type": 61 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "offender", + "type": 61, + "typeName": "Offender" + }, + { + "name": "reporters", + "type": 78, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 696, + "type": { + "def": { + "tuple": [ + 33, + 13 + ] + } + } + }, + { + "id": 697, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "ReadySolution" + ], + "params": [ + { + "name": "AccountId", + "type": null + }, + { + "name": "MaxWinners", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "supports", + "type": 698, + "typeName": "BoundedSupports" + }, + { + "name": "score", + "type": 38, + "typeName": "ElectionScore" + }, + { + "name": "compute", + "type": 35, + "typeName": "ElectionCompute" + } + ] + } + } + } + }, + { + "id": 698, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 367 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 366, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 699, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "RoundSnapshot" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "DataProvider", + "type": 700 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "voters", + "type": 702, + "typeName": "Vec" + }, + { + "name": "targets", + "type": 78, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 700, + "type": { + "def": { + "tuple": [ + 0, + 11, + 701 + ] + } + } + }, + { + "id": 701, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 78, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 702, + "type": { + "def": { + "sequence": { + "type": 700 + } + } + } + }, + { + "id": 703, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 704 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 705, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 704, + "type": { + "def": { + "tuple": [ + 38, + 4, + 4 + ] + } + } + }, + { + "id": 705, + "type": { + "def": { + "sequence": { + "type": 704 + } + } + } + }, + { + "id": 706, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "signed", + "SignedSubmission" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Solution", + "type": 313 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "raw_solution", + "type": 312, + "typeName": "RawSolution" + }, + { + "name": "call_fee", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 707, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "PreDispatchEarlySubmission", + "index": 0, + "docs": [ + "Submission was too early." + ] + }, + { + "name": "PreDispatchWrongWinnerCount", + "index": 1, + "docs": [ + "Wrong number of winners presented." + ] + }, + { + "name": "PreDispatchWeakSubmission", + "index": 2, + "docs": [ + "Submission was too weak, score-wise." + ] + }, + { + "name": "SignedQueueFull", + "index": 3, + "docs": [ + "The queue was full, and the solution was not better than any of the existing ones." + ] + }, + { + "name": "SignedCannotPayDeposit", + "index": 4, + "docs": [ + "The origin failed to pay the deposit." + ] + }, + { + "name": "SignedInvalidWitness", + "index": 5, + "docs": [ + "Witness data to dispatchable is invalid." + ] + }, + { + "name": "SignedTooMuchWeight", + "index": 6, + "docs": [ + "The signed submission consumes too much weight" + ] + }, + { + "name": "OcwCallWrongEra", + "index": 7, + "docs": [ + "OCW submitted solution for wrong round" + ] + }, + { + "name": "MissingSnapshotMetadata", + "index": 8, + "docs": [ + "Snapshot metadata should exist but didn't." + ] + }, + { + "name": "InvalidSubmissionIndex", + "index": 9, + "docs": [ + "`Self::insert_submission` returned an invalid index." + ] + }, + { + "name": "CallNotAllowed", + "index": 10, + "docs": [ + "The call is not allowed at this point." + ] + }, + { + "name": "FallbackFailed", + "index": 11, + "docs": [ + "The fallback failed" + ] + }, + { + "name": "BoundNotMet", + "index": 12, + "docs": [ + "Some bound not met" + ] + }, + { + "name": "TooManyWinners", + "index": 13, + "docs": [ + "Submitted solution has too many winners" + ] + } + ] + } + }, + "docs": [ + "Error of the pallet that can be returned in response to dispatches." + ] + } + }, + { + "id": 708, + "type": { + "path": [ + "pallet_staking", + "StakingLedger" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "stash", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "total", + "type": 63, + "typeName": "BalanceOf" + }, + { + "name": "active", + "type": 63, + "typeName": "BalanceOf" + }, + { + "name": "unlocking", + "type": 709, + "typeName": "BoundedVec>, T::MaxUnlockingChunks>" + }, + { + "name": "claimed_rewards", + "type": 712, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 709, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 710 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 711, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 710, + "type": { + "path": [ + "pallet_staking", + "UnlockChunk" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "value", + "type": 63, + "typeName": "Balance" + }, + { + "name": "era", + "type": 119, + "typeName": "EraIndex" + } + ] + } + } + } + }, + { + "id": 711, + "type": { + "def": { + "sequence": { + "type": 710 + } + } + } + }, + { + "id": 712, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 4 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 375, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 713, + "type": { + "path": [ + "pallet_staking", + "Nominations" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "targets", + "type": 701, + "typeName": "BoundedVec" + }, + { + "name": "submitted_in", + "type": 4, + "typeName": "EraIndex" + }, + { + "name": "suppressed", + "type": 37, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 714, + "type": { + "path": [ + "pallet_staking", + "ActiveEraInfo" + ], + "def": { + "composite": { + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "EraIndex" + }, + { + "name": "start", + "type": 208, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 715, + "type": { + "def": { + "tuple": [ + 4, + 0 + ] + } + } + }, + { + "id": 716, + "type": { + "path": [ + "pallet_staking", + "EraRewardPoints" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "total", + "type": 4, + "typeName": "RewardPoint" + }, + { + "name": "individual", + "type": 717, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 717, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 0 + }, + { + "name": "V", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 718 + } + ] + } + } + } + }, + { + "id": 718, + "type": { + "def": { + "sequence": { + "type": 719 + } + } + } + }, + { + "id": 719, + "type": { + "def": { + "tuple": [ + 0, + 4 + ] + } + } + }, + { + "id": 720, + "type": { + "def": { + "sequence": { + "type": 721 + } + } + } + }, + { + "id": 721, + "type": { + "path": [ + "pallet_staking", + "UnappliedSlash" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "validator", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "own", + "type": 6, + "typeName": "Balance" + }, + { + "name": "others", + "type": 369, + "typeName": "Vec<(AccountId, Balance)>" + }, + { + "name": "reporters", + "type": 78, + "typeName": "Vec" + }, + { + "name": "payout", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 722, + "type": { + "def": { + "tuple": [ + 42, + 6 + ] + } + } + }, + { + "id": 723, + "type": { + "path": [ + "pallet_staking", + "slashing", + "SlashingSpans" + ], + "def": { + "composite": { + "fields": [ + { + "name": "span_index", + "type": 4, + "typeName": "SpanIndex" + }, + { + "name": "last_start", + "type": 4, + "typeName": "EraIndex" + }, + { + "name": "last_nonzero_slash", + "type": 4, + "typeName": "EraIndex" + }, + { + "name": "prior", + "type": 375, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 724, + "type": { + "path": [ + "pallet_staking", + "slashing", + "SpanRecord" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "slashed", + "type": 6, + "typeName": "Balance" + }, + { + "name": "paid_out", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 725, + "type": { + "def": { + "sequence": { + "type": 726 + } + } + } + }, + { + "id": 726, + "type": { + "def": { + "tuple": [ + 4, + 37 + ] + } + } + }, + { + "id": 727, + "type": { + "path": [ + "pallet_staking", + "pallet", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotController", + "index": 0, + "docs": [ + "Not a controller account." + ] + }, + { + "name": "NotStash", + "index": 1, + "docs": [ + "Not a stash account." + ] + }, + { + "name": "AlreadyBonded", + "index": 2, + "docs": [ + "Stash is already bonded." + ] + }, + { + "name": "AlreadyPaired", + "index": 3, + "docs": [ + "Controller is already paired." + ] + }, + { + "name": "EmptyTargets", + "index": 4, + "docs": [ + "Targets cannot be empty." + ] + }, + { + "name": "DuplicateIndex", + "index": 5, + "docs": [ + "Duplicate index." + ] + }, + { + "name": "InvalidSlashIndex", + "index": 6, + "docs": [ + "Slash record index out of bounds." + ] + }, + { + "name": "InsufficientBond", + "index": 7, + "docs": [ + "Cannot have a validator or nominator role, with value less than the minimum defined by", + "governance (see `MinValidatorBond` and `MinNominatorBond`). If unbonding is the", + "intention, `chill` first to remove one's role as validator/nominator." + ] + }, + { + "name": "NoMoreChunks", + "index": 8, + "docs": [ + "Can not schedule more unlock chunks." + ] + }, + { + "name": "NoUnlockChunk", + "index": 9, + "docs": [ + "Can not rebond without unlocking chunks." + ] + }, + { + "name": "FundedTarget", + "index": 10, + "docs": [ + "Attempting to target a stash that still has funds." + ] + }, + { + "name": "InvalidEraToReward", + "index": 11, + "docs": [ + "Invalid era to reward." + ] + }, + { + "name": "InvalidNumberOfNominations", + "index": 12, + "docs": [ + "Invalid number of nominations." + ] + }, + { + "name": "NotSortedAndUnique", + "index": 13, + "docs": [ + "Items are not sorted and unique." + ] + }, + { + "name": "AlreadyClaimed", + "index": 14, + "docs": [ + "Rewards for this era have already been claimed for this validator." + ] + }, + { + "name": "IncorrectHistoryDepth", + "index": 15, + "docs": [ + "Incorrect previous history depth input provided." + ] + }, + { + "name": "IncorrectSlashingSpans", + "index": 16, + "docs": [ + "Incorrect number of slashing spans provided." + ] + }, + { + "name": "BadState", + "index": 17, + "docs": [ + "Internal state has become somehow corrupted and the operation cannot continue." + ] + }, + { + "name": "TooManyTargets", + "index": 18, + "docs": [ + "Too many nomination targets supplied." + ] + }, + { + "name": "BadTarget", + "index": 19, + "docs": [ + "A nomination target was supplied that was blocked or otherwise not a validator." + ] + }, + { + "name": "CannotChillOther", + "index": 20, + "docs": [ + "The user has enough bond and thus cannot be chilled forcefully by an external person." + ] + }, + { + "name": "TooManyNominators", + "index": 21, + "docs": [ + "There are too many nominators in the system. Governance needs to adjust the staking", + "settings to keep things safe for the runtime." + ] + }, + { + "name": "TooManyValidators", + "index": 22, + "docs": [ + "There are too many validator candidates in the system. Governance needs to adjust the", + "staking settings to keep things safe for the runtime." + ] + }, + { + "name": "CommissionTooLow", + "index": 23, + "docs": [ + "Commission is too low. Must be at least `MinCommission`." + ] + }, + { + "name": "BoundNotMet", + "index": 24, + "docs": [ + "Some bound is not met." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 728, + "type": { + "def": { + "sequence": { + "type": 729 + } + } + } + }, + { + "id": 729, + "type": { + "def": { + "tuple": [ + 0, + 381 + ] + } + } + }, + { + "id": 730, + "type": { + "def": { + "tuple": [ + 731, + 13 + ] + } + } + }, + { + "id": 731, + "type": { + "path": [ + "sp_core", + "crypto", + "KeyTypeId" + ], + "def": { + "composite": { + "fields": [ + { + "type": 17, + "typeName": "[u8; 4]" + } + ] + } + } + } + }, + { + "id": 732, + "type": { + "path": [ + "pallet_session", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "InvalidProof", + "index": 0, + "docs": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "index": 1, + "docs": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "index": 2, + "docs": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "index": 3, + "docs": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "index": 4, + "docs": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ] + } + }, + "docs": [ + "Error for the session pallet." + ] + } + }, + { + "id": 733, + "type": { + "path": [ + "pallet_grandpa", + "StoredState" + ], + "params": [ + { + "name": "N", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Live", + "index": 0 + }, + { + "name": "PendingPause", + "fields": [ + { + "name": "scheduled_at", + "type": 4, + "typeName": "N" + }, + { + "name": "delay", + "type": 4, + "typeName": "N" + } + ], + "index": 1 + }, + { + "name": "Paused", + "index": 2 + }, + { + "name": "PendingResume", + "fields": [ + { + "name": "scheduled_at", + "type": 4, + "typeName": "N" + }, + { + "name": "delay", + "type": 4, + "typeName": "N" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 734, + "type": { + "path": [ + "pallet_grandpa", + "StoredPendingChange" + ], + "params": [ + { + "name": "N", + "type": 4 + }, + { + "name": "Limit", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "scheduled_at", + "type": 4, + "typeName": "N" + }, + { + "name": "delay", + "type": 4, + "typeName": "N" + }, + { + "name": "next_authorities", + "type": 735, + "typeName": "BoundedAuthorityList" + }, + { + "name": "forced", + "type": 73, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 735, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 49 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 48, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 736, + "type": { + "path": [ + "pallet_grandpa", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "PauseFailed", + "index": 0, + "docs": [ + "Attempt to signal GRANDPA pause when the authority set isn't live", + "(either paused or already pending pause)." + ] + }, + { + "name": "ResumeFailed", + "index": 1, + "docs": [ + "Attempt to signal GRANDPA resume when the authority set isn't paused", + "(either live or already pending resume)." + ] + }, + { + "name": "ChangePending", + "index": 2, + "docs": [ + "Attempt to signal GRANDPA change with one already pending." + ] + }, + { + "name": "TooSoon", + "index": 3, + "docs": [ + "Cannot signal forced change so soon after last." + ] + }, + { + "name": "InvalidKeyOwnershipProof", + "index": 4, + "docs": [ + "A key ownership proof provided as part of an equivocation report is invalid." + ] + }, + { + "name": "InvalidEquivocationProof", + "index": 5, + "docs": [ + "An equivocation proof provided as part of an equivocation report is invalid." + ] + }, + { + "name": "DuplicateOffenceReport", + "index": 6, + "docs": [ + "A given equivocation report is valid but already previously reported." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 737, + "type": { + "path": [ + "pallet_treasury", + "Proposal" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "proposer", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "value", + "type": 6, + "typeName": "Balance" + }, + { + "name": "beneficiary", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "bond", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 738, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 4 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 375, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 739, + "type": { + "path": [ + "sp_arithmetic", + "per_things", + "Permill" + ], + "def": { + "composite": { + "fields": [ + { + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 740, + "type": { + "path": [ + "frame_support", + "PalletId" + ], + "def": { + "composite": { + "fields": [ + { + "type": 134, + "typeName": "[u8; 8]" + } + ] + } + } + } + }, + { + "id": 741, + "type": { + "path": [ + "pallet_treasury", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "InsufficientProposersBalance", + "index": 0, + "docs": [ + "Proposer's balance is too low." + ] + }, + { + "name": "InvalidIndex", + "index": 1, + "docs": [ + "No proposal or bounty at that index." + ] + }, + { + "name": "TooManyApprovals", + "index": 2, + "docs": [ + "Too many approvals in the queue." + ] + }, + { + "name": "InsufficientPermission", + "index": 3, + "docs": [ + "The spend origin is valid but the amount it is allowed to spend is lower than the", + "amount to be spent." + ] + }, + { + "name": "ProposalNotApproved", + "index": 4, + "docs": [ + "Proposal has not been approved." + ] + } + ] + } + }, + "docs": [ + "Error for the treasury pallet." + ] + } + }, + { + "id": 742, + "type": { + "path": [ + "sp_arithmetic", + "fixed_point", + "FixedU128" + ], + "def": { + "composite": { + "fields": [ + { + "type": 6, + "typeName": "u128" + } + ] + } + } + } + }, + { + "id": 743, + "type": { + "path": [ + "pallet_transaction_payment", + "Releases" + ], + "def": { + "variant": { + "variants": [ + { + "name": "V1Ancient", + "index": 0 + }, + { + "name": "V2", + "index": 1 + } + ] + } + } + } + }, + { + "id": 744, + "type": { + "path": [ + "pallet_sudo", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "RequireSudo", + "index": 0, + "docs": [ + "Sender must be the Sudo account" + ] + } + ] + } + }, + "docs": [ + "Error for the Sudo pallet" + ] + } + }, + { + "id": 745, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 58 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 746, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 746, + "type": { + "def": { + "sequence": { + "type": 58 + } + } + } + }, + { + "id": 747, + "type": { + "path": [ + "frame_support", + "traits", + "misc", + "WrapperOpaque" + ], + "params": [ + { + "name": "T", + "type": 748 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 119 + }, + { + "type": 748, + "typeName": "T" + } + ] + } + } + } + }, + { + "id": 748, + "type": { + "path": [ + "pallet_im_online", + "BoundedOpaqueNetworkState" + ], + "params": [ + { + "name": "PeerIdEncodingLimit", + "type": null + }, + { + "name": "MultiAddrEncodingLimit", + "type": null + }, + { + "name": "AddressesLimit", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "peer_id", + "type": 749, + "typeName": "WeakBoundedVec" + }, + { + "name": "external_addresses", + "type": 750, + "typeName": "WeakBoundedVec, AddressesLimit\n>" + } + ] + } + } + } + }, + { + "id": 749, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 750, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 749 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 751, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 751, + "type": { + "def": { + "sequence": { + "type": 749 + } + } + } + }, + { + "id": 752, + "type": { + "path": [ + "pallet_im_online", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "InvalidKey", + "index": 0, + "docs": [ + "Non existent public key." + ] + }, + { + "name": "DuplicatedHeartbeat", + "index": 1, + "docs": [ + "Duplicated heartbeat." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 753, + "type": { + "path": [ + "pallet_bags_list", + "list", + "Node" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "id", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "prev", + "type": 36, + "typeName": "Option" + }, + { + "name": "next", + "type": 36, + "typeName": "Option" + }, + { + "name": "bag_upper", + "type": 11, + "typeName": "T::Score" + }, + { + "name": "score", + "type": 11, + "typeName": "T::Score" + } + ] + } + } + } + }, + { + "id": 754, + "type": { + "path": [ + "pallet_bags_list", + "list", + "Bag" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "head", + "type": 36, + "typeName": "Option" + }, + { + "name": "tail", + "type": 36, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 755, + "type": { + "def": { + "sequence": { + "type": 11 + } + } + } + }, + { + "id": 756, + "type": { + "path": [ + "pallet_bags_list", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "List", + "fields": [ + { + "type": 757, + "typeName": "ListError" + } + ], + "index": 0, + "docs": [ + "A error in the list interface implementation." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 757, + "type": { + "path": [ + "pallet_bags_list", + "list", + "ListError" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Duplicate", + "index": 0 + }, + { + "name": "NotHeavier", + "index": 1 + }, + { + "name": "NotInSameBag", + "index": 2 + }, + { + "name": "NodeNotFound", + "index": 3 + } + ] + } + } + } + }, + { + "id": 758, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "PoolMember" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "unbonding_eras", + "type": 759, + "typeName": "BoundedBTreeMap, T::MaxUnbonding>" + } + ] + } + } + } + }, + { + "id": 759, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 4 + }, + { + "name": "V", + "type": 6 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 760, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 760, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 4 + }, + { + "name": "V", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 761 + } + ] + } + } + } + }, + { + "id": 761, + "type": { + "def": { + "sequence": { + "type": 762 + } + } + } + }, + { + "id": 762, + "type": { + "def": { + "tuple": [ + 4, + 6 + ] + } + } + }, + { + "id": 763, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "BondedPoolInner" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "state", + "type": 68, + "typeName": "PoolState" + }, + { + "name": "commission", + "type": 764, + "typeName": "Commission" + }, + { + "name": "token_id", + "type": 63, + "typeName": "TokenIdOf" + }, + { + "name": "capacity", + "type": 63, + "typeName": "BalanceOf" + }, + { + "name": "bonus_cycle", + "type": 765, + "typeName": "BonusCycle" + }, + { + "name": "creation_block", + "type": 119, + "typeName": "T::BlockNumber" + }, + { + "name": "bonuses_paid", + "type": 712, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 764, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "Commission" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "current", + "type": 69, + "typeName": "Option" + }, + { + "name": "max", + "type": 69, + "typeName": "Option" + }, + { + "name": "change_rate", + "type": 75, + "typeName": "Option>" + }, + { + "name": "throttle_from", + "type": 73, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 765, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "BonusCycle" + ], + "def": { + "composite": { + "fields": [ + { + "name": "previous_start", + "type": 73, + "typeName": "Option" + }, + { + "name": "start", + "type": 119, + "typeName": "EraIndex" + }, + { + "name": "end", + "type": 119, + "typeName": "EraIndex" + }, + { + "name": "pending_duration", + "type": 73, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 766, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "SubPools" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "no_era", + "type": 767, + "typeName": "UnbondPool" + }, + { + "name": "with_era", + "type": 768, + "typeName": "BoundedBTreeMap, TotalUnbondingPools>" + } + ] + } + } + } + }, + { + "id": 767, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "UnbondPool" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "points", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "balance", + "type": 6, + "typeName": "BalanceOf" + } + ] + } + } + } + }, + { + "id": 768, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 4 + }, + { + "name": "V", + "type": 767 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 769, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 769, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 4 + }, + { + "name": "V", + "type": 767 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 770 + } + ] + } + } + } + }, + { + "id": 770, + "type": { + "def": { + "sequence": { + "type": 771 + } + } + } + }, + { + "id": 771, + "type": { + "def": { + "tuple": [ + 4, + 767 + ] + } + } + }, + { + "id": 772, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "EarlyBirdInfo" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "MaxItems", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "has_been_queued", + "type": 37, + "typeName": "bool" + }, + { + "name": "queued_items", + "type": 773, + "typeName": "BoundedVec<(PoolId, Balance), MaxItems>" + } + ] + } + } + } + }, + { + "id": 773, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 762 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 761, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 774, + "type": { + "path": [ + "pallet_nomination_pools", + "types", + "EraPayout" + ], + "def": { + "composite": { + "fields": [ + { + "name": "era", + "type": 119, + "typeName": "EraIndex" + }, + { + "name": "payout_count", + "type": 119, + "typeName": "u32" + }, + { + "name": "payouts_processed", + "type": 37, + "typeName": "bool" + }, + { + "name": "required_payments_percent", + "type": 42, + "typeName": "Perbill" + } + ] + } + } + } + }, + { + "id": 775, + "type": { + "path": [ + "pallet_nomination_pools", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "PoolNotFound", + "index": 0, + "docs": [ + "A (bonded) pool id does not exist." + ] + }, + { + "name": "PoolTokenAlreadyInUse", + "index": 1, + "docs": [ + "Pool already exists for the given token_id" + ] + }, + { + "name": "PoolMemberNotFound", + "index": 2, + "docs": [ + "An account is not a member." + ] + }, + { + "name": "RewardPoolNotFound", + "index": 3, + "docs": [ + "A reward pool does not exist. In all cases this is a system logic error." + ] + }, + { + "name": "SubPoolsNotFound", + "index": 4, + "docs": [ + "A sub pool does not exist." + ] + }, + { + "name": "AccountBelongsToOtherPool", + "index": 5, + "docs": [ + "An account is already delegating in another pool. An account may only belong to one", + "pool at a time." + ] + }, + { + "name": "FullyUnbonding", + "index": 6, + "docs": [ + "The member is fully unbonded (and thus cannot access the bonded and reward pool", + "anymore to, for example, collect rewards)." + ] + }, + { + "name": "MaxUnbondingLimit", + "index": 7, + "docs": [ + "The member cannot unbond further chunks due to reaching the limit." + ] + }, + { + "name": "CannotWithdrawAny", + "index": 8, + "docs": [ + "None of the funds can be withdrawn yet because the bonding duration has not passed." + ] + }, + { + "name": "MinimumBondNotMet", + "index": 9, + "docs": [ + "The amount does not meet the minimum bond to either join or create a pool.", + "", + "If the chain is not being destroyed no member can unbond to a value less than", + "`Pallet::depositor_min_bond`. The caller does not have nominating", + "permissions for the pool. Members can never unbond to a value below `MinJoinBond`." + ] + }, + { + "name": "OverflowRisk", + "index": 10, + "docs": [ + "The transaction could not be executed due to overflow risk for the pool." + ] + }, + { + "name": "NotDestroying", + "index": 11, + "docs": [ + "A pool must be in [`PoolState::Destroying`] in order for", + "other members to be permissionlessly unbonded." + ] + }, + { + "name": "NotNominator", + "index": 12, + "docs": [ + "The caller does not have nominating permissions for the pool." + ] + }, + { + "name": "NotKickerOrDestroying", + "index": 13, + "docs": [ + "Either a) the caller cannot make a valid kick or b) the pool is not destroying." + ] + }, + { + "name": "NotOpen", + "index": 14, + "docs": [ + "The pool is not open to join" + ] + }, + { + "name": "CanNotChangeState", + "index": 15, + "docs": [ + "The pools state cannot be changed." + ] + }, + { + "name": "DoesNotHavePermission", + "index": 16, + "docs": [ + "The caller does not have adequate permissions." + ] + }, + { + "name": "Defensive", + "fields": [ + { + "type": 776, + "typeName": "DefensiveError" + } + ], + "index": 17, + "docs": [ + "Some error occurred that should never happen. This should be reported to the", + "maintainers." + ] + }, + { + "name": "PartialUnbondNotAllowedPermissionlessly", + "index": 18, + "docs": [ + "Partial unbonding now allowed permissionlessly." + ] + }, + { + "name": "PoolIdInUse", + "index": 19, + "docs": [ + "Pool id currently in use." + ] + }, + { + "name": "InvalidPoolId", + "index": 20, + "docs": [ + "Pool id provided is not correct/usable." + ] + }, + { + "name": "MintParamsCreationFailed", + "index": 21, + "docs": [ + "Mint parameters are invalid." + ] + }, + { + "name": "BurnParamsCreationFailed", + "index": 22, + "docs": [ + "Burn parameters are invalid." + ] + }, + { + "name": "TransferParamsCreationFailed", + "index": 23, + "docs": [ + "Transfer parameters are invalid." + ] + }, + { + "name": "CapacityExceeded", + "index": 24, + "docs": [ + "The capacity of the pool is exceeded by the amount" + ] + }, + { + "name": "CapacityMutationRestricted", + "index": 25, + "docs": [ + "The capacity can only be mutated for the first 14 eras of a cycle" + ] + }, + { + "name": "DurationOutOfBounds", + "index": 26, + "docs": [ + "The duration is out of bounds" + ] + }, + { + "name": "TokenRequired", + "index": 27, + "docs": [ + "The required token is not owned by the caller" + ] + }, + { + "name": "DepositNotReadyForUnbonding", + "index": 28, + "docs": [ + "Deposit should be the last supply of pool's sENJ token to be unbonded" + ] + }, + { + "name": "MaxCommissionRestricted", + "index": 29, + "docs": [ + "The pool's max commission cannot be set higher than the existing value." + ] + }, + { + "name": "CommissionExceedsMaximum", + "index": 30, + "docs": [ + "The supplied commission exceeds the max allowed commission." + ] + }, + { + "name": "CommissionChangeThrottled", + "index": 31, + "docs": [ + "Not enough blocks have surpassed since the last commission update." + ] + }, + { + "name": "CommissionChangeRateNotAllowed", + "index": 32, + "docs": [ + "The submitted changes to commission change rate are not allowed." + ] + }, + { + "name": "NoPendingCommission", + "index": 33, + "docs": [ + "There is no pending commission to claim." + ] + }, + { + "name": "NoCommissionCurrentSet", + "index": 34, + "docs": [ + "No commission current has been set." + ] + }, + { + "name": "NoopMutation", + "index": 35, + "docs": [ + "The mutation does not change anything" + ] + }, + { + "name": "PoolMembersRemaining", + "index": 36, + "docs": [ + "The pool is not empty" + ] + }, + { + "name": "EarlyBirdBonusNotReady", + "index": 37, + "docs": [ + "The early bird bonus is not yet ready to claim" + ] + }, + { + "name": "EarlyBirdTotalRewardsIsZero", + "index": 38, + "docs": [ + "Total Weighted Rewards is 0" + ] + }, + { + "name": "TooManyEarlyBirdPoolRewards", + "index": 39, + "docs": [ + "There are more [`Config::MaxEarlyBirdBonusQueueItems`] than the storage item,", + "[`EarlyBirdBonusInfo`] can handle." + ] + }, + { + "name": "EarlyBirdBonusAlreadyQueued", + "index": 40, + "docs": [ + "EarlyBirdReward has already been queued." + ] + }, + { + "name": "MissingPayouts", + "index": 41, + "docs": [ + "Not all payouts have been made" + ] + }, + { + "name": "WrongPoolCount", + "index": 42, + "docs": [ + "The pool count does not match the number of pools" + ] + }, + { + "name": "PayoutsAlreadyProcessed", + "index": 43, + "docs": [ + "Payouts were already processed for this era" + ] + }, + { + "name": "AttributeKeyExceedsLength", + "index": 44, + "docs": [ + "Attribute key exceeds max length" + ] + }, + { + "name": "AttributeValueDecodeFailed", + "index": 45, + "docs": [ + "Unable to decode the attribute value" + ] + }, + { + "name": "AttributeCapacityExceedsGlobalCapacity", + "index": 46, + "docs": [ + "Attribute capacity exceeds the global max capacity" + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 776, + "type": { + "path": [ + "pallet_nomination_pools", + "pallet", + "DefensiveError" + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotEnoughSpaceInUnbondPool", + "index": 0 + }, + { + "name": "PoolNotFound", + "index": 1 + }, + { + "name": "RewardPoolNotFound", + "index": 2 + }, + { + "name": "SubPoolsNotFound", + "index": 3 + }, + { + "name": "BondedStashKilledPrematurely", + "index": 4 + }, + { + "name": "DivisionError", + "index": 5 + } + ] + } + } + } + }, + { + "id": 777, + "type": { + "path": [ + "pallet_stake_exchange", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "CallerNotOfferCreator", + "index": 0, + "docs": [ + "Caller is not the account of" + ] + }, + { + "name": "ZeroOffer", + "index": 1, + "docs": [ + "Cannot create a offer with zero amount" + ] + }, + { + "name": "ZeroRate", + "index": 2, + "docs": [ + "Cannot create a offer with zero rate" + ] + }, + { + "name": "Overflow", + "index": 3, + "docs": [ + "Arithmetic overflow" + ] + }, + { + "name": "OfferNotFound", + "index": 4, + "docs": [ + "A offer was not found" + ] + }, + { + "name": "NotEnoughLiquidity", + "index": 5, + "docs": [ + "The offer does not have liquidity to perform the operation" + ] + }, + { + "name": "TransferParamCreationFailed", + "index": 6, + "docs": [ + "Cannot perform multi tokens transfer" + ] + }, + { + "name": "TokenRestriction", + "index": 7, + "docs": [ + "LP does not support this tokenId" + ] + }, + { + "name": "ZeroAmount", + "index": 8, + "docs": [ + "Zero amount buy not supported" + ] + }, + { + "name": "RewardRateOutOfRange", + "index": 9, + "docs": [ + "Pool rewards outside acceptable range" + ] + } + ] + } + }, + "docs": [ + "Pallet's error type." + ] + } + }, + { + "id": 778, + "type": { + "path": [ + "pallet_utility", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "TooManyCalls", + "index": 0, + "docs": [ + "Too many calls batched." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 779, + "type": { + "def": { + "tuple": [ + 0, + 1 + ] + } + } + }, + { + "id": 780, + "type": { + "path": [ + "pallet_multisig", + "Multisig" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "MaxApprovals", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "when", + "type": 89, + "typeName": "Timepoint" + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "depositor", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "approvals", + "type": 781, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 781, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 78, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 782, + "type": { + "path": [ + "pallet_multisig", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "MinimumThreshold", + "index": 0, + "docs": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "index": 1, + "docs": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "index": 2, + "docs": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "index": 3, + "docs": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "index": 4, + "docs": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "index": 5, + "docs": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "index": 6, + "docs": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "index": 7, + "docs": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "index": 8, + "docs": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "index": 9, + "docs": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "index": 10, + "docs": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "index": 11, + "docs": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "index": 12, + "docs": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "index": 13, + "docs": [ + "The data to be stored is already stored." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 783, + "type": { + "path": [ + "polkadot_runtime_parachains", + "configuration", + "HostConfiguration" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "max_code_size", + "type": 4, + "typeName": "u32" + }, + { + "name": "max_head_data_size", + "type": 4, + "typeName": "u32" + }, + { + "name": "max_upward_queue_count", + "type": 4, + "typeName": "u32" + }, + { + "name": "max_upward_queue_size", + "type": 4, + "typeName": "u32" + }, + { + "name": "max_upward_message_size", + "type": 4, + "typeName": "u32" + }, + { + "name": "max_upward_message_num_per_candidate", + "type": 4, + "typeName": "u32" + }, + { + "name": "hrmp_max_message_num_per_candidate", + "type": 4, + "typeName": "u32" + }, + { + "name": "validation_upgrade_cooldown", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "validation_upgrade_delay", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "async_backing_params", + "type": 424, + "typeName": "AsyncBackingParams" + }, + { + "name": "max_pov_size", + "type": 4, + "typeName": "u32" + }, + { + "name": "max_downward_message_size", + "type": 4, + "typeName": "u32" + }, + { + "name": "hrmp_max_parachain_outbound_channels", + "type": 4, + "typeName": "u32" + }, + { + "name": "hrmp_max_parathread_outbound_channels", + "type": 4, + "typeName": "u32" + }, + { + "name": "hrmp_sender_deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "hrmp_recipient_deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "hrmp_channel_max_capacity", + "type": 4, + "typeName": "u32" + }, + { + "name": "hrmp_channel_max_total_size", + "type": 4, + "typeName": "u32" + }, + { + "name": "hrmp_max_parachain_inbound_channels", + "type": 4, + "typeName": "u32" + }, + { + "name": "hrmp_max_parathread_inbound_channels", + "type": 4, + "typeName": "u32" + }, + { + "name": "hrmp_channel_max_message_size", + "type": 4, + "typeName": "u32" + }, + { + "name": "executor_params", + "type": 425, + "typeName": "ExecutorParams" + }, + { + "name": "code_retention_period", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "parathread_cores", + "type": 4, + "typeName": "u32" + }, + { + "name": "parathread_retries", + "type": 4, + "typeName": "u32" + }, + { + "name": "group_rotation_frequency", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "chain_availability_period", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "thread_availability_period", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "scheduling_lookahead", + "type": 4, + "typeName": "u32" + }, + { + "name": "max_validators_per_core", + "type": 73, + "typeName": "Option" + }, + { + "name": "max_validators", + "type": 73, + "typeName": "Option" + }, + { + "name": "dispute_period", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "dispute_post_conclusion_acceptance_period", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "no_show_slots", + "type": 4, + "typeName": "u32" + }, + { + "name": "n_delay_tranches", + "type": 4, + "typeName": "u32" + }, + { + "name": "zeroth_delay_tranche_width", + "type": 4, + "typeName": "u32" + }, + { + "name": "needed_approvals", + "type": 4, + "typeName": "u32" + }, + { + "name": "relay_vrf_modulo_samples", + "type": 4, + "typeName": "u32" + }, + { + "name": "pvf_checking_enabled", + "type": 37, + "typeName": "bool" + }, + { + "name": "pvf_voting_ttl", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "minimum_validation_upgrade_delay", + "type": 4, + "typeName": "BlockNumber" + } + ] + } + } + } + }, + { + "id": 784, + "type": { + "def": { + "sequence": { + "type": 785 + } + } + } + }, + { + "id": 785, + "type": { + "def": { + "tuple": [ + 4, + 783 + ] + } + } + }, + { + "id": 786, + "type": { + "path": [ + "polkadot_runtime_parachains", + "configuration", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "InvalidNewValue", + "index": 0, + "docs": [ + "The new value for a configuration parameter is invalid." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 787, + "type": { + "def": { + "sequence": { + "type": 439 + } + } + } + }, + { + "id": 788, + "type": { + "def": { + "sequence": { + "type": 382 + } + } + } + }, + { + "id": 789, + "type": { + "path": [ + "polkadot_runtime_parachains", + "inclusion", + "AvailabilityBitfieldRecord" + ], + "params": [ + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "bitfield", + "type": 436, + "typeName": "AvailabilityBitfield" + }, + { + "name": "submitted_at", + "type": 4, + "typeName": "N" + } + ] + } + } + } + }, + { + "id": 790, + "type": { + "path": [ + "polkadot_runtime_parachains", + "inclusion", + "CandidatePendingAvailability" + ], + "params": [ + { + "name": "H", + "type": 12 + }, + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "core", + "type": 100, + "typeName": "CoreIndex" + }, + { + "name": "hash", + "type": 106, + "typeName": "CandidateHash" + }, + { + "name": "descriptor", + "type": 92, + "typeName": "CandidateDescriptor" + }, + { + "name": "availability_votes", + "type": 437, + "typeName": "BitVec" + }, + { + "name": "backers", + "type": 437, + "typeName": "BitVec" + }, + { + "name": "relay_parent_number", + "type": 4, + "typeName": "N" + }, + { + "name": "backed_in_number", + "type": 4, + "typeName": "N" + }, + { + "name": "backing_group", + "type": 101, + "typeName": "GroupIndex" + } + ] + } + } + } + }, + { + "id": 791, + "type": { + "path": [ + "polkadot_runtime_parachains", + "inclusion", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "UnsortedOrDuplicateValidatorIndices", + "index": 0, + "docs": [ + "Validator indices are out of order or contains duplicates." + ] + }, + { + "name": "UnsortedOrDuplicateDisputeStatementSet", + "index": 1, + "docs": [ + "Dispute statement sets are out of order or contain duplicates." + ] + }, + { + "name": "UnsortedOrDuplicateBackedCandidates", + "index": 2, + "docs": [ + "Backed candidates are out of order (core index) or contain duplicates." + ] + }, + { + "name": "UnexpectedRelayParent", + "index": 3, + "docs": [ + "A different relay parent was provided compared to the on-chain stored one." + ] + }, + { + "name": "WrongBitfieldSize", + "index": 4, + "docs": [ + "Availability bitfield has unexpected size." + ] + }, + { + "name": "BitfieldAllZeros", + "index": 5, + "docs": [ + "Bitfield consists of zeros only." + ] + }, + { + "name": "BitfieldDuplicateOrUnordered", + "index": 6, + "docs": [ + "Multiple bitfields submitted by same validator or validators out of order by index." + ] + }, + { + "name": "ValidatorIndexOutOfBounds", + "index": 7, + "docs": [ + "Validator index out of bounds." + ] + }, + { + "name": "InvalidBitfieldSignature", + "index": 8, + "docs": [ + "Invalid signature" + ] + }, + { + "name": "UnscheduledCandidate", + "index": 9, + "docs": [ + "Candidate submitted but para not scheduled." + ] + }, + { + "name": "CandidateScheduledBeforeParaFree", + "index": 10, + "docs": [ + "Candidate scheduled despite pending candidate already existing for the para." + ] + }, + { + "name": "WrongCollator", + "index": 11, + "docs": [ + "Candidate included with the wrong collator." + ] + }, + { + "name": "ScheduledOutOfOrder", + "index": 12, + "docs": [ + "Scheduled cores out of order." + ] + }, + { + "name": "HeadDataTooLarge", + "index": 13, + "docs": [ + "Head data exceeds the configured maximum." + ] + }, + { + "name": "PrematureCodeUpgrade", + "index": 14, + "docs": [ + "Code upgrade prematurely." + ] + }, + { + "name": "NewCodeTooLarge", + "index": 15, + "docs": [ + "Output code is too large" + ] + }, + { + "name": "CandidateNotInParentContext", + "index": 16, + "docs": [ + "Candidate not in parent context." + ] + }, + { + "name": "InvalidGroupIndex", + "index": 17, + "docs": [ + "Invalid group index in core assignment." + ] + }, + { + "name": "InsufficientBacking", + "index": 18, + "docs": [ + "Insufficient (non-majority) backing." + ] + }, + { + "name": "InvalidBacking", + "index": 19, + "docs": [ + "Invalid (bad signature, unknown validator, etc.) backing." + ] + }, + { + "name": "NotCollatorSigned", + "index": 20, + "docs": [ + "Collator did not sign PoV." + ] + }, + { + "name": "ValidationDataHashMismatch", + "index": 21, + "docs": [ + "The validation data hash does not match expected." + ] + }, + { + "name": "IncorrectDownwardMessageHandling", + "index": 22, + "docs": [ + "The downward message queue is not processed correctly." + ] + }, + { + "name": "InvalidUpwardMessages", + "index": 23, + "docs": [ + "At least one upward message sent does not pass the acceptance criteria." + ] + }, + { + "name": "HrmpWatermarkMishandling", + "index": 24, + "docs": [ + "The candidate didn't follow the rules of HRMP watermark advancement." + ] + }, + { + "name": "InvalidOutboundHrmp", + "index": 25, + "docs": [ + "The HRMP messages sent by the candidate is not valid." + ] + }, + { + "name": "InvalidValidationCodeHash", + "index": 26, + "docs": [ + "The validation code hash of the candidate is not valid." + ] + }, + { + "name": "ParaHeadMismatch", + "index": 27, + "docs": [ + "The `para_head` hash in the candidate descriptor doesn't match the hash of the actual para head in the", + "commitments." + ] + }, + { + "name": "BitfieldReferencesFreedCore", + "index": 28, + "docs": [ + "A bitfield that references a freed core,", + "either intentionally or as part of a concluded", + "invalid dispute." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 792, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "ScrapedOnChainVotes" + ], + "params": [ + { + "name": "H", + "type": 12 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "session", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "backing_validators_per_candidate", + "type": 793, + "typeName": "Vec<(CandidateReceipt, Vec<(ValidatorIndex, ValidityAttestation)>)\n>" + }, + { + "name": "disputes", + "type": 453, + "typeName": "MultiDisputeStatementSet" + } + ] + } + } + } + }, + { + "id": 793, + "type": { + "def": { + "sequence": { + "type": 794 + } + } + } + }, + { + "id": 794, + "type": { + "def": { + "tuple": [ + 91, + 795 + ] + } + } + }, + { + "id": 795, + "type": { + "def": { + "sequence": { + "type": 796 + } + } + } + }, + { + "id": 796, + "type": { + "def": { + "tuple": [ + 439, + 452 + ] + } + } + }, + { + "id": 797, + "type": { + "path": [ + "polkadot_runtime_parachains", + "paras_inherent", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "TooManyInclusionInherents", + "index": 0, + "docs": [ + "Inclusion inherent called more than once per block." + ] + }, + { + "name": "InvalidParentHeader", + "index": 1, + "docs": [ + "The hash of the submitted parent header doesn't correspond to the saved block hash of", + "the parent." + ] + }, + { + "name": "CandidateConcludedInvalid", + "index": 2, + "docs": [ + "Disputed candidate that was concluded invalid." + ] + }, + { + "name": "InherentOverweight", + "index": 3, + "docs": [ + "The data given to the inherent will result in an overweight block." + ] + }, + { + "name": "DisputeStatementsUnsortedOrDuplicates", + "index": 4, + "docs": [ + "The ordering of dispute statements was invalid." + ] + }, + { + "name": "DisputeInvalid", + "index": 5, + "docs": [ + "A dispute statement was invalid." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 798, + "type": { + "def": { + "sequence": { + "type": 787 + } + } + } + }, + { + "id": 799, + "type": { + "path": [ + "polkadot_runtime_parachains", + "scheduler", + "ParathreadClaimQueue" + ], + "def": { + "composite": { + "fields": [ + { + "name": "queue", + "type": 800, + "typeName": "Vec" + }, + { + "name": "next_core_offset", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 800, + "type": { + "def": { + "sequence": { + "type": 801 + } + } + } + }, + { + "id": 801, + "type": { + "path": [ + "polkadot_runtime_parachains", + "scheduler", + "QueuedParathread" + ], + "def": { + "composite": { + "fields": [ + { + "name": "claim", + "type": 802, + "typeName": "ParathreadEntry" + }, + { + "name": "core_offset", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 802, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "ParathreadEntry" + ], + "def": { + "composite": { + "fields": [ + { + "name": "claim", + "type": 803, + "typeName": "ParathreadClaim" + }, + { + "name": "retries", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 803, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "ParathreadClaim" + ], + "def": { + "composite": { + "fields": [ + { + "type": 93, + "typeName": "Id" + }, + { + "type": 94, + "typeName": "CollatorId" + } + ] + } + } + } + }, + { + "id": 804, + "type": { + "def": { + "sequence": { + "type": 805 + } + } + } + }, + { + "id": 805, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 806 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 806 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 806, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "CoreOccupied" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Parathread", + "fields": [ + { + "type": 802, + "typeName": "ParathreadEntry" + } + ], + "index": 0 + }, + { + "name": "Parachain", + "index": 1 + } + ] + } + } + } + }, + { + "id": 807, + "type": { + "def": { + "sequence": { + "type": 93 + } + } + } + }, + { + "id": 808, + "type": { + "def": { + "sequence": { + "type": 809 + } + } + } + }, + { + "id": 809, + "type": { + "path": [ + "polkadot_runtime_parachains", + "scheduler", + "CoreAssignment" + ], + "def": { + "composite": { + "fields": [ + { + "name": "core", + "type": 100, + "typeName": "CoreIndex" + }, + { + "name": "para_id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "kind", + "type": 810, + "typeName": "AssignmentKind" + }, + { + "name": "group_idx", + "type": 101, + "typeName": "GroupIndex" + } + ] + } + } + } + }, + { + "id": 810, + "type": { + "path": [ + "polkadot_runtime_parachains", + "scheduler", + "AssignmentKind" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Parachain", + "index": 0 + }, + { + "name": "Parathread", + "fields": [ + { + "type": 94, + "typeName": "CollatorId" + }, + { + "type": 4, + "typeName": "u32" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 811, + "type": { + "path": [ + "polkadot_runtime_parachains", + "paras", + "PvfCheckActiveVoteState" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "votes_accept", + "type": 437, + "typeName": "BitVec" + }, + { + "name": "votes_reject", + "type": 437, + "typeName": "BitVec" + }, + { + "name": "age", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "created_at", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "causes", + "type": 812, + "typeName": "Vec>" + } + ] + } + } + } + }, + { + "id": 812, + "type": { + "def": { + "sequence": { + "type": 813 + } + } + } + }, + { + "id": 813, + "type": { + "path": [ + "polkadot_runtime_parachains", + "paras", + "PvfCheckCause" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Onboarding", + "fields": [ + { + "type": 93, + "typeName": "ParaId" + } + ], + "index": 0 + }, + { + "name": "Upgrade", + "fields": [ + { + "name": "id", + "type": 93, + "typeName": "ParaId" + }, + { + "name": "relay_parent_number", + "type": 4, + "typeName": "BlockNumber" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 814, + "type": { + "def": { + "sequence": { + "type": 98 + } + } + } + }, + { + "id": 815, + "type": { + "path": [ + "polkadot_runtime_parachains", + "paras", + "ParaLifecycle" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Onboarding", + "index": 0 + }, + { + "name": "Parathread", + "index": 1 + }, + { + "name": "Parachain", + "index": 2 + }, + { + "name": "UpgradingParathread", + "index": 3 + }, + { + "name": "DowngradingParachain", + "index": 4 + }, + { + "name": "OffboardingParathread", + "index": 5 + }, + { + "name": "OffboardingParachain", + "index": 6 + } + ] + } + } + } + }, + { + "id": 816, + "type": { + "def": { + "tuple": [ + 93, + 4 + ] + } + } + }, + { + "id": 817, + "type": { + "path": [ + "polkadot_runtime_parachains", + "paras", + "ParaPastCodeMeta" + ], + "params": [ + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "upgrade_times", + "type": 818, + "typeName": "Vec>" + }, + { + "name": "last_pruned", + "type": 73, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 818, + "type": { + "def": { + "sequence": { + "type": 819 + } + } + } + }, + { + "id": 819, + "type": { + "path": [ + "polkadot_runtime_parachains", + "paras", + "ReplacementTimes" + ], + "params": [ + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "expected_at", + "type": 4, + "typeName": "N" + }, + { + "name": "activated_at", + "type": 4, + "typeName": "N" + } + ] + } + } + } + }, + { + "id": 820, + "type": { + "def": { + "sequence": { + "type": 816 + } + } + } + }, + { + "id": 821, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "UpgradeGoAhead" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Abort", + "index": 0 + }, + { + "name": "GoAhead", + "index": 1 + } + ] + } + } + } + }, + { + "id": 822, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "UpgradeRestriction" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Present", + "index": 0 + } + ] + } + } + } + }, + { + "id": 823, + "type": { + "path": [ + "polkadot_runtime_parachains", + "paras", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotRegistered", + "index": 0, + "docs": [ + "Para is not registered in our system." + ] + }, + { + "name": "CannotOnboard", + "index": 1, + "docs": [ + "Para cannot be onboarded because it is already tracked by our system." + ] + }, + { + "name": "CannotOffboard", + "index": 2, + "docs": [ + "Para cannot be offboarded at this time." + ] + }, + { + "name": "CannotUpgrade", + "index": 3, + "docs": [ + "Para cannot be upgraded to a parachain." + ] + }, + { + "name": "CannotDowngrade", + "index": 4, + "docs": [ + "Para cannot be downgraded to a parathread." + ] + }, + { + "name": "PvfCheckStatementStale", + "index": 5, + "docs": [ + "The statement for PVF pre-checking is stale." + ] + }, + { + "name": "PvfCheckStatementFuture", + "index": 6, + "docs": [ + "The statement for PVF pre-checking is for a future session." + ] + }, + { + "name": "PvfCheckValidatorIndexOutOfBounds", + "index": 7, + "docs": [ + "Claimed validator index is out of bounds." + ] + }, + { + "name": "PvfCheckInvalidSignature", + "index": 8, + "docs": [ + "The signature for the PVF pre-checking is invalid." + ] + }, + { + "name": "PvfCheckDoubleVote", + "index": 9, + "docs": [ + "The given validator already has cast a vote." + ] + }, + { + "name": "PvfCheckSubjectInvalid", + "index": 10, + "docs": [ + "The given PVF does not exist at the moment of process a vote." + ] + }, + { + "name": "CannotUpgradeCode", + "index": 11, + "docs": [ + "Parachain cannot currently schedule a code upgrade." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 824, + "type": { + "def": { + "sequence": { + "type": 825 + } + } + } + }, + { + "id": 825, + "type": { + "path": [ + "polkadot_runtime_parachains", + "initializer", + "BufferedSessionChange" + ], + "def": { + "composite": { + "fields": [ + { + "name": "validators", + "type": 788, + "typeName": "Vec" + }, + { + "name": "queued", + "type": 788, + "typeName": "Vec" + }, + { + "name": "session_index", + "type": 4, + "typeName": "SessionIndex" + } + ] + } + } + } + }, + { + "id": 826, + "type": { + "def": { + "sequence": { + "type": 827 + } + } + } + }, + { + "id": 827, + "type": { + "path": [ + "polkadot_core_primitives", + "InboundDownwardMessage" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "sent_at", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "msg", + "type": 13, + "typeName": "DownwardMessage" + } + ] + } + } + } + }, + { + "id": 828, + "type": { + "path": [ + "polkadot_runtime_parachains", + "hrmp", + "HrmpOpenChannelRequest" + ], + "def": { + "composite": { + "fields": [ + { + "name": "confirmed", + "type": 37, + "typeName": "bool" + }, + { + "name": "_age", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "sender_deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "max_message_size", + "type": 4, + "typeName": "u32" + }, + { + "name": "max_capacity", + "type": 4, + "typeName": "u32" + }, + { + "name": "max_total_size", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 829, + "type": { + "def": { + "sequence": { + "type": 104 + } + } + } + }, + { + "id": 830, + "type": { + "path": [ + "polkadot_runtime_parachains", + "hrmp", + "HrmpChannel" + ], + "def": { + "composite": { + "fields": [ + { + "name": "max_capacity", + "type": 4, + "typeName": "u32" + }, + { + "name": "max_total_size", + "type": 4, + "typeName": "u32" + }, + { + "name": "max_message_size", + "type": 4, + "typeName": "u32" + }, + { + "name": "msg_count", + "type": 4, + "typeName": "u32" + }, + { + "name": "total_size", + "type": 4, + "typeName": "u32" + }, + { + "name": "mqc_head", + "type": 593, + "typeName": "Option" + }, + { + "name": "sender_deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "recipient_deposit", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 831, + "type": { + "def": { + "sequence": { + "type": 832 + } + } + } + }, + { + "id": 832, + "type": { + "path": [ + "polkadot_core_primitives", + "InboundHrmpMessage" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "sent_at", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "data", + "type": 13, + "typeName": "sp_std::vec::Vec" + } + ] + } + } + } + }, + { + "id": 833, + "type": { + "def": { + "sequence": { + "type": 834 + } + } + } + }, + { + "id": 834, + "type": { + "def": { + "tuple": [ + 4, + 807 + ] + } + } + }, + { + "id": 835, + "type": { + "path": [ + "polkadot_runtime_parachains", + "hrmp", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "OpenHrmpChannelToSelf", + "index": 0, + "docs": [ + "The sender tried to open a channel to themselves." + ] + }, + { + "name": "OpenHrmpChannelInvalidRecipient", + "index": 1, + "docs": [ + "The recipient is not a valid para." + ] + }, + { + "name": "OpenHrmpChannelZeroCapacity", + "index": 2, + "docs": [ + "The requested capacity is zero." + ] + }, + { + "name": "OpenHrmpChannelCapacityExceedsLimit", + "index": 3, + "docs": [ + "The requested capacity exceeds the global limit." + ] + }, + { + "name": "OpenHrmpChannelZeroMessageSize", + "index": 4, + "docs": [ + "The requested maximum message size is 0." + ] + }, + { + "name": "OpenHrmpChannelMessageSizeExceedsLimit", + "index": 5, + "docs": [ + "The open request requested the message size that exceeds the global limit." + ] + }, + { + "name": "OpenHrmpChannelAlreadyExists", + "index": 6, + "docs": [ + "The channel already exists" + ] + }, + { + "name": "OpenHrmpChannelAlreadyRequested", + "index": 7, + "docs": [ + "There is already a request to open the same channel." + ] + }, + { + "name": "OpenHrmpChannelLimitExceeded", + "index": 8, + "docs": [ + "The sender already has the maximum number of allowed outbound channels." + ] + }, + { + "name": "AcceptHrmpChannelDoesntExist", + "index": 9, + "docs": [ + "The channel from the sender to the origin doesn't exist." + ] + }, + { + "name": "AcceptHrmpChannelAlreadyConfirmed", + "index": 10, + "docs": [ + "The channel is already confirmed." + ] + }, + { + "name": "AcceptHrmpChannelLimitExceeded", + "index": 11, + "docs": [ + "The recipient already has the maximum number of allowed inbound channels." + ] + }, + { + "name": "CloseHrmpChannelUnauthorized", + "index": 12, + "docs": [ + "The origin tries to close a channel where it is neither the sender nor the recipient." + ] + }, + { + "name": "CloseHrmpChannelDoesntExist", + "index": 13, + "docs": [ + "The channel to be closed doesn't exist." + ] + }, + { + "name": "CloseHrmpChannelAlreadyUnderway", + "index": 14, + "docs": [ + "The channel close request is already requested." + ] + }, + { + "name": "CancelHrmpOpenChannelUnauthorized", + "index": 15, + "docs": [ + "Canceling is requested by neither the sender nor recipient of the open channel request." + ] + }, + { + "name": "OpenHrmpChannelDoesntExist", + "index": 16, + "docs": [ + "The open request doesn't exist." + ] + }, + { + "name": "OpenHrmpChannelAlreadyConfirmed", + "index": 17, + "docs": [ + "Cannot cancel an HRMP open channel request because it is already confirmed." + ] + }, + { + "name": "WrongWitness", + "index": 18, + "docs": [ + "The provided witness data is wrong." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 836, + "type": { + "def": { + "sequence": { + "type": 383 + } + } + } + }, + { + "id": 837, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "SessionInfo" + ], + "def": { + "composite": { + "fields": [ + { + "name": "active_validator_indices", + "type": 787, + "typeName": "Vec" + }, + { + "name": "random_seed", + "type": 1, + "typeName": "[u8; 32]" + }, + { + "name": "dispute_period", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "validators", + "type": 838, + "typeName": "IndexedVec" + }, + { + "name": "discovery_keys", + "type": 839, + "typeName": "Vec" + }, + { + "name": "assignment_keys", + "type": 836, + "typeName": "Vec" + }, + { + "name": "validator_groups", + "type": 840, + "typeName": "IndexedVec>" + }, + { + "name": "n_cores", + "type": 4, + "typeName": "u32" + }, + { + "name": "zeroth_delay_tranche_width", + "type": 4, + "typeName": "u32" + }, + { + "name": "relay_vrf_modulo_samples", + "type": 4, + "typeName": "u32" + }, + { + "name": "n_delay_tranches", + "type": 4, + "typeName": "u32" + }, + { + "name": "no_show_slots", + "type": 4, + "typeName": "u32" + }, + { + "name": "needed_approvals", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 838, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "IndexedVec" + ], + "params": [ + { + "name": "K", + "type": 439 + }, + { + "name": "V", + "type": 382 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 788, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 839, + "type": { + "def": { + "sequence": { + "type": 384 + } + } + } + }, + { + "id": 840, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "IndexedVec" + ], + "params": [ + { + "name": "K", + "type": 101 + }, + { + "name": "V", + "type": 787 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 798, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 841, + "type": { + "def": { + "tuple": [ + 4, + 106 + ] + } + } + }, + { + "id": 842, + "type": { + "path": [ + "polkadot_primitives", + "v4", + "DisputeState" + ], + "params": [ + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "validators_for", + "type": 437, + "typeName": "BitVec" + }, + { + "name": "validators_against", + "type": 437, + "typeName": "BitVec" + }, + { + "name": "start", + "type": 4, + "typeName": "N" + }, + { + "name": "concluded_at", + "type": 73, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 843, + "type": { + "path": [ + "BTreeSet" + ], + "params": [ + { + "name": "T", + "type": 439 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 787 + } + ] + } + } + } + }, + { + "id": 844, + "type": { + "path": [ + "polkadot_runtime_parachains", + "disputes", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "DuplicateDisputeStatementSets", + "index": 0, + "docs": [ + "Duplicate dispute statement sets provided." + ] + }, + { + "name": "AncientDisputeStatement", + "index": 1, + "docs": [ + "Ancient dispute statement provided." + ] + }, + { + "name": "ValidatorIndexOutOfBounds", + "index": 2, + "docs": [ + "Validator index on statement is out of bounds for session." + ] + }, + { + "name": "InvalidSignature", + "index": 3, + "docs": [ + "Invalid signature on statement." + ] + }, + { + "name": "DuplicateStatement", + "index": 4, + "docs": [ + "Validator vote submitted more than once to dispute." + ] + }, + { + "name": "SingleSidedDispute", + "index": 5, + "docs": [ + "A dispute where there are only votes on one side." + ] + }, + { + "name": "MaliciousBacker", + "index": 6, + "docs": [ + "A dispute vote from a malicious backer." + ] + }, + { + "name": "MissingBackingVotes", + "index": 7, + "docs": [ + "No backing votes were provides along dispute statements." + ] + }, + { + "name": "UnconfirmedDispute", + "index": 8, + "docs": [ + "Unconfirmed dispute statement sets provided." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 845, + "type": { + "path": [ + "polkadot_runtime_parachains", + "disputes", + "slashing", + "PendingSlashes" + ], + "def": { + "composite": { + "fields": [ + { + "name": "keys", + "type": 846, + "typeName": "BTreeMap" + }, + { + "name": "kind", + "type": 468, + "typeName": "SlashingOffenceKind" + } + ] + } + } + } + }, + { + "id": 846, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 439 + }, + { + "name": "V", + "type": 382 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 847 + } + ] + } + } + } + }, + { + "id": 847, + "type": { + "def": { + "sequence": { + "type": 848 + } + } + } + }, + { + "id": 848, + "type": { + "def": { + "tuple": [ + 439, + 382 + ] + } + } + }, + { + "id": 849, + "type": { + "path": [ + "polkadot_runtime_parachains", + "disputes", + "slashing", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "InvalidKeyOwnershipProof", + "index": 0, + "docs": [ + "The key ownership proof is invalid." + ] + }, + { + "name": "InvalidSessionIndex", + "index": 1, + "docs": [ + "The session index is too old or invalid." + ] + }, + { + "name": "InvalidCandidateHash", + "index": 2, + "docs": [ + "The candidate hash is invalid." + ] + }, + { + "name": "InvalidValidatorIndex", + "index": 3, + "docs": [ + "There is no pending slash for the given validator index and time", + "slot." + ] + }, + { + "name": "ValidatorIndexIdMismatch", + "index": 4, + "docs": [ + "The validator index does not match the validator id." + ] + }, + { + "name": "DuplicateSlashingReport", + "index": 5, + "docs": [ + "The given slashing report is valid but already previously reported." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 850, + "type": { + "path": [ + "polkadot_runtime_common", + "paras_registrar", + "ParaInfo" + ], + "params": [ + { + "name": "Account", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "manager", + "type": 0, + "typeName": "Account" + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "locked", + "type": 37, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 851, + "type": { + "path": [ + "polkadot_runtime_common", + "paras_registrar", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotRegistered", + "index": 0, + "docs": [ + "The ID is not registered." + ] + }, + { + "name": "AlreadyRegistered", + "index": 1, + "docs": [ + "The ID is already registered." + ] + }, + { + "name": "NotOwner", + "index": 2, + "docs": [ + "The caller is not the owner of this Id." + ] + }, + { + "name": "CodeTooLarge", + "index": 3, + "docs": [ + "Invalid para code size." + ] + }, + { + "name": "HeadDataTooLarge", + "index": 4, + "docs": [ + "Invalid para head data size." + ] + }, + { + "name": "NotParachain", + "index": 5, + "docs": [ + "Para is not a Parachain." + ] + }, + { + "name": "NotParathread", + "index": 6, + "docs": [ + "Para is not a Parathread." + ] + }, + { + "name": "CannotDeregister", + "index": 7, + "docs": [ + "Cannot deregister para" + ] + }, + { + "name": "CannotDowngrade", + "index": 8, + "docs": [ + "Cannot schedule downgrade of parachain to parathread" + ] + }, + { + "name": "CannotUpgrade", + "index": 9, + "docs": [ + "Cannot schedule upgrade of parathread to parachain" + ] + }, + { + "name": "ParaLocked", + "index": 10, + "docs": [ + "Para is locked from manipulation by the manager. Must use parachain or relay chain governance." + ] + }, + { + "name": "NotReserved", + "index": 11, + "docs": [ + "The ID given for registration has not been reserved." + ] + }, + { + "name": "EmptyCode", + "index": 12, + "docs": [ + "Registering parachain with empty code is not allowed." + ] + }, + { + "name": "CannotSwap", + "index": 13, + "docs": [ + "Cannot perform a parachain slot / lifecycle swap. Check that the state of both paras are", + "correct for the swap to work." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 852, + "type": { + "def": { + "sequence": { + "type": 853 + } + } + } + }, + { + "id": 853, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 370 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 370 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 854, + "type": { + "path": [ + "polkadot_runtime_common", + "slots", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "ParaNotOnboarding", + "index": 0, + "docs": [ + "The parachain ID is not onboarding." + ] + }, + { + "name": "LeaseError", + "index": 1, + "docs": [ + "There was an error with the lease." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 855, + "type": { + "def": { + "tuple": [ + 0, + 93 + ] + } + } + }, + { + "id": 856, + "type": { + "def": { + "array": { + "len": 36, + "type": 857 + } + } + } + }, + { + "id": 857, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 858 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 858 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 858, + "type": { + "def": { + "tuple": [ + 0, + 93, + 6 + ] + } + } + }, + { + "id": 859, + "type": { + "path": [ + "polkadot_runtime_common", + "auctions", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "AuctionInProgress", + "index": 0, + "docs": [ + "This auction is already in progress." + ] + }, + { + "name": "LeasePeriodInPast", + "index": 1, + "docs": [ + "The lease period is in the past." + ] + }, + { + "name": "ParaNotRegistered", + "index": 2, + "docs": [ + "Para is not registered" + ] + }, + { + "name": "NotCurrentAuction", + "index": 3, + "docs": [ + "Not a current auction." + ] + }, + { + "name": "NotAuction", + "index": 4, + "docs": [ + "Not an auction." + ] + }, + { + "name": "AuctionEnded", + "index": 5, + "docs": [ + "Auction has already ended." + ] + }, + { + "name": "AlreadyLeasedOut", + "index": 6, + "docs": [ + "The para is already leased out for part of this range." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 860, + "type": { + "path": [ + "polkadot_runtime_common", + "crowdloan", + "FundInfo" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "LeasePeriod", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "depositor", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "verifier", + "type": 474, + "typeName": "Option" + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "raised", + "type": 6, + "typeName": "Balance" + }, + { + "name": "end", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "cap", + "type": 6, + "typeName": "Balance" + }, + { + "name": "last_contribution", + "type": 861, + "typeName": "LastContribution" + }, + { + "name": "first_period", + "type": 4, + "typeName": "LeasePeriod" + }, + { + "name": "last_period", + "type": 4, + "typeName": "LeasePeriod" + }, + { + "name": "fund_index", + "type": 4, + "typeName": "FundIndex" + } + ] + } + } + } + }, + { + "id": 861, + "type": { + "path": [ + "polkadot_runtime_common", + "crowdloan", + "LastContribution" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Never", + "index": 0 + }, + { + "name": "PreEnding", + "fields": [ + { + "type": 4, + "typeName": "u32" + } + ], + "index": 1 + }, + { + "name": "Ending", + "fields": [ + { + "type": 4, + "typeName": "BlockNumber" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 862, + "type": { + "path": [ + "polkadot_runtime_common", + "crowdloan", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "FirstPeriodInPast", + "index": 0, + "docs": [ + "The current lease period is more than the first lease period." + ] + }, + { + "name": "FirstPeriodTooFarInFuture", + "index": 1, + "docs": [ + "The first lease period needs to at least be less than 3 `max_value`." + ] + }, + { + "name": "LastPeriodBeforeFirstPeriod", + "index": 2, + "docs": [ + "Last lease period must be greater than first lease period." + ] + }, + { + "name": "LastPeriodTooFarInFuture", + "index": 3, + "docs": [ + "The last lease period cannot be more than 3 periods after the first period." + ] + }, + { + "name": "CannotEndInPast", + "index": 4, + "docs": [ + "The campaign ends before the current block number. The end must be in the future." + ] + }, + { + "name": "EndTooFarInFuture", + "index": 5, + "docs": [ + "The end date for this crowdloan is not sensible." + ] + }, + { + "name": "Overflow", + "index": 6, + "docs": [ + "There was an overflow." + ] + }, + { + "name": "ContributionTooSmall", + "index": 7, + "docs": [ + "The contribution was below the minimum, `MinContribution`." + ] + }, + { + "name": "InvalidParaId", + "index": 8, + "docs": [ + "Invalid fund index." + ] + }, + { + "name": "CapExceeded", + "index": 9, + "docs": [ + "Contributions exceed maximum amount." + ] + }, + { + "name": "ContributionPeriodOver", + "index": 10, + "docs": [ + "The contribution period has already ended." + ] + }, + { + "name": "InvalidOrigin", + "index": 11, + "docs": [ + "The origin of this call is invalid." + ] + }, + { + "name": "NotParachain", + "index": 12, + "docs": [ + "This crowdloan does not correspond to a parachain." + ] + }, + { + "name": "LeaseActive", + "index": 13, + "docs": [ + "This parachain lease is still active and retirement cannot yet begin." + ] + }, + { + "name": "BidOrLeaseActive", + "index": 14, + "docs": [ + "This parachain's bid or lease is still active and withdraw cannot yet begin." + ] + }, + { + "name": "FundNotEnded", + "index": 15, + "docs": [ + "The crowdloan has not yet ended." + ] + }, + { + "name": "NoContributions", + "index": 16, + "docs": [ + "There are no contributions stored in this crowdloan." + ] + }, + { + "name": "NotReadyToDissolve", + "index": 17, + "docs": [ + "The crowdloan is not ready to dissolve. Potentially still has a slot or in retirement period." + ] + }, + { + "name": "InvalidSignature", + "index": 18, + "docs": [ + "Invalid signature." + ] + }, + { + "name": "MemoTooLarge", + "index": 19, + "docs": [ + "The provided memo is too large." + ] + }, + { + "name": "AlreadyInNewRaise", + "index": 20, + "docs": [ + "The fund is already in `NewRaise`" + ] + }, + { + "name": "VrfDelayInProgress", + "index": 21, + "docs": [ + "No contributions allowed during the VRF delay" + ] + }, + { + "name": "NoLeasePeriod", + "index": 22, + "docs": [ + "A lease period has not started yet, due to an offset in the starting block." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 863, + "type": { + "path": [ + "pallet_xcm", + "pallet", + "QueryStatus" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Pending", + "fields": [ + { + "name": "responder", + "type": 166, + "typeName": "VersionedMultiLocation" + }, + { + "name": "maybe_match_querier", + "type": 864, + "typeName": "Option" + }, + { + "name": "maybe_notify", + "type": 865, + "typeName": "Option<(u8, u8)>" + }, + { + "name": "timeout", + "type": 4, + "typeName": "BlockNumber" + } + ], + "index": 0 + }, + { + "name": "VersionNotifier", + "fields": [ + { + "name": "origin", + "type": 166, + "typeName": "VersionedMultiLocation" + }, + { + "name": "is_active", + "type": 37, + "typeName": "bool" + } + ], + "index": 1 + }, + { + "name": "Ready", + "fields": [ + { + "name": "response", + "type": 867, + "typeName": "VersionedResponse" + }, + { + "name": "at", + "type": 4, + "typeName": "BlockNumber" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 864, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 166 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 166 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 865, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 866 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 866 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 866, + "type": { + "def": { + "tuple": [ + 2, + 2 + ] + } + } + }, + { + "id": 867, + "type": { + "path": [ + "xcm", + "VersionedResponse" + ], + "def": { + "variant": { + "variants": [ + { + "name": "V2", + "fields": [ + { + "type": 487, + "typeName": "v2::Response" + } + ], + "index": 2 + }, + { + "name": "V3", + "fields": [ + { + "type": 135, + "typeName": "v3::Response" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 868, + "type": { + "def": { + "tuple": [ + 4, + 166 + ] + } + } + }, + { + "id": 869, + "type": { + "def": { + "tuple": [ + 11, + 9, + 4 + ] + } + } + }, + { + "id": 870, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 871 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 872, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 871, + "type": { + "def": { + "tuple": [ + 166, + 4 + ] + } + } + }, + { + "id": 872, + "type": { + "def": { + "sequence": { + "type": 871 + } + } + } + }, + { + "id": 873, + "type": { + "path": [ + "pallet_xcm", + "pallet", + "VersionMigrationStage" + ], + "def": { + "variant": { + "variants": [ + { + "name": "MigrateSupportedVersion", + "index": 0 + }, + { + "name": "MigrateVersionNotifiers", + "index": 1 + }, + { + "name": "NotifyCurrentTargets", + "fields": [ + { + "type": 874, + "typeName": "Option>" + } + ], + "index": 2 + }, + { + "name": "MigrateAndNotifyOldTargets", + "index": 3 + } + ] + } + } + } + }, + { + "id": 874, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 13 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 13 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 875, + "type": { + "def": { + "tuple": [ + 4, + 0, + 876 + ] + } + } + }, + { + "id": 876, + "type": { + "path": [ + "xcm", + "VersionedAssetId" + ], + "def": { + "variant": { + "variants": [ + { + "name": "V3", + "fields": [ + { + "type": 131, + "typeName": "v3::AssetId" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 877, + "type": { + "path": [ + "pallet_xcm", + "pallet", + "RemoteLockedFungibleRecord" + ], + "params": [ + { + "name": "ConsumerIdentifier", + "type": 56 + }, + { + "name": "MaxConsumers", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "amount", + "type": 6, + "typeName": "u128" + }, + { + "name": "owner", + "type": 166, + "typeName": "VersionedMultiLocation" + }, + { + "name": "locker", + "type": 166, + "typeName": "VersionedMultiLocation" + }, + { + "name": "consumers", + "type": 878, + "typeName": "BoundedVec<(ConsumerIdentifier, u128), MaxConsumers>" + } + ] + } + } + } + }, + { + "id": 878, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 879 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 880, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 879, + "type": { + "def": { + "tuple": [ + 56, + 6 + ] + } + } + }, + { + "id": 880, + "type": { + "def": { + "sequence": { + "type": 879 + } + } + } + }, + { + "id": 881, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 882 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 883, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 882, + "type": { + "def": { + "tuple": [ + 6, + 166 + ] + } + } + }, + { + "id": 883, + "type": { + "def": { + "sequence": { + "type": 882 + } + } + } + }, + { + "id": 884, + "type": { + "path": [ + "pallet_xcm", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Unreachable", + "index": 0, + "docs": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "index": 1, + "docs": [ + "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", + "a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "index": 2, + "docs": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "index": 3, + "docs": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "index": 4, + "docs": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "index": 5, + "docs": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "index": 6, + "docs": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "index": 7, + "docs": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "index": 8, + "docs": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "index": 9, + "docs": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "index": 10, + "docs": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "index": 11, + "docs": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "index": 12, + "docs": [ + "The location is invalid since it already has a subscription from us." + ] + }, + { + "name": "InvalidAsset", + "index": 13, + "docs": [ + "Invalid asset for the operation." + ] + }, + { + "name": "LowBalance", + "index": 14, + "docs": [ + "The owner does not own (all) of the asset that they wish to do the operation on." + ] + }, + { + "name": "TooManyLocks", + "index": 15, + "docs": [ + "The asset owner has too many locks on the asset." + ] + }, + { + "name": "AccountNotSovereign", + "index": 16, + "docs": [ + "The given account is not an identifiable sovereign account for any location." + ] + }, + { + "name": "FeesNotMet", + "index": 17, + "docs": [ + "The operation required fees to be paid which the initiator could not meet." + ] + }, + { + "name": "LockNotFound", + "index": 18, + "docs": [ + "A remote lock with the corresponding data could not be found." + ] + }, + { + "name": "InUse", + "index": 19, + "docs": [ + "The unlock operation cannot succeed because there are still consumers of the lock." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 885, + "type": { + "path": [ + "pallet_message_queue", + "BookState" + ], + "params": [ + { + "name": "MessageOrigin", + "type": 168 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "begin", + "type": 4, + "typeName": "PageIndex" + }, + { + "name": "end", + "type": 4, + "typeName": "PageIndex" + }, + { + "name": "count", + "type": 4, + "typeName": "PageIndex" + }, + { + "name": "ready_neighbours", + "type": 886, + "typeName": "Option>" + }, + { + "name": "message_count", + "type": 11, + "typeName": "u64" + }, + { + "name": "size", + "type": 11, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 886, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 887 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 887 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 887, + "type": { + "path": [ + "pallet_message_queue", + "Neighbours" + ], + "params": [ + { + "name": "MessageOrigin", + "type": 168 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "prev", + "type": 168, + "typeName": "MessageOrigin" + }, + { + "name": "next", + "type": 168, + "typeName": "MessageOrigin" + } + ] + } + } + } + }, + { + "id": 888, + "type": { + "def": { + "tuple": [ + 168, + 4 + ] + } + } + }, + { + "id": 889, + "type": { + "path": [ + "pallet_message_queue", + "Page" + ], + "params": [ + { + "name": "Size", + "type": 4 + }, + { + "name": "HeapSize", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "remaining", + "type": 4, + "typeName": "Size" + }, + { + "name": "remaining_size", + "type": 4, + "typeName": "Size" + }, + { + "name": "first_index", + "type": 4, + "typeName": "Size" + }, + { + "name": "first", + "type": 4, + "typeName": "Size" + }, + { + "name": "last", + "type": 4, + "typeName": "Size" + }, + { + "name": "heap", + "type": 890, + "typeName": "BoundedVec>" + } + ] + } + } + } + }, + { + "id": 890, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 891, + "type": { + "path": [ + "pallet_message_queue", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotReapable", + "index": 0, + "docs": [ + "Page is not reapable because it has items remaining to be processed and is not old", + "enough." + ] + }, + { + "name": "NoPage", + "index": 1, + "docs": [ + "Page to be reaped does not exist." + ] + }, + { + "name": "NoMessage", + "index": 2, + "docs": [ + "The referenced message could not be found." + ] + }, + { + "name": "AlreadyProcessed", + "index": 3, + "docs": [ + "The message was already processed and cannot be processed again." + ] + }, + { + "name": "Queued", + "index": 4, + "docs": [ + "The message is queued for future execution." + ] + }, + { + "name": "InsufficientWeight", + "index": 5, + "docs": [ + "There is temporarily not enough weight to continue servicing messages." + ] + }, + { + "name": "TemporarilyUnprocessable", + "index": 6, + "docs": [ + "This message is temporarily unprocessable.", + "", + "Such errors are expected, but not guaranteed, to resolve themselves eventually through", + "retrying." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 892, + "type": { + "path": [ + "polkadot_runtime_common", + "paras_sudo_wrapper", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "ParaDoesntExist", + "index": 0, + "docs": [ + "The specified parachain or parathread is not registered." + ] + }, + { + "name": "ParaAlreadyExists", + "index": 1, + "docs": [ + "The specified parachain or parathread is already registered." + ] + }, + { + "name": "ExceedsMaxMessageSize", + "index": 2, + "docs": [ + "A DMP message couldn't be sent because it exceeds the maximum size allowed for a downward", + "message." + ] + }, + { + "name": "CouldntCleanup", + "index": 3, + "docs": [ + "Could not schedule para cleanup." + ] + }, + { + "name": "NotParathread", + "index": 4, + "docs": [ + "Not a parathread." + ] + }, + { + "name": "NotParachain", + "index": 5, + "docs": [ + "Not a parachain." + ] + }, + { + "name": "CannotUpgrade", + "index": 6, + "docs": [ + "Cannot upgrade parathread." + ] + }, + { + "name": "CannotDowngrade", + "index": 7, + "docs": [ + "Cannot downgrade parachain." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 893, + "type": { + "path": [ + "polkadot_runtime_common", + "assigned_slots", + "ParachainTemporarySlot" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "LeasePeriod", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "manager", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "period_begin", + "type": 4, + "typeName": "LeasePeriod" + }, + { + "name": "period_count", + "type": 4, + "typeName": "LeasePeriod" + }, + { + "name": "last_lease", + "type": 73, + "typeName": "Option" + }, + { + "name": "lease_count", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 894, + "type": { + "path": [ + "polkadot_runtime_common", + "assigned_slots", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "ParaDoesntExist", + "index": 0, + "docs": [ + "The specified parachain or parathread is not registered." + ] + }, + { + "name": "NotParathread", + "index": 1, + "docs": [ + "Not a parathread." + ] + }, + { + "name": "CannotUpgrade", + "index": 2, + "docs": [ + "Cannot upgrade parathread." + ] + }, + { + "name": "CannotDowngrade", + "index": 3, + "docs": [ + "Cannot downgrade parachain." + ] + }, + { + "name": "SlotAlreadyAssigned", + "index": 4, + "docs": [ + "Permanent or Temporary slot already assigned." + ] + }, + { + "name": "SlotNotAssigned", + "index": 5, + "docs": [ + "Permanent or Temporary slot has not been assigned." + ] + }, + { + "name": "OngoingLeaseExists", + "index": 6, + "docs": [ + "An ongoing lease already exists." + ] + }, + { + "name": "MaxPermanentSlotsExceeded", + "index": 7 + }, + { + "name": "MaxTemporarySlotsExceeded", + "index": 8 + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 895, + "type": { + "def": { + "tuple": [ + 6, + 6, + 0 + ] + } + } + }, + { + "id": 896, + "type": { + "def": { + "tuple": [ + 6, + 6 + ] + } + } + }, + { + "id": 897, + "type": { + "def": { + "tuple": [ + 6, + 0 + ] + } + } + }, + { + "id": 898, + "type": { + "def": { + "tuple": [ + 6, + 77, + 201 + ] + } + } + }, + { + "id": 899, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 900, + "type": { + "path": [ + "ep_core", + "frame", + "migrations", + "Migration" + ], + "params": [ + { + "name": "MaxMigrationKeyLength", + "type": 901 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "stage", + "type": 243, + "typeName": "MigrationStage" + }, + { + "name": "last_iterated_key", + "type": 902, + "typeName": "Option>" + } + ] + } + } + } + }, + { + "id": 901, + "type": { + "path": [ + "enjin_runtime", + "MaxMigrationKeyLength" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 902, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 899 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 899 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 903, + "type": { + "path": [ + "ep_multi_tokens", + "types", + "NativeAssetInfo" + ], + "params": [ + { + "name": "AssetId", + "type": 177 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "id", + "type": 177, + "typeName": "AssetId" + }, + { + "name": "units_per_second", + "type": 6, + "typeName": "u128" + } + ] + } + } + } + }, + { + "id": 904, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 905 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 907, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 905, + "type": { + "path": [ + "ep_core", + "frame", + "types", + "ExtrinsicInfo" + ], + "params": [ + { + "name": "MaxNameLength", + "type": 272 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "pallet_name", + "type": 271, + "typeName": "BoundedString" + }, + { + "name": "extrinsic_name", + "type": 906, + "typeName": "Option>" + } + ] + } + } + } + }, + { + "id": 906, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 271 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 271 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 907, + "type": { + "def": { + "sequence": { + "type": 905 + } + } + } + }, + { + "id": 908, + "type": { + "path": [ + "pallet_multi_tokens", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "CollectionNotFound", + "index": 0, + "docs": [ + "Collection was not found" + ] + }, + { + "name": "CollectionAccountNotFound", + "index": 1, + "docs": [ + "CollectionAccount was not found" + ] + }, + { + "name": "TokenNotFound", + "index": 2, + "docs": [ + "Token was not found" + ] + }, + { + "name": "TokenAccountNotFound", + "index": 3, + "docs": [ + "TokenAccount was not found" + ] + }, + { + "name": "NoPermission", + "index": 4, + "docs": [ + "Caller is not allowed to execute this extrinsic" + ] + }, + { + "name": "BalanceLow", + "index": 5, + "docs": [ + "Not enough balance to perform the operation." + ] + }, + { + "name": "Frozen", + "index": 6, + "docs": [ + "The operation failed due to an item being frozen" + ] + }, + { + "name": "HasNeverFreezeState", + "index": 7, + "docs": [ + "The token has a never freeze state. The state cannot be changed and the token cannot be", + "frozen." + ] + }, + { + "name": "PermanentlyFrozen", + "index": 8, + "docs": [ + "The token is permanently frozen" + ] + }, + { + "name": "InvalidFreezeState", + "index": 9, + "docs": [ + "The freeze state is not valid" + ] + }, + { + "name": "AmountZero", + "index": 10, + "docs": [ + "An amount of zero was used when it's not allowed" + ] + }, + { + "name": "InvalidAttributeKey", + "index": 11, + "docs": [ + "Attribute key invalid" + ] + }, + { + "name": "MaxTokenCountExceeded", + "index": 12, + "docs": [ + "Tried to mint more tokens than allowed" + ] + }, + { + "name": "TokenMintCapExceeded", + "index": 13, + "docs": [ + "The cap for the token was exceeded during mint" + ] + }, + { + "name": "TokenAlreadyExists", + "index": 14, + "docs": [ + "Tried to create Token that already exists" + ] + }, + { + "name": "DestroyForbiddenByAttributeCount", + "index": 15, + "docs": [ + "The collection or token cannot be destroyed because it has attributes" + ] + }, + { + "name": "DestroyForbiddenByRemainingTokens", + "index": 16, + "docs": [ + "Destroy is not allowed on collections that have tokens. Destroy all tokens before", + "calling [`destroy_collection`](Pallet::destroy_collection). Keep in mind that the", + "[`Tokens`] storage can remain even if all of [`Token`](ep_multi_tokens::Token)'s units", + "were burned. A token can only be destroyed by setting", + "[`remove_token_storage`](OnBurnInput::remove_token_storage) to true in", + "[`burn`](Pallet::burn)." + ] + }, + { + "name": "DestroyForbiddenByCollectionEvent", + "index": 17, + "docs": [ + "The `OnCollectionEvent` trait has forbidden burning of the collection" + ] + }, + { + "name": "DepositReserveFailed", + "index": 18, + "docs": [ + "Unable to reserve the amount to create a new collection/token" + ] + }, + { + "name": "DepositUnreserveFailed", + "index": 19, + "docs": [ + "Unable to unreserve the amount to burn an existing collection/token" + ] + }, + { + "name": "InvalidUnitPrice", + "index": 20, + "docs": [ + "The unit price cannot be zero, cannot decrease, and `unit_price * total_supply` must", + "be greater than `TokenAccountDeposit`" + ] + }, + { + "name": "BalanceBelowMinimumRequirement", + "index": 21, + "docs": [ + "The balance is below the minimum required balance" + ] + }, + { + "name": "MintFailedRequirements", + "index": 22, + "docs": [ + "The minting did not meet the requirements set by the mint policy" + ] + }, + { + "name": "IdleOperationQueueFull", + "index": 23, + "docs": [ + "The idle operation queue is full and cannot accept new operations" + ] + }, + { + "name": "ReservesLow", + "index": 24, + "docs": [ + "Reserved balance is not enough to perform the operation" + ] + }, + { + "name": "TooManyReserves", + "index": 25, + "docs": [ + "Max named reserves for an account are exceeded" + ] + }, + { + "name": "TooManyLocks", + "index": 26, + "docs": [ + "Max named locks for an account are exceeded" + ] + }, + { + "name": "LiquidityRestrictions", + "index": 27, + "docs": [ + "The balance is locked or restricted" + ] + }, + { + "name": "PercentageOutOfBounds", + "index": 28, + "docs": [ + "Royalty percentage is above or below allowed bounds" + ] + }, + { + "name": "CurrencyIncompatibleWithCollectionRoyalty", + "index": 29, + "docs": [ + "Token cannot act as both a currency and a royalty" + ] + }, + { + "name": "MaxApprovalsExceeded", + "index": 30, + "docs": [ + "The max number of approvals for this account was exceeded" + ] + }, + { + "name": "AlreadyExpired", + "index": 31, + "docs": [ + "Tried to set an expiration that has already passed" + ] + }, + { + "name": "CollectionAlreadyApproved", + "index": 32, + "docs": [ + "The collection is already approved for all, so it is useless to approve for a single", + "token" + ] + }, + { + "name": "InsufficientAllowance", + "index": 33, + "docs": [ + "Not enough allowance to perform the operation" + ] + }, + { + "name": "WrongCurrentApprovedAmount", + "index": 34, + "docs": [ + "The passed `current_amount` does not match the actual current amount of the approval" + ] + }, + { + "name": "CannotApproveSelf", + "index": 35, + "docs": [ + "An account cannot approve itself as an operator" + ] + }, + { + "name": "CannotTransferToSelf", + "index": 36, + "docs": [ + "An account cannot transfer tokens to itself" + ] + }, + { + "name": "TransferParamCreationFailed", + "index": 37, + "docs": [ + "Transfer params could not be created" + ] + }, + { + "name": "OperationNotAllowedForNativeToken", + "index": 38, + "docs": [ + "This operation is not allowed for the native token" + ] + }, + { + "name": "InvalidExplicitRoyaltyCurrencies", + "index": 39, + "docs": [ + "One or more of the explicit royalty currencies are invalid" + ] + }, + { + "name": "InvalidAttributeCount", + "index": 40, + "docs": [ + "Provided attribute count doesnt match the count is storage" + ] + }, + { + "name": "ConflictingLocation", + "index": 41, + "docs": [ + "Conflicting MultiLocation for an AssetId" + ] + }, + { + "name": "CollectionIdAlreadyInUse", + "index": 42, + "docs": [ + "Collection ID is already in use" + ] + }, + { + "name": "FreezeStateRequired", + "index": 43, + "docs": [ + "Freeze state is required when freezing a token" + ] + }, + { + "name": "PremintExceeded", + "index": 44, + "docs": [ + "The preminted amount would be exceeded by the mint operation" + ] + }, + { + "name": "TokenMetadataCreationFailed", + "index": 45, + "docs": [ + "Token metadata could not be created from mint params" + ] + }, + { + "name": "NoClaimAvailable", + "index": 46, + "docs": [ + "There is nothing to claim" + ] + }, + { + "name": "InvalidEthereumSignature", + "index": 47, + "docs": [ + "The ethereum signature is invalid" + ] + }, + { + "name": "InvalidEthereumAddress", + "index": 48, + "docs": [ + "The ethereum address does not match the signature" + ] + }, + { + "name": "EthereumCollectionIdConversionFailed", + "index": 49, + "docs": [ + "The ethereum collection id could not be converted to a native collection id" + ] + }, + { + "name": "TokenIdReservedForClaim", + "index": 50, + "docs": [ + "The token id cannot be minted because it's reserved for claiming" + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 909, + "type": { + "path": [ + "pallet_fuel_tanks", + "types", + "FuelTank" + ], + "params": [ + { + "name": "Name", + "type": 250 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "DispatchRuleSets", + "type": 910 + }, + { + "name": "AccountRuleSets", + "type": 929 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "name", + "type": 250, + "typeName": "Name" + }, + { + "name": "rule_sets", + "type": 910, + "typeName": "DispatchRuleSets" + }, + { + "name": "total_reserved", + "type": 63, + "typeName": "Balance" + }, + { + "name": "account_count", + "type": 119, + "typeName": "u32" + }, + { + "name": "user_account_management", + "type": 256, + "typeName": "Option" + }, + { + "name": "is_frozen", + "type": 37, + "typeName": "bool" + }, + { + "name": "provides_deposit", + "type": 37, + "typeName": "bool" + }, + { + "name": "account_rules", + "type": 929, + "typeName": "AccountRuleSets" + } + ] + } + } + } + }, + { + "id": 910, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 4 + }, + { + "name": "V", + "type": 911 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 926, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 911, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "RuleSet" + ], + "params": [ + { + "name": "Rule", + "type": 912 + }, + { + "name": "MaxRules", + "type": 561 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "rules", + "type": 922, + "typeName": "BoundedBTreeMap" + }, + { + "name": "is_frozen", + "type": 37, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 912, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "DispatchRuleWrapper" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "WhitelistedCallers", + "fields": [ + { + "type": 262, + "typeName": "WhitelistedCallersRuleOf" + } + ], + "index": 0 + }, + { + "name": "WhitelistedCollections", + "fields": [ + { + "type": 545, + "typeName": "WhitelistedCollectionsRuleOf" + } + ], + "index": 1 + }, + { + "name": "MaxFuelBurnPerTransaction", + "fields": [ + { + "type": 548, + "typeName": "MaxFuelBurnPerTransactionRuleOf" + } + ], + "index": 2 + }, + { + "name": "UserFuelBudget", + "fields": [ + { + "type": 913, + "typeName": "UserFuelBudgetRuleOf" + } + ], + "index": 3 + }, + { + "name": "TankFuelBudget", + "fields": [ + { + "type": 914, + "typeName": "TankFuelBudgetRuleOf" + } + ], + "index": 4 + }, + { + "name": "RequireToken", + "fields": [ + { + "type": 266, + "typeName": "RequireTokenRuleOf" + } + ], + "index": 5 + }, + { + "name": "PermittedCalls", + "fields": [ + { + "type": 552, + "typeName": "PermittedCallsRuleOf" + } + ], + "index": 6 + }, + { + "name": "PermittedExtrinsics", + "fields": [ + { + "type": 915, + "typeName": "PermittedExtrinsicsRuleOf" + } + ], + "index": 7 + } + ] + } + } + } + }, + { + "id": 913, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "user_fuel_budget", + "UserFuelBudgetRule" + ], + "params": [ + { + "name": "Budget", + "type": 550 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "budget", + "type": 550, + "typeName": "Budget" + }, + { + "name": "user_count", + "type": 119, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 914, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "tank_fuel_budget", + "TankFuelBudgetRule" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "budget", + "type": 550, + "typeName": "Budget" + }, + { + "name": "consumption", + "type": 269, + "typeName": "Consumption" + } + ] + } + } + } + }, + { + "id": 915, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "permitted_extrinsics", + "PermittedExtrinsicsRule" + ], + "params": [ + { + "name": "ExtrinsicInfo", + "type": 916 + }, + { + "name": "Max", + "type": 559 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 920, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 916, + "type": { + "path": [ + "pallet_fuel_tanks", + "types", + "ExtrinsicInfo" + ], + "params": [ + { + "name": "MaxNameLength", + "type": 917 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "pallet_name", + "type": 918, + "typeName": "BoundedString" + }, + { + "name": "extrinsic_name", + "type": 918, + "typeName": "BoundedString" + } + ] + } + } + } + }, + { + "id": 917, + "type": { + "path": [ + "enjin_runtime", + "MaxExtrinsicNameLength" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 918, + "type": { + "path": [ + "ep_core", + "frame", + "types", + "BoundedString" + ], + "params": [ + { + "name": "MaxLength", + "type": 917 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 919, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 919, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 920, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 916 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 921, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 921, + "type": { + "def": { + "sequence": { + "type": 916 + } + } + } + }, + { + "id": 922, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 268 + }, + { + "name": "V", + "type": 912 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 923, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 923, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 268 + }, + { + "name": "V", + "type": 912 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 924 + } + ] + } + } + } + }, + { + "id": 924, + "type": { + "def": { + "sequence": { + "type": 925 + } + } + } + }, + { + "id": 925, + "type": { + "def": { + "tuple": [ + 268, + 912 + ] + } + } + }, + { + "id": 926, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 4 + }, + { + "name": "V", + "type": 911 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 927 + } + ] + } + } + } + }, + { + "id": 927, + "type": { + "def": { + "sequence": { + "type": 928 + } + } + } + }, + { + "id": 928, + "type": { + "def": { + "tuple": [ + 4, + 911 + ] + } + } + }, + { + "id": 929, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 930 + }, + { + "name": "V", + "type": 931 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 932, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 930, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "AccountRuleKind" + ], + "def": { + "variant": { + "variants": [ + { + "name": "WhitelistedCallers", + "index": 0 + }, + { + "name": "RequireToken", + "index": 1 + } + ] + } + } + } + }, + { + "id": 931, + "type": { + "path": [ + "pallet_fuel_tanks", + "rules", + "AccountRuleWrapper" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "WhitelistedCallers", + "fields": [ + { + "type": 262, + "typeName": "WhitelistedCallersRuleOf" + } + ], + "index": 0 + }, + { + "name": "RequireToken", + "fields": [ + { + "type": 266, + "typeName": "RequireTokenRuleOf" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 932, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 930 + }, + { + "name": "V", + "type": 931 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 933 + } + ] + } + } + } + }, + { + "id": 933, + "type": { + "def": { + "sequence": { + "type": 934 + } + } + } + }, + { + "id": 934, + "type": { + "def": { + "tuple": [ + 930, + 931 + ] + } + } + }, + { + "id": 935, + "type": { + "def": { + "tuple": [ + 0, + 0 + ] + } + } + }, + { + "id": 936, + "type": { + "path": [ + "pallet_fuel_tanks", + "types", + "UserAccount" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "RuleSetId", + "type": 4 + }, + { + "name": "MaxRuleSets", + "type": 937 + }, + { + "name": "MaxRuleCount", + "type": 561 + }, + { + "name": "MaxRuleDataLength", + "type": 938 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "tank_deposit", + "type": 63, + "typeName": "Balance" + }, + { + "name": "user_deposit", + "type": 63, + "typeName": "Balance" + }, + { + "name": "rule_data_sets", + "type": 939, + "typeName": "BoundedBTreeMap, MaxRuleCount>, MaxRuleSets,>" + } + ] + } + } + } + }, + { + "id": 937, + "type": { + "path": [ + "enjin_runtime", + "MaxRuleSets" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 938, + "type": { + "path": [ + "enjin_runtime", + "MaxAccountRuleDataLength" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 939, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 4 + }, + { + "name": "V", + "type": 940 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 945, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 940, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 268 + }, + { + "name": "V", + "type": 941 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 942, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 941, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 942, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 268 + }, + { + "name": "V", + "type": 941 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 943 + } + ] + } + } + } + }, + { + "id": 943, + "type": { + "def": { + "sequence": { + "type": 944 + } + } + } + }, + { + "id": 944, + "type": { + "def": { + "tuple": [ + 268, + 941 + ] + } + } + }, + { + "id": 945, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 4 + }, + { + "name": "V", + "type": 940 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 946 + } + ] + } + } + } + }, + { + "id": 946, + "type": { + "def": { + "sequence": { + "type": 947 + } + } + } + }, + { + "id": 947, + "type": { + "def": { + "tuple": [ + 4, + 940 + ] + } + } + }, + { + "id": 948, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 949 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 950, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 949, + "type": { + "path": [ + "pallet_fuel_tanks", + "types", + "FreezeQueueItem" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "RuleSetId", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "tank_id", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "rule_set_id", + "type": 73, + "typeName": "Option" + }, + { + "name": "is_frozen", + "type": 37, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 950, + "type": { + "def": { + "sequence": { + "type": 949 + } + } + } + }, + { + "id": 951, + "type": { + "path": [ + "pallet_fuel_tanks", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "FuelTankNotFound", + "index": 0, + "docs": [ + "Fuel Tank not found" + ] + }, + { + "name": "FuelTankAlreadyExists", + "index": 1, + "docs": [ + "Fuel Tank already exists" + ] + }, + { + "name": "InsufficientBalance", + "index": 2, + "docs": [ + "Not enough funds to perform operation" + ] + }, + { + "name": "UsageRestricted", + "index": 3, + "docs": [ + "Fuel tank cannot be used due to restrictions" + ] + }, + { + "name": "FuelTankOutOfFunds", + "index": 4, + "docs": [ + "Fuel tank doesnt have enough funds" + ] + }, + { + "name": "RuleSetNotFound", + "index": 5, + "docs": [ + "The rule set does not exist" + ] + }, + { + "name": "RuleNotFound", + "index": 6, + "docs": [ + "The rule is missing" + ] + }, + { + "name": "NoPermission", + "index": 7, + "docs": [ + "User does not have permission to perform operation" + ] + }, + { + "name": "AccountAlreadyExists", + "index": 8, + "docs": [ + "The account already exists" + ] + }, + { + "name": "AccountNotFound", + "index": 9, + "docs": [ + "The account was not found" + ] + }, + { + "name": "DestroyWithExistingAccounts", + "index": 10, + "docs": [ + "Destroying fuel tank is not possible while it has existing accounts attached" + ] + }, + { + "name": "DestroyUnfrozenTank", + "index": 11, + "docs": [ + "Destroying fuel tank is not possible while it is not frozen" + ] + }, + { + "name": "MaxRuleSetsExceeded", + "index": 12, + "docs": [ + "Max number of rules sets per fuel tank was exceeded" + ] + }, + { + "name": "UserRuleDataExceededMaxSize", + "index": 13, + "docs": [ + "The size of the user rule data is greater than the allowed amount" + ] + }, + { + "name": "DecodeUserRuleDataFailed", + "index": 14, + "docs": [ + "The user rule data could not be decoded" + ] + }, + { + "name": "FreezeQueueFull", + "index": 15, + "docs": [ + "The queue for fuel tank and rule set freezing is full" + ] + }, + { + "name": "RequiresFrozenTankOrRuleset", + "index": 16, + "docs": [ + "Either the tank or ruleset must be frozen for this operation" + ] + }, + { + "name": "RequiresFrozenTank", + "index": 17, + "docs": [ + "The fuel tank must be frozen for this operation" + ] + }, + { + "name": "MissingRequiredRule", + "index": 18, + "docs": [ + "A rule that is required for this operation does not exist" + ] + }, + { + "name": "MissingRequiredRuleUserData", + "index": 19, + "docs": [ + "User data for the required rule does not exist" + ] + }, + { + "name": "InvalidRuleSet", + "index": 20, + "docs": [ + "The rule set of the fuel tank is misconfigured. This error should never occur." + ] + }, + { + "name": "AccountContainsRuleData", + "index": 21, + "docs": [ + "A user cannot remove an account that is storing data for a rule" + ] + }, + { + "name": "CannotRemoveRuleThatIsStoringAccountData", + "index": 22, + "docs": [ + "A rule cannot be removed from a rule set if it is storing data on any account" + ] + }, + { + "name": "DuplicateRuleKinds", + "index": 23, + "docs": [ + "A fuel tank cannot have more than one rule of the same kind" + ] + }, + { + "name": "MintDepositCalculationError", + "index": 24, + "docs": [ + "Problems calculating the mint deposit for a call" + ] + }, + { + "name": "FuelTankFrozen", + "index": 25, + "docs": [ + "The fuel tank is frozen" + ] + }, + { + "name": "CallerDoesNotHaveRuleSetTokenBalance", + "index": 26, + "docs": [ + "The user does not have the token required by rule set" + ] + }, + { + "name": "NoDataToRemove", + "index": 27, + "docs": [ + "The user does not have any data stored for rule set" + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 952, + "type": { + "path": [ + "pallet_extrinsic_pause", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "CannotPauseSelf", + "index": 0, + "docs": [ + "Cannot pause this pallet or it's extrinsic" + ] + }, + { + "name": "CannotProcessInput", + "index": 1, + "docs": [ + "Cannot read the pallet or extrinsic name" + ] + } + ] + } + }, + "docs": [ + "Pallet's error type." + ] + } + }, + { + "id": 953, + "type": { + "path": [ + "pallet_marketplace", + "types", + "MarketPlaceInfo" + ], + "def": { + "composite": { + "fields": [ + { + "name": "protocol_fee", + "type": 44, + "typeName": "Perbill" + } + ] + } + } + } + }, + { + "id": 954, + "type": { + "path": [ + "pallet_marketplace", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "UnableToFill", + "index": 0, + "docs": [ + "the order cannot be filled" + ] + }, + { + "name": "ListingNotFound", + "index": 1, + "docs": [ + "The listing does not exist" + ] + }, + { + "name": "NoPermission", + "index": 2, + "docs": [ + "The caller does not have permission for this operation" + ] + }, + { + "name": "MaxRoundingErrorExceeded", + "index": 3, + "docs": [ + "The max rounding error was exceeded" + ] + }, + { + "name": "LowBaseCurrencyBalance", + "index": 4, + "docs": [ + "The base currency balance is too low" + ] + }, + { + "name": "LowTokenBalance", + "index": 5, + "docs": [ + "The token balance is too low" + ] + }, + { + "name": "TransferParamCreationFailed", + "index": 6, + "docs": [ + "Transfer params could not be created" + ] + }, + { + "name": "TakeValueUnderMinimum", + "index": 7, + "docs": [ + "The take value is under the minimum requirement" + ] + }, + { + "name": "ListingAlreadyExists", + "index": 8, + "docs": [ + "A listing with this id already exists" + ] + }, + { + "name": "InvalidAuctionStart", + "index": 9, + "docs": [ + "The start time of the auction must be greater than the current block plus the", + "minimum requirement" + ] + }, + { + "name": "InvalidAuctionEnd", + "index": 10, + "docs": [ + "The end time of the auction must be after the start" + ] + }, + { + "name": "InactiveAuction", + "index": 11, + "docs": [ + "Cannot bid on an auction that has not started or is over" + ] + }, + { + "name": "AuctionNotOver", + "index": 12, + "docs": [ + "Cannot finalize an auction that is not over" + ] + }, + { + "name": "ListingIsWrongType", + "index": 13, + "docs": [ + "An action was taken that is not compatible with the listing's type." + ] + }, + { + "name": "InvalidAmount", + "index": 14, + "docs": [ + "The amount is invalid" + ] + }, + { + "name": "InvalidPrice", + "index": 15, + "docs": [ + "The price is invalid" + ] + }, + { + "name": "ListingForbidden", + "index": 16, + "docs": [ + "Listing is forbidden for this token" + ] + }, + { + "name": "NoCurrency", + "index": 17, + "docs": [ + "Neither the make side or the take side of the listing is considered a currency" + ] + }, + { + "name": "ListingNotActive", + "index": 18, + "docs": [ + "The listing has not crossed the mandatory delay before its considered active" + ] + }, + { + "name": "CurrencyNotAllowedAsRoyalty", + "index": 19, + "docs": [ + "The currency is not allowed to be used as a royalty payment" + ] + }, + { + "name": "BuyerIsSeller", + "index": 20, + "docs": [ + "The seller is not allowed to buy their own listing" + ] + } + ] + } + }, + "docs": [ + "The error for this pallet" + ] + } + }, + { + "id": 955, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 575 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 956, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 956, + "type": { + "def": { + "sequence": { + "type": 575 + } + } + } + }, + { + "id": 957, + "type": { + "path": [ + "pallet_beefy", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "InvalidKeyOwnershipProof", + "index": 0, + "docs": [ + "A key ownership proof provided as part of an equivocation report is invalid." + ] + }, + { + "name": "InvalidEquivocationProof", + "index": 1, + "docs": [ + "An equivocation proof provided as part of an equivocation report is invalid." + ] + }, + { + "name": "DuplicateOffenceReport", + "index": 2, + "docs": [ + "A given equivocation report is valid but already previously reported." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 958, + "type": { + "path": [ + "sp_consensus_beefy", + "mmr", + "BeefyAuthoritySet" + ], + "params": [ + { + "name": "MerkleRoot", + "type": 12 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "id", + "type": 11, + "typeName": "crate::ValidatorSetId" + }, + { + "name": "len", + "type": 4, + "typeName": "u32" + }, + { + "name": "root", + "type": 12, + "typeName": "MerkleRoot" + } + ] + } + } + } + }, + { + "id": 959, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 960 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 962, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 960, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 961 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 961 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 961, + "type": { + "path": [ + "pallet_scheduler", + "Scheduled" + ], + "params": [ + { + "name": "Name", + "type": 1 + }, + { + "name": "Call", + "type": 291 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "PalletsOrigin", + "type": 415 + }, + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "maybe_id", + "type": 286, + "typeName": "Option" + }, + { + "name": "priority", + "type": 2, + "typeName": "schedule::Priority" + }, + { + "name": "call", + "type": 291, + "typeName": "Call" + }, + { + "name": "maybe_periodic", + "type": 584, + "typeName": "Option>" + }, + { + "name": "origin", + "type": 415, + "typeName": "PalletsOrigin" + } + ] + } + } + } + }, + { + "id": 962, + "type": { + "def": { + "sequence": { + "type": 960 + } + } + } + }, + { + "id": 963, + "type": { + "path": [ + "pallet_scheduler", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "FailedToSchedule", + "index": 0, + "docs": [ + "Failed to schedule a call" + ] + }, + { + "name": "NotFound", + "index": 1, + "docs": [ + "Cannot find the scheduled call." + ] + }, + { + "name": "TargetBlockNumberInPast", + "index": 2, + "docs": [ + "Given target block number is in the past." + ] + }, + { + "name": "RescheduleNoChange", + "index": 3, + "docs": [ + "Reschedule failed because it does not change scheduled time." + ] + }, + { + "name": "Named", + "index": 4, + "docs": [ + "Attempt to use a non-named function on a named task." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 964, + "type": { + "path": [ + "pallet_preimage", + "RequestStatus" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Unrequested", + "fields": [ + { + "name": "deposit", + "type": 370, + "typeName": "(AccountId, Balance)" + }, + { + "name": "len", + "type": 4, + "typeName": "u32" + } + ], + "index": 0 + }, + { + "name": "Requested", + "fields": [ + { + "name": "deposit", + "type": 853, + "typeName": "Option<(AccountId, Balance)>" + }, + { + "name": "count", + "type": 4, + "typeName": "u32" + }, + { + "name": "len", + "type": 73, + "typeName": "Option" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 965, + "type": { + "def": { + "tuple": [ + 12, + 4 + ] + } + } + }, + { + "id": 966, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 967, + "type": { + "path": [ + "pallet_preimage", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "TooBig", + "index": 0, + "docs": [ + "Preimage is too large to store on-chain." + ] + }, + { + "name": "AlreadyNoted", + "index": 1, + "docs": [ + "Preimage has already been noted on-chain." + ] + }, + { + "name": "NotAuthorized", + "index": 2, + "docs": [ + "The user is not authorized to perform this action." + ] + }, + { + "name": "NotNoted", + "index": 3, + "docs": [ + "The preimage cannot be removed since it has not yet been noted." + ] + }, + { + "name": "Requested", + "index": 4, + "docs": [ + "A preimage may not be removed when there are outstanding requests." + ] + }, + { + "name": "NotRequested", + "index": 5, + "docs": [ + "The preimage request cannot be removed since no outstanding requests exist." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 968, + "type": { + "def": { + "tuple": [ + 0, + 290 + ] + } + } + }, + { + "id": 969, + "type": { + "path": [ + "pallet_conviction_voting", + "vote", + "Voting" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "PollIndex", + "type": 4 + }, + { + "name": "MaxVotes", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Casting", + "fields": [ + { + "type": 970, + "typeName": "Casting" + } + ], + "index": 0 + }, + { + "name": "Delegating", + "fields": [ + { + "type": 976, + "typeName": "Delegating" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 970, + "type": { + "path": [ + "pallet_conviction_voting", + "vote", + "Casting" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "PollIndex", + "type": 4 + }, + { + "name": "MaxVotes", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "votes", + "type": 971, + "typeName": "BoundedVec<(PollIndex, AccountVote), MaxVotes>" + }, + { + "name": "delegations", + "type": 974, + "typeName": "Delegations" + }, + { + "name": "prior", + "type": 975, + "typeName": "PriorLock" + } + ] + } + } + } + }, + { + "id": 971, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 972 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 973, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 972, + "type": { + "def": { + "tuple": [ + 4, + 587 + ] + } + } + }, + { + "id": 973, + "type": { + "def": { + "sequence": { + "type": 972 + } + } + } + }, + { + "id": 974, + "type": { + "path": [ + "pallet_conviction_voting", + "types", + "Delegations" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "votes", + "type": 6, + "typeName": "Balance" + }, + { + "name": "capital", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 975, + "type": { + "path": [ + "pallet_conviction_voting", + "vote", + "PriorLock" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 4, + "typeName": "BlockNumber" + }, + { + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 976, + "type": { + "path": [ + "pallet_conviction_voting", + "vote", + "Delegating" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "balance", + "type": 6, + "typeName": "Balance" + }, + { + "name": "target", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "conviction", + "type": 589, + "typeName": "Conviction" + }, + { + "name": "delegations", + "type": 974, + "typeName": "Delegations" + }, + { + "name": "prior", + "type": 975, + "typeName": "PriorLock" + } + ] + } + } + } + }, + { + "id": 977, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 978 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 979, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 978, + "type": { + "def": { + "tuple": [ + 290, + 6 + ] + } + } + }, + { + "id": 979, + "type": { + "def": { + "sequence": { + "type": 978 + } + } + } + }, + { + "id": 980, + "type": { + "path": [ + "pallet_conviction_voting", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotOngoing", + "index": 0, + "docs": [ + "Poll is not ongoing." + ] + }, + { + "name": "NotVoter", + "index": 1, + "docs": [ + "The given account did not vote on the poll." + ] + }, + { + "name": "NoPermission", + "index": 2, + "docs": [ + "The actor has no permission to conduct the action." + ] + }, + { + "name": "NoPermissionYet", + "index": 3, + "docs": [ + "The actor has no permission to conduct the action right now but will do in the future." + ] + }, + { + "name": "AlreadyDelegating", + "index": 4, + "docs": [ + "The account is already delegating." + ] + }, + { + "name": "AlreadyVoting", + "index": 5, + "docs": [ + "The account currently has votes attached to it and the operation cannot succeed until", + "these are removed, either through `unvote` or `reap_vote`." + ] + }, + { + "name": "InsufficientFunds", + "index": 6, + "docs": [ + "Too high a balance was provided that the account cannot afford." + ] + }, + { + "name": "NotDelegating", + "index": 7, + "docs": [ + "The account is not currently delegating." + ] + }, + { + "name": "Nonsense", + "index": 8, + "docs": [ + "Delegation to oneself makes no sense." + ] + }, + { + "name": "MaxVotesReached", + "index": 9, + "docs": [ + "Maximum number of votes reached." + ] + }, + { + "name": "ClassNeeded", + "index": 10, + "docs": [ + "The class must be supplied since it is not easily determinable from the state." + ] + }, + { + "name": "BadClass", + "index": 11, + "docs": [ + "The class ID supplied is invalid." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 981, + "type": { + "path": [ + "pallet_referenda", + "types", + "ReferendumInfo" + ], + "params": [ + { + "name": "TrackId", + "type": 290 + }, + { + "name": "RuntimeOrigin", + "type": 415 + }, + { + "name": "Moment", + "type": 4 + }, + { + "name": "Call", + "type": 291 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Tally", + "type": 639 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "ScheduleAddress", + "type": 285 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Ongoing", + "fields": [ + { + "type": 982, + "typeName": "ReferendumStatus" + } + ], + "index": 0 + }, + { + "name": "Approved", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 984, + "typeName": "Option>" + }, + { + "type": 984, + "typeName": "Option>" + } + ], + "index": 1 + }, + { + "name": "Rejected", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 984, + "typeName": "Option>" + }, + { + "type": 984, + "typeName": "Option>" + } + ], + "index": 2 + }, + { + "name": "Cancelled", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 984, + "typeName": "Option>" + }, + { + "type": 984, + "typeName": "Option>" + } + ], + "index": 3 + }, + { + "name": "TimedOut", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 984, + "typeName": "Option>" + }, + { + "type": 984, + "typeName": "Option>" + } + ], + "index": 4 + }, + { + "name": "Killed", + "fields": [ + { + "type": 4, + "typeName": "Moment" + } + ], + "index": 5 + } + ] + } + } + } + }, + { + "id": 982, + "type": { + "path": [ + "pallet_referenda", + "types", + "ReferendumStatus" + ], + "params": [ + { + "name": "TrackId", + "type": 290 + }, + { + "name": "RuntimeOrigin", + "type": 415 + }, + { + "name": "Moment", + "type": 4 + }, + { + "name": "Call", + "type": 291 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Tally", + "type": 639 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "ScheduleAddress", + "type": 285 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "track", + "type": 290, + "typeName": "TrackId" + }, + { + "name": "origin", + "type": 415, + "typeName": "RuntimeOrigin" + }, + { + "name": "proposal", + "type": 291, + "typeName": "Call" + }, + { + "name": "enactment", + "type": 592, + "typeName": "DispatchTime" + }, + { + "name": "submitted", + "type": 4, + "typeName": "Moment" + }, + { + "name": "submission_deposit", + "type": 983, + "typeName": "Deposit" + }, + { + "name": "decision_deposit", + "type": 984, + "typeName": "Option>" + }, + { + "name": "deciding", + "type": 985, + "typeName": "Option>" + }, + { + "name": "tally", + "type": 639, + "typeName": "Tally" + }, + { + "name": "in_queue", + "type": 37, + "typeName": "bool" + }, + { + "name": "alarm", + "type": 987, + "typeName": "Option<(Moment, ScheduleAddress)>" + } + ] + } + } + } + }, + { + "id": 983, + "type": { + "path": [ + "pallet_referenda", + "types", + "Deposit" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 984, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 983 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 983 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 985, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 986 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 986 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 986, + "type": { + "path": [ + "pallet_referenda", + "types", + "DecidingStatus" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "since", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "confirming", + "type": 73, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 987, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 988 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 988 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 988, + "type": { + "def": { + "tuple": [ + 4, + 285 + ] + } + } + }, + { + "id": 989, + "type": { + "def": { + "sequence": { + "type": 990 + } + } + } + }, + { + "id": 990, + "type": { + "def": { + "tuple": [ + 290, + 991 + ] + } + } + }, + { + "id": 991, + "type": { + "path": [ + "pallet_referenda", + "types", + "TrackInfo" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "Moment", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "name", + "type": 655, + "typeName": "&'static str" + }, + { + "name": "max_deciding", + "type": 4, + "typeName": "u32" + }, + { + "name": "decision_deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "prepare_period", + "type": 4, + "typeName": "Moment" + }, + { + "name": "decision_period", + "type": 4, + "typeName": "Moment" + }, + { + "name": "confirm_period", + "type": 4, + "typeName": "Moment" + }, + { + "name": "min_enactment_period", + "type": 4, + "typeName": "Moment" + }, + { + "name": "min_approval", + "type": 992, + "typeName": "Curve" + }, + { + "name": "min_support", + "type": 992, + "typeName": "Curve" + } + ] + } + } + } + }, + { + "id": 992, + "type": { + "path": [ + "pallet_referenda", + "types", + "Curve" + ], + "def": { + "variant": { + "variants": [ + { + "name": "LinearDecreasing", + "fields": [ + { + "name": "length", + "type": 42, + "typeName": "Perbill" + }, + { + "name": "floor", + "type": 42, + "typeName": "Perbill" + }, + { + "name": "ceil", + "type": 42, + "typeName": "Perbill" + } + ], + "index": 0 + }, + { + "name": "SteppedDecreasing", + "fields": [ + { + "name": "begin", + "type": 42, + "typeName": "Perbill" + }, + { + "name": "end", + "type": 42, + "typeName": "Perbill" + }, + { + "name": "step", + "type": 42, + "typeName": "Perbill" + }, + { + "name": "period", + "type": 42, + "typeName": "Perbill" + } + ], + "index": 1 + }, + { + "name": "Reciprocal", + "fields": [ + { + "name": "factor", + "type": 993, + "typeName": "FixedI64" + }, + { + "name": "x_offset", + "type": 993, + "typeName": "FixedI64" + }, + { + "name": "y_offset", + "type": 993, + "typeName": "FixedI64" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 993, + "type": { + "path": [ + "sp_arithmetic", + "fixed_point", + "FixedI64" + ], + "def": { + "composite": { + "fields": [ + { + "type": 994, + "typeName": "i64" + } + ] + } + } + } + }, + { + "id": 994, + "type": { + "def": { + "primitive": "i64" + } + } + }, + { + "id": 995, + "type": { + "path": [ + "pallet_referenda", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotOngoing", + "index": 0, + "docs": [ + "Referendum is not ongoing." + ] + }, + { + "name": "HasDeposit", + "index": 1, + "docs": [ + "Referendum's decision deposit is already paid." + ] + }, + { + "name": "BadTrack", + "index": 2, + "docs": [ + "The track identifier given was invalid." + ] + }, + { + "name": "Full", + "index": 3, + "docs": [ + "There are already a full complement of referenda in progress for this track." + ] + }, + { + "name": "QueueEmpty", + "index": 4, + "docs": [ + "The queue of the track is empty." + ] + }, + { + "name": "BadReferendum", + "index": 5, + "docs": [ + "The referendum index provided is invalid in this context." + ] + }, + { + "name": "NothingToDo", + "index": 6, + "docs": [ + "There was nothing to do in the advancement." + ] + }, + { + "name": "NoTrack", + "index": 7, + "docs": [ + "No track exists for the proposal origin." + ] + }, + { + "name": "Unfinished", + "index": 8, + "docs": [ + "Any deposit cannot be refunded until after the decision is over." + ] + }, + { + "name": "NoPermission", + "index": 9, + "docs": [ + "The deposit refunder is not the depositor." + ] + }, + { + "name": "NoDeposit", + "index": 10, + "docs": [ + "The deposit cannot be refunded since none was made." + ] + }, + { + "name": "BadStatus", + "index": 11, + "docs": [ + "The referendum status is invalid for this operation." + ] + }, + { + "name": "PreimageNotExist", + "index": 12, + "docs": [ + "The preimage does not exist." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 996, + "type": { + "path": [ + "pallet_whitelist", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "UnavailablePreImage", + "index": 0, + "docs": [ + "The preimage of the call hash could not be loaded." + ] + }, + { + "name": "UndecodableCall", + "index": 1, + "docs": [ + "The call could not be decoded." + ] + }, + { + "name": "InvalidCallWeightWitness", + "index": 2, + "docs": [ + "The weight of the decoded call was higher than the witness." + ] + }, + { + "name": "CallIsNotWhitelisted", + "index": 3, + "docs": [ + "The call was not whitelisted." + ] + }, + { + "name": "CallAlreadyWhitelisted", + "index": 4, + "docs": [ + "The call was already whitelisted; No-Op." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 997, + "type": { + "path": [ + "pallet_ranked_collective", + "MemberRecord" + ], + "def": { + "composite": { + "fields": [ + { + "name": "rank", + "type": 290, + "typeName": "Rank" + } + ] + } + } + } + }, + { + "id": 998, + "type": { + "def": { + "tuple": [ + 290, + 0 + ] + } + } + }, + { + "id": 999, + "type": { + "def": { + "tuple": [ + 290, + 4 + ] + } + } + }, + { + "id": 1000, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 1001, + "type": { + "path": [ + "pallet_ranked_collective", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "AlreadyMember", + "index": 0, + "docs": [ + "Account is already a member." + ] + }, + { + "name": "NotMember", + "index": 1, + "docs": [ + "Account is not a member." + ] + }, + { + "name": "NotPolling", + "index": 2, + "docs": [ + "The given poll index is unknown or has closed." + ] + }, + { + "name": "Ongoing", + "index": 3, + "docs": [ + "The given poll is still ongoing." + ] + }, + { + "name": "NoneRemaining", + "index": 4, + "docs": [ + "There are no further records to be removed." + ] + }, + { + "name": "Corruption", + "index": 5, + "docs": [ + "Unexpected error in state." + ] + }, + { + "name": "RankTooLow", + "index": 6, + "docs": [ + "The member's rank is too low to vote." + ] + }, + { + "name": "InvalidWitness", + "index": 7, + "docs": [ + "The information provided is incorrect." + ] + }, + { + "name": "NoPermission", + "index": 8, + "docs": [ + "The origin is not sufficiently privileged to do the operation." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 1002, + "type": { + "path": [ + "pallet_referenda", + "types", + "ReferendumInfo" + ], + "params": [ + { + "name": "TrackId", + "type": 290 + }, + { + "name": "RuntimeOrigin", + "type": 415 + }, + { + "name": "Moment", + "type": 4 + }, + { + "name": "Call", + "type": 291 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Tally", + "type": 647 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "ScheduleAddress", + "type": 285 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Ongoing", + "fields": [ + { + "type": 1003, + "typeName": "ReferendumStatus" + } + ], + "index": 0 + }, + { + "name": "Approved", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 984, + "typeName": "Option>" + }, + { + "type": 984, + "typeName": "Option>" + } + ], + "index": 1 + }, + { + "name": "Rejected", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 984, + "typeName": "Option>" + }, + { + "type": 984, + "typeName": "Option>" + } + ], + "index": 2 + }, + { + "name": "Cancelled", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 984, + "typeName": "Option>" + }, + { + "type": 984, + "typeName": "Option>" + } + ], + "index": 3 + }, + { + "name": "TimedOut", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 984, + "typeName": "Option>" + }, + { + "type": 984, + "typeName": "Option>" + } + ], + "index": 4 + }, + { + "name": "Killed", + "fields": [ + { + "type": 4, + "typeName": "Moment" + } + ], + "index": 5 + } + ] + } + } + } + }, + { + "id": 1003, + "type": { + "path": [ + "pallet_referenda", + "types", + "ReferendumStatus" + ], + "params": [ + { + "name": "TrackId", + "type": 290 + }, + { + "name": "RuntimeOrigin", + "type": 415 + }, + { + "name": "Moment", + "type": 4 + }, + { + "name": "Call", + "type": 291 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Tally", + "type": 647 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "ScheduleAddress", + "type": 285 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "track", + "type": 290, + "typeName": "TrackId" + }, + { + "name": "origin", + "type": 415, + "typeName": "RuntimeOrigin" + }, + { + "name": "proposal", + "type": 291, + "typeName": "Call" + }, + { + "name": "enactment", + "type": 592, + "typeName": "DispatchTime" + }, + { + "name": "submitted", + "type": 4, + "typeName": "Moment" + }, + { + "name": "submission_deposit", + "type": 983, + "typeName": "Deposit" + }, + { + "name": "decision_deposit", + "type": 984, + "typeName": "Option>" + }, + { + "name": "deciding", + "type": 985, + "typeName": "Option>" + }, + { + "name": "tally", + "type": 647, + "typeName": "Tally" + }, + { + "name": "in_queue", + "type": 37, + "typeName": "bool" + }, + { + "name": "alarm", + "type": 987, + "typeName": "Option<(Moment, ScheduleAddress)>" + } + ] + } + } + } + }, + { + "id": 1004, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 285 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 653, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 1005, + "type": { + "path": [ + "pallet_referenda", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotOngoing", + "index": 0, + "docs": [ + "Referendum is not ongoing." + ] + }, + { + "name": "HasDeposit", + "index": 1, + "docs": [ + "Referendum's decision deposit is already paid." + ] + }, + { + "name": "BadTrack", + "index": 2, + "docs": [ + "The track identifier given was invalid." + ] + }, + { + "name": "Full", + "index": 3, + "docs": [ + "There are already a full complement of referenda in progress for this track." + ] + }, + { + "name": "QueueEmpty", + "index": 4, + "docs": [ + "The queue of the track is empty." + ] + }, + { + "name": "BadReferendum", + "index": 5, + "docs": [ + "The referendum index provided is invalid in this context." + ] + }, + { + "name": "NothingToDo", + "index": 6, + "docs": [ + "There was nothing to do in the advancement." + ] + }, + { + "name": "NoTrack", + "index": 7, + "docs": [ + "No track exists for the proposal origin." + ] + }, + { + "name": "Unfinished", + "index": 8, + "docs": [ + "Any deposit cannot be refunded until after the decision is over." + ] + }, + { + "name": "NoPermission", + "index": 9, + "docs": [ + "The deposit refunder is not the depositor." + ] + }, + { + "name": "NoDeposit", + "index": 10, + "docs": [ + "The deposit cannot be refunded since none was made." + ] + }, + { + "name": "BadStatus", + "index": 11, + "docs": [ + "The referendum status is invalid for this operation." + ] + }, + { + "name": "PreimageNotExist", + "index": 12, + "docs": [ + "The preimage does not exist." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 1006, + "type": { + "path": [ + "pallet_identity", + "types", + "Registration" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "MaxJudgements", + "type": null + }, + { + "name": "MaxAdditionalFields", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "judgements", + "type": 1007, + "typeName": "BoundedVec<(RegistrarIndex, Judgement), MaxJudgements>" + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "info", + "type": 598, + "typeName": "IdentityInfo" + } + ] + } + } + } + }, + { + "id": 1007, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 1008 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 1009, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 1008, + "type": { + "def": { + "tuple": [ + 4, + 635 + ] + } + } + }, + { + "id": 1009, + "type": { + "def": { + "sequence": { + "type": 1008 + } + } + } + }, + { + "id": 1010, + "type": { + "def": { + "tuple": [ + 6, + 1011 + ] + } + } + }, + { + "id": 1011, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 78, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 1012, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 1013 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 1015, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 1013, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 1014 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 1014 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 1014, + "type": { + "path": [ + "pallet_identity", + "types", + "RegistrarInfo" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "fee", + "type": 6, + "typeName": "Balance" + }, + { + "name": "fields", + "type": 633, + "typeName": "IdentityFields" + } + ] + } + } + } + }, + { + "id": 1015, + "type": { + "def": { + "sequence": { + "type": 1013 + } + } + } + }, + { + "id": 1016, + "type": { + "path": [ + "pallet_identity", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "TooManySubAccounts", + "index": 0, + "docs": [ + "Too many subs-accounts." + ] + }, + { + "name": "NotFound", + "index": 1, + "docs": [ + "Account isn't found." + ] + }, + { + "name": "NotNamed", + "index": 2, + "docs": [ + "Account isn't named." + ] + }, + { + "name": "EmptyIndex", + "index": 3, + "docs": [ + "Empty index." + ] + }, + { + "name": "FeeChanged", + "index": 4, + "docs": [ + "Fee is changed." + ] + }, + { + "name": "NoIdentity", + "index": 5, + "docs": [ + "No identity found." + ] + }, + { + "name": "StickyJudgement", + "index": 6, + "docs": [ + "Sticky judgement." + ] + }, + { + "name": "JudgementGiven", + "index": 7, + "docs": [ + "Judgement given." + ] + }, + { + "name": "InvalidJudgement", + "index": 8, + "docs": [ + "Invalid judgement." + ] + }, + { + "name": "InvalidIndex", + "index": 9, + "docs": [ + "The index is invalid." + ] + }, + { + "name": "InvalidTarget", + "index": 10, + "docs": [ + "The target is invalid." + ] + }, + { + "name": "TooManyFields", + "index": 11, + "docs": [ + "Too many additional fields." + ] + }, + { + "name": "TooManyRegistrars", + "index": 12, + "docs": [ + "Maximum amount of registrars reached. Cannot add any more." + ] + }, + { + "name": "AlreadyClaimed", + "index": 13, + "docs": [ + "Account ID is already named." + ] + }, + { + "name": "NotSub", + "index": 14, + "docs": [ + "Sender is not a sub-account." + ] + }, + { + "name": "NotOwned", + "index": 15, + "docs": [ + "Sub-account isn't owned by sender." + ] + }, + { + "name": "JudgementForDifferentIdentity", + "index": 16, + "docs": [ + "The provided judgement was for a different identity." + ] + }, + { + "name": "JudgementPaymentFailed", + "index": 17, + "docs": [ + "Error that occurs when there is an issue paying for judgement." + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 1017, + "type": { + "path": [ + "pallet_vote_manager", + "types", + "BalanceToUnlock" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "TokenId", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "balance", + "type": 6, + "typeName": "Balance" + }, + { + "name": "currency", + "type": 637, + "typeName": "VoteCurrency" + }, + { + "name": "unlocks_at", + "type": 4, + "typeName": "BlockNumber" + } + ] + } + } + } + }, + { + "id": 1018, + "type": { + "path": [ + "pallet_vote_manager", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "AlreadyDelegating", + "index": 0, + "docs": [ + "The account is already delegating their vote." + ] + }, + { + "name": "InsufficientFunds", + "index": 1, + "docs": [ + "The account has insufficient funds to cast the vote." + ] + }, + { + "name": "NotOngoing", + "index": 2, + "docs": [ + "The maximum number of votes for this referendum has been reached." + ] + }, + { + "name": "NotVoter", + "index": 3, + "docs": [ + "The account is not a registered voter for the referendum." + ] + }, + { + "name": "NoPermission", + "index": 4, + "docs": [ + "The account does not have permission to perform the operation." + ] + }, + { + "name": "UnlockVoteNotFound", + "index": 5, + "docs": [ + "The vote unlock information was not found." + ] + }, + { + "name": "UnlockPeriodNotPassed", + "index": 6, + "docs": [ + "The unlock period for the vote has not yet passed." + ] + }, + { + "name": "MaxVotesReached", + "index": 7, + "docs": [ + "Max votes exceeded" + ] + }, + { + "name": "ClassNeeded", + "index": 8, + "docs": [ + "Class info missing" + ] + }, + { + "name": "NoPermissionYet", + "index": 9, + "docs": [ + "The account does not have permission, usually related to unlock periods" + ] + } + ] + } + }, + "docs": [ + "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t" + ] + } + }, + { + "id": 1019, + "type": { + "path": [ + "sp_runtime", + "generic", + "unchecked_extrinsic", + "UncheckedExtrinsic" + ], + "params": [ + { + "name": "Address", + "type": 309 + }, + { + "name": "Call", + "type": 292 + }, + { + "name": "Signature", + "type": 479 + }, + { + "name": "Extra", + "type": 1020 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 13 + } + ] + } + } + } + }, + { + "id": 1020, + "type": { + "def": { + "tuple": [ + 1021, + 1022, + 1023, + 1024, + 1025, + 1027, + 1028, + 1029, + 1030 + ] + } + } + }, + { + "id": 1021, + "type": { + "path": [ + "frame_system", + "extensions", + "check_non_zero_sender", + "CheckNonZeroSender" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 1022, + "type": { + "path": [ + "frame_system", + "extensions", + "check_spec_version", + "CheckSpecVersion" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 1023, + "type": { + "path": [ + "frame_system", + "extensions", + "check_tx_version", + "CheckTxVersion" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 1024, + "type": { + "path": [ + "frame_system", + "extensions", + "check_genesis", + "CheckGenesis" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 1025, + "type": { + "path": [ + "frame_system", + "extensions", + "check_mortality", + "CheckMortality" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 1026, + "typeName": "Era" + } + ] + } + } + } + }, + { + "id": 1026, + "type": { + "path": [ + "sp_runtime", + "generic", + "era", + "Era" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Immortal", + "index": 0 + }, + { + "name": "Mortal1", + "fields": [ + { + "type": 2 + } + ], + "index": 1 + }, + { + "name": "Mortal2", + "fields": [ + { + "type": 2 + } + ], + "index": 2 + }, + { + "name": "Mortal3", + "fields": [ + { + "type": 2 + } + ], + "index": 3 + }, + { + "name": "Mortal4", + "fields": [ + { + "type": 2 + } + ], + "index": 4 + }, + { + "name": "Mortal5", + "fields": [ + { + "type": 2 + } + ], + "index": 5 + }, + { + "name": "Mortal6", + "fields": [ + { + "type": 2 + } + ], + "index": 6 + }, + { + "name": "Mortal7", + "fields": [ + { + "type": 2 + } + ], + "index": 7 + }, + { + "name": "Mortal8", + "fields": [ + { + "type": 2 + } + ], + "index": 8 + }, + { + "name": "Mortal9", + "fields": [ + { + "type": 2 + } + ], + "index": 9 + }, + { + "name": "Mortal10", + "fields": [ + { + "type": 2 + } + ], + "index": 10 + }, + { + "name": "Mortal11", + "fields": [ + { + "type": 2 + } + ], + "index": 11 + }, + { + "name": "Mortal12", + "fields": [ + { + "type": 2 + } + ], + "index": 12 + }, + { + "name": "Mortal13", + "fields": [ + { + "type": 2 + } + ], + "index": 13 + }, + { + "name": "Mortal14", + "fields": [ + { + "type": 2 + } + ], + "index": 14 + }, + { + "name": "Mortal15", + "fields": [ + { + "type": 2 + } + ], + "index": 15 + }, + { + "name": "Mortal16", + "fields": [ + { + "type": 2 + } + ], + "index": 16 + }, + { + "name": "Mortal17", + "fields": [ + { + "type": 2 + } + ], + "index": 17 + }, + { + "name": "Mortal18", + "fields": [ + { + "type": 2 + } + ], + "index": 18 + }, + { + "name": "Mortal19", + "fields": [ + { + "type": 2 + } + ], + "index": 19 + }, + { + "name": "Mortal20", + "fields": [ + { + "type": 2 + } + ], + "index": 20 + }, + { + "name": "Mortal21", + "fields": [ + { + "type": 2 + } + ], + "index": 21 + }, + { + "name": "Mortal22", + "fields": [ + { + "type": 2 + } + ], + "index": 22 + }, + { + "name": "Mortal23", + "fields": [ + { + "type": 2 + } + ], + "index": 23 + }, + { + "name": "Mortal24", + "fields": [ + { + "type": 2 + } + ], + "index": 24 + }, + { + "name": "Mortal25", + "fields": [ + { + "type": 2 + } + ], + "index": 25 + }, + { + "name": "Mortal26", + "fields": [ + { + "type": 2 + } + ], + "index": 26 + }, + { + "name": "Mortal27", + "fields": [ + { + "type": 2 + } + ], + "index": 27 + }, + { + "name": "Mortal28", + "fields": [ + { + "type": 2 + } + ], + "index": 28 + }, + { + "name": "Mortal29", + "fields": [ + { + "type": 2 + } + ], + "index": 29 + }, + { + "name": "Mortal30", + "fields": [ + { + "type": 2 + } + ], + "index": 30 + }, + { + "name": "Mortal31", + "fields": [ + { + "type": 2 + } + ], + "index": 31 + }, + { + "name": "Mortal32", + "fields": [ + { + "type": 2 + } + ], + "index": 32 + }, + { + "name": "Mortal33", + "fields": [ + { + "type": 2 + } + ], + "index": 33 + }, + { + "name": "Mortal34", + "fields": [ + { + "type": 2 + } + ], + "index": 34 + }, + { + "name": "Mortal35", + "fields": [ + { + "type": 2 + } + ], + "index": 35 + }, + { + "name": "Mortal36", + "fields": [ + { + "type": 2 + } + ], + "index": 36 + }, + { + "name": "Mortal37", + "fields": [ + { + "type": 2 + } + ], + "index": 37 + }, + { + "name": "Mortal38", + "fields": [ + { + "type": 2 + } + ], + "index": 38 + }, + { + "name": "Mortal39", + "fields": [ + { + "type": 2 + } + ], + "index": 39 + }, + { + "name": "Mortal40", + "fields": [ + { + "type": 2 + } + ], + "index": 40 + }, + { + "name": "Mortal41", + "fields": [ + { + "type": 2 + } + ], + "index": 41 + }, + { + "name": "Mortal42", + "fields": [ + { + "type": 2 + } + ], + "index": 42 + }, + { + "name": "Mortal43", + "fields": [ + { + "type": 2 + } + ], + "index": 43 + }, + { + "name": "Mortal44", + "fields": [ + { + "type": 2 + } + ], + "index": 44 + }, + { + "name": "Mortal45", + "fields": [ + { + "type": 2 + } + ], + "index": 45 + }, + { + "name": "Mortal46", + "fields": [ + { + "type": 2 + } + ], + "index": 46 + }, + { + "name": "Mortal47", + "fields": [ + { + "type": 2 + } + ], + "index": 47 + }, + { + "name": "Mortal48", + "fields": [ + { + "type": 2 + } + ], + "index": 48 + }, + { + "name": "Mortal49", + "fields": [ + { + "type": 2 + } + ], + "index": 49 + }, + { + "name": "Mortal50", + "fields": [ + { + "type": 2 + } + ], + "index": 50 + }, + { + "name": "Mortal51", + "fields": [ + { + "type": 2 + } + ], + "index": 51 + }, + { + "name": "Mortal52", + "fields": [ + { + "type": 2 + } + ], + "index": 52 + }, + { + "name": "Mortal53", + "fields": [ + { + "type": 2 + } + ], + "index": 53 + }, + { + "name": "Mortal54", + "fields": [ + { + "type": 2 + } + ], + "index": 54 + }, + { + "name": "Mortal55", + "fields": [ + { + "type": 2 + } + ], + "index": 55 + }, + { + "name": "Mortal56", + "fields": [ + { + "type": 2 + } + ], + "index": 56 + }, + { + "name": "Mortal57", + "fields": [ + { + "type": 2 + } + ], + "index": 57 + }, + { + "name": "Mortal58", + "fields": [ + { + "type": 2 + } + ], + "index": 58 + }, + { + "name": "Mortal59", + "fields": [ + { + "type": 2 + } + ], + "index": 59 + }, + { + "name": "Mortal60", + "fields": [ + { + "type": 2 + } + ], + "index": 60 + }, + { + "name": "Mortal61", + "fields": [ + { + "type": 2 + } + ], + "index": 61 + }, + { + "name": "Mortal62", + "fields": [ + { + "type": 2 + } + ], + "index": 62 + }, + { + "name": "Mortal63", + "fields": [ + { + "type": 2 + } + ], + "index": 63 + }, + { + "name": "Mortal64", + "fields": [ + { + "type": 2 + } + ], + "index": 64 + }, + { + "name": "Mortal65", + "fields": [ + { + "type": 2 + } + ], + "index": 65 + }, + { + "name": "Mortal66", + "fields": [ + { + "type": 2 + } + ], + "index": 66 + }, + { + "name": "Mortal67", + "fields": [ + { + "type": 2 + } + ], + "index": 67 + }, + { + "name": "Mortal68", + "fields": [ + { + "type": 2 + } + ], + "index": 68 + }, + { + "name": "Mortal69", + "fields": [ + { + "type": 2 + } + ], + "index": 69 + }, + { + "name": "Mortal70", + "fields": [ + { + "type": 2 + } + ], + "index": 70 + }, + { + "name": "Mortal71", + "fields": [ + { + "type": 2 + } + ], + "index": 71 + }, + { + "name": "Mortal72", + "fields": [ + { + "type": 2 + } + ], + "index": 72 + }, + { + "name": "Mortal73", + "fields": [ + { + "type": 2 + } + ], + "index": 73 + }, + { + "name": "Mortal74", + "fields": [ + { + "type": 2 + } + ], + "index": 74 + }, + { + "name": "Mortal75", + "fields": [ + { + "type": 2 + } + ], + "index": 75 + }, + { + "name": "Mortal76", + "fields": [ + { + "type": 2 + } + ], + "index": 76 + }, + { + "name": "Mortal77", + "fields": [ + { + "type": 2 + } + ], + "index": 77 + }, + { + "name": "Mortal78", + "fields": [ + { + "type": 2 + } + ], + "index": 78 + }, + { + "name": "Mortal79", + "fields": [ + { + "type": 2 + } + ], + "index": 79 + }, + { + "name": "Mortal80", + "fields": [ + { + "type": 2 + } + ], + "index": 80 + }, + { + "name": "Mortal81", + "fields": [ + { + "type": 2 + } + ], + "index": 81 + }, + { + "name": "Mortal82", + "fields": [ + { + "type": 2 + } + ], + "index": 82 + }, + { + "name": "Mortal83", + "fields": [ + { + "type": 2 + } + ], + "index": 83 + }, + { + "name": "Mortal84", + "fields": [ + { + "type": 2 + } + ], + "index": 84 + }, + { + "name": "Mortal85", + "fields": [ + { + "type": 2 + } + ], + "index": 85 + }, + { + "name": "Mortal86", + "fields": [ + { + "type": 2 + } + ], + "index": 86 + }, + { + "name": "Mortal87", + "fields": [ + { + "type": 2 + } + ], + "index": 87 + }, + { + "name": "Mortal88", + "fields": [ + { + "type": 2 + } + ], + "index": 88 + }, + { + "name": "Mortal89", + "fields": [ + { + "type": 2 + } + ], + "index": 89 + }, + { + "name": "Mortal90", + "fields": [ + { + "type": 2 + } + ], + "index": 90 + }, + { + "name": "Mortal91", + "fields": [ + { + "type": 2 + } + ], + "index": 91 + }, + { + "name": "Mortal92", + "fields": [ + { + "type": 2 + } + ], + "index": 92 + }, + { + "name": "Mortal93", + "fields": [ + { + "type": 2 + } + ], + "index": 93 + }, + { + "name": "Mortal94", + "fields": [ + { + "type": 2 + } + ], + "index": 94 + }, + { + "name": "Mortal95", + "fields": [ + { + "type": 2 + } + ], + "index": 95 + }, + { + "name": "Mortal96", + "fields": [ + { + "type": 2 + } + ], + "index": 96 + }, + { + "name": "Mortal97", + "fields": [ + { + "type": 2 + } + ], + "index": 97 + }, + { + "name": "Mortal98", + "fields": [ + { + "type": 2 + } + ], + "index": 98 + }, + { + "name": "Mortal99", + "fields": [ + { + "type": 2 + } + ], + "index": 99 + }, + { + "name": "Mortal100", + "fields": [ + { + "type": 2 + } + ], + "index": 100 + }, + { + "name": "Mortal101", + "fields": [ + { + "type": 2 + } + ], + "index": 101 + }, + { + "name": "Mortal102", + "fields": [ + { + "type": 2 + } + ], + "index": 102 + }, + { + "name": "Mortal103", + "fields": [ + { + "type": 2 + } + ], + "index": 103 + }, + { + "name": "Mortal104", + "fields": [ + { + "type": 2 + } + ], + "index": 104 + }, + { + "name": "Mortal105", + "fields": [ + { + "type": 2 + } + ], + "index": 105 + }, + { + "name": "Mortal106", + "fields": [ + { + "type": 2 + } + ], + "index": 106 + }, + { + "name": "Mortal107", + "fields": [ + { + "type": 2 + } + ], + "index": 107 + }, + { + "name": "Mortal108", + "fields": [ + { + "type": 2 + } + ], + "index": 108 + }, + { + "name": "Mortal109", + "fields": [ + { + "type": 2 + } + ], + "index": 109 + }, + { + "name": "Mortal110", + "fields": [ + { + "type": 2 + } + ], + "index": 110 + }, + { + "name": "Mortal111", + "fields": [ + { + "type": 2 + } + ], + "index": 111 + }, + { + "name": "Mortal112", + "fields": [ + { + "type": 2 + } + ], + "index": 112 + }, + { + "name": "Mortal113", + "fields": [ + { + "type": 2 + } + ], + "index": 113 + }, + { + "name": "Mortal114", + "fields": [ + { + "type": 2 + } + ], + "index": 114 + }, + { + "name": "Mortal115", + "fields": [ + { + "type": 2 + } + ], + "index": 115 + }, + { + "name": "Mortal116", + "fields": [ + { + "type": 2 + } + ], + "index": 116 + }, + { + "name": "Mortal117", + "fields": [ + { + "type": 2 + } + ], + "index": 117 + }, + { + "name": "Mortal118", + "fields": [ + { + "type": 2 + } + ], + "index": 118 + }, + { + "name": "Mortal119", + "fields": [ + { + "type": 2 + } + ], + "index": 119 + }, + { + "name": "Mortal120", + "fields": [ + { + "type": 2 + } + ], + "index": 120 + }, + { + "name": "Mortal121", + "fields": [ + { + "type": 2 + } + ], + "index": 121 + }, + { + "name": "Mortal122", + "fields": [ + { + "type": 2 + } + ], + "index": 122 + }, + { + "name": "Mortal123", + "fields": [ + { + "type": 2 + } + ], + "index": 123 + }, + { + "name": "Mortal124", + "fields": [ + { + "type": 2 + } + ], + "index": 124 + }, + { + "name": "Mortal125", + "fields": [ + { + "type": 2 + } + ], + "index": 125 + }, + { + "name": "Mortal126", + "fields": [ + { + "type": 2 + } + ], + "index": 126 + }, + { + "name": "Mortal127", + "fields": [ + { + "type": 2 + } + ], + "index": 127 + }, + { + "name": "Mortal128", + "fields": [ + { + "type": 2 + } + ], + "index": 128 + }, + { + "name": "Mortal129", + "fields": [ + { + "type": 2 + } + ], + "index": 129 + }, + { + "name": "Mortal130", + "fields": [ + { + "type": 2 + } + ], + "index": 130 + }, + { + "name": "Mortal131", + "fields": [ + { + "type": 2 + } + ], + "index": 131 + }, + { + "name": "Mortal132", + "fields": [ + { + "type": 2 + } + ], + "index": 132 + }, + { + "name": "Mortal133", + "fields": [ + { + "type": 2 + } + ], + "index": 133 + }, + { + "name": "Mortal134", + "fields": [ + { + "type": 2 + } + ], + "index": 134 + }, + { + "name": "Mortal135", + "fields": [ + { + "type": 2 + } + ], + "index": 135 + }, + { + "name": "Mortal136", + "fields": [ + { + "type": 2 + } + ], + "index": 136 + }, + { + "name": "Mortal137", + "fields": [ + { + "type": 2 + } + ], + "index": 137 + }, + { + "name": "Mortal138", + "fields": [ + { + "type": 2 + } + ], + "index": 138 + }, + { + "name": "Mortal139", + "fields": [ + { + "type": 2 + } + ], + "index": 139 + }, + { + "name": "Mortal140", + "fields": [ + { + "type": 2 + } + ], + "index": 140 + }, + { + "name": "Mortal141", + "fields": [ + { + "type": 2 + } + ], + "index": 141 + }, + { + "name": "Mortal142", + "fields": [ + { + "type": 2 + } + ], + "index": 142 + }, + { + "name": "Mortal143", + "fields": [ + { + "type": 2 + } + ], + "index": 143 + }, + { + "name": "Mortal144", + "fields": [ + { + "type": 2 + } + ], + "index": 144 + }, + { + "name": "Mortal145", + "fields": [ + { + "type": 2 + } + ], + "index": 145 + }, + { + "name": "Mortal146", + "fields": [ + { + "type": 2 + } + ], + "index": 146 + }, + { + "name": "Mortal147", + "fields": [ + { + "type": 2 + } + ], + "index": 147 + }, + { + "name": "Mortal148", + "fields": [ + { + "type": 2 + } + ], + "index": 148 + }, + { + "name": "Mortal149", + "fields": [ + { + "type": 2 + } + ], + "index": 149 + }, + { + "name": "Mortal150", + "fields": [ + { + "type": 2 + } + ], + "index": 150 + }, + { + "name": "Mortal151", + "fields": [ + { + "type": 2 + } + ], + "index": 151 + }, + { + "name": "Mortal152", + "fields": [ + { + "type": 2 + } + ], + "index": 152 + }, + { + "name": "Mortal153", + "fields": [ + { + "type": 2 + } + ], + "index": 153 + }, + { + "name": "Mortal154", + "fields": [ + { + "type": 2 + } + ], + "index": 154 + }, + { + "name": "Mortal155", + "fields": [ + { + "type": 2 + } + ], + "index": 155 + }, + { + "name": "Mortal156", + "fields": [ + { + "type": 2 + } + ], + "index": 156 + }, + { + "name": "Mortal157", + "fields": [ + { + "type": 2 + } + ], + "index": 157 + }, + { + "name": "Mortal158", + "fields": [ + { + "type": 2 + } + ], + "index": 158 + }, + { + "name": "Mortal159", + "fields": [ + { + "type": 2 + } + ], + "index": 159 + }, + { + "name": "Mortal160", + "fields": [ + { + "type": 2 + } + ], + "index": 160 + }, + { + "name": "Mortal161", + "fields": [ + { + "type": 2 + } + ], + "index": 161 + }, + { + "name": "Mortal162", + "fields": [ + { + "type": 2 + } + ], + "index": 162 + }, + { + "name": "Mortal163", + "fields": [ + { + "type": 2 + } + ], + "index": 163 + }, + { + "name": "Mortal164", + "fields": [ + { + "type": 2 + } + ], + "index": 164 + }, + { + "name": "Mortal165", + "fields": [ + { + "type": 2 + } + ], + "index": 165 + }, + { + "name": "Mortal166", + "fields": [ + { + "type": 2 + } + ], + "index": 166 + }, + { + "name": "Mortal167", + "fields": [ + { + "type": 2 + } + ], + "index": 167 + }, + { + "name": "Mortal168", + "fields": [ + { + "type": 2 + } + ], + "index": 168 + }, + { + "name": "Mortal169", + "fields": [ + { + "type": 2 + } + ], + "index": 169 + }, + { + "name": "Mortal170", + "fields": [ + { + "type": 2 + } + ], + "index": 170 + }, + { + "name": "Mortal171", + "fields": [ + { + "type": 2 + } + ], + "index": 171 + }, + { + "name": "Mortal172", + "fields": [ + { + "type": 2 + } + ], + "index": 172 + }, + { + "name": "Mortal173", + "fields": [ + { + "type": 2 + } + ], + "index": 173 + }, + { + "name": "Mortal174", + "fields": [ + { + "type": 2 + } + ], + "index": 174 + }, + { + "name": "Mortal175", + "fields": [ + { + "type": 2 + } + ], + "index": 175 + }, + { + "name": "Mortal176", + "fields": [ + { + "type": 2 + } + ], + "index": 176 + }, + { + "name": "Mortal177", + "fields": [ + { + "type": 2 + } + ], + "index": 177 + }, + { + "name": "Mortal178", + "fields": [ + { + "type": 2 + } + ], + "index": 178 + }, + { + "name": "Mortal179", + "fields": [ + { + "type": 2 + } + ], + "index": 179 + }, + { + "name": "Mortal180", + "fields": [ + { + "type": 2 + } + ], + "index": 180 + }, + { + "name": "Mortal181", + "fields": [ + { + "type": 2 + } + ], + "index": 181 + }, + { + "name": "Mortal182", + "fields": [ + { + "type": 2 + } + ], + "index": 182 + }, + { + "name": "Mortal183", + "fields": [ + { + "type": 2 + } + ], + "index": 183 + }, + { + "name": "Mortal184", + "fields": [ + { + "type": 2 + } + ], + "index": 184 + }, + { + "name": "Mortal185", + "fields": [ + { + "type": 2 + } + ], + "index": 185 + }, + { + "name": "Mortal186", + "fields": [ + { + "type": 2 + } + ], + "index": 186 + }, + { + "name": "Mortal187", + "fields": [ + { + "type": 2 + } + ], + "index": 187 + }, + { + "name": "Mortal188", + "fields": [ + { + "type": 2 + } + ], + "index": 188 + }, + { + "name": "Mortal189", + "fields": [ + { + "type": 2 + } + ], + "index": 189 + }, + { + "name": "Mortal190", + "fields": [ + { + "type": 2 + } + ], + "index": 190 + }, + { + "name": "Mortal191", + "fields": [ + { + "type": 2 + } + ], + "index": 191 + }, + { + "name": "Mortal192", + "fields": [ + { + "type": 2 + } + ], + "index": 192 + }, + { + "name": "Mortal193", + "fields": [ + { + "type": 2 + } + ], + "index": 193 + }, + { + "name": "Mortal194", + "fields": [ + { + "type": 2 + } + ], + "index": 194 + }, + { + "name": "Mortal195", + "fields": [ + { + "type": 2 + } + ], + "index": 195 + }, + { + "name": "Mortal196", + "fields": [ + { + "type": 2 + } + ], + "index": 196 + }, + { + "name": "Mortal197", + "fields": [ + { + "type": 2 + } + ], + "index": 197 + }, + { + "name": "Mortal198", + "fields": [ + { + "type": 2 + } + ], + "index": 198 + }, + { + "name": "Mortal199", + "fields": [ + { + "type": 2 + } + ], + "index": 199 + }, + { + "name": "Mortal200", + "fields": [ + { + "type": 2 + } + ], + "index": 200 + }, + { + "name": "Mortal201", + "fields": [ + { + "type": 2 + } + ], + "index": 201 + }, + { + "name": "Mortal202", + "fields": [ + { + "type": 2 + } + ], + "index": 202 + }, + { + "name": "Mortal203", + "fields": [ + { + "type": 2 + } + ], + "index": 203 + }, + { + "name": "Mortal204", + "fields": [ + { + "type": 2 + } + ], + "index": 204 + }, + { + "name": "Mortal205", + "fields": [ + { + "type": 2 + } + ], + "index": 205 + }, + { + "name": "Mortal206", + "fields": [ + { + "type": 2 + } + ], + "index": 206 + }, + { + "name": "Mortal207", + "fields": [ + { + "type": 2 + } + ], + "index": 207 + }, + { + "name": "Mortal208", + "fields": [ + { + "type": 2 + } + ], + "index": 208 + }, + { + "name": "Mortal209", + "fields": [ + { + "type": 2 + } + ], + "index": 209 + }, + { + "name": "Mortal210", + "fields": [ + { + "type": 2 + } + ], + "index": 210 + }, + { + "name": "Mortal211", + "fields": [ + { + "type": 2 + } + ], + "index": 211 + }, + { + "name": "Mortal212", + "fields": [ + { + "type": 2 + } + ], + "index": 212 + }, + { + "name": "Mortal213", + "fields": [ + { + "type": 2 + } + ], + "index": 213 + }, + { + "name": "Mortal214", + "fields": [ + { + "type": 2 + } + ], + "index": 214 + }, + { + "name": "Mortal215", + "fields": [ + { + "type": 2 + } + ], + "index": 215 + }, + { + "name": "Mortal216", + "fields": [ + { + "type": 2 + } + ], + "index": 216 + }, + { + "name": "Mortal217", + "fields": [ + { + "type": 2 + } + ], + "index": 217 + }, + { + "name": "Mortal218", + "fields": [ + { + "type": 2 + } + ], + "index": 218 + }, + { + "name": "Mortal219", + "fields": [ + { + "type": 2 + } + ], + "index": 219 + }, + { + "name": "Mortal220", + "fields": [ + { + "type": 2 + } + ], + "index": 220 + }, + { + "name": "Mortal221", + "fields": [ + { + "type": 2 + } + ], + "index": 221 + }, + { + "name": "Mortal222", + "fields": [ + { + "type": 2 + } + ], + "index": 222 + }, + { + "name": "Mortal223", + "fields": [ + { + "type": 2 + } + ], + "index": 223 + }, + { + "name": "Mortal224", + "fields": [ + { + "type": 2 + } + ], + "index": 224 + }, + { + "name": "Mortal225", + "fields": [ + { + "type": 2 + } + ], + "index": 225 + }, + { + "name": "Mortal226", + "fields": [ + { + "type": 2 + } + ], + "index": 226 + }, + { + "name": "Mortal227", + "fields": [ + { + "type": 2 + } + ], + "index": 227 + }, + { + "name": "Mortal228", + "fields": [ + { + "type": 2 + } + ], + "index": 228 + }, + { + "name": "Mortal229", + "fields": [ + { + "type": 2 + } + ], + "index": 229 + }, + { + "name": "Mortal230", + "fields": [ + { + "type": 2 + } + ], + "index": 230 + }, + { + "name": "Mortal231", + "fields": [ + { + "type": 2 + } + ], + "index": 231 + }, + { + "name": "Mortal232", + "fields": [ + { + "type": 2 + } + ], + "index": 232 + }, + { + "name": "Mortal233", + "fields": [ + { + "type": 2 + } + ], + "index": 233 + }, + { + "name": "Mortal234", + "fields": [ + { + "type": 2 + } + ], + "index": 234 + }, + { + "name": "Mortal235", + "fields": [ + { + "type": 2 + } + ], + "index": 235 + }, + { + "name": "Mortal236", + "fields": [ + { + "type": 2 + } + ], + "index": 236 + }, + { + "name": "Mortal237", + "fields": [ + { + "type": 2 + } + ], + "index": 237 + }, + { + "name": "Mortal238", + "fields": [ + { + "type": 2 + } + ], + "index": 238 + }, + { + "name": "Mortal239", + "fields": [ + { + "type": 2 + } + ], + "index": 239 + }, + { + "name": "Mortal240", + "fields": [ + { + "type": 2 + } + ], + "index": 240 + }, + { + "name": "Mortal241", + "fields": [ + { + "type": 2 + } + ], + "index": 241 + }, + { + "name": "Mortal242", + "fields": [ + { + "type": 2 + } + ], + "index": 242 + }, + { + "name": "Mortal243", + "fields": [ + { + "type": 2 + } + ], + "index": 243 + }, + { + "name": "Mortal244", + "fields": [ + { + "type": 2 + } + ], + "index": 244 + }, + { + "name": "Mortal245", + "fields": [ + { + "type": 2 + } + ], + "index": 245 + }, + { + "name": "Mortal246", + "fields": [ + { + "type": 2 + } + ], + "index": 246 + }, + { + "name": "Mortal247", + "fields": [ + { + "type": 2 + } + ], + "index": 247 + }, + { + "name": "Mortal248", + "fields": [ + { + "type": 2 + } + ], + "index": 248 + }, + { + "name": "Mortal249", + "fields": [ + { + "type": 2 + } + ], + "index": 249 + }, + { + "name": "Mortal250", + "fields": [ + { + "type": 2 + } + ], + "index": 250 + }, + { + "name": "Mortal251", + "fields": [ + { + "type": 2 + } + ], + "index": 251 + }, + { + "name": "Mortal252", + "fields": [ + { + "type": 2 + } + ], + "index": 252 + }, + { + "name": "Mortal253", + "fields": [ + { + "type": 2 + } + ], + "index": 253 + }, + { + "name": "Mortal254", + "fields": [ + { + "type": 2 + } + ], + "index": 254 + }, + { + "name": "Mortal255", + "fields": [ + { + "type": 2 + } + ], + "index": 255 + } + ] + } + } + } + }, + { + "id": 1027, + "type": { + "path": [ + "frame_system", + "extensions", + "check_nonce", + "CheckNonce" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 119, + "typeName": "T::Index" + } + ] + } + } + } + }, + { + "id": 1028, + "type": { + "path": [ + "frame_system", + "extensions", + "check_weight", + "CheckWeight" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 1029, + "type": { + "path": [ + "pallet_transaction_payment", + "ChargeTransactionPayment" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 63, + "typeName": "BalanceOf" + } + ] + } + } + } + }, + { + "id": 1030, + "type": { + "path": [ + "pallet_fuel_tanks", + "extension", + "CheckFuelTank" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + } + ] + }, + "pallets": [ + { + "name": "System", + "storage": { + "prefix": "System", + "entries": [ + { + "name": "Account", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 3 + } + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 128 + ], + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "ty": { + "Plain": 8 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 12 + } + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 13 + } + }, + "default": [ + 0 + ], + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "ty": { + "Plain": 12 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "ty": { + "Plain": 14 + }, + "default": [ + 0 + ], + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "ty": { + "Plain": 18 + }, + "default": [ + 0 + ], + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 12, + "value": 653 + } + }, + "default": [ + 0 + ], + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "ty": { + "Plain": 654 + }, + "default": [ + 0 + ], + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "ty": { + "Plain": 37 + }, + "default": [ + 0 + ], + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "ty": { + "Plain": 37 + }, + "default": [ + 0 + ], + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "ty": { + "Plain": 651 + }, + "default": [ + 0 + ], + "docs": [ + " The execution phase of the block." + ] + } + ] + }, + "calls": { + "ty": 293 + }, + "event": { + "ty": 21 + }, + "constants": [ + { + "name": "BlockWeights", + "ty": 656, + "value": [ + 2, + 3, + 129, + 93, + 0, + 11, + 0, + 32, + 74, + 169, + 209, + 1, + 19, + 255, + 255, + 255, + 255, + 255, + 255, + 255, + 255, + 194, + 233, + 23, + 27, + 0, + 1, + 11, + 144, + 213, + 25, + 144, + 88, + 1, + 19, + 163, + 112, + 61, + 10, + 215, + 163, + 112, + 189, + 1, + 11, + 0, + 152, + 247, + 62, + 93, + 1, + 19, + 255, + 255, + 255, + 255, + 255, + 255, + 255, + 191, + 1, + 0, + 0, + 194, + 233, + 23, + 27, + 0, + 1, + 11, + 144, + 93, + 108, + 250, + 204, + 1, + 19, + 163, + 112, + 61, + 10, + 215, + 163, + 112, + 253, + 1, + 11, + 0, + 32, + 74, + 169, + 209, + 1, + 19, + 255, + 255, + 255, + 255, + 255, + 255, + 255, + 255, + 1, + 7, + 0, + 136, + 82, + 106, + 116, + 19, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 64, + 194, + 233, + 23, + 27, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "ty": 659, + "value": [ + 0, + 0, + 60, + 0, + 0, + 0, + 80, + 0, + 0, + 0, + 80, + 0 + ], + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "ty": 4, + "value": [ + 0, + 16, + 0, + 0 + ], + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "ty": 661, + "value": [ + 64, + 120, + 125, + 1, + 0, + 0, + 0, + 0, + 0, + 225, + 245, + 5, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "ty": 662, + "value": [ + 20, + 101, + 110, + 106, + 105, + 110, + 20, + 101, + 110, + 106, + 105, + 110, + 1, + 0, + 0, + 0, + 120, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 60, + 223, + 106, + 203, + 104, + 153, + 7, + 96, + 155, + 4, + 0, + 0, + 0, + 55, + 227, + 151, + 252, + 124, + 145, + 245, + 228, + 2, + 0, + 0, + 0, + 64, + 254, + 58, + 212, + 1, + 248, + 149, + 154, + 6, + 0, + 0, + 0, + 210, + 188, + 152, + 151, + 238, + 208, + 143, + 21, + 3, + 0, + 0, + 0, + 247, + 139, + 39, + 139, + 229, + 63, + 69, + 76, + 2, + 0, + 0, + 0, + 203, + 202, + 37, + 227, + 159, + 20, + 35, + 135, + 2, + 0, + 0, + 0, + 73, + 234, + 175, + 27, + 84, + 138, + 12, + 176, + 2, + 0, + 0, + 0, + 145, + 213, + 223, + 24, + 176, + 210, + 207, + 88, + 2, + 0, + 0, + 0, + 104, + 122, + 212, + 74, + 211, + 127, + 3, + 194, + 1, + 0, + 0, + 0, + 171, + 60, + 5, + 114, + 41, + 31, + 235, + 139, + 1, + 0, + 0, + 0, + 237, + 153, + 197, + 172, + 178, + 94, + 237, + 245, + 3, + 0, + 0, + 0, + 175, + 44, + 2, + 151, + 162, + 62, + 109, + 61, + 4, + 0, + 0, + 0, + 188, + 157, + 137, + 144, + 79, + 91, + 146, + 63, + 1, + 0, + 0, + 0, + 55, + 200, + 187, + 19, + 80, + 169, + 162, + 168, + 4, + 0, + 0, + 0, + 243, + 255, + 20, + 213, + 171, + 82, + 112, + 89, + 3, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 1 + ], + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "ty": 290, + "value": [ + 87, + 8 + ], + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "error": { + "ty": 666 + }, + "index": 0 + }, + { + "name": "RandomnessCollectiveFlip", + "storage": { + "prefix": "RandomnessCollectiveFlip", + "entries": [ + { + "name": "RandomMaterial", + "modifier": "Default", + "ty": { + "Plain": 667 + }, + "default": [ + 0 + ], + "docs": [ + " Series of block headers from the last 81 blocks that acts as random seed material. This", + " is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of", + " the oldest hash." + ] + } + ] + }, + "calls": null, + "event": null, + "constants": [], + "error": null, + "index": 1 + }, + { + "name": "Timestamp", + "storage": { + "prefix": "Timestamp", + "entries": [ + { + "name": "Now", + "modifier": "Default", + "ty": { + "Plain": 11 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "ty": { + "Plain": 37 + }, + "default": [ + 0 + ], + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ] + }, + "calls": { + "ty": 297 + }, + "event": null, + "constants": [ + { + "name": "MinimumPeriod", + "ty": 11, + "value": [ + 184, + 11, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "error": null, + "index": 2 + }, + { + "name": "Babe", + "storage": { + "prefix": "Babe", + "entries": [ + { + "name": "EpochIndex", + "modifier": "Default", + "ty": { + "Plain": 11 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Current epoch index." + ] + }, + { + "name": "Authorities", + "modifier": "Default", + "ty": { + "Plain": 668 + }, + "default": [ + 0 + ], + "docs": [ + " Current epoch authorities." + ] + }, + { + "name": "GenesisSlot", + "modifier": "Default", + "ty": { + "Plain": 303 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The slot at which the first epoch actually started. This is 0", + " until the first block of the chain." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "ty": { + "Plain": 303 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Current slot number." + ] + }, + { + "name": "Randomness", + "modifier": "Default", + "ty": { + "Plain": 1 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The epoch randomness for the *current* epoch.", + "", + " # Security", + "", + " This MUST NOT be used for gambling, as it can be influenced by a", + " malicious validator in the short term. It MAY be used in many", + " cryptographic protocols, however, so long as one remembers that this", + " (like everything else on-chain) it is public. For example, it can be", + " used where a number is needed that cannot have been chosen by an", + " adversary, for purposes such as public-coin zero-knowledge proofs." + ] + }, + { + "name": "PendingEpochConfigChange", + "modifier": "Optional", + "ty": { + "Plain": 305 + }, + "default": [ + 0 + ], + "docs": [ + " Pending epoch configuration change that will be applied when the next epoch is enacted." + ] + }, + { + "name": "NextRandomness", + "modifier": "Default", + "ty": { + "Plain": 1 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Next epoch randomness." + ] + }, + { + "name": "NextAuthorities", + "modifier": "Default", + "ty": { + "Plain": 668 + }, + "default": [ + 0 + ], + "docs": [ + " Next epoch authorities." + ] + }, + { + "name": "SegmentIndex", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Randomness under construction.", + "", + " We make a trade-off between storage accesses and list length.", + " We store the under-construction randomness in segments of up to", + " `UNDER_CONSTRUCTION_SEGMENT_LENGTH`.", + "", + " Once a segment reaches this length, we begin the next one.", + " We reset all segments and return to `0` at the beginning of every", + " epoch." + ] + }, + { + "name": "UnderConstruction", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 671 + } + }, + "default": [ + 0 + ], + "docs": [ + " TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay." + ] + }, + { + "name": "Initialized", + "modifier": "Optional", + "ty": { + "Plain": 673 + }, + "default": [ + 0 + ], + "docs": [ + " Temporary value (cleared at block finalization) which is `Some`", + " if per-block initialization has already been called for current block." + ] + }, + { + "name": "AuthorVrfRandomness", + "modifier": "Default", + "ty": { + "Plain": 286 + }, + "default": [ + 0 + ], + "docs": [ + " This field should always be populated during block processing unless", + " secondary plain slots are enabled (which don't contain a VRF output).", + "", + " It is set in `on_finalize`, before it will contain the value from the last block." + ] + }, + { + "name": "EpochStart", + "modifier": "Default", + "ty": { + "Plain": 285 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The block numbers when the last and current epoch have started, respectively `N-1` and", + " `N`.", + " NOTE: We track this is in order to annotate the block number when a given pool of", + " entropy was fixed (i.e. it was known to chain observers). Since epochs are defined in", + " slots, which may be skipped, the block numbers may not line up with the slot numbers." + ] + }, + { + "name": "Lateness", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " How late the current block is compared to its parent.", + "", + " This entry is populated as part of block execution and is cleaned up", + " on block finalization. Querying this storage entry outside of block", + " execution context should always yield zero." + ] + }, + { + "name": "EpochConfig", + "modifier": "Optional", + "ty": { + "Plain": 679 + }, + "default": [ + 0 + ], + "docs": [ + " The configuration for the current epoch. Should never be `None` as it is initialized in", + " genesis." + ] + }, + { + "name": "NextEpochConfig", + "modifier": "Optional", + "ty": { + "Plain": 679 + }, + "default": [ + 0 + ], + "docs": [ + " The configuration for the next epoch, `None` if the config will not change", + " (you can fallback to `EpochConfig` instead in that case)." + ] + }, + { + "name": "SkippedEpochs", + "modifier": "Default", + "ty": { + "Plain": 680 + }, + "default": [ + 0 + ], + "docs": [ + " A list of the last 100 skipped epochs and the corresponding session index", + " when the epoch was skipped.", + "", + " This is only used for validating equivocation proofs. An equivocation proof", + " must contains a key-ownership proof for a given session, therefore we need a", + " way to tie together sessions and epoch indices, i.e. we need to validate that", + " a validator was the owner of a given key on a given session, and what the", + " active epoch index was during that session." + ] + } + ] + }, + "calls": { + "ty": 298 + }, + "event": null, + "constants": [ + { + "name": "EpochDuration", + "ty": 11, + "value": [ + 96, + 9, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount of time, in slots, that each epoch should last.", + " NOTE: Currently it is not possible to change the epoch duration after", + " the chain has started. Attempting to do so will brick block production." + ] + }, + { + "name": "ExpectedBlockTime", + "ty": 11, + "value": [ + 112, + 23, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The expected average block time at which BABE should be creating", + " blocks. Since BABE is probabilistic it is not trivial to figure out", + " what the expected average block time should be based on the slot", + " duration and the security parameter `c` (where `1 - c` represents", + " the probability of a slot being empty)." + ] + }, + { + "name": "MaxAuthorities", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " Max number of authorities allowed" + ] + } + ], + "error": { + "ty": 683 + }, + "index": 3 + }, + { + "name": "Historical", + "storage": null, + "calls": null, + "event": null, + "constants": [], + "error": null, + "index": 4 + }, + { + "name": "Authorship", + "storage": { + "prefix": "Authorship", + "entries": [ + { + "name": "Author", + "modifier": "Optional", + "ty": { + "Plain": 0 + }, + "default": [ + 0 + ], + "docs": [ + " Author of current block." + ] + } + ] + }, + "calls": null, + "event": null, + "constants": [], + "error": null, + "index": 5 + }, + { + "name": "Balances", + "storage": { + "prefix": "Balances", + "entries": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "ty": { + "Plain": 6 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "InactiveIssuance", + "modifier": "Default", + "ty": { + "Plain": 6 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The total units of outstanding deactivated balance in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 5 + } + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 128 + ], + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 684 + } + }, + "default": [ + 0 + ], + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 688 + } + }, + "default": [ + 0 + ], + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "Holds", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 691 + } + }, + "default": [ + 0 + ], + "docs": [ + " Holds on account balances." + ] + }, + { + "name": "Freezes", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 691 + } + }, + "default": [ + 0 + ], + "docs": [ + " Freeze locks on account balances." + ] + } + ] + }, + "calls": { + "ty": 308 + }, + "event": { + "ty": 30 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "ty": 6, + "value": [ + 0, + 0, + 138, + 93, + 120, + 69, + 99, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!", + "", + " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for", + " this pallet. However, you do so at your own risk: this will open up a major DoS vector.", + " In case you have multiple sources of provider references, you may also get unexpected", + " behaviour if you set this to zero.", + "", + " Bottom line: Do yourself a favour and make it at least one!" + ] + }, + { + "name": "MaxLocks", + "ty": 4, + "value": [ + 50, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "ty": 4, + "value": [ + 50, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + }, + { + "name": "MaxHolds", + "ty": 4, + "value": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of holds that can exist on an account at any time." + ] + }, + { + "name": "MaxFreezes", + "ty": 4, + "value": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of individual freeze locks that can exist on an account at any time." + ] + } + ], + "error": { + "ty": 694 + }, + "index": 6 + }, + { + "name": "Offences", + "storage": { + "prefix": "Offences", + "entries": [ + { + "name": "Reports", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 12, + "value": 695 + } + }, + "default": [ + 0 + ], + "docs": [ + " The primary structure that holds all offence records keyed by report identifiers." + ] + }, + { + "name": "ConcurrentReportsIndex", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 696, + "value": 652 + } + }, + "default": [ + 0 + ], + "docs": [ + " A vector of reports of the same kind that happened at the same time slot." + ] + } + ] + }, + "calls": null, + "event": { + "ty": 32 + }, + "constants": [], + "error": null, + "index": 7 + }, + { + "name": "ElectionProviderMultiPhase", + "storage": { + "prefix": "ElectionProviderMultiPhase", + "entries": [ + { + "name": "Round", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 1, + 0, + 0, + 0 + ], + "docs": [ + " Internal counter for the number of rounds.", + "", + " This is useful for de-duplication of transactions submitted to the pool, and general", + " diagnostics of the pallet.", + "", + " This is merely incremented once per every time that an upstream `elect` is called." + ] + }, + { + "name": "CurrentPhase", + "modifier": "Default", + "ty": { + "Plain": 39 + }, + "default": [ + 0 + ], + "docs": [ + " Current phase." + ] + }, + { + "name": "QueuedSolution", + "modifier": "Optional", + "ty": { + "Plain": 697 + }, + "default": [ + 0 + ], + "docs": [ + " Current best solution, signed or unsigned, queued to be returned upon `elect`.", + "", + " Always sorted by score." + ] + }, + { + "name": "Snapshot", + "modifier": "Optional", + "ty": { + "Plain": 699 + }, + "default": [ + 0 + ], + "docs": [ + " Snapshot data of the round.", + "", + " This is created at the beginning of the signed phase and cleared upon calling `elect`." + ] + }, + { + "name": "DesiredTargets", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [ + " Desired number of targets to elect for this round.", + "", + " Only exists when [`Snapshot`] is present." + ] + }, + { + "name": "SnapshotMetadata", + "modifier": "Optional", + "ty": { + "Plain": 364 + }, + "default": [ + 0 + ], + "docs": [ + " The metadata of the [`RoundSnapshot`]", + "", + " Only exists when [`Snapshot`] is present." + ] + }, + { + "name": "SignedSubmissionNextIndex", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The next index to be assigned to an incoming signed submission.", + "", + " Every accepted submission is assigned a unique index; that index is bound to that particular", + " submission for the duration of the election. On election finalization, the next index is", + " reset to 0.", + "", + " We can't just use `SignedSubmissionIndices.len()`, because that's a bounded set; past its", + " capacity, it will simply saturate. We can't just iterate over `SignedSubmissionsMap`,", + " because iteration is slow. Instead, we store the value here." + ] + }, + { + "name": "SignedSubmissionIndices", + "modifier": "Default", + "ty": { + "Plain": 703 + }, + "default": [ + 0 + ], + "docs": [ + " A sorted, bounded vector of `(score, block_number, index)`, where each `index` points to a", + " value in `SignedSubmissions`.", + "", + " We never need to process more than a single signed submission at a time. Signed submissions", + " can be quite large, so we're willing to pay the cost of multiple database accesses to access", + " them one at a time instead of reading and decoding all of them at once." + ] + }, + { + "name": "SignedSubmissionsMap", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 706 + } + }, + "default": [ + 0 + ], + "docs": [ + " Unchecked, signed solutions.", + "", + " Together with `SubmissionIndices`, this stores a bounded set of `SignedSubmissions` while", + " allowing us to keep only a single one in memory at a time.", + "", + " Twox note: the key of the map is an auto-incrementing index which users cannot inspect or", + " affect; we shouldn't need a cryptographically secure hasher." + ] + }, + { + "name": "MinimumUntrustedScore", + "modifier": "Optional", + "ty": { + "Plain": 38 + }, + "default": [ + 0 + ], + "docs": [ + " The minimum score that each 'untrusted' solution must attain in order to be considered", + " feasible.", + "", + " Can be set via `set_minimum_untrusted_score`." + ] + } + ] + }, + "calls": { + "ty": 311 + }, + "event": { + "ty": 34 + }, + "constants": [ + { + "name": "UnsignedPhase", + "ty": 4, + "value": [ + 88, + 2, + 0, + 0 + ], + "docs": [ + " Duration of the unsigned phase." + ] + }, + { + "name": "SignedPhase", + "ty": 4, + "value": [ + 88, + 2, + 0, + 0 + ], + "docs": [ + " Duration of the signed phase." + ] + }, + { + "name": "BetterSignedThreshold", + "ty": 42, + "value": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum amount of improvement to the solution score that defines a solution as", + " \"better\" in the Signed phase." + ] + }, + { + "name": "BetterUnsignedThreshold", + "ty": 42, + "value": [ + 160, + 134, + 1, + 0 + ], + "docs": [ + " The minimum amount of improvement to the solution score that defines a solution as", + " \"better\" in the Unsigned phase." + ] + }, + { + "name": "OffchainRepeat", + "ty": 4, + "value": [ + 5, + 0, + 0, + 0 + ], + "docs": [ + " The repeat threshold of the offchain worker.", + "", + " For example, if it is 5, that means that at least 5 blocks will elapse between attempts", + " to submit the worker's solution." + ] + }, + { + "name": "MinerTxPriority", + "ty": 11, + "value": [ + 254, + 255, + 255, + 255, + 255, + 255, + 255, + 127 + ], + "docs": [ + " The priority of the unsigned transaction submitted in the unsigned-phase" + ] + }, + { + "name": "SignedMaxSubmissions", + "ty": 4, + "value": [ + 10, + 0, + 0, + 0 + ], + "docs": [ + " Maximum number of signed submissions that can be queued.", + "", + " It is best to avoid adjusting this during an election, as it impacts downstream data", + " structures. In particular, `SignedSubmissionIndices` is bounded on this value. If you", + " update this value during an election, you _must_ ensure that", + " `SignedSubmissionIndices.len()` is less than or equal to the new value. Otherwise,", + " attempts to submit new solutions may cause a runtime panic." + ] + }, + { + "name": "SignedMaxWeight", + "ty": 9, + "value": [ + 11, + 208, + 148, + 185, + 120, + 88, + 1, + 19, + 163, + 112, + 61, + 10, + 215, + 163, + 112, + 189 + ], + "docs": [ + " Maximum weight of a signed solution.", + "", + " If [`Config::MinerConfig`] is being implemented to submit signed solutions (outside of", + " this pallet), then [`MinerConfig::solution_weight`] is used to compare against", + " this value." + ] + }, + { + "name": "SignedMaxRefunds", + "ty": 4, + "value": [ + 3, + 0, + 0, + 0 + ], + "docs": [ + " The maximum amount of unchecked solutions to refund the call fee for." + ] + }, + { + "name": "SignedRewardBase", + "ty": 6, + "value": [ + 0, + 0, + 122, + 34, + 193, + 200, + 177, + 34, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Base reward for a signed solution" + ] + }, + { + "name": "SignedDepositBase", + "ty": 6, + "value": [ + 0, + 0, + 122, + 34, + 193, + 200, + 177, + 34, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Base deposit for a signed solution." + ] + }, + { + "name": "SignedDepositByte", + "ty": 6, + "value": [ + 0, + 128, + 98, + 23, + 94, + 209, + 88, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Per-byte deposit for a signed solution." + ] + }, + { + "name": "SignedDepositWeight", + "ty": 6, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Per-weight deposit for a signed solution." + ] + }, + { + "name": "MaxElectingVoters", + "ty": 4, + "value": [ + 64, + 156, + 0, + 0 + ], + "docs": [ + " The maximum number of electing voters to put in the snapshot. At the moment, snapshots", + " are only over a single block, but once multi-block elections are introduced they will", + " take place over multiple blocks." + ] + }, + { + "name": "MaxElectableTargets", + "ty": 290, + "value": [ + 16, + 39 + ], + "docs": [ + " The maximum number of electable targets to put in the snapshot." + ] + }, + { + "name": "MaxWinners", + "ty": 4, + "value": [ + 232, + 3, + 0, + 0 + ], + "docs": [ + " The maximum number of winners that can be elected by this `ElectionProvider`", + " implementation.", + "", + " Note: This must always be greater or equal to `T::DataProvider::desired_targets()`." + ] + }, + { + "name": "MinerMaxLength", + "ty": 4, + "value": [ + 0, + 0, + 54, + 0 + ], + "docs": [] + }, + { + "name": "MinerMaxWeight", + "ty": 9, + "value": [ + 11, + 208, + 148, + 185, + 120, + 88, + 1, + 19, + 163, + 112, + 61, + 10, + 215, + 163, + 112, + 189 + ], + "docs": [] + }, + { + "name": "MinerMaxVotesPerVoter", + "ty": 4, + "value": [ + 16, + 0, + 0, + 0 + ], + "docs": [] + }, + { + "name": "MinerMaxWinners", + "ty": 4, + "value": [ + 232, + 3, + 0, + 0 + ], + "docs": [] + } + ], + "error": { + "ty": 707 + }, + "index": 8 + }, + { + "name": "Staking", + "storage": { + "prefix": "Staking", + "entries": [ + { + "name": "ValidatorCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The ideal number of active validators." + ] + }, + { + "name": "MinimumValidatorCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Minimum number of staking participants before emergency conditions are imposed." + ] + }, + { + "name": "Invulnerables", + "modifier": "Default", + "ty": { + "Plain": 78 + }, + "default": [ + 0 + ], + "docs": [ + " Any validators that may never be slashed or forcibly kicked. It's a Vec since they're", + " easy to initialize and the performance hit is minimal (we expect no more than four", + " invulnerables) and restricted to testnets." + ] + }, + { + "name": "Bonded", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 0 + } + }, + "default": [ + 0 + ], + "docs": [ + " Map from all locked \"stash\" accounts to the controller account.", + "", + " TWOX-NOTE: SAFE since `AccountId` is a secure hash." + ] + }, + { + "name": "MinNominatorBond", + "modifier": "Default", + "ty": { + "Plain": 6 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum active bond to become and maintain the role of a nominator." + ] + }, + { + "name": "MinValidatorBond", + "modifier": "Default", + "ty": { + "Plain": 6 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum active bond to become and maintain the role of a validator." + ] + }, + { + "name": "MinimumActiveStake", + "modifier": "Default", + "ty": { + "Plain": 6 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum active nominator stake of the last successful election." + ] + }, + { + "name": "MinCommission", + "modifier": "Default", + "ty": { + "Plain": 42 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum amount of commission that validators can set.", + "", + " If set to `0`, no limit exists." + ] + }, + { + "name": "Ledger", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 708 + } + }, + "default": [ + 0 + ], + "docs": [ + " Map from all (unlocked) \"controller\" accounts to the info regarding the staking." + ] + }, + { + "name": "Payee", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 372 + } + }, + "default": [ + 0 + ], + "docs": [ + " Where the reward payment should be made. Keyed by stash.", + "", + " TWOX-NOTE: SAFE since `AccountId` is a secure hash." + ] + }, + { + "name": "Validators", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 43 + } + }, + "default": [ + 0, + 0 + ], + "docs": [ + " The map from (wannabe) validator stash key to the preferences of that validator.", + "", + " TWOX-NOTE: SAFE since `AccountId` is a secure hash." + ] + }, + { + "name": "CounterForValidators", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + "Counter for the related counted storage map" + ] + }, + { + "name": "MaxValidatorsCount", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [ + " The maximum validator count before we stop allowing new validators to join.", + "", + " When this value is not set, no limits are enforced." + ] + }, + { + "name": "Nominators", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 713 + } + }, + "default": [ + 0 + ], + "docs": [ + " The map from nominator stash key to their nomination preferences, namely the validators that", + " they wish to support.", + "", + " Note that the keys of this storage map might become non-decodable in case the", + " [`Config::MaxNominations`] configuration is decreased. In this rare case, these nominators", + " are still existent in storage, their key is correct and retrievable (i.e. `contains_key`", + " indicates that they exist), but their value cannot be decoded. Therefore, the non-decodable", + " nominators will effectively not-exist, until they re-submit their preferences such that it", + " is within the bounds of the newly set `Config::MaxNominations`.", + "", + " This implies that `::iter_keys().count()` and `::iter().count()` might return different", + " values for this map. Moreover, the main `::count()` is aligned with the former, namely the", + " number of keys that exist.", + "", + " Lastly, if any of the nominators become non-decodable, they can be chilled immediately via", + " [`Call::chill_other`] dispatchable by anyone.", + "", + " TWOX-NOTE: SAFE since `AccountId` is a secure hash." + ] + }, + { + "name": "CounterForNominators", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + "Counter for the related counted storage map" + ] + }, + { + "name": "MaxNominatorsCount", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [ + " The maximum nominator count before we stop allowing new validators to join.", + "", + " When this value is not set, no limits are enforced." + ] + }, + { + "name": "CurrentEra", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [ + " The current era index.", + "", + " This is the latest planned era, depending on how the Session pallet queues the validator", + " set, it might be active or not." + ] + }, + { + "name": "ActiveEra", + "modifier": "Optional", + "ty": { + "Plain": 714 + }, + "default": [ + 0 + ], + "docs": [ + " The active era information, it holds index and start.", + "", + " The active era is the era being currently rewarded. Validator set of this era must be", + " equal to [`SessionInterface::validators`]." + ] + }, + { + "name": "ErasStartSessionIndex", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " The session index at which the era start for the last `HISTORY_DEPTH` eras.", + "", + " Note: This tracks the starting session (i.e. session index when era start being active)", + " for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`." + ] + }, + { + "name": "ErasStakers", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 715, + "value": 62 + } + }, + "default": [ + 0, + 0, + 0 + ], + "docs": [ + " Exposure of validator at era.", + "", + " This is keyed first by the era index to allow bulk deletion and then the stash account.", + "", + " Is it removed after `HISTORY_DEPTH` eras.", + " If stakers hasn't been set or has been removed then empty exposure is returned." + ] + }, + { + "name": "ErasStakersClipped", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 715, + "value": 62 + } + }, + "default": [ + 0, + 0, + 0 + ], + "docs": [ + " Clipped Exposure of validator at era.", + "", + " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the", + " `T::MaxNominatorRewardedPerValidator` biggest stakers.", + " (Note: the field `total` and `own` of the exposure remains unchanged).", + " This is used to limit the i/o cost for the nominator payout.", + "", + " This is keyed fist by the era index to allow bulk deletion and then the stash account.", + "", + " Is it removed after `HISTORY_DEPTH` eras.", + " If stakers hasn't been set or has been removed then empty exposure is returned." + ] + }, + { + "name": "ErasValidatorPrefs", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 715, + "value": 43 + } + }, + "default": [ + 0, + 0 + ], + "docs": [ + " Similar to `ErasStakers`, this holds the preferences of validators.", + "", + " This is keyed first by the era index to allow bulk deletion and then the stash account.", + "", + " Is it removed after `HISTORY_DEPTH` eras." + ] + }, + { + "name": "ErasValidatorReward", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 6 + } + }, + "default": [ + 0 + ], + "docs": [ + " The total validator era payout for the last `HISTORY_DEPTH` eras.", + "", + " Eras that haven't finished yet or has been removed doesn't have reward." + ] + }, + { + "name": "ErasRewardPoints", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 716 + } + }, + "default": [ + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Rewards for the last `HISTORY_DEPTH` eras.", + " If reward hasn't been set or has been removed then 0 reward is returned." + ] + }, + { + "name": "ErasTotalStake", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 6 + } + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The total amount staked for the last `HISTORY_DEPTH` eras.", + " If total hasn't been set or has been removed then 0 stake is returned." + ] + }, + { + "name": "ForceEra", + "modifier": "Default", + "ty": { + "Plain": 45 + }, + "default": [ + 0 + ], + "docs": [ + " Mode of era forcing." + ] + }, + { + "name": "SlashRewardFraction", + "modifier": "Default", + "ty": { + "Plain": 42 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The percentage of the slash that is distributed to reporters.", + "", + " The rest of the slashed value is handled by the `Slash`." + ] + }, + { + "name": "CanceledSlashPayout", + "modifier": "Default", + "ty": { + "Plain": 6 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount of currency given to reporters of a slash event which was", + " canceled by extraordinary circumstances (e.g. governance)." + ] + }, + { + "name": "UnappliedSlashes", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 720 + } + }, + "default": [ + 0 + ], + "docs": [ + " All unapplied slashes that are queued for later." + ] + }, + { + "name": "BondedEras", + "modifier": "Default", + "ty": { + "Plain": 653 + }, + "default": [ + 0 + ], + "docs": [ + " A mapping from still-bonded eras to the first session index of that era.", + "", + " Must contains information for eras for the range:", + " `[active_era - bounding_duration; active_era]`" + ] + }, + { + "name": "ValidatorSlashInEra", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 715, + "value": 722 + } + }, + "default": [ + 0 + ], + "docs": [ + " All slashing events on validators, mapped by era to the highest slash proportion", + " and slash value of the era." + ] + }, + { + "name": "NominatorSlashInEra", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 715, + "value": 6 + } + }, + "default": [ + 0 + ], + "docs": [ + " All slashing events on nominators, mapped by era to the highest slash value of the era." + ] + }, + { + "name": "SlashingSpans", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 723 + } + }, + "default": [ + 0 + ], + "docs": [ + " Slashing spans for stash accounts." + ] + }, + { + "name": "SpanSlash", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 719, + "value": 724 + } + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Records information about the maximum slash of a stash within a slashing span,", + " as well as how much reward has been paid out." + ] + }, + { + "name": "CurrentPlannedSession", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The last planned session scheduled by the session pallet.", + "", + " This is basically in sync with the call to [`pallet_session::SessionManager::new_session`]." + ] + }, + { + "name": "OffendingValidators", + "modifier": "Default", + "ty": { + "Plain": 725 + }, + "default": [ + 0 + ], + "docs": [ + " Indices of validators that have offended in the active era and whether they are currently", + " disabled.", + "", + " This value should be a superset of disabled validators since not all offences lead to the", + " validator being disabled (if there was no slash). This is needed to track the percentage of", + " validators that have offended in the current era, ensuring a new era is forced if", + " `OffendingValidatorsThreshold` is reached. The vec is always kept sorted so that we can find", + " whether a given validator has previously offended using binary search. It gets cleared when", + " the era ends." + ] + }, + { + "name": "ChillThreshold", + "modifier": "Optional", + "ty": { + "Plain": 374 + }, + "default": [ + 0 + ], + "docs": [ + " The threshold for when users can start calling `chill_other` for other validators /", + " nominators. The threshold is compared to the actual number of validators / nominators", + " (`CountFor*`) in the system compared to the configured max (`Max*Count`)." + ] + } + ] + }, + "calls": { + "ty": 371 + }, + "event": { + "ty": 41 + }, + "constants": [ + { + "name": "MaxNominations", + "ty": 4, + "value": [ + 16, + 0, + 0, + 0 + ], + "docs": [ + " Maximum number of nominations per nominator." + ] + }, + { + "name": "HistoryDepth", + "ty": 4, + "value": [ + 84, + 0, + 0, + 0 + ], + "docs": [ + " Number of eras to keep in history.", + "", + " Following information is kept for eras in `[current_era -", + " HistoryDepth, current_era]`: `ErasStakers`, `ErasStakersClipped`,", + " `ErasValidatorPrefs`, `ErasValidatorReward`, `ErasRewardPoints`,", + " `ErasTotalStake`, `ErasStartSessionIndex`,", + " `StakingLedger.claimed_rewards`.", + "", + " Must be more than the number of eras delayed by session.", + " I.e. active era must always be in history. I.e. `active_era >", + " current_era - history_depth` must be guaranteed.", + "", + " If migrating an existing pallet from storage value to config value,", + " this should be set to same value or greater as in storage.", + "", + " Note: `HistoryDepth` is used as the upper bound for the `BoundedVec`", + " item `StakingLedger.claimed_rewards`. Setting this value lower than", + " the existing value can lead to inconsistencies in the", + " `StakingLedger` and will need to be handled properly in a migration.", + " The test `reducing_history_depth_abrupt` shows this effect." + ] + }, + { + "name": "SessionsPerEra", + "ty": 4, + "value": [ + 6, + 0, + 0, + 0 + ], + "docs": [ + " Number of sessions per era." + ] + }, + { + "name": "BondingDuration", + "ty": 4, + "value": [ + 28, + 0, + 0, + 0 + ], + "docs": [ + " Number of eras that staked funds must remain bonded for." + ] + }, + { + "name": "SlashDeferDuration", + "ty": 4, + "value": [ + 27, + 0, + 0, + 0 + ], + "docs": [ + " Number of eras that slashes are deferred by, after computation.", + "", + " This should be less than the bonding duration. Set to 0 if slashes", + " should be applied immediately, without opportunity for intervention." + ] + }, + { + "name": "MaxNominatorRewardedPerValidator", + "ty": 4, + "value": [ + 0, + 1, + 0, + 0 + ], + "docs": [ + " The maximum number of nominators rewarded for each validator.", + "", + " For each validator only the `$MaxNominatorRewardedPerValidator` biggest stakers can", + " claim their reward. This used to limit the i/o cost for the nominator payout." + ] + }, + { + "name": "MaxUnlockingChunks", + "ty": 4, + "value": [ + 32, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of `unlocking` chunks a [`StakingLedger`] can", + " have. Effectively determines how many unique eras a staker may be", + " unbonding in.", + "", + " Note: `MaxUnlockingChunks` is used as the upper bound for the", + " `BoundedVec` item `StakingLedger.unlocking`. Setting this value", + " lower than the existing value can lead to inconsistencies in the", + " `StakingLedger` and will need to be handled properly in a runtime", + " migration. The test `reducing_max_unlocking_chunks_abrupt` shows", + " this effect." + ] + } + ], + "error": { + "ty": 727 + }, + "index": 9 + }, + { + "name": "Session", + "storage": { + "prefix": "Session", + "entries": [ + { + "name": "Validators", + "modifier": "Default", + "ty": { + "Plain": 78 + }, + "default": [ + 0 + ], + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "ty": { + "Plain": 37 + }, + "default": [ + 0 + ], + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "ty": { + "Plain": 728 + }, + "default": [ + 0 + ], + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "ty": { + "Plain": 375 + }, + "default": [ + 0 + ], + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 381 + } + }, + "default": [ + 0 + ], + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 730, + "value": 0 + } + }, + "default": [ + 0 + ], + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ] + }, + "calls": { + "ty": 380 + }, + "event": { + "ty": 46 + }, + "constants": [], + "error": { + "ty": 732 + }, + "index": 10 + }, + { + "name": "Grandpa", + "storage": { + "prefix": "Grandpa", + "entries": [ + { + "name": "State", + "modifier": "Default", + "ty": { + "Plain": 733 + }, + "default": [ + 0 + ], + "docs": [ + " State of the current authority set." + ] + }, + { + "name": "PendingChange", + "modifier": "Optional", + "ty": { + "Plain": 734 + }, + "default": [ + 0 + ], + "docs": [ + " Pending change: (signaled at, scheduled change)." + ] + }, + { + "name": "NextForced", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [ + " next block number where we can force a change." + ] + }, + { + "name": "Stalled", + "modifier": "Optional", + "ty": { + "Plain": 285 + }, + "default": [ + 0 + ], + "docs": [ + " `true` if we are currently stalled." + ] + }, + { + "name": "CurrentSetId", + "modifier": "Default", + "ty": { + "Plain": 11 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The number of changes (both in terms of keys and underlying economic responsibilities)", + " in the \"set\" of Grandpa validators from genesis." + ] + }, + { + "name": "SetIdSession", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 11, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " A mapping from grandpa set ID to the index of the *most recent* session for which its", + " members were responsible.", + "", + " This is only used for validating equivocation proofs. An equivocation proof must", + " contains a key-ownership proof for a given session, therefore we need a way to tie", + " together sessions and GRANDPA set ids, i.e. we need to validate that a validator", + " was the owner of a given key on a given session, and what the active set ID was", + " during that session.", + "", + " TWOX-NOTE: `SetId` is not under user control." + ] + } + ] + }, + "calls": { + "ty": 385 + }, + "event": { + "ty": 47 + }, + "constants": [ + { + "name": "MaxAuthorities", + "ty": 4, + "value": [ + 32, + 0, + 0, + 0 + ], + "docs": [ + " Max Authorities in use" + ] + }, + { + "name": "MaxSetIdSessionEntries", + "ty": 11, + "value": [ + 168, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of entries to keep in the set id to session index mapping.", + "", + " Since the `SetIdSession` map is only used for validating equivocations this", + " value should relate to the bonding duration of whatever staking system is", + " being used (if any). If equivocation handling is not enabled then this value", + " can be zero." + ] + } + ], + "error": { + "ty": 736 + }, + "index": 11 + }, + { + "name": "Treasury", + "storage": { + "prefix": "Treasury", + "entries": [ + { + "name": "ProposalCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Number of proposals that have been made." + ] + }, + { + "name": "Proposals", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 737 + } + }, + "default": [ + 0 + ], + "docs": [ + " Proposals that have been made." + ] + }, + { + "name": "Deactivated", + "modifier": "Default", + "ty": { + "Plain": 6 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount which has been reported as inactive to Currency." + ] + }, + { + "name": "Approvals", + "modifier": "Default", + "ty": { + "Plain": 738 + }, + "default": [ + 0 + ], + "docs": [ + " Proposal indices that have been approved but not yet awarded." + ] + } + ] + }, + "calls": { + "ty": 396 + }, + "event": { + "ty": 52 + }, + "constants": [ + { + "name": "ProposalBond", + "ty": 739, + "value": [ + 80, + 195, + 0, + 0 + ], + "docs": [ + " Fraction of a proposal's value that should be bonded in order to place the proposal.", + " An accepted proposal gets these back. A rejected proposal does not." + ] + }, + { + "name": "ProposalBondMinimum", + "ty": 6, + "value": [ + 0, + 0, + 64, + 178, + 186, + 201, + 224, + 25, + 30, + 2, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Minimum amount of funds that should be placed in a deposit for making a proposal." + ] + }, + { + "name": "ProposalBondMaximum", + "ty": 77, + "value": [ + 0 + ], + "docs": [ + " Maximum amount of funds that should be placed in a deposit for making a proposal." + ] + }, + { + "name": "SpendPeriod", + "ty": 4, + "value": [ + 64, + 56, + 0, + 0 + ], + "docs": [ + " Period between successive spends." + ] + }, + { + "name": "Burn", + "ty": 739, + "value": [ + 32, + 161, + 7, + 0 + ], + "docs": [ + " Percentage of spare funds (if any) that are burnt per spend period." + ] + }, + { + "name": "PalletId", + "ty": 740, + "value": [ + 112, + 121, + 47, + 116, + 114, + 115, + 114, + 121 + ], + "docs": [ + " The treasury's pallet id, used for deriving its sovereign account ID." + ] + }, + { + "name": "MaxApprovals", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of approvals that can wait in the spending queue.", + "", + " NOTE: This parameter is also used within the Bounties Pallet extension if enabled." + ] + } + ], + "error": { + "ty": 741 + }, + "index": 12 + }, + { + "name": "TransactionPayment", + "storage": { + "prefix": "TransactionPayment", + "entries": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "ty": { + "Plain": 742 + }, + "default": [ + 0, + 0, + 100, + 167, + 179, + 182, + 224, + 13, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "ty": { + "Plain": 743 + }, + "default": [ + 0 + ], + "docs": [] + } + ] + }, + "calls": null, + "event": { + "ty": 53 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "ty": 2, + "value": [ + 5 + ], + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "error": null, + "index": 13 + }, + { + "name": "Sudo", + "storage": { + "prefix": "Sudo", + "entries": [ + { + "name": "Key", + "modifier": "Optional", + "ty": { + "Plain": 0 + }, + "default": [ + 0 + ], + "docs": [ + " The `AccountId` of the sudo key." + ] + } + ] + }, + "calls": { + "ty": 397 + }, + "event": { + "ty": 54 + }, + "constants": [], + "error": { + "ty": 744 + }, + "index": 14 + }, + { + "name": "ImOnline", + "storage": { + "prefix": "ImOnline", + "entries": [ + { + "name": "HeartbeatAfter", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The block number after which it's ok to send heartbeats in the current", + " session.", + "", + " At the beginning of each session we set this to a value that should fall", + " roughly in the middle of the session duration. The idea is to first wait for", + " the validators to produce a block in the current session, so that the", + " heartbeat later on will not be necessary.", + "", + " This value will only be used as a fallback if we fail to get a proper session", + " progress estimate from `NextSessionRotation`, as those estimates should be", + " more accurate then the value we calculate for `HeartbeatAfter`." + ] + }, + { + "name": "Keys", + "modifier": "Default", + "ty": { + "Plain": 745 + }, + "default": [ + 0 + ], + "docs": [ + " The current set of keys that may issue a heartbeat." + ] + }, + { + "name": "ReceivedHeartbeats", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 285, + "value": 747 + } + }, + "default": [ + 0 + ], + "docs": [ + " For each session index, we keep a mapping of `SessionIndex` and `AuthIndex` to", + " `WrapperOpaque`." + ] + }, + { + "name": "AuthoredBlocks", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 715, + "value": 4 + } + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " For each session index, we keep a mapping of `ValidatorId` to the", + " number of blocks authored by the given authority." + ] + } + ] + }, + "calls": { + "ty": 398 + }, + "event": { + "ty": 57 + }, + "constants": [ + { + "name": "UnsignedPriority", + "ty": 11, + "value": [ + 255, + 255, + 255, + 255, + 255, + 255, + 255, + 255 + ], + "docs": [ + " A configuration for base priority of unsigned transactions.", + "", + " This is exposed so that it can be tuned for particular runtime, when", + " multiple pallets send unsigned transactions." + ] + } + ], + "error": { + "ty": 752 + }, + "index": 15 + }, + { + "name": "AuthorityDiscovery", + "storage": null, + "calls": null, + "event": null, + "constants": [], + "error": null, + "index": 16 + }, + { + "name": "VoterList", + "storage": { + "prefix": "VoterList", + "entries": [ + { + "name": "ListNodes", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 753 + } + }, + "default": [ + 0 + ], + "docs": [ + " A single node, within some bag.", + "", + " Nodes store links forward and back within their respective bags." + ] + }, + { + "name": "CounterForListNodes", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + "Counter for the related counted storage map" + ] + }, + { + "name": "ListBags", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 11, + "value": 754 + } + }, + "default": [ + 0 + ], + "docs": [ + " A bag stored in storage.", + "", + " Stores a `Bag` struct, which stores head and tail pointers to itself." + ] + } + ] + }, + "calls": { + "ty": 405 + }, + "event": { + "ty": 66 + }, + "constants": [ + { + "name": "BagThresholds", + "ty": 755, + "value": [ + 33, + 3, + 171, + 47, + 184, + 68, + 0, + 0, + 0, + 0, + 213, + 225, + 84, + 77, + 0, + 0, + 0, + 0, + 67, + 224, + 5, + 87, + 0, + 0, + 0, + 0, + 76, + 203, + 237, + 97, + 0, + 0, + 0, + 0, + 46, + 154, + 51, + 110, + 0, + 0, + 0, + 0, + 70, + 38, + 3, + 124, + 0, + 0, + 0, + 0, + 188, + 199, + 141, + 139, + 0, + 0, + 0, + 0, + 206, + 5, + 11, + 157, + 0, + 0, + 0, + 0, + 57, + 93, + 185, + 176, + 0, + 0, + 0, + 0, + 122, + 31, + 223, + 198, + 0, + 0, + 0, + 0, + 11, + 110, + 203, + 223, + 0, + 0, + 0, + 0, + 29, + 85, + 215, + 251, + 0, + 0, + 0, + 0, + 193, + 9, + 103, + 27, + 1, + 0, + 0, + 0, + 241, + 79, + 235, + 62, + 1, + 0, + 0, + 0, + 117, + 13, + 227, + 102, + 1, + 0, + 0, + 0, + 70, + 15, + 221, + 147, + 1, + 0, + 0, + 0, + 200, + 7, + 122, + 198, + 1, + 0, + 0, + 0, + 238, + 204, + 110, + 255, + 1, + 0, + 0, + 0, + 87, + 222, + 134, + 63, + 2, + 0, + 0, + 0, + 99, + 60, + 167, + 135, + 2, + 0, + 0, + 0, + 100, + 154, + 209, + 216, + 2, + 0, + 0, + 0, + 94, + 247, + 39, + 52, + 3, + 0, + 0, + 0, + 36, + 170, + 240, + 154, + 3, + 0, + 0, + 0, + 85, + 239, + 154, + 14, + 4, + 0, + 0, + 0, + 115, + 9, + 196, + 144, + 4, + 0, + 0, + 0, + 111, + 5, + 61, + 35, + 5, + 0, + 0, + 0, + 59, + 56, + 17, + 200, + 5, + 0, + 0, + 0, + 155, + 140, + 141, + 129, + 6, + 0, + 0, + 0, + 72, + 187, + 72, + 82, + 7, + 0, + 0, + 0, + 199, + 138, + 44, + 61, + 8, + 0, + 0, + 0, + 254, + 55, + 128, + 69, + 9, + 0, + 0, + 0, + 183, + 44, + 244, + 110, + 10, + 0, + 0, + 0, + 235, + 45, + 175, + 189, + 11, + 0, + 0, + 0, + 237, + 48, + 93, + 54, + 13, + 0, + 0, + 0, + 115, + 12, + 64, + 222, + 14, + 0, + 0, + 0, + 35, + 65, + 66, + 187, + 16, + 0, + 0, + 0, + 189, + 28, + 12, + 212, + 18, + 0, + 0, + 0, + 105, + 131, + 27, + 48, + 21, + 0, + 0, + 0, + 37, + 180, + 222, + 215, + 23, + 0, + 0, + 0, + 249, + 103, + 210, + 212, + 26, + 0, + 0, + 0, + 137, + 183, + 163, + 49, + 30, + 0, + 0, + 0, + 43, + 64, + 86, + 250, + 33, + 0, + 0, + 0, + 195, + 16, + 111, + 60, + 38, + 0, + 0, + 0, + 198, + 247, + 36, + 7, + 43, + 0, + 0, + 0, + 251, + 222, + 150, + 107, + 48, + 0, + 0, + 0, + 45, + 247, + 8, + 125, + 54, + 0, + 0, + 0, + 103, + 142, + 41, + 81, + 61, + 0, + 0, + 0, + 160, + 134, + 94, + 0, + 69, + 0, + 0, + 0, + 165, + 129, + 28, + 166, + 77, + 0, + 0, + 0, + 175, + 249, + 72, + 97, + 87, + 0, + 0, + 0, + 41, + 165, + 168, + 84, + 98, + 0, + 0, + 0, + 9, + 176, + 91, + 167, + 110, + 0, + 0, + 0, + 148, + 134, + 105, + 133, + 124, + 0, + 0, + 0, + 9, + 37, + 94, + 32, + 140, + 0, + 0, + 0, + 58, + 30, + 251, + 175, + 157, + 0, + 0, + 0, + 148, + 209, + 254, + 114, + 177, + 0, + 0, + 0, + 95, + 152, + 4, + 176, + 199, + 0, + 0, + 0, + 36, + 11, + 129, + 182, + 224, + 0, + 0, + 0, + 144, + 228, + 221, + 223, + 252, + 0, + 0, + 0, + 43, + 120, + 185, + 144, + 28, + 1, + 0, + 0, + 58, + 50, + 78, + 58, + 64, + 1, + 0, + 0, + 85, + 37, + 7, + 92, + 104, + 1, + 0, + 0, + 12, + 75, + 71, + 133, + 149, + 1, + 0, + 0, + 60, + 210, + 105, + 87, + 200, + 1, + 0, + 0, + 116, + 161, + 2, + 136, + 1, + 2, + 0, + 0, + 65, + 25, + 103, + 227, + 65, + 2, + 0, + 0, + 79, + 36, + 136, + 79, + 138, + 2, + 0, + 0, + 211, + 197, + 39, + 207, + 219, + 2, + 0, + 0, + 149, + 157, + 117, + 133, + 55, + 3, + 0, + 0, + 202, + 72, + 31, + 186, + 158, + 3, + 0, + 0, + 236, + 36, + 227, + 221, + 18, + 4, + 0, + 0, + 147, + 203, + 181, + 143, + 149, + 4, + 0, + 0, + 137, + 170, + 140, + 162, + 40, + 5, + 0, + 0, + 68, + 105, + 226, + 35, + 206, + 5, + 0, + 0, + 202, + 100, + 12, + 99, + 136, + 6, + 0, + 0, + 9, + 118, + 123, + 249, + 89, + 7, + 0, + 0, + 103, + 127, + 5, + 212, + 69, + 8, + 0, + 0, + 68, + 240, + 88, + 61, + 79, + 9, + 0, + 0, + 201, + 149, + 191, + 233, + 121, + 10, + 0, + 0, + 92, + 190, + 90, + 4, + 202, + 11, + 0, + 0, + 47, + 249, + 7, + 62, + 68, + 13, + 0, + 0, + 128, + 168, + 35, + 222, + 237, + 14, + 0, + 0, + 78, + 72, + 101, + 213, + 204, + 16, + 0, + 0, + 117, + 204, + 24, + 211, + 231, + 18, + 0, + 0, + 21, + 235, + 0, + 93, + 70, + 21, + 0, + 0, + 248, + 168, + 55, + 234, + 240, + 23, + 0, + 0, + 135, + 47, + 109, + 1, + 241, + 26, + 0, + 0, + 162, + 252, + 240, + 90, + 81, + 30, + 0, + 0, + 181, + 7, + 255, + 6, + 30, + 34, + 0, + 0, + 217, + 180, + 217, + 152, + 100, + 38, + 0, + 0, + 44, + 149, + 74, + 87, + 52, + 43, + 0, + 0, + 47, + 64, + 55, + 115, + 158, + 48, + 0, + 0, + 194, + 73, + 13, + 69, + 182, + 54, + 0, + 0, + 218, + 200, + 224, + 145, + 145, + 61, + 0, + 0, + 183, + 99, + 52, + 217, + 72, + 69, + 0, + 0, + 83, + 201, + 128, + 172, + 247, + 77, + 0, + 0, + 181, + 83, + 180, + 17, + 189, + 87, + 0, + 0, + 17, + 192, + 10, + 242, + 187, + 98, + 0, + 0, + 70, + 4, + 201, + 150, + 27, + 111, + 0, + 0, + 254, + 234, + 154, + 53, + 8, + 125, + 0, + 0, + 143, + 249, + 135, + 142, + 179, + 140, + 0, + 0, + 156, + 252, + 179, + 157, + 85, + 158, + 0, + 0, + 155, + 82, + 102, + 99, + 45, + 178, + 0, + 0, + 194, + 162, + 34, + 197, + 129, + 200, + 0, + 0, + 164, + 63, + 247, + 138, + 162, + 225, + 0, + 0, + 22, + 63, + 138, + 124, + 233, + 253, + 0, + 0, + 229, + 188, + 223, + 161, + 187, + 29, + 1, + 0, + 152, + 96, + 83, + 172, + 138, + 65, + 1, + 0, + 46, + 224, + 206, + 140, + 214, + 105, + 1, + 0, + 116, + 219, + 232, + 60, + 47, + 151, + 1, + 0, + 207, + 78, + 77, + 193, + 54, + 202, + 1, + 0, + 10, + 139, + 157, + 108, + 163, + 3, + 2, + 0, + 33, + 245, + 219, + 106, + 66, + 68, + 2, + 0, + 23, + 4, + 123, + 158, + 250, + 140, + 2, + 0, + 205, + 161, + 74, + 217, + 207, + 222, + 2, + 0, + 161, + 80, + 199, + 124, + 230, + 58, + 3, + 0, + 35, + 215, + 191, + 142, + 135, + 162, + 3, + 0, + 35, + 221, + 229, + 80, + 37, + 23, + 4, + 0, + 222, + 166, + 177, + 107, + 96, + 154, + 4, + 0, + 93, + 123, + 15, + 191, + 13, + 46, + 5, + 0, + 238, + 154, + 157, + 237, + 60, + 212, + 5, + 0, + 68, + 62, + 220, + 185, + 63, + 143, + 6, + 0, + 1, + 52, + 159, + 79, + 178, + 97, + 7, + 0, + 19, + 209, + 92, + 151, + 132, + 78, + 8, + 0, + 164, + 208, + 171, + 180, + 4, + 89, + 9, + 0, + 255, + 179, + 110, + 213, + 234, + 132, + 10, + 0, + 54, + 29, + 222, + 123, + 102, + 214, + 11, + 0, + 85, + 74, + 237, + 114, + 45, + 82, + 13, + 0, + 6, + 39, + 119, + 162, + 140, + 253, + 14, + 0, + 115, + 162, + 84, + 255, + 122, + 222, + 16, + 0, + 128, + 3, + 6, + 219, + 174, + 251, + 18, + 0, + 177, + 194, + 19, + 223, + 181, + 92, + 21, + 0, + 245, + 74, + 214, + 9, + 16, + 10, + 24, + 0, + 139, + 1, + 17, + 13, + 78, + 13, + 27, + 0, + 208, + 118, + 226, + 122, + 51, + 113, + 30, + 0, + 12, + 211, + 36, + 59, + 221, + 65, + 34, + 0, + 32, + 9, + 167, + 210, + 236, + 140, + 38, + 0, + 222, + 193, + 223, + 22, + 185, + 97, + 43, + 0, + 4, + 213, + 27, + 252, + 132, + 209, + 48, + 0, + 120, + 188, + 248, + 65, + 189, + 239, + 54, + 0, + 16, + 166, + 133, + 218, + 61, + 210, + 61, + 0, + 80, + 77, + 3, + 4, + 160, + 145, + 69, + 0, + 244, + 67, + 78, + 44, + 146, + 73, + 78, + 0, + 192, + 205, + 247, + 215, + 58, + 25, + 88, + 0, + 144, + 228, + 107, + 238, + 167, + 35, + 99, + 0, + 240, + 247, + 203, + 248, + 75, + 144, + 111, + 0, + 32, + 193, + 251, + 18, + 139, + 139, + 125, + 0, + 8, + 32, + 114, + 134, + 89, + 71, + 141, + 0, + 16, + 198, + 123, + 69, + 238, + 251, + 158, + 0, + 120, + 243, + 161, + 196, + 139, + 232, + 178, + 0, + 104, + 120, + 210, + 255, + 97, + 84, + 201, + 0, + 72, + 14, + 213, + 210, + 140, + 143, + 226, + 0, + 136, + 73, + 206, + 49, + 50, + 244, + 254, + 0, + 64, + 112, + 115, + 64, + 196, + 231, + 30, + 1, + 112, + 86, + 187, + 198, + 107, + 220, + 66, + 1, + 240, + 227, + 16, + 18, + 160, + 82, + 107, + 1, + 240, + 98, + 87, + 244, + 241, + 218, + 152, + 1, + 32, + 7, + 179, + 72, + 16, + 24, + 204, + 1, + 128, + 202, + 141, + 51, + 13, + 193, + 5, + 2, + 0, + 25, + 152, + 58, + 236, + 163, + 70, + 2, + 0, + 32, + 200, + 85, + 130, + 168, + 143, + 2, + 160, + 222, + 59, + 63, + 178, + 211, + 225, + 2, + 32, + 172, + 119, + 145, + 16, + 75, + 62, + 3, + 96, + 111, + 94, + 182, + 252, + 88, + 166, + 3, + 128, + 84, + 159, + 74, + 61, + 113, + 27, + 4, + 192, + 162, + 1, + 111, + 48, + 54, + 159, + 4, + 64, + 146, + 128, + 145, + 162, + 126, + 51, + 5, + 0, + 252, + 238, + 138, + 96, + 92, + 218, + 5, + 128, + 157, + 42, + 139, + 156, + 35, + 150, + 6, + 192, + 187, + 23, + 63, + 64, + 115, + 105, + 7, + 128, + 85, + 51, + 235, + 73, + 62, + 87, + 8, + 0, + 31, + 88, + 239, + 85, + 214, + 98, + 9, + 0, + 7, + 169, + 89, + 122, + 247, + 143, + 10, + 0, + 243, + 109, + 230, + 158, + 213, + 226, + 11, + 128, + 72, + 232, + 25, + 129, + 43, + 96, + 13, + 128, + 8, + 181, + 26, + 154, + 75, + 13, + 15, + 0, + 194, + 146, + 172, + 34, + 51, + 240, + 16, + 0, + 66, + 88, + 60, + 121, + 159, + 15, + 19, + 0, + 75, + 158, + 113, + 54, + 38, + 115, + 21, + 0, + 130, + 126, + 79, + 70, + 80, + 35, + 24, + 0, + 71, + 16, + 182, + 102, + 184, + 41, + 27, + 0, + 55, + 127, + 56, + 120, + 45, + 145, + 30, + 0, + 0, + 17, + 227, + 27, + 217, + 101, + 34, + 0, + 224, + 249, + 233, + 39, + 107, + 181, + 38, + 0, + 192, + 94, + 132, + 142, + 74, + 143, + 43, + 0, + 202, + 32, + 172, + 101, + 204, + 4, + 49, + 0, + 40, + 142, + 96, + 212, + 113, + 41, + 55, + 0, + 252, + 17, + 174, + 194, + 45, + 19, + 62, + 0, + 172, + 132, + 119, + 69, + 179, + 218, + 69, + 0, + 100, + 223, + 49, + 222, + 205, + 155, + 78, + 0, + 40, + 79, + 224, + 201, + 196, + 117, + 88, + 0, + 128, + 106, + 34, + 194, + 202, + 139, + 99, + 0, + 80, + 207, + 157, + 191, + 123, + 5, + 112, + 0, + 4, + 141, + 22, + 127, + 106, + 15, + 126, + 0, + 32, + 67, + 217, + 194, + 191, + 219, + 141, + 0, + 96, + 246, + 119, + 137, + 237, + 162, + 159, + 0, + 144, + 183, + 41, + 186, + 120, + 164, + 179, + 0, + 168, + 21, + 92, + 23, + 220, + 39, + 202, + 0, + 72, + 175, + 82, + 162, + 135, + 125, + 227, + 255, + 255, + 255, + 255, + 255, + 255, + 255, + 255 + ], + "docs": [ + " The list of thresholds separating the various bags.", + "", + " Ids are separated into unsorted bags according to their score. This specifies the", + " thresholds separating the bags. An id's bag is the largest bag for which the id's score", + " is less than or equal to its upper threshold.", + "", + " When ids are iterated, higher bags are iterated completely before lower bags. This means", + " that iteration is _semi-sorted_: ids of higher score tend to come before ids of lower", + " score, but peer ids within a particular bag are sorted in insertion order.", + "", + " # Expressing the constant", + "", + " This constant must be sorted in strictly increasing order. Duplicate items are not", + " permitted.", + "", + " There is an implied upper limit of `Score::MAX`; that value does not need to be", + " specified within the bag. For any two threshold lists, if one ends with", + " `Score::MAX`, the other one does not, and they are otherwise equal, the two", + " lists will behave identically.", + "", + " # Calculation", + "", + " It is recommended to generate the set of thresholds in a geometric series, such that", + " there exists some constant ratio such that `threshold[k + 1] == (threshold[k] *", + " constant_ratio).max(threshold[k] + 1)` for all `k`.", + "", + " The helpers in the `/utils/frame/generate-bags` module can simplify this calculation.", + "", + " # Examples", + "", + " - If `BagThresholds::get().is_empty()`, then all ids are put into the same bag, and", + " iteration is strictly in insertion order.", + " - If `BagThresholds::get().len() == 64`, and the thresholds are determined according to", + " the procedure given above, then the constant ratio is equal to 2.", + " - If `BagThresholds::get().len() == 200`, and the thresholds are determined according to", + " the procedure given above, then the constant ratio is approximately equal to 1.248.", + " - If the threshold list begins `[1, 2, 3, ...]`, then an id with score 0 or 1 will fall", + " into bag 0, an id with score 2 will fall into bag 1, etc.", + "", + " # Migration", + "", + " In the event that this list ever changes, a copy of the old bags list must be retained.", + " With that `List::migrate` can be called, which will perform the appropriate migration." + ] + } + ], + "error": { + "ty": 756 + }, + "index": 17 + }, + { + "name": "NominationPools", + "storage": { + "prefix": "NominationPools", + "entries": [ + { + "name": "MinJoinBond", + "modifier": "Default", + "ty": { + "Plain": 6 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Minimum amount to bond to join a pool." + ] + }, + { + "name": "MinCreateBond", + "modifier": "Default", + "ty": { + "Plain": 6 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Minimum bond required to create a pool.", + "", + " This is the amount that the pool creator must put as their initial stake in the pool, as an", + " indication of \"skin in the game\".", + "", + " This is the value that will always exist in the staking ledger of the pool bonded account", + " while all other accounts leave." + ] + }, + { + "name": "UnbondingMembers", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 715, + "value": 758 + } + }, + "default": [ + 0 + ], + "docs": [ + " Pool Members who are Unbonding.", + "", + " TWOX-NOTE: SAFE since `AccountId` is a secure hash." + ] + }, + { + "name": "BondedPools", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 763 + } + }, + "default": [ + 0 + ], + "docs": [ + " Storage for bonded pools." + ] + }, + { + "name": "CounterForBondedPools", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + "Counter for the related counted storage map" + ] + }, + { + "name": "SubPoolsStorage", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 766 + } + }, + "default": [ + 0 + ], + "docs": [ + " Groups of unbonding pools. Each group of unbonding pools belongs to a bonded pool,", + " hence the name sub-pools. Keyed by the bonded pools account." + ] + }, + { + "name": "CounterForSubPoolsStorage", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + "Counter for the related counted storage map" + ] + }, + { + "name": "NextPoolId", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The next pool id that will be used in [`create`](Pallet::create). Increments by one with", + " each pool created." + ] + }, + { + "name": "ReversePoolIdLookup", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " A reverse lookup from the pool's account id to its id.", + "", + " This is only used for slashing. In all other instances, the pool id is used, and the", + " accounts are deterministically derived from it." + ] + }, + { + "name": "CounterForReversePoolIdLookup", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + "Counter for the related counted storage map" + ] + }, + { + "name": "UsedPoolTokenIds", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 6, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " A reverse lookup from the token_id to pool_id.", + "", + " This is used for making sure the same token is not used to create multiple pools" + ] + }, + { + "name": "GlobalMaxCommission", + "modifier": "Optional", + "ty": { + "Plain": 42 + }, + "default": [ + 0 + ], + "docs": [ + " The maximum commission that can be charged by a pool. Used on commission payouts to bound", + " pool commissions that are > `GlobalMaxCommission`, necessary if a future" + ] + }, + { + "name": "StakingInformation", + "modifier": "Optional", + "ty": { + "Plain": 410 + }, + "default": [ + 0 + ], + "docs": [ + " The general staking parameters" + ] + }, + { + "name": "EarlyBirdBonusInfo", + "modifier": "Default", + "ty": { + "Plain": 772 + }, + "default": [ + 0, + 0 + ], + "docs": [ + " The queue of bonuses that should be distributed to the pools" + ] + }, + { + "name": "EraPayoutInfo", + "modifier": "Default", + "ty": { + "Plain": 774 + }, + "default": [ + 0, + 0, + 0, + 0, + 202, + 154, + 59 + ], + "docs": [ + " Tracks payout information for an era" + ] + } + ] + }, + "calls": { + "ty": 406 + }, + "event": { + "ty": 67 + }, + "constants": [ + { + "name": "PalletId", + "ty": 740, + "value": [ + 112, + 121, + 47, + 110, + 111, + 112, + 108, + 115 + ], + "docs": [ + " The nomination pool's pallet id." + ] + }, + { + "name": "CollatorRewardPool", + "ty": 740, + "value": [ + 112, + 121, + 47, + 99, + 111, + 108, + 114, + 112 + ], + "docs": [ + " The pool ID for system account holding the collator rewards." + ] + }, + { + "name": "MaxPointsToBalance", + "ty": 2, + "value": [ + 10 + ], + "docs": [ + " The maximum pool points-to-balance ratio that an `open` pool can have.", + "", + " This is important in the event slashing takes place and the pool's points-to-balance", + " ratio becomes disproportional.", + "", + " Moreover, this relates to the `RewardCounter` type as well, as the arithmetic operations", + " are a function of number of points, and by setting this value to e.g. 10, you ensure", + " that the total number of points in the system are at most 10 times the total_issuance of", + " the chain, in the absolute worse case.", + "", + " For a value of 10, the threshold would be a pool points-to-balance ratio of 10:1.", + " Such a scenario would also be the equivalent of the pool being 90% slashed." + ] + }, + { + "name": "PostUnbondingPoolsWindow", + "ty": 4, + "value": [ + 4, + 0, + 0, + 0 + ], + "docs": [ + " The amount of eras a `SubPools::with_era` pool can exist before it gets merged into the", + " `SubPools::no_era` pool. In other words, this is the amount of eras a member will be", + " able to withdraw from an unbonding pool which is guaranteed to have the correct ratio of", + " points to balance; once the `with_era` pool is merged into the `no_era` pool, the ratio", + " can become skewed due to some slashed ratio getting merged in at some point." + ] + }, + { + "name": "MaxUnbonding", + "ty": 4, + "value": [ + 8, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of simultaneous unbonding chunks that can exist per member." + ] + }, + { + "name": "MinDuration", + "ty": 4, + "value": [ + 30, + 0, + 0, + 0 + ], + "docs": [ + " Min duration of a pool's bonus cycle in eras" + ] + }, + { + "name": "MaxDuration", + "ty": 4, + "value": [ + 232, + 3, + 0, + 0 + ], + "docs": [ + " Max duration of a pool's bonus cycle in eras" + ] + }, + { + "name": "PoolCollectionId", + "ty": 6, + "value": [ + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The collection id that is used for pool NFTs" + ] + }, + { + "name": "StakedEnjCollectionId", + "ty": 6, + "value": [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The collection id that is used for sENJ tokens" + ] + }, + { + "name": "StakedEnjCollectionOwner", + "ty": 0, + "value": [ + 109, + 111, + 100, + 108, + 112, + 121, + 47, + 110, + 111, + 112, + 108, + 115, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The owner of the sENJ collection" + ] + }, + { + "name": "BonusPercentage", + "ty": 42, + "value": [ + 0, + 194, + 235, + 11 + ], + "docs": [ + " The percentage of each pool's rewards that goes to the bonus" + ] + }, + { + "name": "BaseBonusRewardPercentage", + "ty": 42, + "value": [ + 128, + 178, + 230, + 14 + ], + "docs": [ + " Share of bonus reward that is distributed to everyone regardless of their weight" + ] + }, + { + "name": "UnclaimedBalanceReceiver", + "ty": 0, + "value": [ + 109, + 111, + 100, + 108, + 112, + 121, + 47, + 116, + 114, + 115, + 114, + 121, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The account that will receive the deposit and commission if the pool's token is burned.", + " It also receives the leftover bonus if a pool is destroyed." + ] + }, + { + "name": "CapacityMutationPeriod", + "ty": 4, + "value": [ + 14, + 0, + 0, + 0 + ], + "docs": [ + " The number of eras its allowed to mutate the pools capacity" + ] + }, + { + "name": "EarlyBirdBonusDistributionBlock", + "ty": 4, + "value": [ + 152, + 139, + 49, + 0 + ], + "docs": [ + " The block number after which the early bird bonus can be distributed" + ] + }, + { + "name": "MaxEarlyBirdBonusQueueItems", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of items in the early bird bonus queue" + ] + }, + { + "name": "EarlyBirdBonusAccount", + "ty": 0, + "value": [ + 109, + 111, + 100, + 108, + 101, + 97, + 114, + 108, + 98, + 105, + 114, + 100, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The account id that holds early bird bonus" + ] + }, + { + "name": "GlobalMaxCapacity", + "ty": 6, + "value": [ + 0, + 0, + 0, + 148, + 144, + 2, + 40, + 44, + 42, + 139, + 16, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The global maximum pool capacity" + ] + }, + { + "name": "DefaultMaxCapacity", + "ty": 6, + "value": [ + 0, + 0, + 128, + 208, + 118, + 102, + 231, + 13, + 225, + 105, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The default maximum pool capacity" + ] + }, + { + "name": "AttributeKeyMaxLength", + "ty": 4, + "value": [ + 0, + 1, + 0, + 0 + ], + "docs": [ + " The max attribute key length" + ] + }, + { + "name": "AttributeValueMaxLength", + "ty": 4, + "value": [ + 0, + 4, + 0, + 0 + ], + "docs": [ + " The max attribute value length" + ] + }, + { + "name": "MaxCapacityAttributeKey", + "ty": 201, + "value": [ + 68, + 109, + 97, + 120, + 95, + 112, + 111, + 111, + 108, + 95, + 99, + 97, + 112, + 97, + 99, + 105, + 116, + 121 + ], + "docs": [ + " Max pool capacity attribute key" + ] + } + ], + "error": { + "ty": 775 + }, + "index": 18 + }, + { + "name": "StakeExchange", + "storage": { + "prefix": "StakeExchange", + "entries": [ + { + "name": "LiquidityConfigs", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 81 + } + }, + "default": [ + 0 + ], + "docs": [ + " Mapping of LP accounts to their configuration" + ] + }, + { + "name": "Offers", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 6, + "value": 80 + } + }, + "default": [ + 0 + ], + "docs": [ + " Mapping of LPAccountId to their active offer" + ] + }, + { + "name": "NextOfferId", + "modifier": "Default", + "ty": { + "Plain": 6 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Value to use for Next offer Id" + ] + } + ] + }, + "calls": { + "ty": 411 + }, + "event": { + "ty": 79 + }, + "constants": [ + { + "name": "ReserveIdentifier", + "ty": 134, + "value": [ + 115, + 116, + 97, + 107, + 101, + 101, + 120, + 103 + ], + "docs": [ + " The id used for making reservations with this pallet" + ] + }, + { + "name": "MaxFilteredTokenCount", + "ty": 4, + "value": [ + 20, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of tokens that can be whitelisted/blacklisted" + ] + }, + { + "name": "OfferDeposit", + "ty": 6, + "value": [ + 0, + 128, + 74, + 252, + 112, + 192, + 246, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The deposit for creating an offer" + ] + } + ], + "error": { + "ty": 777 + }, + "index": 19 + }, + { + "name": "Utility", + "storage": null, + "calls": { + "ty": 413 + }, + "event": { + "ty": 87 + }, + "constants": [ + { + "name": "batched_calls_limit", + "ty": 4, + "value": [ + 170, + 42, + 0, + 0 + ], + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "error": { + "ty": 778 + }, + "index": 20 + }, + { + "name": "Multisig", + "storage": { + "prefix": "Multisig", + "entries": [ + { + "name": "Multisigs", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key": 779, + "value": 780 + } + }, + "default": [ + 0 + ], + "docs": [ + " The set of open multisig operations." + ] + } + ] + }, + "calls": { + "ty": 421 + }, + "event": { + "ty": 88 + }, + "constants": [ + { + "name": "DepositBase", + "ty": 6, + "value": [ + 0, + 128, + 51, + 62, + 61, + 44, + 248, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "ty": 6, + "value": [ + 0, + 0, + 210, + 131, + 152, + 215, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "error": { + "ty": 782 + }, + "index": 21 + }, + { + "name": "ParachainsOrigin", + "storage": null, + "calls": null, + "event": null, + "constants": [], + "error": null, + "index": 50 + }, + { + "name": "Configuration", + "storage": { + "prefix": "Configuration", + "entries": [ + { + "name": "ActiveConfig", + "modifier": "Default", + "ty": { + "Plain": 783 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 0, + 0, + 0, + 100, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 0 + ], + "docs": [ + " The active configuration for the current session." + ] + }, + { + "name": "PendingConfigs", + "modifier": "Default", + "ty": { + "Plain": 784 + }, + "default": [ + 0 + ], + "docs": [ + " Pending configuration changes.", + "", + " This is a list of configuration changes, each with a session index at which it should", + " be applied.", + "", + " The list is sorted ascending by session index. Also, this list can only contain at most", + " 2 items: for the next session and for the `scheduled_session`." + ] + }, + { + "name": "BypassConsistencyCheck", + "modifier": "Default", + "ty": { + "Plain": 37 + }, + "default": [ + 0 + ], + "docs": [ + " If this is set, then the configuration setters will bypass the consistency checks. This", + " is meant to be used only as the last resort." + ] + } + ] + }, + "calls": { + "ty": 423 + }, + "event": null, + "constants": [], + "error": { + "ty": 786 + }, + "index": 51 + }, + { + "name": "ParasShared", + "storage": { + "prefix": "ParasShared", + "entries": [ + { + "name": "CurrentSessionIndex", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The current session index." + ] + }, + { + "name": "ActiveValidatorIndices", + "modifier": "Default", + "ty": { + "Plain": 787 + }, + "default": [ + 0 + ], + "docs": [ + " All the validators actively participating in parachain consensus.", + " Indices are into the broader validator set." + ] + }, + { + "name": "ActiveValidatorKeys", + "modifier": "Default", + "ty": { + "Plain": 788 + }, + "default": [ + 0 + ], + "docs": [ + " The parachain attestation keys of the validators actively participating in parachain consensus.", + " This should be the same length as `ActiveValidatorIndices`." + ] + } + ] + }, + "calls": { + "ty": 430 + }, + "event": null, + "constants": [], + "error": null, + "index": 52 + }, + { + "name": "ParaInclusion", + "storage": { + "prefix": "ParaInclusion", + "entries": [ + { + "name": "AvailabilityBitfields", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 439, + "value": 789 + } + }, + "default": [ + 0 + ], + "docs": [ + " The latest bitfield for each validator, referred to by their index in the validator set." + ] + }, + { + "name": "PendingAvailability", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 790 + } + }, + "default": [ + 0 + ], + "docs": [ + " Candidates pending availability by `ParaId`." + ] + }, + { + "name": "PendingAvailabilityCommitments", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 444 + } + }, + "default": [ + 0 + ], + "docs": [ + " The commitments of candidates pending availability, by `ParaId`." + ] + } + ] + }, + "calls": { + "ty": 431 + }, + "event": { + "ty": 90 + }, + "constants": [], + "error": { + "ty": 791 + }, + "index": 53 + }, + { + "name": "ParaInherent", + "storage": { + "prefix": "ParaInherent", + "entries": [ + { + "name": "Included", + "modifier": "Optional", + "ty": { + "Plain": 56 + }, + "default": [ + 0 + ], + "docs": [ + " Whether the paras inherent was included within this block.", + "", + " The `Option<()>` is effectively a `bool`, but it never hits storage in the `None` variant", + " due to the guarantees of FRAME's storage APIs.", + "", + " If this is `None` at the end of the block, we panic and render the block invalid." + ] + }, + { + "name": "OnChainVotes", + "modifier": "Optional", + "ty": { + "Plain": 792 + }, + "default": [ + 0 + ], + "docs": [ + " Scraped on chain data for extracting resolved disputes as well as backing votes." + ] + } + ] + }, + "calls": { + "ty": 432 + }, + "event": null, + "constants": [], + "error": { + "ty": 797 + }, + "index": 54 + }, + { + "name": "ParaScheduler", + "storage": { + "prefix": "ParaScheduler", + "entries": [ + { + "name": "ValidatorGroups", + "modifier": "Default", + "ty": { + "Plain": 798 + }, + "default": [ + 0 + ], + "docs": [ + " All the validator groups. One for each core. Indices are into `ActiveValidators` - not the", + " broader set of Polkadot validators, but instead just the subset used for parachains during", + " this session.", + "", + " Bound: The number of cores is the sum of the numbers of parachains and parathread multiplexers.", + " Reasonably, 100-1000. The dominant factor is the number of validators: safe upper bound at 10k." + ] + }, + { + "name": "ParathreadQueue", + "modifier": "Default", + "ty": { + "Plain": 799 + }, + "default": [ + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " A queue of upcoming claims and which core they should be mapped onto.", + "", + " The number of queued claims is bounded at the `scheduling_lookahead`", + " multiplied by the number of parathread multiplexer cores. Reasonably, 10 * 50 = 500." + ] + }, + { + "name": "AvailabilityCores", + "modifier": "Default", + "ty": { + "Plain": 804 + }, + "default": [ + 0 + ], + "docs": [ + " One entry for each availability core. Entries are `None` if the core is not currently occupied. Can be", + " temporarily `Some` if scheduled but not occupied.", + " The i'th parachain belongs to the i'th core, with the remaining cores all being", + " parathread-multiplexers.", + "", + " Bounded by the maximum of either of these two values:", + " * The number of parachains and parathread multiplexers", + " * The number of validators divided by `configuration.max_validators_per_core`." + ] + }, + { + "name": "ParathreadClaimIndex", + "modifier": "Default", + "ty": { + "Plain": 807 + }, + "default": [ + 0 + ], + "docs": [ + " An index used to ensure that only one claim on a parathread exists in the queue or is", + " currently being handled by an occupied core.", + "", + " Bounded by the number of parathread cores and scheduling lookahead. Reasonably, 10 * 50 = 500." + ] + }, + { + "name": "SessionStartBlock", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The block number where the session start occurred. Used to track how many group rotations have occurred.", + "", + " Note that in the context of parachains modules the session change is signaled during", + " the block and enacted at the end of the block (at the finalization stage, to be exact).", + " Thus for all intents and purposes the effect of the session change is observed at the", + " block following the session change, block number of which we save in this storage value." + ] + }, + { + "name": "Scheduled", + "modifier": "Default", + "ty": { + "Plain": 808 + }, + "default": [ + 0 + ], + "docs": [ + " Currently scheduled cores - free but up to be occupied.", + "", + " Bounded by the number of cores: one for each parachain and parathread multiplexer.", + "", + " The value contained here will not be valid after the end of a block. Runtime APIs should be used to determine scheduled cores/", + " for the upcoming block." + ] + } + ] + }, + "calls": null, + "event": null, + "constants": [], + "error": null, + "index": 55 + }, + { + "name": "Paras", + "storage": { + "prefix": "Paras", + "entries": [ + { + "name": "PvfActiveVoteMap", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 98, + "value": 811 + } + }, + "default": [ + 0 + ], + "docs": [ + " All currently active PVF pre-checking votes.", + "", + " Invariant:", + " - There are no PVF pre-checking votes that exists in list but not in the set and vice versa." + ] + }, + { + "name": "PvfActiveVoteList", + "modifier": "Default", + "ty": { + "Plain": 814 + }, + "default": [ + 0 + ], + "docs": [ + " The list of all currently active PVF votes. Auxiliary to `PvfActiveVoteMap`." + ] + }, + { + "name": "Parachains", + "modifier": "Default", + "ty": { + "Plain": 807 + }, + "default": [ + 0 + ], + "docs": [ + " All parachains. Ordered ascending by `ParaId`. Parathreads are not included.", + "", + " Consider using the [`ParachainsCache`] type of modifying." + ] + }, + { + "name": "ParaLifecycles", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 815 + } + }, + "default": [ + 0 + ], + "docs": [ + " The current lifecycle of a all known Para IDs." + ] + }, + { + "name": "Heads", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 99 + } + }, + "default": [ + 0 + ], + "docs": [ + " The head-data of every registered para." + ] + }, + { + "name": "CurrentCodeHash", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 98 + } + }, + "default": [ + 0 + ], + "docs": [ + " The validation code hash of every live para.", + "", + " Corresponding code can be retrieved with [`CodeByHash`]." + ] + }, + { + "name": "PastCodeHash", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 816, + "value": 98 + } + }, + "default": [ + 0 + ], + "docs": [ + " Actual past code hash, indicated by the para id as well as the block number at which it", + " became outdated.", + "", + " Corresponding code can be retrieved with [`CodeByHash`]." + ] + }, + { + "name": "PastCodeMeta", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 817 + } + }, + "default": [ + 0, + 0 + ], + "docs": [ + " Past code of parachains. The parachains themselves may not be registered anymore,", + " but we also keep their code on-chain for the same amount of time as outdated code", + " to keep it available for approval checkers." + ] + }, + { + "name": "PastCodePruning", + "modifier": "Default", + "ty": { + "Plain": 820 + }, + "default": [ + 0 + ], + "docs": [ + " Which paras have past code that needs pruning and the relay-chain block at which the code was replaced.", + " Note that this is the actual height of the included block, not the expected height at which the", + " code upgrade would be applied, although they may be equal.", + " This is to ensure the entire acceptance period is covered, not an offset acceptance period starting", + " from the time at which the parachain perceives a code upgrade as having occurred.", + " Multiple entries for a single para are permitted. Ordered ascending by block number." + ] + }, + { + "name": "FutureCodeUpgrades", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " The block number at which the planned code change is expected for a para.", + " The change will be applied after the first parablock for this ID included which executes", + " in the context of a relay chain block with a number >= `expected_at`." + ] + }, + { + "name": "FutureCodeHash", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 98 + } + }, + "default": [ + 0 + ], + "docs": [ + " The actual future code hash of a para.", + "", + " Corresponding code can be retrieved with [`CodeByHash`]." + ] + }, + { + "name": "UpgradeGoAheadSignal", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 821 + } + }, + "default": [ + 0 + ], + "docs": [ + " This is used by the relay-chain to communicate to a parachain a go-ahead with in the upgrade procedure.", + "", + " This value is absent when there are no upgrades scheduled or during the time the relay chain", + " performs the checks. It is set at the first relay-chain block when the corresponding parachain", + " can switch its upgrade function. As soon as the parachain's block is included, the value", + " gets reset to `None`.", + "", + " NOTE that this field is used by parachains via merkle storage proofs, therefore changing", + " the format will require migration of parachains." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 822 + } + }, + "default": [ + 0 + ], + "docs": [ + " This is used by the relay-chain to communicate that there are restrictions for performing", + " an upgrade for this parachain.", + "", + " This may be a because the parachain waits for the upgrade cooldown to expire. Another", + " potential use case is when we want to perform some maintenance (such as storage migration)", + " we could restrict upgrades to make the process simpler.", + "", + " NOTE that this field is used by parachains via merkle storage proofs, therefore changing", + " the format will require migration of parachains." + ] + }, + { + "name": "UpgradeCooldowns", + "modifier": "Default", + "ty": { + "Plain": 820 + }, + "default": [ + 0 + ], + "docs": [ + " The list of parachains that are awaiting for their upgrade restriction to cooldown.", + "", + " Ordered ascending by block number." + ] + }, + { + "name": "UpcomingUpgrades", + "modifier": "Default", + "ty": { + "Plain": 820 + }, + "default": [ + 0 + ], + "docs": [ + " The list of upcoming code upgrades. Each item is a pair of which para performs a code", + " upgrade and at which relay-chain block it is expected at.", + "", + " Ordered ascending by block number." + ] + }, + { + "name": "ActionsQueue", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 807 + } + }, + "default": [ + 0 + ], + "docs": [ + " The actions to perform during the start of a specific session index." + ] + }, + { + "name": "UpcomingParasGenesis", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 505 + } + }, + "default": [ + 0 + ], + "docs": [ + " Upcoming paras instantiation arguments.", + "", + " NOTE that after PVF pre-checking is enabled the para genesis arg will have it's code set", + " to empty. Instead, the code will be saved into the storage right away via `CodeByHash`." + ] + }, + { + "name": "CodeByHashRefs", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 98, + "value": 4 + } + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The number of reference on the validation code in [`CodeByHash`] storage." + ] + }, + { + "name": "CodeByHash", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 98, + "value": 450 + } + }, + "default": [ + 0 + ], + "docs": [ + " Validation code stored by its hash.", + "", + " This storage is consistent with [`FutureCodeHash`], [`CurrentCodeHash`] and", + " [`PastCodeHash`]." + ] + } + ] + }, + "calls": { + "ty": 460 + }, + "event": { + "ty": 102 + }, + "constants": [ + { + "name": "UnsignedPriority", + "ty": 11, + "value": [ + 255, + 255, + 255, + 255, + 255, + 255, + 255, + 255 + ], + "docs": [] + } + ], + "error": { + "ty": 823 + }, + "index": 56 + }, + { + "name": "Initializer", + "storage": { + "prefix": "Initializer", + "entries": [ + { + "name": "HasInitialized", + "modifier": "Optional", + "ty": { + "Plain": 56 + }, + "default": [ + 0 + ], + "docs": [ + " Whether the parachains modules have been initialized within this block.", + "", + " Semantically a `bool`, but this guarantees it should never hit the trie,", + " as this is cleared in `on_finalize` and Frame optimizes `None` values to be empty values.", + "", + " As a `bool`, `set(false)` and `remove()` both lead to the next `get()` being false, but one of", + " them writes to the trie and one does not. This confusion makes `Option<()>` more suitable for", + " the semantics of this variable." + ] + }, + { + "name": "BufferedSessionChanges", + "modifier": "Default", + "ty": { + "Plain": 824 + }, + "default": [ + 0 + ], + "docs": [ + " Buffered session changes along with the block number at which they should be applied.", + "", + " Typically this will be empty or one element long. Apart from that this item never hits", + " the storage.", + "", + " However this is a `Vec` regardless to handle various edge cases that may occur at runtime", + " upgrade boundaries or if governance intervenes." + ] + } + ] + }, + "calls": { + "ty": 462 + }, + "event": null, + "constants": [], + "error": null, + "index": 57 + }, + { + "name": "Dmp", + "storage": { + "prefix": "Dmp", + "entries": [ + { + "name": "DownwardMessageQueues", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 826 + } + }, + "default": [ + 0 + ], + "docs": [ + " The downward messages addressed for a certain para." + ] + }, + { + "name": "DownwardMessageQueueHeads", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 12 + } + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " A mapping that stores the downward message queue MQC head for each para.", + "", + " Each link in this chain has a form:", + " `(prev_head, B, H(M))`, where", + " - `prev_head`: is the previous head hash or zero if none.", + " - `B`: is the relay-chain block number in which a message was appended.", + " - `H(M)`: is the hash of the message being appended." + ] + }, + { + "name": "DeliveryFeeFactor", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 742 + } + }, + "default": [ + 0, + 0, + 100, + 167, + 179, + 182, + 224, + 13, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The number to multiply the base delivery fee by." + ] + } + ] + }, + "calls": null, + "event": null, + "constants": [], + "error": null, + "index": 58 + }, + { + "name": "Hrmp", + "storage": { + "prefix": "Hrmp", + "entries": [ + { + "name": "HrmpOpenChannelRequests", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 104, + "value": 828 + } + }, + "default": [ + 0 + ], + "docs": [ + " The set of pending HRMP open channel requests.", + "", + " The set is accompanied by a list for iteration.", + "", + " Invariant:", + " - There are no channels that exists in list but not in the set and vice versa." + ] + }, + { + "name": "HrmpOpenChannelRequestsList", + "modifier": "Default", + "ty": { + "Plain": 829 + }, + "default": [ + 0 + ], + "docs": [] + }, + { + "name": "HrmpOpenChannelRequestCount", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 4 + } + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " This mapping tracks how many open channel requests are initiated by a given sender para.", + " Invariant: `HrmpOpenChannelRequests` should contain the same number of items that has", + " `(X, _)` as the number of `HrmpOpenChannelRequestCount` for `X`." + ] + }, + { + "name": "HrmpAcceptedChannelRequestCount", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 4 + } + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " This mapping tracks how many open channel requests were accepted by a given recipient para.", + " Invariant: `HrmpOpenChannelRequests` should contain the same number of items `(_, X)` with", + " `confirmed` set to true, as the number of `HrmpAcceptedChannelRequestCount` for `X`." + ] + }, + { + "name": "HrmpCloseChannelRequests", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 104, + "value": 56 + } + }, + "default": [ + 0 + ], + "docs": [ + " A set of pending HRMP close channel requests that are going to be closed during the session", + " change. Used for checking if a given channel is registered for closure.", + "", + " The set is accompanied by a list for iteration.", + "", + " Invariant:", + " - There are no channels that exists in list but not in the set and vice versa." + ] + }, + { + "name": "HrmpCloseChannelRequestsList", + "modifier": "Default", + "ty": { + "Plain": 829 + }, + "default": [ + 0 + ], + "docs": [] + }, + { + "name": "HrmpWatermarks", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " The HRMP watermark associated with each para.", + " Invariant:", + " - each para `P` used here as a key should satisfy `Paras::is_valid_para(P)` within a session." + ] + }, + { + "name": "HrmpChannels", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 104, + "value": 830 + } + }, + "default": [ + 0 + ], + "docs": [ + " HRMP channel data associated with each para.", + " Invariant:", + " - each participant in the channel should satisfy `Paras::is_valid_para(P)` within a session." + ] + }, + { + "name": "HrmpIngressChannelsIndex", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 807 + } + }, + "default": [ + 0 + ], + "docs": [ + " Ingress/egress indexes allow to find all the senders and receivers given the opposite side.", + " I.e.", + "", + " (a) ingress index allows to find all the senders for a given recipient.", + " (b) egress index allows to find all the recipients for a given sender.", + "", + " Invariants:", + " - for each ingress index entry for `P` each item `I` in the index should present in", + " `HrmpChannels` as `(I, P)`.", + " - for each egress index entry for `P` each item `E` in the index should present in", + " `HrmpChannels` as `(P, E)`.", + " - there should be no other dangling channels in `HrmpChannels`.", + " - the vectors are sorted." + ] + }, + { + "name": "HrmpEgressChannelsIndex", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 807 + } + }, + "default": [ + 0 + ], + "docs": [] + }, + { + "name": "HrmpChannelContents", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 104, + "value": 831 + } + }, + "default": [ + 0 + ], + "docs": [ + " Storage for the messages for each channel.", + " Invariant: cannot be non-empty if the corresponding channel in `HrmpChannels` is `None`." + ] + }, + { + "name": "HrmpChannelDigests", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 833 + } + }, + "default": [ + 0 + ], + "docs": [ + " Maintains a mapping that can be used to answer the question: What paras sent a message at", + " the given block number for a given receiver. Invariants:", + " - The inner `Vec` is never empty.", + " - The inner `Vec` cannot store two same `ParaId`.", + " - The outer vector is sorted ascending by block number and cannot store two items with the", + " same block number." + ] + } + ] + }, + "calls": { + "ty": 463 + }, + "event": { + "ty": 103 + }, + "constants": [], + "error": { + "ty": 835 + }, + "index": 60 + }, + { + "name": "ParaSessionInfo", + "storage": { + "prefix": "ParaSessionInfo", + "entries": [ + { + "name": "AssignmentKeysUnsafe", + "modifier": "Default", + "ty": { + "Plain": 836 + }, + "default": [ + 0 + ], + "docs": [ + " Assignment keys for the current session.", + " Note that this API is private due to it being prone to 'off-by-one' at session boundaries.", + " When in doubt, use `Sessions` API instead." + ] + }, + { + "name": "EarliestStoredSession", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The earliest session for which previous session info is stored." + ] + }, + { + "name": "Sessions", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 4, + "value": 837 + } + }, + "default": [ + 0 + ], + "docs": [ + " Session information in a rolling window.", + " Should have an entry in range `EarliestStoredSession..=CurrentSessionIndex`.", + " Does not have any entries before the session index in the first session change notification." + ] + }, + { + "name": "AccountKeys", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 4, + "value": 78 + } + }, + "default": [ + 0 + ], + "docs": [ + " The validator account keys of the validators actively participating in parachain consensus." + ] + }, + { + "name": "SessionExecutorParams", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 4, + "value": 425 + } + }, + "default": [ + 0 + ], + "docs": [ + " Executor parameter set for a given session index" + ] + } + ] + }, + "calls": null, + "event": null, + "constants": [], + "error": null, + "index": 61 + }, + { + "name": "ParasDisputes", + "storage": { + "prefix": "ParasDisputes", + "entries": [ + { + "name": "LastPrunedSession", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [ + " The last pruned session, if any. All data stored by this module", + " references sessions." + ] + }, + { + "name": "Disputes", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key": 841, + "value": 842 + } + }, + "default": [ + 0 + ], + "docs": [ + " All ongoing or concluded disputes for the last several sessions." + ] + }, + { + "name": "BackersOnDisputes", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key": 841, + "value": 843 + } + }, + "default": [ + 0 + ], + "docs": [ + " Backing votes stored for each dispute.", + " This storage is used for slashing." + ] + }, + { + "name": "Included", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key": 841, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " All included blocks on the chain, as well as the block number in this chain that", + " should be reverted back to if the candidate is disputed and determined to be invalid." + ] + }, + { + "name": "Frozen", + "modifier": "Default", + "ty": { + "Plain": 73 + }, + "default": [ + 0 + ], + "docs": [ + " Whether the chain is frozen. Starts as `None`. When this is `Some`,", + " the chain will not accept any new parachain blocks for backing or inclusion,", + " and its value indicates the last valid block number in the chain.", + " It can only be set back to `None` by governance intervention." + ] + } + ] + }, + "calls": { + "ty": 464 + }, + "event": { + "ty": 105 + }, + "constants": [], + "error": { + "ty": 844 + }, + "index": 62 + }, + { + "name": "ParasSlashing", + "storage": { + "prefix": "ParasSlashing", + "entries": [ + { + "name": "UnappliedSlashes", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key": 841, + "value": 845 + } + }, + "default": [ + 0 + ], + "docs": [ + " Validators pending dispute slashes." + ] + }, + { + "name": "ValidatorSetCounts", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " `ValidatorSetCount` per session." + ] + } + ] + }, + "calls": { + "ty": 465 + }, + "event": null, + "constants": [], + "error": { + "ty": 849 + }, + "index": 63 + }, + { + "name": "Registrar", + "storage": { + "prefix": "Registrar", + "entries": [ + { + "name": "PendingSwap", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 93 + } + }, + "default": [ + 0 + ], + "docs": [ + " Pending swap operations." + ] + }, + { + "name": "Paras", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 850 + } + }, + "default": [ + 0 + ], + "docs": [ + " Amount held on deposit for each para and the original depositor.", + "", + " The given account ID is responsible for registering the code and initial head data, but may only do", + " so if it isn't yet registered. (After that, it's up to governance to do so.)" + ] + }, + { + "name": "NextFreeParaId", + "modifier": "Default", + "ty": { + "Plain": 93 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The next free `ParaId`." + ] + } + ] + }, + "calls": { + "ty": 469 + }, + "event": { + "ty": 109 + }, + "constants": [ + { + "name": "ParaDeposit", + "ty": 6, + "value": [ + 0, + 0, + 64, + 178, + 186, + 201, + 224, + 25, + 30, + 2, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The deposit to be paid to run a parathread.", + " This should include the cost for storing the genesis head and validation code." + ] + }, + { + "name": "DataDepositPerByte", + "ty": 6, + "value": [ + 0, + 128, + 98, + 23, + 94, + 209, + 88, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The deposit to be paid per byte stored on chain." + ] + } + ], + "error": { + "ty": 851 + }, + "index": 70 + }, + { + "name": "Slots", + "storage": { + "prefix": "Slots", + "entries": [ + { + "name": "Leases", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 852 + } + }, + "default": [ + 0 + ], + "docs": [ + " Amounts held on deposit for each (possibly future) leased parachain.", + "", + " The actual amount locked on its behalf by any account at any time is the maximum of the second values", + " of the items in this list whose first value is the account.", + "", + " The first item in the list is the amount locked for the current Lease Period. Following", + " items are for the subsequent lease periods.", + "", + " The default value (an empty list) implies that the parachain no longer exists (or never", + " existed) as far as this pallet is concerned.", + "", + " If a parachain doesn't exist *yet* but is scheduled to exist in the future, then it", + " will be left-padded with one or more `None`s to denote the fact that nothing is held on", + " deposit for the non-existent chain currently, but is held at some point in the future.", + "", + " It is illegal for a `None` value to trail in the list." + ] + } + ] + }, + "calls": { + "ty": 470 + }, + "event": { + "ty": 110 + }, + "constants": [ + { + "name": "LeasePeriod", + "ty": 4, + "value": [ + 0, + 117, + 18, + 0 + ], + "docs": [ + " The number of blocks over which a single period lasts." + ] + }, + { + "name": "LeaseOffset", + "ty": 4, + "value": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The number of blocks to offset each lease period by." + ] + } + ], + "error": { + "ty": 854 + }, + "index": 71 + }, + { + "name": "Auctions", + "storage": { + "prefix": "Auctions", + "entries": [ + { + "name": "AuctionCounter", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Number of auctions started so far." + ] + }, + { + "name": "AuctionInfo", + "modifier": "Optional", + "ty": { + "Plain": 285 + }, + "default": [ + 0 + ], + "docs": [ + " Information relating to the current auction, if there is one.", + "", + " The first item in the tuple is the lease period index that the first of the four", + " contiguous lease periods on auction is for. The second is the block number when the", + " auction will \"begin to end\", i.e. the first block of the Ending Period of the auction." + ] + }, + { + "name": "ReservedAmounts", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 855, + "value": 6 + } + }, + "default": [ + 0 + ], + "docs": [ + " Amounts currently reserved in the accounts of the bidders currently winning", + " (sub-)ranges." + ] + }, + { + "name": "Winning", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 856 + } + }, + "default": [ + 0 + ], + "docs": [ + " The winning bids for each of the 10 ranges at each sample in the final Ending Period of", + " the current auction. The map's key is the 0-based index into the Sample Size. The", + " first sample of the ending period is 0; the last is `Sample Size - 1`." + ] + } + ] + }, + "calls": { + "ty": 471 + }, + "event": { + "ty": 111 + }, + "constants": [ + { + "name": "EndingPeriod", + "ty": 4, + "value": [ + 64, + 25, + 1, + 0 + ], + "docs": [ + " The number of blocks over which an auction may be retroactively ended." + ] + }, + { + "name": "SampleLength", + "ty": 4, + "value": [ + 20, + 0, + 0, + 0 + ], + "docs": [ + " The length of each sample to take during the ending period.", + "", + " `EndingPeriod` / `SampleLength` = Total # of Samples" + ] + }, + { + "name": "SlotRangeCount", + "ty": 4, + "value": [ + 36, + 0, + 0, + 0 + ], + "docs": [] + }, + { + "name": "LeasePeriodsPerSlot", + "ty": 4, + "value": [ + 8, + 0, + 0, + 0 + ], + "docs": [] + } + ], + "error": { + "ty": 859 + }, + "index": 72 + }, + { + "name": "Crowdloan", + "storage": { + "prefix": "Crowdloan", + "entries": [ + { + "name": "Funds", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 860 + } + }, + "default": [ + 0 + ], + "docs": [ + " Info on all of the funds." + ] + }, + { + "name": "NewRaise", + "modifier": "Default", + "ty": { + "Plain": 807 + }, + "default": [ + 0 + ], + "docs": [ + " The funds that have had additional contributions during the last block. This is used", + " in order to determine which funds should submit new or updated bids." + ] + }, + { + "name": "EndingsCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The number of auctions that have entered into their ending period so far." + ] + }, + { + "name": "NextFundIndex", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Tracker for the next available fund index" + ] + } + ] + }, + "calls": { + "ty": 473 + }, + "event": { + "ty": 112 + }, + "constants": [ + { + "name": "PalletId", + "ty": 740, + "value": [ + 112, + 121, + 47, + 99, + 102, + 117, + 110, + 100 + ], + "docs": [ + " `PalletId` for the crowdloan pallet. An appropriate value could be `PalletId(*b\"py/cfund\")`" + ] + }, + { + "name": "MinContribution", + "ty": 6, + "value": [ + 0, + 0, + 76, + 10, + 162, + 134, + 213, + 16, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum amount that may be contributed into a crowdloan. Should almost certainly be at", + " least `ExistentialDeposit`." + ] + }, + { + "name": "RemoveKeysLimit", + "ty": 4, + "value": [ + 232, + 3, + 0, + 0 + ], + "docs": [ + " Max number of storage keys to remove per extrinsic call." + ] + } + ], + "error": { + "ty": 862 + }, + "index": 73 + }, + { + "name": "XcmPallet", + "storage": { + "prefix": "XcmPallet", + "entries": [ + { + "name": "QueryCounter", + "modifier": "Default", + "ty": { + "Plain": 11 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 11, + "value": 863 + } + }, + "default": [ + 0 + ], + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 12, + "value": 4 + } + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key": 868, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key": 868, + "value": 11 + } + }, + "default": [ + 0 + ], + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key": 868, + "value": 869 + } + }, + "default": [ + 0 + ], + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "ty": { + "Plain": 870 + }, + "default": [ + 0 + ], + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "ty": { + "Plain": 873 + }, + "default": [ + 0 + ], + "docs": [ + " The current migration's stage, if any." + ] + }, + { + "name": "RemoteLockedFungibles", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 875, + "value": 877 + } + }, + "default": [ + 0 + ], + "docs": [ + " Fungible assets which we know are locked on a remote chain." + ] + }, + { + "name": "LockedFungibles", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 881 + } + }, + "default": [ + 0 + ], + "docs": [ + " Fungible assets which we know are locked on this chain." + ] + }, + { + "name": "XcmExecutionSuspended", + "modifier": "Default", + "ty": { + "Plain": 37 + }, + "default": [ + 0 + ], + "docs": [ + " Global suspension state of the XCM executor." + ] + } + ] + }, + "calls": { + "ty": 482 + }, + "event": { + "ty": 113 + }, + "constants": [], + "error": { + "ty": 884 + }, + "index": 99 + }, + { + "name": "MessageQueue", + "storage": { + "prefix": "MessageQueue", + "entries": [ + { + "name": "BookStateFor", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 168, + "value": 885 + } + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The index of the first and last (non-empty) pages." + ] + }, + { + "name": "ServiceHead", + "modifier": "Optional", + "ty": { + "Plain": 168 + }, + "default": [ + 0 + ], + "docs": [ + " The origin at which we should begin servicing." + ] + }, + { + "name": "Pages", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 888, + "value": 889 + } + }, + "default": [ + 0 + ], + "docs": [ + " The map of page indices to pages." + ] + } + ] + }, + "calls": { + "ty": 503 + }, + "event": { + "ty": 167 + }, + "constants": [ + { + "name": "HeapSize", + "ty": 4, + "value": [ + 0, + 0, + 1, + 0 + ], + "docs": [ + " The size of the page; this implies the maximum message size which can be sent.", + "", + " A good value depends on the expected message sizes, their weights, the weight that is", + " available for processing them and the maximal needed message size. The maximal message", + " size is slightly lower than this as defined by [`MaxMessageLenOf`]." + ] + }, + { + "name": "MaxStale", + "ty": 4, + "value": [ + 8, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of stale pages (i.e. of overweight messages) allowed before culling", + " can happen. Once there are more stale pages than this, then historical pages may be", + " dropped, even if they contain unprocessed overweight messages." + ] + }, + { + "name": "ServiceWeight", + "ty": 643, + "value": [ + 1, + 7, + 0, + 160, + 219, + 33, + 93, + 19, + 51, + 51, + 51, + 51, + 51, + 51, + 51, + 51 + ], + "docs": [ + " The amount of weight (if any) which should be provided to the message queue for", + " servicing enqueued items.", + "", + " This may be legitimately `None` in the case that you will call", + " `ServiceQueues::service_queues` manually." + ] + } + ], + "error": { + "ty": 891 + }, + "index": 110 + }, + { + "name": "ParasSudoWrapper", + "storage": null, + "calls": { + "ty": 504 + }, + "event": null, + "constants": [], + "error": { + "ty": 892 + }, + "index": 250 + }, + { + "name": "AssignedSlots", + "storage": { + "prefix": "AssignedSlots", + "entries": [ + { + "name": "PermanentSlots", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 285 + } + }, + "default": [ + 0 + ], + "docs": [ + " Assigned permanent slots, with their start lease period, and duration." + ] + }, + { + "name": "PermanentSlotCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Number of assigned (and active) permanent slots." + ] + }, + { + "name": "TemporarySlots", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 893 + } + }, + "default": [ + 0 + ], + "docs": [ + " Assigned temporary slots." + ] + }, + { + "name": "TemporarySlotCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Number of assigned temporary slots." + ] + }, + { + "name": "ActiveTemporarySlotCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Number of active temporary slots in current slot lease period." + ] + } + ] + }, + "calls": { + "ty": 506 + }, + "event": { + "ty": 171 + }, + "constants": [ + { + "name": "PermanentSlotLeasePeriodLength", + "ty": 4, + "value": [ + 109, + 1, + 0, + 0 + ], + "docs": [ + " The number of lease periods a permanent parachain slot lasts." + ] + }, + { + "name": "TemporarySlotLeasePeriodLength", + "ty": 4, + "value": [ + 3, + 0, + 0, + 0 + ], + "docs": [ + " The number of lease periods a temporary parachain slot lasts." + ] + }, + { + "name": "MaxPermanentSlots", + "ty": 4, + "value": [ + 40, + 0, + 0, + 0 + ], + "docs": [ + " The max number of permanent slots that can be assigned." + ] + }, + { + "name": "MaxTemporarySlots", + "ty": 4, + "value": [ + 40, + 0, + 0, + 0 + ], + "docs": [ + " The max number of temporary slots that can be assigned." + ] + }, + { + "name": "MaxTemporarySlotPerLeasePeriod", + "ty": 4, + "value": [ + 5, + 0, + 0, + 0 + ], + "docs": [ + " The max number of temporary slots to be scheduled per lease periods." + ] + } + ], + "error": { + "ty": 894 + }, + "index": 251 + }, + { + "name": "ValidatorManager", + "storage": { + "prefix": "ValidatorManager", + "entries": [ + { + "name": "ValidatorsToRetire", + "modifier": "Default", + "ty": { + "Plain": 78 + }, + "default": [ + 0 + ], + "docs": [ + " Validators that should be retired, because their Parachain was deregistered." + ] + }, + { + "name": "ValidatorsToAdd", + "modifier": "Default", + "ty": { + "Plain": 78 + }, + "default": [ + 0 + ], + "docs": [ + " Validators that should be added." + ] + } + ] + }, + "calls": { + "ty": 508 + }, + "event": { + "ty": 172 + }, + "constants": [], + "error": null, + "index": 252 + }, + { + "name": "MultiTokens", + "storage": { + "prefix": "MultiTokens", + "entries": [ + { + "name": "TokenAccounts", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 895, + "value": 230 + } + }, + "default": [ + 0 + ], + "docs": [ + " Accounts per token" + ] + }, + { + "name": "Collections", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 6, + "value": 205 + } + }, + "default": [ + 0 + ], + "docs": [ + " The collections in existence and their ownership details." + ] + }, + { + "name": "Tokens", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 896, + "value": 218 + } + }, + "default": [ + 0 + ], + "docs": [ + " Tokens storage" + ] + }, + { + "name": "NextCollectionId", + "modifier": "Default", + "ty": { + "Plain": 6 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Sequencer for collectionID generators." + ] + }, + { + "name": "CollectionAccounts", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 897, + "value": 223 + } + }, + "default": [ + 0 + ], + "docs": [ + " Stores information for an account per collection" + ] + }, + { + "name": "Attributes", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 898, + "value": 534 + } + }, + "default": [ + 0 + ], + "docs": [ + " Metadata of collections and tokens." + ] + }, + { + "name": "AssetIdsByLocation", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 116, + "value": 177 + } + }, + "default": [ + 0 + ], + "docs": [ + " Map of Locations to AssetIds of Foreign Tokens" + ] + }, + { + "name": "Migrations", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 899, + "value": 900 + } + }, + "default": [ + 0 + ], + "docs": [ + " Stores last iterated keys for migrations. Used by multi block migrations", + " to resume from the last iterated key.", + "", + " Key is the storage prefix, value is the status of migration and last iterated key, if any.", + " i.e `[\"MultiTokens\", \"TokenAccounts\"] -> (collection_id, token_id, account_id)`" + ] + }, + { + "name": "MigrationStatus", + "modifier": "Default", + "ty": { + "Plain": 243 + }, + "default": [ + 0 + ], + "docs": [ + " Status of the current multi-block migration" + ] + }, + { + "name": "ClaimableCollectionIds", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 244, + "value": 537 + } + }, + "default": [ + 0 + ], + "docs": [ + " Stores data for an ethereum address" + ] + }, + { + "name": "UnmintableTokenIds", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 6, + "value": 539 + } + }, + "default": [ + 0 + ], + "docs": [ + " These token ids can only be minted by calling `claim_token`" + ] + }, + { + "name": "NativeCollectionIds", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 6, + "value": 6 + } + }, + "default": [ + 0 + ], + "docs": [ + " Map of ethereum collection id to the native collection id" + ] + } + ] + }, + "calls": { + "ty": 509 + }, + "event": { + "ty": 173 + }, + "constants": [ + { + "name": "AttributeDepositBase", + "ty": 6, + "value": [ + 0, + 0, + 197, + 46, + 188, + 162, + 177, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The base deposit required for setting an attribute" + ] + }, + { + "name": "AttributeDepositPerByte", + "ty": 6, + "value": [ + 0, + 144, + 30, + 196, + 188, + 22, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Additional deposit per byte for setting an attribute" + ] + }, + { + "name": "MaxRecipientsPerBatchTransfer", + "ty": 4, + "value": [ + 250, + 0, + 0, + 0 + ], + "docs": [ + " The max number of recipients allowed in a batch transfer" + ] + }, + { + "name": "MaxTokensPerBatchTransfer", + "ty": 4, + "value": [ + 244, + 1, + 0, + 0 + ], + "docs": [ + " The max number of tokens allowed in a batch transfer" + ] + }, + { + "name": "MaxBatchAttributesPerCall", + "ty": 4, + "value": [ + 50, + 0, + 0, + 0 + ], + "docs": [ + " The max number of attributes to set in one call" + ] + }, + { + "name": "MaxRecipientsPerBatchMint", + "ty": 4, + "value": [ + 250, + 0, + 0, + 0 + ], + "docs": [ + " The max number of recipients allowed in a batch mint" + ] + }, + { + "name": "CollectionCreationDeposit", + "ty": 6, + "value": [ + 0, + 0, + 49, + 214, + 226, + 117, + 188, + 86, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Amount of [`Balance`](BalanceOf) reserved to create a collection" + ] + }, + { + "name": "TokenAccountDeposit", + "ty": 6, + "value": [ + 0, + 0, + 193, + 111, + 242, + 134, + 35, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount of [`Balance`](BalanceOf) that must be reserved for a token account to be", + " maintained" + ] + }, + { + "name": "MaxIdleOperationQueueLength", + "ty": 4, + "value": [ + 232, + 3, + 0, + 0 + ], + "docs": [ + " The maximum length of the idle operation queue" + ] + }, + { + "name": "MaxIdleOperationQueueWeight", + "ty": 9, + "value": [ + 7, + 0, + 232, + 118, + 72, + 23, + 0 + ], + "docs": [ + " The maximum weight of the idle operation queue" + ] + }, + { + "name": "MaxOperatorsPerAccount", + "ty": 4, + "value": [ + 10, + 0, + 0, + 0 + ], + "docs": [ + " The max number of operators a [`TokenAccount`] and an [`CollectionAccount`] can have" + ] + }, + { + "name": "MaxReserves", + "ty": 4, + "value": [ + 2, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of named reserves that can exist on an account" + ] + }, + { + "name": "MaxLocks", + "ty": 4, + "value": [ + 2, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of locks that can exist on a token account" + ] + }, + { + "name": "MaxExplicitRoyaltyCurrencies", + "ty": 4, + "value": [ + 10, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of explicit royalty currencies" + ] + }, + { + "name": "NativeAssetInfo", + "ty": 903, + "value": [ + 0, + 0, + 0, + 192, + 167, + 198, + 179, + 209, + 70, + 49, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The [`NativeAssetInfo`](ep_multi_tokens::NativeAssetInfo) for this pallet" + ] + }, + { + "name": "ReserveIdentifier", + "ty": 134, + "value": [ + 109, + 117, + 108, + 116, + 111, + 107, + 101, + 110 + ], + "docs": [ + " The id used for making reservations with this pallet" + ] + }, + { + "name": "TokenMetadataMaxNameLength", + "ty": 4, + "value": [ + 32, + 0, + 0, + 0 + ], + "docs": [ + " Max length of name stored in [`TokenMetadata`]" + ] + }, + { + "name": "TokenMetadataMaxSymbolLength", + "ty": 4, + "value": [ + 8, + 0, + 0, + 0 + ], + "docs": [ + " Max length of symbol stored in [`TokenMetadata`]" + ] + }, + { + "name": "MaxMigrationKeyLength", + "ty": 4, + "value": [ + 0, + 4, + 0, + 0 + ], + "docs": [ + " Max length for the [`Migrations`] storage" + ] + }, + { + "name": "MigrationWeightLimitPercentage", + "ty": 42, + "value": [ + 0, + 225, + 245, + 5 + ], + "docs": [ + " Percentage of block weight to consume during migration" + ] + }, + { + "name": "MaxMigrationExtrinsicInfosToPause", + "ty": 4, + "value": [ + 20, + 0, + 0, + 0 + ], + "docs": [ + " Bound for the number of extrinsics to pause during multi block migration" + ] + }, + { + "name": "MigrationExtrinsicsInfosToPause", + "ty": 904, + "value": [ + 16, + 36, + 70, + 117, + 101, + 108, + 84, + 97, + 110, + 107, + 115, + 0, + 44, + 77, + 117, + 108, + 116, + 105, + 84, + 111, + 107, + 101, + 110, + 115, + 0, + 52, + 83, + 116, + 97, + 107, + 101, + 69, + 120, + 99, + 104, + 97, + 110, + 103, + 101, + 0, + 60, + 78, + 111, + 109, + 105, + 110, + 97, + 116, + 105, + 111, + 110, + 80, + 111, + 111, + 108, + 115, + 0 + ], + "docs": [ + " List of extrinsics to pause during multi block migration (this pallet is excluded)" + ] + }, + { + "name": "MaxClaimableCollectionsPerAccount", + "ty": 4, + "value": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Max number of collections that can be claimed by an account" + ] + }, + { + "name": "MaxClaimableTokensPerCall", + "ty": 4, + "value": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The max number of tokens that can be claimed in a single call to `claim_tokens`" + ] + }, + { + "name": "ClaimCollectionsPrefix", + "ty": 13, + "value": [ + 128, + 84, + 114, + 97, + 110, + 115, + 102, + 101, + 114, + 32, + 99, + 111, + 108, + 108, + 101, + 99, + 116, + 105, + 111, + 110, + 115, + 32, + 116, + 111, + 32, + 97, + 99, + 99, + 111, + 117, + 110, + 116, + 58 + ], + "docs": [ + " The prefix of the message used to claim collections" + ] + }, + { + "name": "ClaimTokensPrefix", + "ty": 13, + "value": [ + 108, + 84, + 114, + 97, + 110, + 115, + 102, + 101, + 114, + 32, + 116, + 111, + 107, + 101, + 110, + 115, + 32, + 116, + 111, + 32, + 97, + 99, + 99, + 111, + 117, + 110, + 116, + 58 + ], + "docs": [ + " The prefix of the message used to claim tokens" + ] + }, + { + "name": "ClaimsAccountId", + "ty": 0, + "value": [ + 109, + 111, + 100, + 108, + 101, + 102, + 47, + 102, + 117, + 101, + 108, + 116, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The account id that owns unclaimed collections and tokens. This account also pays", + " deposits if needed when claiming." + ] + } + ], + "error": { + "ty": 908 + }, + "index": 253 + }, + { + "name": "FuelTanks", + "storage": { + "prefix": "FuelTanks", + "entries": [ + { + "name": "Tanks", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 909 + } + }, + "default": [ + 0 + ], + "docs": [ + " Mapping of Fuel Tanks accounts to their data" + ] + }, + { + "name": "Accounts", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 935, + "value": 936 + } + }, + "default": [ + 0 + ], + "docs": [ + " Mapping of Fuel Tanks and their user Accounts to account data" + ] + }, + { + "name": "FreezeQueue", + "modifier": "Default", + "ty": { + "Plain": 948 + }, + "default": [ + 0 + ], + "docs": [ + " The queue for fuel tank and rule set freezing", + " Composed of (`tank_id`, `rule_set_id`, new `is_frozen` value)" + ] + } + ] + }, + "calls": { + "ty": 540 + }, + "event": { + "ty": 249 + }, + "constants": [ + { + "name": "Salt", + "ty": 134, + "value": [ + 101, + 102, + 105, + 110, + 105, + 116, + 121, + 121 + ], + "docs": [ + " The salt used for address generation" + ] + }, + { + "name": "MaxWhitelistedCallers", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of whitelisted callers per fuel tank" + ] + }, + { + "name": "MaxRuleSets", + "ty": 4, + "value": [ + 5, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of rule sets per fuel tank" + ] + }, + { + "name": "MaxRulesPerSet", + "ty": 4, + "value": [ + 10, + 0, + 0, + 0 + ], + "docs": [ + " Maximum number of rules in a ruleset" + ] + }, + { + "name": "MaxAccountRuleDataLength", + "ty": 4, + "value": [ + 128, + 0, + 0, + 0 + ], + "docs": [ + " Max length of data a rule can store per account" + ] + }, + { + "name": "MaxCallFilters", + "ty": 4, + "value": [ + 5, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of permitted calls" + ] + }, + { + "name": "MaxWhitelistedCollections", + "ty": 4, + "value": [ + 0, + 1, + 0, + 0 + ], + "docs": [ + " Maximum number of whitelisted collections for a fuel tank" + ] + }, + { + "name": "MaxCallSize", + "ty": 4, + "value": [ + 244, + 1, + 0, + 0 + ], + "docs": [ + " The maximum number of rule sets per fuel tank" + ] + }, + { + "name": "MaxFreezeQueueLength", + "ty": 4, + "value": [ + 10, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of fuel tank freeze state mutations that can be queued" + ] + }, + { + "name": "MaxUserHistorySize", + "ty": 4, + "value": [ + 16, + 39, + 0, + 0 + ], + "docs": [ + " The maximum number of user history that can be stored" + ] + }, + { + "name": "MaxBatchAccounts", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of accounts for batch operations" + ] + }, + { + "name": "MaxFuelTankNameLength", + "ty": 4, + "value": [ + 32, + 0, + 0, + 0 + ], + "docs": [ + " The maximum length for fuel tank name" + ] + }, + { + "name": "MaxExtrinsicNameLength", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum length for extrinsics for PermittedExtrinsic rule" + ] + }, + { + "name": "MaxPermittedExtrinsicLength", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of extrinsics to allow for PermittedExtrinsic rule" + ] + }, + { + "name": "TankCreationDeposit", + "ty": 6, + "value": [ + 0, + 0, + 122, + 34, + 193, + 200, + 177, + 34, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Deposit for creating a new fuel tank" + ] + }, + { + "name": "AccountCreationDeposit", + "ty": 6, + "value": [ + 0, + 0, + 217, + 233, + 172, + 45, + 120, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Deposit for creating an account" + ] + }, + { + "name": "ReserveIdentifier", + "ty": 134, + "value": [ + 102, + 117, + 101, + 108, + 116, + 97, + 110, + 107 + ], + "docs": [ + " The identifier used for currency reserves" + ] + }, + { + "name": "LevyScale", + "ty": 4, + "value": [ + 184, + 11, + 0, + 0 + ], + "docs": [ + " value of a unit of the independant variable in EFI for the levy discount according to", + " f(x) = (1/2)^x. Cannot be 0." + ] + }, + { + "name": "Levy", + "ty": 42, + "value": [ + 128, + 23, + 180, + 44 + ], + "docs": [ + " The Levy applied to all transactions in Matrix." + ] + } + ], + "error": { + "ty": 951 + }, + "index": 254 + }, + { + "name": "ExtrinsicPause", + "storage": { + "prefix": "ExtrinsicPause", + "entries": [ + { + "name": "PausedExtrinsics", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 905, + "value": 56 + } + }, + "default": [ + 0 + ], + "docs": [ + " Paused extrinsics map", + "", + " The key is tuple with the name of the pallet and the extrinsic name and value is", + " an Option<()> which is None if the extrinsic is not paused and Some(()) if it is." + ] + } + ] + }, + "calls": { + "ty": 570 + }, + "event": { + "ty": 270 + }, + "constants": [ + { + "name": "MaxNameLength", + "ty": 4, + "value": [ + 64, + 0, + 0, + 0 + ], + "docs": [ + " Max number of characters in pallet or extrinsic name." + ] + } + ], + "error": { + "ty": 952 + }, + "index": 255 + }, + { + "name": "Marketplace", + "storage": { + "prefix": "Marketplace", + "entries": [ + { + "name": "Info", + "modifier": "Default", + "ty": { + "Plain": 953 + }, + "default": [ + 2, + 225, + 245, + 5 + ], + "docs": [ + " Stores information about the marketplace" + ] + }, + { + "name": "Listings", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 12, + "value": 275 + } + }, + "default": [ + 0 + ], + "docs": [ + " Listings by ID" + ] + } + ] + }, + "calls": { + "ty": 571 + }, + "event": { + "ty": 274 + }, + "constants": [ + { + "name": "MinimumBidIncreasePercentage", + "ty": 42, + "value": [ + 128, + 240, + 250, + 2 + ], + "docs": [ + " The percentage the minimum bid in an auction must increase by" + ] + }, + { + "name": "ReserveIdentifier", + "ty": 134, + "value": [ + 109, + 97, + 114, + 107, + 116, + 112, + 108, + 99 + ], + "docs": [ + " ID used by the pallet for making reservations" + ] + }, + { + "name": "ListingDeposit", + "ty": 6, + "value": [ + 0, + 144, + 96, + 182, + 218, + 46, + 7, + 7, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The deposit for creating a listing" + ] + }, + { + "name": "ListingActiveDelay", + "ty": 4, + "value": [ + 5, + 0, + 0, + 0 + ], + "docs": [ + " The delay before a listing is considered active" + ] + }, + { + "name": "MaxRoundingError", + "ty": 6, + "value": [ + 232, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The max amount that can be lost due to rounding before failing" + ] + }, + { + "name": "MaxSaltLength", + "ty": 4, + "value": [ + 32, + 0, + 0, + 0 + ], + "docs": [ + " Max length of salt used when creating listings and bids" + ] + } + ], + "error": { + "ty": 954 + }, + "index": 249 + }, + { + "name": "Beefy", + "storage": { + "prefix": "Beefy", + "entries": [ + { + "name": "Authorities", + "modifier": "Default", + "ty": { + "Plain": 955 + }, + "default": [ + 0 + ], + "docs": [ + " The current authorities set" + ] + }, + { + "name": "ValidatorSetId", + "modifier": "Default", + "ty": { + "Plain": 11 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The current validator set id" + ] + }, + { + "name": "NextAuthorities", + "modifier": "Default", + "ty": { + "Plain": 955 + }, + "default": [ + 0 + ], + "docs": [ + " Authorities set scheduled to be used with the next session" + ] + }, + { + "name": "SetIdSession", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 11, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " A mapping from BEEFY set ID to the index of the *most recent* session for which its", + " members were responsible.", + "", + " This is only used for validating equivocation proofs. An equivocation proof must", + " contains a key-ownership proof for a given session, therefore we need a way to tie", + " together sessions and BEEFY set ids, i.e. we need to validate that a validator", + " was the owner of a given key on a given session, and what the active set ID was", + " during that session.", + "", + " TWOX-NOTE: `ValidatorSetId` is not under user control." + ] + }, + { + "name": "GenesisBlock", + "modifier": "Default", + "ty": { + "Plain": 73 + }, + "default": [ + 0 + ], + "docs": [ + " Block number where BEEFY consensus is enabled/started.", + " By changing this (through governance or sudo), BEEFY consensus is effectively", + " restarted from the new block number." + ] + } + ] + }, + "calls": { + "ty": 573 + }, + "event": null, + "constants": [ + { + "name": "MaxAuthorities", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of authorities that can be added." + ] + }, + { + "name": "MaxSetIdSessionEntries", + "ty": 11, + "value": [ + 168, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of entries to keep in the set id to session index mapping.", + "", + " Since the `SetIdSession` map is only used for validating equivocations this", + " value should relate to the bonding duration of whatever staking system is", + " being used (if any). If equivocation handling is not enabled then this value", + " can be zero." + ] + } + ], + "error": { + "ty": 957 + }, + "index": 240 + }, + { + "name": "Mmr", + "storage": { + "prefix": "Mmr", + "entries": [ + { + "name": "RootHash", + "modifier": "Default", + "ty": { + "Plain": 12 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Latest MMR Root hash." + ] + }, + { + "name": "NumberOfLeaves", + "modifier": "Default", + "ty": { + "Plain": 11 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Current size of the MMR (number of leaves)." + ] + }, + { + "name": "Nodes", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 11, + "value": 12 + } + }, + "default": [ + 0 + ], + "docs": [ + " Hashes of the nodes in the MMR.", + "", + " Note this collection only contains MMR peaks, the inner nodes (and leaves)", + " are pruned and only stored in the Offchain DB." + ] + } + ] + }, + "calls": null, + "event": null, + "constants": [], + "error": null, + "index": 241 + }, + { + "name": "MmrLeaf", + "storage": { + "prefix": "MmrLeaf", + "entries": [ + { + "name": "BeefyAuthorities", + "modifier": "Default", + "ty": { + "Plain": 958 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Details of current BEEFY authority set." + ] + }, + { + "name": "BeefyNextAuthorities", + "modifier": "Default", + "ty": { + "Plain": 958 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Details of next BEEFY authority set.", + "", + " This storage entry is used as cache for calls to `update_beefy_next_authority_set`." + ] + } + ] + }, + "calls": null, + "event": null, + "constants": [], + "error": null, + "index": 242 + }, + { + "name": "Scheduler", + "storage": { + "prefix": "Scheduler", + "entries": [ + { + "name": "IncompleteSince", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [] + }, + { + "name": "Agenda", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 959 + } + }, + "default": [ + 0 + ], + "docs": [ + " Items to be executed, indexed by the block number that they should be executed on." + ] + }, + { + "name": "Lookup", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 1, + "value": 285 + } + }, + "default": [ + 0 + ], + "docs": [ + " Lookup from a name to the block number and index of the task.", + "", + " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4", + " identities." + ] + } + ] + }, + "calls": { + "ty": 583 + }, + "event": { + "ty": 284 + }, + "constants": [ + { + "name": "MaximumWeight", + "ty": 9, + "value": [ + 11, + 0, + 128, + 110, + 135, + 116, + 1, + 19, + 204, + 204, + 204, + 204, + 204, + 204, + 204, + 204 + ], + "docs": [ + " The maximum weight that may be scheduled per block for any dispatchables." + ] + }, + { + "name": "MaxScheduledPerBlock", + "ty": 4, + "value": [ + 50, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of scheduled calls in the queue for a single block.", + "", + " NOTE:", + " + Dependent pallets' benchmarks might require a higher limit for the setting. Set a", + " higher limit under `runtime-benchmarks` feature." + ] + } + ], + "error": { + "ty": 963 + }, + "index": 100 + }, + { + "name": "Preimage", + "storage": { + "prefix": "Preimage", + "entries": [ + { + "name": "StatusFor", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 12, + "value": 964 + } + }, + "default": [ + 0 + ], + "docs": [ + " The request status of a given hash." + ] + }, + { + "name": "PreimageFor", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 965, + "value": 966 + } + }, + "default": [ + 0 + ], + "docs": [] + } + ] + }, + "calls": { + "ty": 585 + }, + "event": { + "ty": 287 + }, + "constants": [], + "error": { + "ty": 967 + }, + "index": 101 + }, + { + "name": "ConvictionVoting", + "storage": { + "prefix": "ConvictionVoting", + "entries": [ + { + "name": "VotingFor", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 968, + "value": 969 + } + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " All voting for a particular voter in a particular voting class. We store the balance for the", + " number of votes that we have recorded." + ] + }, + { + "name": "ClassLocksFor", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 977 + } + }, + "default": [ + 0 + ], + "docs": [ + " The voting classes which have a non-zero lock requirement and the lock amounts which they", + " require. The actual amount locked on behalf of this pallet should always be the maximum of", + " this list." + ] + } + ] + }, + "calls": { + "ty": 586 + }, + "event": { + "ty": 288 + }, + "constants": [ + { + "name": "MaxVotes", + "ty": 4, + "value": [ + 0, + 2, + 0, + 0 + ], + "docs": [ + " The maximum number of concurrent votes an account may have.", + "", + " Also used to compute weight, an overly large value can lead to extrinsics with large", + " weight estimation: see `delegate` for instance." + ] + }, + { + "name": "VoteLockingPeriod", + "ty": 4, + "value": [ + 192, + 137, + 1, + 0 + ], + "docs": [ + " The minimum period of vote locking.", + "", + " It should be no shorter than enactment period to ensure that in the case of an approval,", + " those successful voters are locked into the consequences that their votes entail." + ] + } + ], + "error": { + "ty": 980 + }, + "index": 102 + }, + { + "name": "Referenda", + "storage": { + "prefix": "Referenda", + "entries": [ + { + "name": "ReferendumCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The next free referendum index, aka the number of referenda started so far." + ] + }, + { + "name": "ReferendumInfoFor", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 981 + } + }, + "default": [ + 0 + ], + "docs": [ + " Information concerning any given referendum." + ] + }, + { + "name": "TrackQueue", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 290, + "value": 773 + } + }, + "default": [ + 0 + ], + "docs": [ + " The sorted list of referenda ready to be decided but not yet being decided, ordered by", + " conviction-weighted approvals.", + "", + " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`." + ] + }, + { + "name": "DecidingCount", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 290, + "value": 4 + } + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The number of referenda being decided currently." + ] + }, + { + "name": "MetadataOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 12 + } + }, + "default": [ + 0 + ], + "docs": [ + " The metadata is a general information concerning the referendum.", + " The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON", + " dump or IPFS hash of a JSON file.", + "", + " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)", + " large preimages." + ] + } + ] + }, + "calls": { + "ty": 591 + }, + "event": { + "ty": 289 + }, + "constants": [ + { + "name": "SubmissionDeposit", + "ty": 6, + "value": [ + 0, + 128, + 98, + 23, + 94, + 209, + 88, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum amount to be used as a deposit for a public referendum proposal." + ] + }, + { + "name": "MaxQueued", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " Maximum size of the referendum queue for a single track." + ] + }, + { + "name": "UndecidingTimeout", + "ty": 4, + "value": [ + 128, + 19, + 3, + 0 + ], + "docs": [ + " The number of blocks after submission that a referendum must begin being decided by.", + " Once this passes, then anyone may cancel the referendum." + ] + }, + { + "name": "AlarmInterval", + "ty": 4, + "value": [ + 1, + 0, + 0, + 0 + ], + "docs": [ + " Quantization level for the referendum wakeup scheduler. A higher number will result in", + " fewer storage reads/writes needed for smaller voters, but also result in delays to the", + " automatic referendum status changes. Explicit servicing instructions are unaffected." + ] + }, + { + "name": "Tracks", + "ty": 989, + "value": [ + 88, + 0, + 0, + 16, + 114, + 111, + 111, + 116, + 1, + 0, + 0, + 0, + 0, + 0, + 160, + 222, + 197, + 173, + 201, + 53, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 64, + 56, + 0, + 0, + 64, + 56, + 0, + 0, + 2, + 144, + 215, + 62, + 13, + 0, + 0, + 0, + 0, + 87, + 67, + 222, + 19, + 0, + 0, + 0, + 0, + 84, + 67, + 222, + 19, + 0, + 0, + 0, + 0, + 0, + 0, + 202, + 154, + 59, + 0, + 0, + 0, + 0, + 0, + 101, + 205, + 29, + 1, + 0, + 72, + 119, + 104, + 105, + 116, + 101, + 108, + 105, + 115, + 116, + 101, + 100, + 95, + 99, + 97, + 108, + 108, + 101, + 114, + 100, + 0, + 0, + 0, + 0, + 0, + 160, + 222, + 197, + 173, + 201, + 53, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 150, + 0, + 0, + 0, + 192, + 137, + 1, + 0, + 100, + 0, + 0, + 0, + 100, + 0, + 0, + 0, + 2, + 236, + 151, + 37, + 16, + 0, + 0, + 0, + 0, + 123, + 87, + 60, + 23, + 0, + 0, + 0, + 0, + 66, + 57, + 47, + 18, + 0, + 0, + 0, + 0, + 2, + 14, + 0, + 132, + 0, + 0, + 0, + 0, + 0, + 214, + 230, + 31, + 1, + 0, + 0, + 0, + 0, + 57, + 98, + 121, + 2, + 0, + 0, + 0, + 0, + 2, + 0, + 80, + 114, + 101, + 102, + 101, + 114, + 101, + 110, + 100, + 117, + 109, + 95, + 99, + 97, + 110, + 99, + 101, + 108, + 108, + 101, + 114, + 232, + 3, + 0, + 0, + 0, + 0, + 160, + 222, + 197, + 173, + 201, + 53, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 192, + 137, + 1, + 0, + 8, + 7, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 201, + 67, + 48, + 36, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 93, + 111, + 120, + 0, + 0, + 0, + 0, + 0, + 232, + 46, + 237, + 0, + 0, + 0, + 0, + 0, + 140, + 104, + 137, + 255, + 255, + 255, + 255, + 255, + 3, + 0, + 68, + 114, + 101, + 102, + 101, + 114, + 101, + 110, + 100, + 117, + 109, + 95, + 107, + 105, + 108, + 108, + 101, + 114, + 232, + 3, + 0, + 0, + 0, + 0, + 64, + 178, + 186, + 201, + 224, + 25, + 30, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 8, + 7, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 201, + 67, + 48, + 36, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 93, + 111, + 120, + 0, + 0, + 0, + 0, + 0, + 232, + 46, + 237, + 0, + 0, + 0, + 0, + 0, + 140, + 104, + 137, + 255, + 255, + 255, + 255, + 255, + 100, + 0, + 52, + 115, + 116, + 97, + 107, + 105, + 110, + 103, + 95, + 97, + 100, + 109, + 105, + 110, + 10, + 0, + 0, + 0, + 0, + 0, + 80, + 239, + 226, + 214, + 228, + 26, + 27, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 8, + 7, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 201, + 67, + 48, + 36, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 93, + 111, + 120, + 0, + 0, + 0, + 0, + 0, + 232, + 46, + 237, + 0, + 0, + 0, + 0, + 0, + 140, + 104, + 137, + 255, + 255, + 255, + 255, + 255, + 101, + 0, + 56, + 116, + 114, + 101, + 97, + 115, + 117, + 114, + 121, + 95, + 97, + 100, + 109, + 105, + 110, + 10, + 0, + 0, + 0, + 0, + 0, + 160, + 222, + 197, + 173, + 201, + 53, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 8, + 7, + 0, + 0, + 64, + 56, + 0, + 0, + 2, + 144, + 215, + 62, + 13, + 0, + 0, + 0, + 0, + 87, + 67, + 222, + 19, + 0, + 0, + 0, + 0, + 84, + 67, + 222, + 19, + 0, + 0, + 0, + 0, + 0, + 0, + 202, + 154, + 59, + 0, + 0, + 0, + 0, + 0, + 101, + 205, + 29, + 102, + 0, + 44, + 108, + 101, + 97, + 115, + 101, + 95, + 97, + 100, + 109, + 105, + 110, + 10, + 0, + 0, + 0, + 0, + 0, + 80, + 239, + 226, + 214, + 228, + 26, + 27, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 8, + 7, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 201, + 67, + 48, + 36, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 93, + 111, + 120, + 0, + 0, + 0, + 0, + 0, + 232, + 46, + 237, + 0, + 0, + 0, + 0, + 0, + 140, + 104, + 137, + 255, + 255, + 255, + 255, + 255, + 103, + 0, + 64, + 102, + 101, + 108, + 108, + 111, + 119, + 115, + 104, + 105, + 112, + 95, + 97, + 100, + 109, + 105, + 110, + 10, + 0, + 0, + 0, + 0, + 0, + 16, + 99, + 45, + 94, + 199, + 107, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 8, + 7, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 201, + 67, + 48, + 36, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 93, + 111, + 120, + 0, + 0, + 0, + 0, + 0, + 232, + 46, + 237, + 0, + 0, + 0, + 0, + 0, + 140, + 104, + 137, + 255, + 255, + 255, + 255, + 255, + 104, + 0, + 52, + 103, + 101, + 110, + 101, + 114, + 97, + 108, + 95, + 97, + 100, + 109, + 105, + 110, + 10, + 0, + 0, + 0, + 0, + 0, + 16, + 99, + 45, + 94, + 199, + 107, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 8, + 7, + 0, + 0, + 100, + 0, + 0, + 0, + 2, + 144, + 215, + 62, + 13, + 0, + 0, + 0, + 0, + 87, + 67, + 222, + 19, + 0, + 0, + 0, + 0, + 84, + 67, + 222, + 19, + 0, + 0, + 0, + 0, + 2, + 89, + 162, + 244, + 2, + 0, + 0, + 0, + 0, + 163, + 41, + 107, + 5, + 0, + 0, + 0, + 0, + 46, + 107, + 74, + 253, + 255, + 255, + 255, + 255, + 105, + 0, + 52, + 97, + 117, + 99, + 116, + 105, + 111, + 110, + 95, + 97, + 100, + 109, + 105, + 110, + 10, + 0, + 0, + 0, + 0, + 0, + 160, + 222, + 197, + 173, + 201, + 53, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 8, + 7, + 0, + 0, + 100, + 0, + 0, + 0, + 2, + 144, + 215, + 62, + 13, + 0, + 0, + 0, + 0, + 87, + 67, + 222, + 19, + 0, + 0, + 0, + 0, + 84, + 67, + 222, + 19, + 0, + 0, + 0, + 0, + 2, + 89, + 162, + 244, + 2, + 0, + 0, + 0, + 0, + 163, + 41, + 107, + 5, + 0, + 0, + 0, + 0, + 46, + 107, + 74, + 253, + 255, + 255, + 255, + 255, + 106, + 0, + 72, + 109, + 117, + 108, + 116, + 105, + 95, + 116, + 111, + 107, + 101, + 110, + 115, + 95, + 97, + 100, + 109, + 105, + 110, + 10, + 0, + 0, + 0, + 0, + 0, + 160, + 222, + 197, + 173, + 201, + 53, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 8, + 7, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 201, + 67, + 48, + 36, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 93, + 111, + 120, + 0, + 0, + 0, + 0, + 0, + 232, + 46, + 237, + 0, + 0, + 0, + 0, + 0, + 140, + 104, + 137, + 255, + 255, + 255, + 255, + 255, + 107, + 0, + 64, + 102, + 117, + 101, + 108, + 95, + 116, + 97, + 110, + 107, + 115, + 95, + 97, + 100, + 109, + 105, + 110, + 10, + 0, + 0, + 0, + 0, + 0, + 160, + 222, + 197, + 173, + 201, + 53, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 8, + 7, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 201, + 67, + 48, + 36, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 93, + 111, + 120, + 0, + 0, + 0, + 0, + 0, + 232, + 46, + 237, + 0, + 0, + 0, + 0, + 0, + 140, + 104, + 137, + 255, + 255, + 255, + 255, + 255, + 108, + 0, + 48, + 99, + 108, + 97, + 105, + 109, + 115, + 95, + 97, + 100, + 109, + 105, + 110, + 10, + 0, + 0, + 0, + 0, + 0, + 160, + 222, + 197, + 173, + 201, + 53, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 8, + 7, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 201, + 67, + 48, + 36, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 93, + 111, + 120, + 0, + 0, + 0, + 0, + 0, + 232, + 46, + 237, + 0, + 0, + 0, + 0, + 0, + 140, + 104, + 137, + 255, + 255, + 255, + 255, + 255, + 109, + 0, + 84, + 101, + 120, + 116, + 114, + 105, + 110, + 115, + 105, + 99, + 95, + 112, + 97, + 117, + 115, + 101, + 95, + 97, + 100, + 109, + 105, + 110, + 10, + 0, + 0, + 0, + 0, + 0, + 160, + 222, + 197, + 173, + 201, + 53, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 8, + 7, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 201, + 67, + 48, + 36, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 93, + 111, + 120, + 0, + 0, + 0, + 0, + 0, + 232, + 46, + 237, + 0, + 0, + 0, + 0, + 0, + 140, + 104, + 137, + 255, + 255, + 255, + 255, + 255, + 110, + 0, + 56, + 112, + 114, + 101, + 105, + 109, + 97, + 103, + 101, + 95, + 97, + 100, + 109, + 105, + 110, + 10, + 0, + 0, + 0, + 0, + 0, + 160, + 222, + 197, + 173, + 201, + 53, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 8, + 7, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 201, + 67, + 48, + 36, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 93, + 111, + 120, + 0, + 0, + 0, + 0, + 0, + 232, + 46, + 237, + 0, + 0, + 0, + 0, + 0, + 140, + 104, + 137, + 255, + 255, + 255, + 255, + 255, + 111, + 0, + 60, + 119, + 104, + 105, + 116, + 101, + 108, + 105, + 115, + 116, + 95, + 97, + 100, + 109, + 105, + 110, + 10, + 0, + 0, + 0, + 0, + 0, + 160, + 222, + 197, + 173, + 201, + 53, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 8, + 7, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 201, + 67, + 48, + 36, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 93, + 111, + 120, + 0, + 0, + 0, + 0, + 0, + 232, + 46, + 237, + 0, + 0, + 0, + 0, + 0, + 140, + 104, + 137, + 255, + 255, + 255, + 255, + 255, + 112, + 0, + 64, + 112, + 97, + 114, + 97, + 99, + 104, + 97, + 105, + 110, + 115, + 95, + 97, + 100, + 109, + 105, + 110, + 10, + 0, + 0, + 0, + 0, + 0, + 160, + 222, + 197, + 173, + 201, + 53, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 176, + 4, + 0, + 0, + 128, + 19, + 3, + 0, + 8, + 7, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 201, + 67, + 48, + 36, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 93, + 111, + 120, + 0, + 0, + 0, + 0, + 0, + 232, + 46, + 237, + 0, + 0, + 0, + 0, + 0, + 140, + 104, + 137, + 255, + 255, + 255, + 255, + 255, + 200, + 0, + 48, + 115, + 109, + 97, + 108, + 108, + 95, + 116, + 105, + 112, + 112, + 101, + 114, + 200, + 0, + 0, + 0, + 0, + 0, + 100, + 167, + 179, + 182, + 224, + 13, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 192, + 137, + 1, + 0, + 100, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 73, + 145, + 73, + 21, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 249, + 186, + 24, + 0, + 0, + 0, + 0, + 0, + 42, + 77, + 49, + 0, + 0, + 0, + 0, + 0, + 107, + 89, + 231, + 255, + 255, + 255, + 255, + 255, + 201, + 0, + 40, + 98, + 105, + 103, + 95, + 116, + 105, + 112, + 112, + 101, + 114, + 100, + 0, + 0, + 0, + 0, + 0, + 232, + 137, + 4, + 35, + 199, + 138, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 100, + 0, + 0, + 0, + 192, + 137, + 1, + 0, + 88, + 2, + 0, + 0, + 100, + 0, + 0, + 0, + 0, + 73, + 145, + 73, + 21, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 105, + 79, + 63, + 0, + 0, + 0, + 0, + 0, + 53, + 150, + 125, + 0, + 0, + 0, + 0, + 0, + 229, + 52, + 193, + 255, + 255, + 255, + 255, + 255, + 202, + 0, + 52, + 115, + 109, + 97, + 108, + 108, + 95, + 115, + 112, + 101, + 110, + 100, + 101, + 114, + 50, + 0, + 0, + 0, + 0, + 0, + 16, + 99, + 45, + 94, + 199, + 107, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 96, + 9, + 0, + 0, + 128, + 19, + 3, + 0, + 32, + 28, + 0, + 0, + 64, + 56, + 0, + 0, + 0, + 201, + 67, + 48, + 36, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 93, + 111, + 120, + 0, + 0, + 0, + 0, + 0, + 232, + 46, + 237, + 0, + 0, + 0, + 0, + 0, + 140, + 104, + 137, + 255, + 255, + 255, + 255, + 255, + 203, + 0, + 56, + 109, + 101, + 100, + 105, + 117, + 109, + 95, + 115, + 112, + 101, + 110, + 100, + 101, + 114, + 50, + 0, + 0, + 0, + 0, + 0, + 32, + 198, + 90, + 188, + 142, + 215, + 10, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 96, + 9, + 0, + 0, + 128, + 19, + 3, + 0, + 64, + 56, + 0, + 0, + 64, + 56, + 0, + 0, + 0, + 91, + 1, + 246, + 48, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 17, + 97, + 219, + 0, + 0, + 0, + 0, + 0, + 191, + 209, + 170, + 1, + 0, + 0, + 0, + 0, + 32, + 151, + 42, + 255, + 255, + 255, + 255, + 255, + 204, + 0, + 44, + 98, + 105, + 103, + 95, + 115, + 112, + 101, + 110, + 100, + 101, + 114, + 50, + 0, + 0, + 0, + 0, + 0, + 64, + 140, + 181, + 120, + 29, + 175, + 21, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 96, + 9, + 0, + 0, + 128, + 19, + 3, + 0, + 128, + 112, + 0, + 0, + 64, + 56, + 0, + 0, + 0, + 0, + 202, + 154, + 59, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 2, + 65, + 60, + 176, + 1, + 0, + 0, + 0, + 0, + 117, + 93, + 52, + 3, + 0, + 0, + 0, + 0, + 69, + 209, + 101, + 254, + 255, + 255, + 255, + 255 + ], + "docs": [ + " Information concerning the different referendum tracks." + ] + } + ], + "error": { + "ty": 995 + }, + "index": 103 + }, + { + "name": "Whitelist", + "storage": { + "prefix": "Whitelist", + "entries": [ + { + "name": "WhitelistedCall", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 12, + "value": 56 + } + }, + "default": [ + 0 + ], + "docs": [] + } + ] + }, + "calls": { + "ty": 594 + }, + "event": { + "ty": 640 + }, + "constants": [], + "error": { + "ty": 996 + }, + "index": 105 + }, + { + "name": "FellowshipCollective", + "storage": { + "prefix": "FellowshipCollective", + "entries": [ + { + "name": "MemberCount", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 290, + "value": 4 + } + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The number of members in the collective who have at least the rank according to the index", + " of the vec." + ] + }, + { + "name": "Members", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 997 + } + }, + "default": [ + 0 + ], + "docs": [ + " The current members of the collective." + ] + }, + { + "name": "IdToIndex", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 998, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " The index of each ranks's member into the group of members who have at least that rank." + ] + }, + { + "name": "IndexToId", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 999, + "value": 0 + } + }, + "default": [ + 0 + ], + "docs": [ + " The members in the collective by index. All indices in the range `0..MemberCount` will", + " return `Some`, however a member's index is not guaranteed to remain unchanged over time." + ] + }, + { + "name": "Voting", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key": 715, + "value": 646 + } + }, + "default": [ + 0 + ], + "docs": [ + " Votes on a given proposal, if it is ongoing." + ] + }, + { + "name": "VotingCleanup", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 1000 + } + }, + "default": [ + 0 + ], + "docs": [] + } + ] + }, + "calls": { + "ty": 595 + }, + "event": { + "ty": 645 + }, + "constants": [], + "error": { + "ty": 1001 + }, + "index": 106 + }, + { + "name": "FellowshipReferenda", + "storage": { + "prefix": "FellowshipReferenda", + "entries": [ + { + "name": "ReferendumCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The next free referendum index, aka the number of referenda started so far." + ] + }, + { + "name": "ReferendumInfoFor", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 1002 + } + }, + "default": [ + 0 + ], + "docs": [ + " Information concerning any given referendum." + ] + }, + { + "name": "TrackQueue", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 290, + "value": 1004 + } + }, + "default": [ + 0 + ], + "docs": [ + " The sorted list of referenda ready to be decided but not yet being decided, ordered by", + " conviction-weighted approvals.", + "", + " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`." + ] + }, + { + "name": "DecidingCount", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 290, + "value": 4 + } + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The number of referenda being decided currently." + ] + }, + { + "name": "MetadataOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 12 + } + }, + "default": [ + 0 + ], + "docs": [ + " The metadata is a general information concerning the referendum.", + " The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON", + " dump or IPFS hash of a JSON file.", + "", + " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)", + " large preimages." + ] + } + ] + }, + "calls": { + "ty": 596 + }, + "event": { + "ty": 648 + }, + "constants": [ + { + "name": "SubmissionDeposit", + "ty": 6, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum amount to be used as a deposit for a public referendum proposal." + ] + }, + { + "name": "MaxQueued", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " Maximum size of the referendum queue for a single track." + ] + }, + { + "name": "UndecidingTimeout", + "ty": 4, + "value": [ + 192, + 137, + 1, + 0 + ], + "docs": [ + " The number of blocks after submission that a referendum must begin being decided by.", + " Once this passes, then anyone may cancel the referendum." + ] + }, + { + "name": "AlarmInterval", + "ty": 4, + "value": [ + 1, + 0, + 0, + 0 + ], + "docs": [ + " Quantization level for the referendum wakeup scheduler. A higher number will result in", + " fewer storage reads/writes needed for smaller voters, but also result in delays to the", + " automatic referendum status changes. Explicit servicing instructions are unaffected." + ] + }, + { + "name": "Tracks", + "ty": 989, + "value": [ + 40, + 0, + 0, + 40, + 99, + 97, + 110, + 100, + 105, + 100, + 97, + 116, + 101, + 115, + 10, + 0, + 0, + 0, + 0, + 0, + 232, + 137, + 4, + 35, + 199, + 138, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 88, + 2, + 0, + 0, + 128, + 19, + 3, + 0, + 194, + 1, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 202, + 154, + 59, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 0, + 0, + 202, + 154, + 59, + 0, + 0, + 0, + 0, + 0, + 101, + 205, + 29, + 1, + 0, + 28, + 109, + 101, + 109, + 98, + 101, + 114, + 115, + 10, + 0, + 0, + 0, + 0, + 0, + 16, + 99, + 45, + 94, + 199, + 107, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 194, + 1, + 0, + 0, + 128, + 50, + 2, + 0, + 44, + 1, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 202, + 154, + 59, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 0, + 0, + 202, + 154, + 59, + 0, + 0, + 0, + 0, + 0, + 101, + 205, + 29, + 2, + 0, + 44, + 112, + 114, + 111, + 102, + 105, + 99, + 105, + 101, + 110, + 116, + 115, + 10, + 0, + 0, + 0, + 0, + 0, + 32, + 198, + 90, + 188, + 142, + 215, + 10, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 44, + 1, + 0, + 0, + 192, + 137, + 1, + 0, + 150, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 202, + 154, + 59, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 0, + 0, + 202, + 154, + 59, + 0, + 0, + 0, + 0, + 0, + 101, + 205, + 29, + 3, + 0, + 28, + 102, + 101, + 108, + 108, + 111, + 119, + 115, + 10, + 0, + 0, + 0, + 0, + 0, + 160, + 222, + 197, + 173, + 201, + 53, + 54, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 150, + 0, + 0, + 0, + 192, + 168, + 0, + 0, + 150, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 202, + 154, + 59, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 0, + 0, + 202, + 154, + 59, + 0, + 0, + 0, + 0, + 0, + 101, + 205, + 29, + 4, + 0, + 56, + 115, + 101, + 110, + 105, + 111, + 114, + 32, + 102, + 101, + 108, + 108, + 111, + 119, + 115, + 10, + 0, + 0, + 0, + 0, + 0, + 144, + 172, + 110, + 50, + 120, + 134, + 135, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 150, + 0, + 0, + 0, + 128, + 112, + 0, + 0, + 100, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 202, + 154, + 59, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 0, + 0, + 202, + 154, + 59, + 0, + 0, + 0, + 0, + 0, + 101, + 205, + 29, + 5, + 0, + 28, + 101, + 120, + 112, + 101, + 114, + 116, + 115, + 10, + 0, + 0, + 0, + 0, + 0, + 32, + 89, + 221, + 100, + 240, + 12, + 15, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 100, + 0, + 0, + 0, + 64, + 56, + 0, + 0, + 100, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 202, + 154, + 59, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 0, + 0, + 202, + 154, + 59, + 0, + 0, + 0, + 0, + 0, + 101, + 205, + 29, + 6, + 0, + 56, + 115, + 101, + 110, + 105, + 111, + 114, + 32, + 101, + 120, + 112, + 101, + 114, + 116, + 115, + 10, + 0, + 0, + 0, + 0, + 0, + 176, + 5, + 76, + 151, + 104, + 147, + 150, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 100, + 0, + 0, + 0, + 128, + 37, + 0, + 0, + 50, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 202, + 154, + 59, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 0, + 0, + 202, + 154, + 59, + 0, + 0, + 0, + 0, + 0, + 101, + 205, + 29, + 7, + 0, + 28, + 109, + 97, + 115, + 116, + 101, + 114, + 115, + 10, + 0, + 0, + 0, + 0, + 0, + 64, + 178, + 186, + 201, + 224, + 25, + 30, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 50, + 0, + 0, + 0, + 32, + 28, + 0, + 0, + 50, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 202, + 154, + 59, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 0, + 0, + 202, + 154, + 59, + 0, + 0, + 0, + 0, + 0, + 101, + 205, + 29, + 8, + 0, + 56, + 115, + 101, + 110, + 105, + 111, + 114, + 32, + 109, + 97, + 115, + 116, + 101, + 114, + 115, + 10, + 0, + 0, + 0, + 0, + 0, + 64, + 123, + 165, + 240, + 99, + 129, + 150, + 10, + 0, + 0, + 0, + 0, + 0, + 0, + 50, + 0, + 0, + 0, + 192, + 18, + 0, + 0, + 50, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 202, + 154, + 59, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 0, + 0, + 202, + 154, + 59, + 0, + 0, + 0, + 0, + 0, + 101, + 205, + 29, + 9, + 0, + 52, + 103, + 114, + 97, + 110, + 100, + 32, + 109, + 97, + 115, + 116, + 101, + 114, + 115, + 10, + 0, + 0, + 0, + 0, + 0, + 128, + 246, + 74, + 225, + 199, + 2, + 45, + 21, + 0, + 0, + 0, + 0, + 0, + 0, + 50, + 0, + 0, + 0, + 96, + 9, + 0, + 0, + 50, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 202, + 154, + 59, + 0, + 101, + 205, + 29, + 0, + 202, + 154, + 59, + 0, + 0, + 202, + 154, + 59, + 0, + 0, + 0, + 0, + 0, + 101, + 205, + 29 + ], + "docs": [ + " Information concerning the different referendum tracks." + ] + } + ], + "error": { + "ty": 1005 + }, + "index": 107 + }, + { + "name": "Identity", + "storage": { + "prefix": "Identity", + "entries": [ + { + "name": "IdentityOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 1006 + } + }, + "default": [ + 0 + ], + "docs": [ + " Information that is pertinent to identify the entity behind an account.", + "", + " TWOX-NOTE: OK ― `AccountId` is a secure hash." + ] + }, + { + "name": "SuperOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 632 + } + }, + "default": [ + 0 + ], + "docs": [ + " The super-identity of an alternative \"sub\" identity together with its name, within that", + " context. If the account is not some other account's sub-identity, then just `None`." + ] + }, + { + "name": "SubsOf", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 1010 + } + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Alternative \"sub\" identities of this account.", + "", + " The first item is the deposit, the second is a vector of the accounts.", + "", + " TWOX-NOTE: OK ― `AccountId` is a secure hash." + ] + }, + { + "name": "Registrars", + "modifier": "Default", + "ty": { + "Plain": 1012 + }, + "default": [ + 0 + ], + "docs": [ + " The set of registrars. Not expected to get very big as can only be added through a", + " special origin (likely a council motion).", + "", + " The index into this can be cast to `RegistrarIndex` to get a valid value." + ] + } + ] + }, + "calls": { + "ty": 597 + }, + "event": { + "ty": 649 + }, + "constants": [ + { + "name": "BasicDeposit", + "ty": 6, + "value": [ + 0, + 0, + 64, + 140, + 181, + 120, + 29, + 175, + 21, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount held on deposit for a registered identity" + ] + }, + { + "name": "FieldDeposit", + "ty": 6, + "value": [ + 0, + 0, + 61, + 145, + 96, + 228, + 88, + 17, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount held on deposit per additional field for a registered identity." + ] + }, + { + "name": "SubAccountDeposit", + "ty": 6, + "value": [ + 0, + 0, + 61, + 145, + 96, + 228, + 88, + 17, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount held on deposit for a registered subaccount. This should account for the fact", + " that one storage item's value will increase by the size of an account ID, and there will", + " be another trie item whose value is the size of an account ID plus 32 bytes." + ] + }, + { + "name": "MaxSubAccounts", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of sub-accounts allowed per identified account." + ] + }, + { + "name": "MaxAdditionalFields", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O", + " required to access an identity, but can be pretty high." + ] + }, + { + "name": "MaxRegistrars", + "ty": 4, + "value": [ + 20, + 0, + 0, + 0 + ], + "docs": [ + " Maxmimum number of registrars allowed in the system. Needed to bound the complexity", + " of, e.g., updating judgements." + ] + } + ], + "error": { + "ty": 1016 + }, + "index": 108 + }, + { + "name": "VoteManager", + "storage": { + "prefix": "VoteManager", + "entries": [ + { + "name": "VoteCurrencies", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 719, + "value": 637 + } + }, + "default": [ + 0 + ], + "docs": [ + " The currency used by `AccountId` to vote in Poll with", + " `PollIndex`", + "", + " TWOX-NOTE: SAFE since `AccountId` is a secure hash." + ] + }, + { + "name": "VotesToUnlock", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 719, + "value": 1017 + } + }, + "default": [ + 0 + ], + "docs": [ + " The currency used by `AccountId` to vote in referendum with", + " `ReferendumIndex`", + "", + " TWOX-NOTE: SAFE since `AccountId` is a secure hash." + ] + } + ] + }, + "calls": { + "ty": 636 + }, + "event": { + "ty": 650 + }, + "constants": [], + "error": { + "ty": 1018 + }, + "index": 109 + } + ], + "extrinsic": { + "ty": 1019, + "version": 4, + "signed_extensions": [ + { + "identifier": "CheckNonZeroSender", + "ty": 1021, + "additional_signed": 56 + }, + { + "identifier": "CheckSpecVersion", + "ty": 1022, + "additional_signed": 4 + }, + { + "identifier": "CheckTxVersion", + "ty": 1023, + "additional_signed": 4 + }, + { + "identifier": "CheckGenesis", + "ty": 1024, + "additional_signed": 12 + }, + { + "identifier": "CheckMortality", + "ty": 1025, + "additional_signed": 12 + }, + { + "identifier": "CheckNonce", + "ty": 1027, + "additional_signed": 56 + }, + { + "identifier": "CheckWeight", + "ty": 1028, + "additional_signed": 56 + }, + { + "identifier": "ChargeTransactionPayment", + "ty": 1029, + "additional_signed": 56 + }, + { + "identifier": "CheckFuelTank", + "ty": 1030, + "additional_signed": 56 + } + ] + }, + "ty": 254 + } + } +] \ No newline at end of file diff --git a/cli/enjin2.scale b/cli/enjin2.scale new file mode 100644 index 0000000000000000000000000000000000000000..a2b79dbc5ec0e8a19b78e98f56175a08675734dc GIT binary patch literal 417957 zcmeFa4TxOVl`gt>^_EnUOHMf{&y;7{caCRTcUte2DlNI~*VeRk)l#?8{n9P9)Gb@S zmZ++(I^A7Sbyc}em81?1IN*Q-2_)cv0}dpRfCC96;DH1ZNFad(5=dYI8JK|t5}3dY zOdx^DyUD%pTWjxq{;Pj%x6HhE@AyX5=j^k8)?R!4ueG<_e(k|W^CCCubu0Bw&n?z_ z+ueSrG*hp42JQYrD50eD{9x+uoX5}HqCdrmBZSD}|HPpYk;_i3_i9^i#oPA! z?w0>;d%cq_EVLW$J(;%;XKVeMEQo?Ev^(v(o0qzQkYn{u+Z$}TJufevYwr3*8Xk|k zz0RFxBmTJL4c6D2^`_hIN89Hc7@#1-!wHecG!KbFZn|4*wcLJXt=6hxaIetc?z&#M zts1?c-^rrL%lvxJb&JwI6VmCqp4+?QHo^~!>%Gp0-FEm5u-z95oxMKQRWAy&rAv7wrXtvsngr$7Gf+nj=jI@Ha9l=-kAQka_3C( zS$=|Drd6+3`pqqOT;>K(P6|1WP3f#xyyl1PBQY+-;gTp}iHF5RcDmbZZZ-SOJ8p$R zoS#4Q#FGg;niL|F6;pW{zlYt%2%{Tr+wC>$#YS_(_4>tG{s&*me5Go83G$9&hYIE&7&0eRy1q8p|#df(3I&8Bzc{qLe zIgeE@ipAK;o4bSd*IXRrMpn(qWnjbvFrv`ita0`1;i(Umtm$Q>@`$NsP-IWPDDf&vtFBVt$pewN|yWx|6_AF0e+B8Q`!ZGK`Q{tX{ zF?RkE?GFp*%KExXXH$unSaS7mIkeUlUJw2EAl7iL)Wyb zSSnK4qIMOAM`HA>7+vYtZa3Q-N_{t>q@(YqoKsFTOSZLV8!&8x(>?-Qff`^{FfkBzw{ z{rwy0XQsI*2#3+nYXWg<(%(SFH9Smo`>>c?uJvjQ?RsmV5vVEUr@DBADK^_)rD@+J zK7B$I=u^Ppvr^s+eL_F&;>DE6&-b>vN_>uII(VhIPi zw&7kKxC5Zf=Q6ZEEIe%K7nK+2P2$V8n4AGo*l4>Av(T?*1|@zKZ+8g;A-bKcp3I0Lp!MF%M`EAFB0GVNsL_@ zxUJP%`!>G%^@x1ge6^0J6&%6a$^H4CVv58X;AykITpM@*&r?diWXXMYf5EA>scF=!ENUQj+E^6b;ZCk^3%)i<{QFeN^s z{A1ZQ4-+4_;yif$ohIWRXc#ksk1Br~AfcLDVlfyjw7AEP`GkGg;({T9)!UxWoD;XfSsLJ6OkGbL^Y;hR zK0l02_?&2o5^)y)gq%F)BRTfN9eOyngjmf*RFt9yQh~)4$jy*~&igpMGN?oT@RXdi zqBiL9dgq3mu;TUt{)9~WshPIpqq|e@Y;~brxDChC9jp&pt?lx(-|wYbv*k9ja?0=4 z?e!q3$w}Mq9Q`eJ8CR<1$hhm=ZMk%@({Qb*m{H5svvoYEI(KWHGtd%bdHk|_*C=*M zj@Gn_C*;KH*|WaB2LW?)#%a5E9rK=hs6!UP(#n$`YyzJeyLO_~4NNlJ13KuU1E_Xe zbj$&VBE)VecJc9L9y03YgdD}J=J87$Qr#M8)x?SiBjk4XwAN~w$Ous#)}bCyW^>QE7*}L3ckr!fWJ5ZXKc+#a zDXnOr^~A+myWQz8b~?8QT^jR3t#PH-gxZ5Ki%T7%u1ajmlK!c`9}%n~k!ntR*KC6< z!URyd+_AE^Ck~18tDO#3uuaMmYw^&W3e1g^XvuN@rTaS~#%FrX{^pk3Z`PIQ%IV-w z-6AU{L-K8{r9@wbCEi*~w>v7v=I(8R%aC?-OpIUb^m>CXX$9f|QM%r)-NDhQt+iZ{ z6I0hZo&M!ce}?ELnjaTpGYquIlA-e!nq;@g%Isi@)FnEYv+@&c16i86QCYe&dwp@P zGI#CTm1~u`%NMWA&dpX<7XJGj%pbg88!vN^|l2iHf7?1izzMv z&Rc^m?2Fm7i+lpbh?uzEzTNKJZ9~j(``C!$B{n}`53poU8ws$$!(e8-+xo-#POAaE zX%ZlqyN83*V7NfzxzOs=aU8`_A-dT~XyP@0a}paPb7R-($gX38Kqu$Q9rIg?soCb8 zCdslFw*R}^>ktn2!*EF3Kbf6aBs0M^7jiGAAjIh9&SGtwXo3*;5{8lp)y{%ys|6uf zN9WoN+S2S$iY7t(UDsNDionLRXN_74D*lZap)#b-xeFY1yv~;E(ASQ!8I_$`;M-!y z>+djLv9?9ltLR8F`?QP=1ya_5G0C~R+41}lnBKxTcIv}`qq8>XJ8Ogx&fGmn2*ep{ zty#C*@tXb8J(#0Nx@&JZO;B49$pPdt*m0az$Mee2Dxn8L@W_!RtFx7$wAntWN0j=@ z)VXKWqU}p_H@5-GJ8pou;sO{sEF#evh9v`97~sra3@~}Az+z`@+kr)?PuxM<*M{_$ zIyt3&u|nGv?$p}poN*0dTE5=Le#bZBoh*-EZ`+pp8S#+%m&Awzzo*EUwtENT5-?7d z=gk_gxiI7Pn#5Mw()f1vN6t53Ei*cD1xjsy;Jqk|(0lPi9L_Gu#C$_=A+BlW>2%ha ziLN($Uf<{6m^-!cU|4E5?9=kkFJZuzQ|oPj;J5og!A7%=<#^mUG$DUy$QD>0HQ2i! zfFDsm=LP6<#c0#eX8@;X+%0dEHTw_j9uC;Ece3m}i&Na_)$ZvP5jd=Lv(xyaD-a<-+x9d3Q6&?@TS~FR;9E^^&E2fsX?A)i%SG@HAl80{J*Hld z!x&ZI1 z;fy!?P90;eG2X)zjzzYBxd0qdAbzl))g4z~jDrs6N%tEEo^!nm^BEl2)(Tr?o{532|5F9)#5Hz-`5xQD(n8^{}sL{^` z;DId$I1CMKl%dCZb&`RGjh9y^(#C7JyN%ay*Ak-@7g-3|56mA@)dWq`qD8EUDto`)&zLfdl^uke8F0O9YSYS!znW?*5Na?N5y_D4#L3MUUUVHfXjQ@8=J^Q!L+l??36d z5XW%jsYBpPf3xXXMT#E1Scv+fis-l5_uxSwt5Y5ns6J_B0?m44Hh&3RkAy`a6uZty zwtLB!?W}1(BHIb6MvWgJEAueOH(r+c58@vo9r6;96>U;ZUFp_fgj>Y}GPMbjyD9;N zo{JN}!jSeFfVGj|3@5)DQv*^0gjG))@S*ZU{;#5+#uIX!+MWV6 zsW;(tJjru#Xc7>y2t*7;8WqZw6EG&yNE?H0i@74&6DRP>i#MOA?n?ejZr&=Z3D#l3 zIf+BQ3@;B{mhketlCxIF9X%Nl;AwNl)JmrXGj*rE!el5XN69_`EAA)cwDp}_)K6gi z=&%y_DY<-w)u-vOLEs#uI+)DvRNN22&g3>;mH9Oo+99mJIpcU{6fMbVipPR8!BPX- zj9V7GJ5E)PRgH-Y`l;O_+ilrdSPy;SIeg~Fjrn1rak5&vE@>!3Z0&b?I)gP}Gxi;_ zF}Gn8ti!$^qJ}jG{LSrYL7(^D@3&e$A=x{3x9PdqDHU7`nl&1~7_} z?bnO~1X$Z%l2yR-Qm0pUwX$6$v;nFS7y$>Ys^1%ssb&*+S#t>3&CbA!4r!oIbb1Ru zi+RY)kZ9TFfgU<-w>)e2mE|({W=SR5Vb=>DIs9LfllHq6`Wt8O5lPdt7>6U`fi+-i z>m=_{zoh_X;XPV@T=doEAejYJ7+d$lIS%r$5; zfJu{{YfSYV{f*sGc=gCqM@;)}t;ZrmVAXnUdey z;~Di?KZLZ?Y_lIBIovEM}5kX)>!R5i$n%e_Ofa*B>WuXW4 z7g|kjfasA!>Ki~OP-U`20=of8*8$_eNujZ5FKdQW@Mrgvp?xB|C;FPCn1#_R?Th5A z1DP(a@R0{!gW#cY0p<_q65KCqwfb$CY{uqbJVRtdeH-=~@hMf*WR?Op0LlDiKpg$# zN&X=3K5@ub5lJD$YuQ;?WZKa7EB4rUvEvH&{v_xa+#D@Z{B8r0$>huuv_WVg$6%8i z{&v=XTk&2P)F2P0^dVl~8?1DQfy!QJOQ^Luu<>*dDe-wZK29XC-&p2ZRwOjK5>@uhnKFL=$BPe{lRkPwDS;Q=?2bz3)&P zf7n31+^XFp3!r0^PzW!Y^n|Hh0Wg7ue5eg4O46kI77=#iF$e2N5;ZII=|MwutH`*O zG}imlYILX!RA@*CgpWOE+=qaJLH*%R2IE_z#lu^{!OUTjRcKgCSct>k`n@IAO~js^ zcW=m1L`SW`S3$T>f>#9?5ypj)>~l0hdSxlOAwqulrPvFY>+7&{z@2Es6e9h!!jcsp znHjEPBw{?wGOg@c-n`O+Ll~n0gY{bA^r z?$;=`kQku!J2WoQSh$yT$CyH$e6S9wyPZL+F-!6(v^>K%VZxhQ;Vtr*Q^N#%NWH9` zKV+2y%IO{SxL>9~_@;OPRv;2C_J@6k^FN96Q|ttGoH3~|s?)Od;`{0Mmk-fX@K+?dE?b2fsFu4o-V38dl zF^Z37o0`y=^M=KfT!vE$krBPu8dyAuVGJ8mHuZS>g~t*0A6g?49mRp^DFTr(Yr$&o zcYrLRcwkGQ5$Y5Y&~U2OnpLqwvZ6y&i0#q(DdAatbAS*4=Pu6Prc*Wiq}uS!P+CK# zmK+XIE`G2{-h`|i^N)Grl%}K2Q3Z9v|0p00x4A=$>Hgs?uM*~BV8&d?5k|&5roKWn z&T>m5Fw(}ePm|6Funn;XZSozCUfg7VrW%6F4hHd z3+R1>+LaOVLo5f=CS?>5!dy~#)U>}uV%SOIo>Q;U0vY*w-rxF2N~pQvYGJPnCRm<* z#zu`G3S!-3BYisP5g$k`z9OfhpNQk?wVBXz2!n_&;3$Cf(Ki&+013S8uy!-ot07Kv z3vTB((t*?!1KAuFUtAun!2pJa;zx4YZJc@HiPKM=J!_x-$WJ^NHSa7;6N(XIWnNC|ceR!ltc04RowKdV&IX2 z#~c<@%A+&dV3FH(lCn^vrfK5`wuGn;H=|x;Q?{0fc!C-i%^WxiM;r4HjbxWU1W0m} zg=E$V;}958Uz_p4#}vJ1%v67;*Xi6P#ou&LE|A}-uVjf_Km7_%FJ)ayy~5Ln_}Lls zOh>^g_+uzR2yBC}(!*Z$%+J8XpV+HI@Q&EsW!VC@nI<{rNEw4bU{p0NbZRO`y~41D zAt0C`;1}}4Jy0w{5#NUixdH5&j7NzP4-eS{-#lENlAI*aIf`x>jN^fE2M% zln_(vZN~+!BkFY{)6?98{R-14o{W5@Sd^&=8i zU^nFc%w8HhyjJV=0b=~LVQTl$qwxobq zuK`F8{Lpbzg3R@s-S|Vn3TbE-IlgdiN~V4d3}%GaUT-F#kubo18u2iGs-SLh43H`KeKo|1&5 z&^)=_&0D&64@we+B{?=8RoiVy4ZjUl5EO%gt%$ihO;D;fxBy4!ATDMF9nE;Nc(&V$ zGJ9FkeLN5Uq>38W;HUBzNFi#-Z1&1+C4K=bp2#8YPKgE^DDeQc%3tNqn~n7oLQ-~j zcHV{3vxX2-w8~-Aw$mL`OBFe#1-_b;C(|&6Bi~e5ggVoR%Rq)hS z>jRw*$yh&`VJ(IDvhPyTLM@4=c*HqI+#?I{TX4U_mID0nH9H=7oowV}M}YOgjCDVc=A0Fv#%V#SW-o&y!Mqh4&1?9CAlNg>C24e%~-U>#nhf z;*ZeIits~Wiie~)B;%8thrAf;Y1lMvh(NFkgpaa}5Sl2mqWp8?XGKNMjTL9J&NUY; zK+AHe;UYS)uOuBDALG7*XD0l&P+wePqYgYk*4V`68^TC*O&C~%T@ZjPPjDAT2(T-O z%9b$fxOXe;-wTf-)z8gmtm5%|I(Z%i=GkE}5^*W*GBgIi`$*f4%N!D>U;yh^jGYN) zBb_uBfjx8j>CuZEa0|GPa9*j6nS@(MJdwc-iRV!?q(3LOPeTZ57gLmcMBdKpG2Em2?a6EK~EwU_MT zTa;t&e+6S-@-sfoLjkcQ4J0r>npt!~{sdd#%e1Fvc5L+r+#z^?u^xfL2M6id07J+hbA-;u!!VDV&_#1qk-ZG1ycIwL$4SVu8N~w)tj`B`5{%u z+M|6oo-(=7y0$?+EakKb`7#FZb0VwW(0lv0@E7^LITS${0LN@cd2y~+)4?|$Y-<#Z z!?iKu;DFwY6-HTvj6q1Xs0|S`rtsv+gk?l`Sq>Z8ACdB&nRKvPI9DhLonv>-sV;RD zntaeBG+6ORzj+61D zkVO5rzt_9Cz|?mLVu3Qnpk@GQ97rmPvZ$vX->^5SBeUfZLki(9&|iOL<<}v2^ADj; z{9RA$P4BG{hL5S1h9cN4*+_YNNEBxRz+`S|Ky;9T_~OS2a^@Djg#7xLl(Wm2EjPyB zI(Y2?b%P!T=arj7)*QR6%O#|Co4RvB@P_vk#^Mqoq42qL>XpcD82OCXWTb59F6yT5 z+r=C~Qmx@;d9K!LZC_~i8W-qHUZtFRG7hk+SJ7J&-!&eP8`!-A+`zN~{B0Z;jcCWS zK5nPMGj-vWlOO#tOtGtYJNdfcWer)K=Xv(Y_!vY<<>RN%^7S z3W}~&6k?SK8$3^le9xAC0HG$x z4rc#GQ31(?q=YyX8ToV)XHILJIlbG?EeC8nfP#wdAbjg6RCTY?a9jOaB%BLIZhBhV z&dcy8LOcYC9-3M2z;m(lkq&v8=*nDBoM7|FtY9kWb7ZOu^7|9hC;o`+db5geaevCy; zcemRbGwM_Rhmg;xGv?M5RRX!ha@u*nQ7HH+ZHBV}%ne`ND}YAAGa-1#G`E@t^pro7 z84CMKwTY>>J`1Jp`2#Q@e7V7lKYL-YeFc&2JscTbT>{Z5$xK^RTd?)|FmJ}ewE^;| zkuF22IgBn7oP)p6(0g=`@Q`0Fz;r?;6#{}SgwzOf%%a@yCHgE7k~L+~#uS_hL=MY5 zQM@-~o+z8A^|B7Bn^-C$rV?+=5wH#Sd;|_tD5E}Uk&%p0 z%aLx{%%#~chE1N0DM z3MUvz+sr@=IH5xt?{V0cJh$^qgA*S)so7D34zjqqRJ(Vn*+TlG+u(;>dQmP&RNaFh zM)#awIE}K}-#pja*n^-)M++J6sVHdkeC5!oy>uwRe|!7|VZ^|LjE zw4iz>rW2bUdEts`gjJ$|O&w;t||741&SLR1LnR;ar)0H-pGq!9>b%=7y~ zgi%`^9#1(uWY@G`YMU68O>h1#xSS0WtPpy^TX%1tQ!^*Z-7bWW`f0h48 zCRy!wvN#;DMwvdRk>#3 zx-m5? z$|6J)g?YQ3*6muOgJ?-zRu}P8w&LWNABvQ6Xs5AF;297PFCb42Wl+Qx&V&DuV@0}P z(Yg*8Sl%b4bP!6?m_?0eAwCV?0ZKl(%wB}}3>2*oAcL@L{-yvDfLRZ~1dOurK)jsl z^ZxUagZPq01#_s~s?PdDFHrqWaO-z;MtnN`k$FZ89gMS=Inhovt_=FQw*#e&`c@b! zM2O(G9Uzf?7*K9p?~)v9%3*pofCqW`6h$zQ@O@*q$@g90is2@DenkBTnGsNWj=qMA zjH_uk;Bsxx6>d0~Lp)-_#aWzj_{|SjeEpc240Bg!z$~Nf@B- zM4wDRA)(Nm3e{+`D?nZy(q2(tsONqJc40db<-+nqXg)kyI$!=b%b}5}JRy(saVh7Y z(YY#^5tT92AR5Tre6TH+q@eb=DJ||12q5&@e2s0HAF_=T7A6%iz+EDmKC-u7#)5@n z3LnK1{Me|_n~%ywd{p$qkAb3bQMo54Q915o5Z_16Lxj(YkMFklRFElQK@D2D3-m&i zR7Gl#e|jithRJOJ_s3sY@gn>JXgzO|AVOs>l?ag^p?+l3BnYzt z*T+B?ztr|6XBmBi*fDB08&%sYaTQ|=i}WgkUI~%+*eeX2REra75DnK>t!+g5&8U9@ z9j1Aj@;*V&wxF#};jhJKJON3UW=rWf(LP6rw!@gsEG_5{v0b3?Y+XzAH3M&Wr>(s% z*$6ZfNvP`I;S~n(f{qcQL4huCz8C=v4oMxtqvL9j7Usiwdil=!#Z9+<8;*WXe*=OK zJM}(CImEtC8#BR!yU>|nIzsS1>fq73U^JuxHz2xedM*IiGnbIJh_QIlXdg}N#e!P| zdCZRfVG>jgW_sSv6y_4Qiy`PN?mE@O*@q;V#&mc`K;`rvll=(>A?}VuZ<-U$5*}L= zHN{LJoH|s(w!FIYoUWPliapKg$gXp;*&1(UPWO>Ne{N@bk*BKW5puygVFAT#Tq@Fl zOi%b)O+ZmTg5_cQVcCfNH`}G}o%w4^%RndY1rA};P5Dt-eO}kEE#WEhKMmCr6HPo!=|dU}sS z1GY8i=b@9Ex9s@vX=ybub^NbmN@o0PIz2^Ze-s@Y9xmMhb0YF@ZJ@Xa71j(i)AF0u zo6j?EYoe~wu*qo)-OXE7q-VfC08@0HQzk;LW0A@KaoF%|YDBt(_fP{>5wAZX~TR3(LA`{BYAl92o9qgLCBdzkxOW=^;O?Y zFuJAhu!tLA5qL0*uk6PZcAES+C?lBOd5Uio-u}^*yHNawO~~Qohv+Ov#C=4fZw?1| zfiDb6f;mfB>Wfs^bD5Kk;i;oMBcLDunV087FLg|qK)n%G530|Ho8ICIbZdZnn<~4P zi~J#C8`8jEI7$fe#NhsdjWD&v6kVlIquf7p!&=1i3~bpUCQQiO z6CnIdMnTn4uSADL>SEX&RtH*)N*x2PtEX$*@LEi=Hso`P*QX9N4VjadxCF9^{H1h1 zRJZ5r9#B=rMyczmMhGH>^7U%uOr~r=66}r7w*0jf7n49>n29|$ImeMmHoN-!NyEN9 z9R0uvSVK(V(xX%6k{+Ycp$wU6Y!k^ROapC?-5o(?QLB$h&L*-8B=4I3DL$NZ$TFq+ z)7^kb-$q_Ylf8_@hlputwqO_u3iwcBhN<|&ND2=2uw?0x?T_?{_D+Ve!ZIBcMQh+@ z0b~xLZ$vT>GHAeH7AOb7Fwz1nmy6)Phk!xXo7bP{5Z|%`SG7rvM#Uz!n)=1WsoIyu zGUNxXH4%i8JbiEL^Fmkb|#QkbgVxs2mIC+mAX~6HP|8Hty8ruU=s!L zC;81Vf;VKADm##5_NLsr8j?!4$bdi=5{*>^FOL$kh^jmNyG=}78)gE+b)3q2XxbOj zuZP5wA)EsjSovMjNr7racevr4P`x$^)o36RYDo6${sx01+4jd_B0eXEZh>L#JdhtT zy9^G4i#A%@*IZhU&Vovihmq_l#woggju;Snq1M1~>*T^Y)%}o2uM_@|pH;@nfJ)#= zlrTt+co2y7{+nEEM5{X}Fz>C+0 zWG_3pRNOeE<}cB*K#u%Xl&9yxYFjP{4Hy(c4$|fEp-%n7>UVS+LDujs^V!}up&Bqi zSFJU8NCd+iJSy_-mm@FEA&7Ozwj5F4qrS1Bh%Ys<-yzf@fCNN{ir<5amzJPS84th^ zWJ@ELdF1|eLf6G+Db1Ij1p^rWLwTAbNLM=$+^^M8Ryq~bM=5Y1Anrb0*LC>-h^qa( zdLI>(@5|h{2^_#}iAmCOb8N;kJ0*T7~LOYIK zxN&jGx`vq&`#iHOCT~7Zj%gN$Zr;MJx@~yAe+rum$9M!5pOiHIqno$pucPP>%Dw|bfaS%@|^Bvay7E0Chnv?dX?yg6?XeTJ&~mC@ItH+5w2U>5hZ20MYP)1VW;%Y#5^9 z+`KhuA%g3h8rxYBf`NE6Lw9)V<%^O0tvEz{y!Jsuayur8ocqQ$b7E72lPy-YxZMIoGRI&8AQIwob_E_Fm2M6Un-y2 z#q>FAfbq=vjMCl_S+iyg2y3A^p^rCgj<1fI)MdhK1QTc<-#w@UCmBO&^7`y)4To%m zpz2!Nfvu7kvwa0vpzp6M3}2K8?zRj4JXEOdZF}~&R4zC>Be8swn`PGZgANJy2=mqflv~j6t07;oBT?jSbzYBgKM;bFS5IX_CUuUY5eiA8Cwq?Qx=a% zgA2pJ3H^YpEt%PX5Y+AkgP1AaytSx74xY(#=Sb2WQ0Z{~`rCjn(44)8sO<@v7`MA{ z1Sf}?zG9)rd=tx!pqfU1qH()m(7ag=G|z^s15kHZ&5^>@x3L;FY;s^MEo#uFqP)bJ z*WBkMZjQkObUg$RtLjDUan+P()72tD3>yP(Z&yy@7AxB%auFC%g3kt^=zN1$ffj^= z)p1MeuWCYF@(I+*s^$f|!0Eg(k!rdIJv@~ig{k07My{H?uL#pZjy0GBUBgF=#nI== zCs0W`LpmRw1ib>E4qNMl|0OY&>wMxgXJK1~x4>6I+>(!wE&z^$r1zKjH)N-iY}#s2;RM7*!kxpG62c^uTJoBxgZ-S; zP81)7YypS{{MdY5EAI3}{Um3DRFgJ&kO4B_2yW0JS&3LST;6L`QyXoV5YcHKC3OW- z^Rb=0_ai3@)LLJNf;F=YgEW#R5Ds(vDU?QQx)T}NGxb}=-!Z%}jt39^)=Qt$l z%o9(FG{LQwk;?`FT_k)WG+ciy9>{%z;}>xOtP8Cpq|tF+9-u(-E5D`mr*2tnVth;w z9z{!O%(pjht(qao)xF^|y=CzuMRrBNGDKI?9tn#XT*exjR<3YD&S<$A8^U*uz+R0` zqr~5Y7z9d)FIa18%TWSl@e7hw>bT32ND2AoX#*iG;#vk=@Mfb3*dTtAw%QL@6)$43 z5t$hnglR%Jq26%HSL{Wkk)ip}1d2q(UqiNyhPJe>}#S*C)Q77Sjr zyGW-TBr6byK^&S8f@tIHkR?Md7G^=JDIW$KM{#A%^=-Ynr6xky=$z9Mv*NQEdBbd{ zIV_95<2`hI-*aHAdlPa1O^DWv_1Se0PE(~=vRjcx30{WXE(zD2x4q&vlAD6#{DWIQu<(weqG zevK++7X-R#j+rJfejI2DKZrBE_cB2tMsI?8{4l%-X-;E=Twn$^ldK1!-x}-)QxipL4TSfI^&&n zT(ZT7YCsv8PL*TOVMDgDI3hHT z;HyiNA&zvARc)AA?Lez(d!Vh1MB=EJMkDRi!ZiWZ`7tqXJ3_!@yVIXX#cJ_@Se?69 zhf?MtSAR(-W33?mSmeZw*}(RV`|GUSE{=;a9*ou~9u#y{I&?}N<2_>HdYgmr7>h+- zOxgL(vVJTc66Z0{vuxEf%MUpmCGcmOc%aGgmq4Vcr;xe4-OHGf>9-=4~4dv2!1A&nM^N3hB zV?RsPeaK?E-s;>He<4a31dG(D^p|1^2JLno_kZX$iBVC!+?jO|boZzjr+H)KCATmB zix>l>Z|l$g3X|w8Bfb)zG;k2%5WsXdz^TW0>9fEWTzbeL{A;mzy$#I`E;J$Y26CUTDiNpV6f>b95<9UQYc|5ePItp<;!!UgC^{4Hs}_ApFt zkw)1vvU}X2q8)iS3!XNGORe$ahOwU^;qw1B1~*TLpZOh*eaJoyy_aM8d5}}eX1Z}& ziGPFwWIx6k%icJXjXsP1l|hTgbJ1rz{WXI2llh%m?DS6I>n933wb=W+L+I+=4s2h462D z&}{r0l6Nn38sxQC%6x`0j1OP z;+K)qTWA%()b!VAhyQ+^+~81ua(wK$1RUwMHQ^)@SuEl5dufxKbgRtLo2V3Zi z#cIR`n;kzQ5LyMNbQ5{1pl$Ga+CQmS1OW0Ita7A4L{I!%asz1uYJ-zFy;pn@zEp6MW1jpxfX%272$ zr+eE80@Rnx<(pZVL*+;RMWNw_{>+Hknf@Zi?IU=TxGv_h;|C*RehHvn1+U!W7fOiV zqyCQ;GIL)R*NnH_ycw>^Cv0(Q;&B>-2F?n@>$N==rAq6M| zPKxz5Bc>mEAbm4I#Q!eG;m53K_hsM#mZL^BA8x`J5tA$dqOupy3*@H8=J3Qy!j&D9 z3cV7`wx2L)5YRfLyF6*q$$lj5X*jq8$j%)@9?r>tU&wph*%6IsDYnwny8|yh)qhBZJ8DGp_UYH3_%*z zZcKVpCzwKfO3A*Ciqb^{i}s8ba!gD@4Z!ubMlDg0?j+2laP>g&i+C@gOO*5twk-K7 zv6PXs5$s%mB?XEF(m7b(jpEMLjMUX~__3}eCL;G&B{%-KSTud5;!k>)dqtuL#U$iq zcB1fK5@eb+qZmr!HBRDbLzt0D<)9g&yW71;vvwZ zj^dOC&MjnknA6!JmE{&ZUs}D<8qE7>Rur$eGU#<%0}smL^opyMwt3d0z(YYC#z64R zv3*#S&|(ITOnA2L#ozv!80Qn9^|wE#zhIGxB5Pu&i*O>{c2j6m(WtY%|qTlDkijAtq;Ev z!&$(8v0a(7{uunFMywtmJbtEx%hlmGLY&=SiDliVCCE@d`y?_xm620RWD(|;7eQ5p zBT7s!v>uO3=5QhG0AReCHBV{dpCpoiBjxpVAH%*c4qL$g!32U#I!nMy zab#?nb@WtP=-g_|un=5^2b-rz&mYd<24BK-t8k#yCb0{o&!dKDk zI8qd6dcE5AWJHyN+R0C+lz0T7V-0VL6#r3veELZxUN(yE=_hYtll1e)&qSAhNZ@m5 zmN1e)b9*#n)f+#E4dp!Zm&xi3Rhd@@(ko-ZBT`KJs0XjLD_LMl8k*}HBrG#Pn9lhe>u%V{su*BH4j;TBX3w|sUu4I2AlQ1fr z07S5N^pDEse=ISJ)H3Tv8~gke6MOm{Sl~mNQFTcHCoK&mDzO=NVy5f=-( ztEmR-l(_bVmCDJ8ib=I%gEy>L%!DoVo~+e->s&R4RtVN529#Ltwq0HbkOb-jr=F%(Plp*3&u8b6{iC zf0*k?F^(@Tk{y^#E%s!PftETlFLJ3IEVaL=bqjm>T-yAT^9VQ)4oR5t5Dael8yZn< zWEPBtl^$j+qpa{m-9GrZmdTR+!-i2r!xeE$>oZ^(E^edclAuIW3E zM_*xCu3grd9R!DFn&8kRg0YnmTWLKc1&0^ng2Sidg2M}G9ih%PIOerbszDuD$V&dwjbx$M}e<_n`R$Quh@rs zb9Ti(dZ(RSN_-45*0XNyc1+G7zf}MF<7cKHKLh*y&aSSHL%xf+x;}{$8FF=rk6O}v zCJZ^Sqc&6;Q6Nzcd}U8F8Rm7u*Qw&^`MX$KWsM>|s5YxxpNcM)5(Bqk-JsX(sb16Rh{vHhnyN@%%EHVhpOu@PL{_^BNQjx z?~F^vb`A}s5prvdnuJno%)(V(cIG;D$K0zJrgpQ58N`e@C_HCP+Y)kw~b2jso$0~d{zD3g)9zJ<8BFTrDi zA6E%3Fu>veeQB>Wyu8Ar)Fbs*WW`>rYn}SIb8aFuPu##x2 z6nBa zsiHg#6zWyD#C5hPf28B5{X5Kv{K3vzzTto6&BAW7d&g3}8hoNVHEDkSJ>T5%eT3xS zLw2+5hoUDdd@)u^U9?ZlQYm~m-*BA$D+4E~0KI;Okd2}wPzKF#dEl>B0V`y|m~@Zl ztHImqt?}4Rj^S@l;+jG7j=+10K5Z~tL;X8-$Zy_4pF(wYxu#&+d|+UMIaut+D>pIU@{dEBthC*#4f@_N)K}B9dD?bUY zixO>Q8sn~+2?t|J)tW*2hTRRFO=sJdLwl!h|3nST-PVY_i+LgS>_ zhp&WN@3y!8HNW3PDtQEF{QEh-MG)FDw*l+5bHRXaw}l*2lerRFafT|?!~npbDT%yMnfI)yMvp{8SN3|22y%ZK8Obh z=^rE@{d|>Sl!n;+;-s9?;YuwQGFsc37)Aj5uLM}r3Kda+$+#F&=fUmTy;6%a7T_o` zVJMacxH;0OR2krZDyhnzHgqR^fJ0~*etZ(-X_qCBuenq|8TGt6!%o1D7DBXtm+tgw z$5osDvHxepR9Wow3BysjD^=Ka=7*xtv~+@EPe@1E4UXzw0BFnIhz_7wA@?v08eKww zKDDH;n4S|&GarrDbig;ZE`E+*=Od|KGvVh>OkS7%oF#~$99`m6e{D55)v=K|*^5## z{KIv4*g4l@P4Q0pJaTu$Q$L~6_juBM7B>uxZ|Kf=5)mS8o}3K0;eZ}YH7H?9e;;Cd!$9_VGtqQ#Auhr8g?omf zGmz99$3b1a;H`iR9g;nOxFzAg8BAZa6(41uUn5KcVkT#O;Uk z$XSww>?>$d16SSPcZqKvP@AN_p)`mFR8TDh9iI35xQ6`VJ7h!KmD;}}Fl;apFlU!p zfDis*5UD00Qm4>n%vtqOEG1=uR+~g@C`w2}^4)!LFA*^fA%)KyP-TYu*cCfk)Pp8* z$&b^uxL4>CdqVi5EnF$Z=6 z-E+HQ;)inFz1MB(oahs%&Is&7$f9|m_?GdYftBLy+>fiPRL#czi79n%>#`WQGl@+&C^sZeF(_~!dMms)RA}1HaSunIft|N6>_JI`nn0*AJ>00=a#M(oSy?=mEgWA!EgirsjJ$ zeCPtYdz5&9Z=qY{?Sf&*He$ZqK{Pxh3EKN)%SP)kBfZDopb)IxKb!<`GmFJlB3n^N z>;VnmSx8`8F$vag!up?u0#7kr$a$B6EJxS0ex0HieuB2pyvE6gnWs;MQY|8Y3^csF zdQsc17y$me(Ei{eaBKcCo8(LAyIXtIaf3%eClN4)A6t`8AZFX??1ZQm56s-S_g!sX z22p*Lzz+0~dL?4*v7jPw_>EV?2`wf8vZvs z(8y0E7?S-82hGSXo|P6-&S#gu*Fu6X;@B?axcLR5bZSJt6i6D^^l}!ED9VL-d#l@B z_na0UaJ`3lXoUyUi}ya&V4N_9H!j^`$D(2tdx!XA`#I7n+YwwwF>FJOTE7Dh```+7 zw!==nme{G_yS?odi)O}pnL4-u;9hr&ZMezZ3Qvph*DI)2V%vg7lS?FyU(u8>>#tC$YY!ktSp~+%J?TtQyhM!`8e|y2f4)yNx83akZlinc z3*5Hb;g0hzO*C+v8{{_M{e^myOoCd82%$a#hj7;!1Aq^YB{rdu4Rd|Z9+dcp_p=F6 z#Z}wVVRaw|qOIfqv}WTkL@N!28#4kP1-*1{~qmdfS)#qzONI^G6%(uL0rd4<@0He zn?d>Q5qZxj@By^VAZ8<9PHv=WV8Qxd5coqoAA1~uw#NR5N!0*&5484x55cc?Jp_h+ z@5?ZCP+Rty5!tXdmk`wVyjy>@=iR#D*NxXjK>RaUK#{u*_s1is2x2SCqs0a)f~cGR z6JQ5LY7e?7X6H8MO`Y5T%e>r9W<8c&Yeo)bL^fev8ke~|t~~Douc^RW1+l6SbiJR# z&pKzG;hHvjq?T!SZ9~U2lv9!8@BM5ZW~>e8#6?Ep&`ZSwa#{})!&xi&Y-pl zT(fnQuGNn&4thOgw!>K~zl*$h6Ri9xzc#1e3yLI+B3_re`Ef?}S2n3eFOTL<8>(fx zM6RD~!Kci_RLnOOeRnJk^s|h7*?ci{GKgLOb|xQRc@ekXH|yKQty&K?o~F#=&9ExG zV$?zjm%I})c!{fW5yyi{YDC4pCP$au9x9`tF2{G%v;TG|PVs$HoZ^R};uPOcZdifw z$0kZ=CxYF=<`hR6@97sN9TkH9C?jn}pjiA-+RudeA?100KO=seHZlzL-b8q_P|iU9 z6s0=GFLx}iASq;mij~{HQTHW-JS0kp|7oNq!?%+qKE92?(e7uFcHd3519DNje;hi; zaJX<}D^Ui5-eHnO9ZZZgl*o3X$Z1-ybY_oab0qxkYhYj2^ zuuc0gueG5I+EGlEZ;-Skf0HS$Y;Ub~TJrZ9$EFTSRP}%<8P|4EfxZe?3bxfDbaAlX zWF&u&3OXKt{(BrZ-4P(zG6e=^5MpbnitQQzKF@~i3J!e5bL*XU10ggMrWuv%r6#z{ zOUGoJfM=XK2Ai2ZO2%gLqoBccfV99cFZAhHO`3G)6&S?Z8)|H+b`O_lhuycXg3!Y)Z+ce1Wv_Vp-_^Z3D z?^UzBhxXj#FL&b$XrMv%@UT7+UP>XQ5%D9!#P-MVO6%NRg$~>!P-%7VT@!-pBAPYb=GT+Lg%p)zx#+_ha3j78&A^Wt&Y?82zA>(FpE7mc-r1H10l@1{hkH zi2>#*qhQ<^#37w%2@s%)waJjgS_+rxCS#}VO)r(l8`ae zy_wKJG!U{89*RS6s2@}iQIL6JxKEGB7tPm8_)~v3&5Ja1#u3U>qQ)GercKKW_*1tO zIGH8_e_=$fn)j>bk!>^P!)a+m;wBYVm;BIa+sbGZS4U*m&WMS*nUfXnQ0Hu9m{P(^ zva<}wT*BF#$*E`T?DpXJbWm*Ziww{2P zi6DO|!P`oFMCOLCi#EWnD+GOzhlQaZ`8zXYTToAJtm##BCV)THrJ?-=yEtqMF`cVJ zKR4Tp8r8i0no;Y$4YO&g^48NTE)*au?FXBGJ)LIF+R89%eK0FzZ+EAS+;;&5{N1Hm zH>W-*p({Qkf1#`TJqH7ueK-BVlJgAY!RJPlW1nUH_7K5tfjII1WNIS<|DlxP_cOl` zZe(AZNut)&M6H=Tx>_IA{4Fl2TXGROu}Ljy9I`m){l$f4nM3*Xt-$!KX%;{d!B}AT z-Z&`L_od6ltus6^T*(`(<3{-=Y#7^v5xKk){5c&^kqJ5yX*6*t8O0$b8$-qFf)Exz zWq3TVBr5C$>R+1nXAwM5_aH|_VJgH{WIta>?&k}7KVKNOpIQpKh})TBBuD1PSC}vm zRRS&*S9s^B;!UI_Smk+=fNEW$Bf}bjr4EKop%j9?3NQ(Bs{eu}FoD9ZcANT2j+2g7 z!41iEH_Wbt*p7hYBT0~aM1$lbBZaiof86JW3fC|dhnTq56_R3EL|z>SCo~BX@`R*& zvSv7igl<|v{X+TC5m50Y{gPugPs01yi2Oy22889+p#PE+?;S^DvZl@BQO+(tIuh3y z@hvVo;3PK>a+?t%0b%j6w?nD~DAft6N!7&oV^y0Y?Y5> zim)HthCS|)ObGxsEj;;!5!x$y=gBXjJg^@JpEyQ|5S~PfDOfFTqf*M6HjpIWx2c>N z6`iLrV(-f%@^^7`O3d7-L1y8MSa$BfsRE7YeRD*9E8dY_ZOYfYRD2qs^|wdlkK&)3 zEm*)!qZYcsFDuF<4~zKRE}QM=(&!`WcODlkqlXnHR1?;afN3-jD)gBUUr0MyT)vWN zJ!-A!eV~)|rFh##U`41cLya1K`RyFRM@U*I>Ld8olq2}n*b&t2aRk3kN09y}^Y336B`rX({b$hJz`?ON}pUe+O1pXsp^SKf6Paaie9kZ8RQf;K7xoZ&P{B$Hc4Q_=i zFmN>hTPD2x{OKnrFaz8!6}mi3{ETMzk0atANAf!|r~>=OnEC1&G}=e0VulkSx9{&P z#$5x&HdjB6KNtT@bNJV(+udpZ9xW!F!ZER3s6Q{x*ax8|)Yb*QE(0)0%P=^io z$XkJj36=;CAC$QGz0QQDy|9iJ#YvZ2!%E*swK)@kDzAl`yA2<(e!3Hsvmvm1rxuf; zs!HM2@r3-?kSV%|Y_{ofX?G;s4=Kr@-g+2u!|$9ij!G^a_@YM;&galbda>ad;5ylj zO{W$CN!ebgh$svSr#$FAk)u?yJ>|f>rSM)q8wAlJh|`>4gfgZwouOsKC-o~jkLHb^ z&gHCaCrAO;90_MR$_buvYOmkhsaN_e(VJ4QQM6?!ZkwkLq8Zy5drzjR25=va{;-{~ z89%;cxaTl>ojS(}Cx_GcUsBwmVQx3boHM4BK7lp zHU7MME78;8?9#?lGHLihnkzb>VA`s0)2>pG zWZylibcCz+7V2kyQ81?UB;7j1h8&bmpn`M}uzD6&^C19gi2nZpe8<$1B-lp4SLd4` z_W(SX@8d;`G_p#oopuHHqM$hHhu!Ln76lWysg=C@z&GA)#54u88*Qb>Vu=o3bfL3_>RG29G65F}#0t3mXiY%M%6J)6R<5ATge`TY@ z1|g&DDA#ak^sYp>6zcW~h&3VjX)XLKmL^jUsy_ozbiOQ-%hFnapFFM}<<*AzWb%@d zFbO{^cF(8LDD4)NMDJr{@NeRVu3e+jMqr@&Egb#EgiBH3<~lSTqeW3^aqH$PteasQ zM-a{R+jOhn{({od%shqWR=4F@XKlowfY{YPkn`mxt5`MTCeih>w-C|$rxE#;NEoGY z*&u%||9i)Az>Eu6xIoe9gQ!9U5@~c8Yqh z*`?ClI=CJemdAlPdJXQQ<`zYki9e+|(Ng2Qq}nCW3k`HsmQ>+DwnO+X7RYvp!jEvJ zq)M@_Y4ll51r_czlrOWg4BIHXBr5Jb1i4b_k098@_jA4$ZEE+4%~YUp7S^`CI2xHZ z;@V=KT099RwQe6a0wPn^uoKf8&` z*C+tkZIHbPcgNylNhMp!=Y%+nD!_&bx+fL)pR>OKw>2uc8h#Qq#qK?#@=4ohfoHaO zHy9oFnDg*A(npR&!R2tu<)gUKQaq;Qi(wZJxKY@1iFTk8kE)m_lBh&-7((;M(l;X( zGXbU$iJ8Etbg7Qe+j2t55{E|6Wat9O6UxL&-~q+6ljZ#>{4d}(6g0RZTi-C>rzooP zap>+~>5fO`$4%_15rX0rkTLVH5~qjbQ9>CP(n-M|tShpIzOkL06b(b4IWouXarl!i zItr)76dh)w-WLXq4Y!YY!6_oAp(iSedE$_mq5!~V-=MFDYnvARCv*2G)Y)s+J#j>c zCsJ3&-q})!=VpUIfD-Pcso%al*jhs|)I4a)lnz$YjMr_1-T&v2O5A4;D1tEPGw5$N z$}-dqu;D3{yJ36<$Su_qtaNK&5y=}A@)OH+D*DUxx&gd0ACkTPX(i_k>g$khb2!z@ zGq8^8hK@f16ndmL@i2|@r0x}d!U0`FwU=%s3V#jl7F3oxD&sm>vmiZTWVP%*VL9bb zl5gxDvaXE6h2W-lO5-w1IqyF-t9d8K9Epu-)~Tu_t?8Bht>+-lv<*WRm|^*874zop zCgjWz5t~yx3OO@z@->M=L=K!lxS2~QTl*4j7F2HD?3NBD;wyBLI9Z%p)cGRDhlRv9 zn?TZROi257p`j()d6d5;F|-emnRas2{8)nYVmi}}O9WW+QYch#How_IXxv8U%@-GI z?YfJ@0sP(f1k}w~*S4=o)A=Q&SW(TO9ebW#n6*wbGf!Dq8*C@9op{lR6aWIOo$K6p z1R#^TJ^^%oJ?tzqR%6`PpxGqQ#EUHH_VT>>9A+(KJR%yZC{udq&*&luek-!dufbfw zgUSiWmi-Q#pOtmjP3@p%I-onpk%sBm4-mQJ`k{!aU)rIywU>`e$I-Ei$gsF_e0@I z4`_;d#eDRvEvhkvfCEMnTyjs+OmvoS`00r{+nJ1vVI(=EmhJb1Gu*X@Uf3cz$7EEK z3a0PG_?A>Yg(&%E8@O zp7+*QDFgx)2BgF#eB+mz_uR%Z1&?BgQA1S_H4V_2KT<%4fa+bwHixwo>LWHb#Mcsb zpl8I>#3qlqZ3Os{lT>8YFxu4g-ms5i0=LPuy6rrL6#4dz)onD9+RPMZy`K<3I*nuny6wE2LN&qA`9{R1xhXL> zc>D|$+-3h0$3s#gd`8~wvZG}-V%~e|Myf^oMW~l?>jNO4T%I}}z+kb8e`j>54Jwuq znj7q9xUO?M;JVb5HaE(L?%vy3jo9u!grO1CS(K-?gSE+3eHgP#D(S3tCnaEPNnv zj+D3oPNd4_^I|)4c9Ta}pWKhA+_X7ENX+m5;8;(p#^`cdUy zCkdO%ohFOel{+00lk@M8m+J0Nt{q?`FWS`w8-o1r)#M;u<45s;QtpKejSh)0Q{bwkdv(gBu>jZ~jRo7mYQHD6~J=OGI4#J}rR_bs^MC2oCX= z6&yj&F29Vdz+z@Y6bKyK_v&QieZn6l$gSMqlGdpHIjGPrU{_BYRD?U;Cz`@ zs6{CIrHT79=vc<}r__dORxpT7r@>OS+FM3)Y-F9++;zS~{y)!3Gdj*}_)4+SyreR! z@o-Vo6;ZH~)MGLMJ1_@|M?#nv z*fW8Ntppl$4pD9ff2{%Q90eMfti!TNej=%5|0~JjMwG-v_*m%vF(Doqlk&-WaB^$_ zS{XNFdCs(rp-m2$?QNb@xxwNU zqBwoA;y)j|J+8yCSyJMaBzc+7a7#<3*cZ&kZ)rn}<}|Tvl&pEEPYU*Et#T23H_H#I z*X=NxB&F^EOwQ$L+s{EdeqBWrSC@?Hs*bWzltygyTY_!SQvsS@4hVVM{Pc{wu_fn@ft;Z=jW_Z}~ zP+SP)(CgQ>x=MUW$!{Ly@cvMt8DvEMLTwGu{j!o@I>^Ckl+d^%!Z8{LB7=UarDt_L?AtpE+Q>v?GPae^^Yi9=$Qp zR|qTdxdYyZ$Z(;VJT6MhwO-9z*+k$SE+7BqVfo#I#D~yep;=4{#QODW3nUh44)N^+ zhDT($&`h2Xh-IXiP^J7fh{ksh%kLjFKjws%TPHH0w+Fxz%%fN z3eBJ{CYB)3!()AQ;0{QeI&!cyIXqfu9&K@+4=V||&-P&FCGz;oBl2elPM$*}hUWAC zh)IOXq@+C#zF%fK@i#S{G@D8_>jLf&VSR5A)=tkm^6+qT}eJHm5#P$OSjhAs4Rmth+{; z4qIyo$8bS*dYv{Us3R4QIxSPp1o&SXh}O>2KcNX`RKxEZxgq8%8AKN}-11HPS;e@U zD{$tc2yC*K5%q{1){XD0Zgj|3U2AVUx*Hp#rej2_G-S10qA|^FpcJeC=aTnXM5Gfy zKj>~l5E>v#SgB1Kj^miQ3H4>ZDo>C!(?dv_Yot2|FWktd!!kD>%?EKjY*|1Hm-CPw#K zy0(>(bd`H0+j=C>KmrXkkU|P6q>w-hDI}0U3oWFOLJBFQkU#<{B#=M@Eu_#w3n?`4 z`+V2hd!KXv$bTlD*R;PDH=}#bKKswwYp?%nZ301j-QIga`th^Ro;$yEYWCS@*-lVI zku?gaY1MUm71ezdbEgnrq8Jp5Tqkx>Z%dR2Gb0+9X!CdGdg;B_Z~L`+;2oc`3G_lJ znk;e}W~I5lva`r}$wahnXz#4T{&`H$jS?u3P*b zzSDibk8zRz;q<2PH=4;tizAG*}grMA0pQ2ECKQ=bw0Ng zu{wo3(MgeA$?fh!&86P8i|jPDwar_khOaU!5~ywah`-iiJkYwnsJIQj*lKRBt#}l6 z2nSmGzh*T5=9XM&(|#8su($qswE3%w^dJr`j$q-03gfof%rhJIE-tS!BP!9dtxEL- zSOFhA>Q(TLL5ZG(*xe!!>-w6(_C$kH?<$+`(d&&O`=*A7{@I9(9=sVRy0O#MH0wm5 zxoxqS_H@Bj*rpXm@jNiLC! z6x<3|nvLbBt3N4`-)>+3d@cX*i|sperz#EcVbHjLpFFe?jTLl#p zsP1yRZgKKBMKB8=zj+;YQoNR% z6$r9zy#f%0^7fr=V4}2eCZ=QpPe@ca{HEX}-7c=R^0%fy^gCDa!t$Hl{grJ^qF0K^27&M+mHm>Y(8r zm2X2hj^)Mx4W!1_@+Lxo6oVNl20>vH;|tWI-2qJ~w?$@UpdjszT}Q#C0mD{y(4o{F ze#Z0K*vm)9^4iK@Q5<6mt!}!`{~Xp`Eiy@PSBGKZUo)L~e;}k%fu8KIOr)Kj&i=YK zHVDwZ=HodB#4Gof1f%Xp9_DmsL zgs3+1i@&)P`f?p@eGOTKq9t60RS$D86{asmEPFn044Xv5Ng6VmQSOFHp@y*<5&=cd zAqSjVqoUys@J{h~j?hrPM4JxzJ0iT-T5OxWtrRj#(Y7#&CbEPQSHBQOh%od%O^%nW9e|{IaAJzpD*k8o7^>^rs?TAVlfbQv|$Sl+1?oeb88={A3DUar_%wIaUc<$F`;e$MP zL84nBUqM}Hpz!FHyb`w376^cClIZL2;x3O%D>f22RGl zv1WcMXqP}^IJQs2ZdY1cj_ko~5MikW8(X`E`Zys!&>a7UOf~i@EHofT zk^S8ZFFX?uxAe67ZhMDZY0L|Ijvlu%`^UYS%%W~8gt>4ZadC5dWBo0z&=hfQGw~16 z!Fz&hsswGUW>}l!YJy1rv}zbVmHpD<%_I^}iy5xe$fV~oT{e3yH*1n3bTr~1$zhk^ zMoX?`#S|s6Ee^CC|5EqM@icam(gtm}eQ4$q=v0-W#f?qzkh0^wOs(`Xr|&P3Wkg1FLPHZXxRz74e2a?mijffRHRaAEpX zuD$0LAIw^tEncv0sduWsCeVd;8ZuePv`7qqii|>rH9-LBVmg`|PK1n2p0u`CilWHA zyhKm^6vs$^Bq;F=I@K<+Ph$+xS!#&tNb_7-+u|C+V0tU}8*!VK6#&lGDTYLRWlKh# zHarKJoVZI2P|mIz5stz@I2Qc%k0%5;uJ%w@Wp7M_RK%#sUda3+ zhYUAKFfha-KziyrG`+=kwmYxUX&hfBlg=(1MHhi4agdpJ($i53gxyLmM#1Q=ZG#av z*U*3rFK+A*pSHOT*WYe`s*WYKwKZ%iMwsddbvv!Y#hlaOoy~xno=3Vj6%O@$dM@wC zM#jHzC3fHHPVn;>6C@jSecoazHc8=gMq- zA1gCUhO)@tHIiUDBZ|OQ9R77jvsW1yf zj4Qb@IfL-+CN$k(YI`P?4|^FkiG)jOufP=}%137sNsWuK17$~QK47#Y{F<9 zdOF}Yn;OZmCbp`-PX;rr+EQV$Qeu^s>}y#$pxk@CdNiT4>zI`|ODi|IO7?J(@avw` zb(nOyfBa}ZzrF_hl=-sfth8^t)Y_PqRmlr}7{ydeRd_sddkryQrMTi4QDs@ido9AZw?qp-c zzv2H!zel3W_{T$;5w_S)j!dOOo6fQ=Y1!=g1Gd@&bC#dCT`?!lbegx9yY2NIoxktb z@-N6j%X}|~M|1HHsZIDNp!O)EvLn4q#@d63OPc`iizE4~sb%N#CO5I(_*P(ob`6aEdiGhQ zlIA-8Gimlk{S>xenXqtig`qa!m|esSiIXk~+52c?rt&r%k8FR3lg+M57Hty2&Mi-7 zuo_Nvxylc<=Y;5&d^GO;I9wouEt#ZYb@U`rkPO%E!01I5eXqUV#`aB|c@*-owIQs& z)tzuK)WJzWR?g<`LJIso^;H5WxOS2$Loyf6BUwU?4l$S8O~BGBVe~0%M~YJsEUCj% zuCvp+-RvMRY}Y$$l#I&0cTO^gacfC^;WYy^yWRH6npq4@e7Cum_)s7sZ0l}uyN?;m zN(bsM!v`?IO3H2JyVtPFV2$!ee}Whssxro$ughu*z90C4$XruYP@A`d8%?x4IIXV4 zuB|!x-M1IQtz^vCyr>a-frrfbu5C0pST9MzJ8zBn?jM&-8x#&3VnEHg4_F`IHW2$~ zK@ntO9^gRZ94DetY-_dnwJ2A^)zZs}L_p*qcTgMMe~rhc`)4||;qN|iU|$`@$yS>7 zSUzA-pPE8DcnTSgNy#UrNlA0|ld-a1N|Nl1lPT@Iz7>dn%TBRo8)1vt%t+VltWA~W zpUQpx71@S0Y2E#x!k~^wX-CQqi5*TPNW=(a{ZkPL^x33Og+m1F=e1;mNG7z4IwxGb z%w;;pU#(|HE>$!RD>mG@4fJk;#4@&Q?q1BRU%BE))+{Nhws)+33turZwpp#^{nISt zwus@A=4d*RuGFYct%6nC?VB6;%sac`K+0~d*l;w(!vz>_L|OOA+R)10dhR_i9o%%Ag?qG&z9ZlPT03Mz}2MlnV zs~3W0t9O!D^Rj>n`xZ4s>jl#1-U@BBdWncokkTp{DU1&$BV-A`D{Y?0U4=85N+d}N zs8wdsA9P4vC<&1Illo2sTSV<9Qmbo}Ju1%J5cAnoR_iiq%eo$pMe4KByrXJYsCrZj zpAOWA`gzbC*+-yHYT-4g2Ab3+esc-ZaYLdk^Df8Xk`^DQ$aF0VP!XH4n{(~CVaHReJ0XI-whOQgJeKJ25iIP!po^zArCdGEVl;IEhlhTi$gBx8A zH03DHhZFgvcCmZ(?-A9)-_QL^`S;r%9ZAoRJyHJs{L|&%Z$DE0{eNC4|2}@I{QHHA z`um`dHFLG{g|E%A~N9gx)emsIRKm!O~`<@)h_-75CQiG?| z;1O>iAnto+B;%hoIIIST)qvTl2SIk<(UFXQ*5G+HcwPD)e_q}r@O;ntbNUqjDOakr3NiE zc+?xLslmob#y@NDel>W%8vKkm*inPsk&J)V;Dc)LK{fbUZ}1^C_{d1cKWp$&HTb9+ zjC+HRslo4zWc;%RzpDnns|JsGgWpqw-yg~NXAM512A@%bpYsNPs0M#DlJUQz}dc?SIkz1>tyix_>#6e^>^U zsi^irE&JLYCLr@KHI2U-$@r&fOi~_T;&@QwaFVKIKv38Q^tPK5*YKY)6%#oriyNj8 zU0GYr-B#-xBl!m|nZ&$+Z7*a)_lb4c9Ac2dLd7O}4cA8C6)H%XQOQ&?v|?4MH*8FE zSE>3_Fh>>j1`^43N5RY;cXR!wgjBi>1{(f`VTVTO0NX`&B#)g%F&GI)AHkFKWh08{ zVGyn&tb~S{?00epEe5F;f$r&iiEjpl67fJ|bTH&N&hljwx3MlOBoglL%XBrp$mUKV zP9ZP82$Wl^jiNVr?CVGB((Sjj`K6H*R75P?+{RFS7OhVajb@)&#~8i6TO2%6S1eYs zdITG*+=qz1oo0REMH$s`0(Xn-Y&4YLZbx|`1cKIYLo;zwO*JlCVH52>^O~-Q-?rb4 z!xmD6-hx!IY&APk5Z;;ZY;xI?n^YUYVrODN^c+_2KZ@$qvTeD}7Gjf^NrT_7q9zqn z8k}#KeJwvOAq0B~7s$7{l5hYMk2iA+8!%Vg9=_mEjnI(63~@^7QW|vB34ALW^8H1> zp?q6God}o!BF;#13+JTBF8-vOKW*Z_aG}IwZHc^XhCi<2f}S$gmrIsg0E0C`J*It| zkj_gqO$+7C-LuA1sYt-CxRPI?Is=F9Jq`WlCbx1|DP`H=`Oap~8~=IOCz3o3t8Gw1 zN(*s|+)wu<=_~7406cs#O0ZRchsafCFAr}&miNU-{_VZce9>$*L~7ElPPU>advJZy z=S}qVP&&2m%*8yW%t%f~iIUAX%JOz31v8Afo9^ZT8Dm8`Gl$?6F zL8W63)+&c_F@z6e`@AJTFSbt)GqtE9MIGxK@GqQ_<|c%MvOj^a%+B@^p((S4CF+Zrb6HK73xzAYrS6M!~&WGIVYgoqyVpPP=W&bwfsw zRq2MlA&?Hu769xZrSD?=z18}XI&)l>_Rc1hchL<2dyyT@vA&e_y6LC~9Lg|opPTdn z?B$!UL%+HZz6Mv+Z~$N@yg6wv8i(g|n{E4ux$f8|*X_FU)yioa_7N|boxja?Sa_xL zuEJF6%~*Z=R34R(!PT246SN%w;UvzfRKUJCVNN|~%kI;~jP`=!FoMqouA`tF6g1n1 z2B%@?I%h%Vju&;T{qj*a7)HIwD2WImdi&bS^pjWs2_X%E+rC#TH?gZVD9%U-m&i); zNLbJb446-_iUp*#9V@bhz_6|u-4M&lK5-dXTY$q|;7}|K0Eeri*g=ATVEjOLxr>D_ z<`_J3{BVBB_yOl=w>*{sTFC|6NITzfwcc%`B9J9k35Ax#nc+^rEL`OR*~b#ARe}PM z+6OA2Q#OoY3z=8jr*HF#c%Q{eLXu#qPcXt8l?lr8S7fIHd|wF%X%hgG_|XSoKV7J` zeU$Xu=cg_o79xPXmvu&U*2-fNL5*}{zU_#Rj|O?*70-hpUa=iWd+5SK4!SF-}s1x(=GfH(df-0jBrD!HCVtECP6p&)=0i8VLZv= zm7p&YaHby1hc7<%gkR2;42~qMSv&Vr4~9PUJA&6<$G}*oJ6094l=!tU602I^zj(ko zPFiOdZ;f`Yguv9f!y~!7#rbAMqMMoFPRb9tvhA7bCIrvUo>@G*xKvkw7WBTXj)b|A z9EKMa0IxB`(8ZLoI=P5@9Ss7Q33pQvorFj2|Q!5i7T zBk}(%bF*AfHg^0}9yiE2PWe)&niCc!Y&-1s!`&1i)GC1=#$mZy>$_)j5Qm699s6F5 zKdQeX9uXxf1M*aochHOcLWQX3zn1$@FG4LBUIlL%sWHiiIBO}MPabp z+`I;iCkc@4aUE9N?)=S&-MEKzxSjp%!N<_FY3-8r-GD9uyNP{BUHnun_ZZ?Aj8zisx; z)@FO>#?6R3tY6YnOwoA2omvoOAev@p9awRQ__WGu2z(oDE1OBo_)umvdwXnqyN|9lLW%5&9>!^aEn{TQ<#S{Q38)3w7EdJ}nLG7`bz zHZYQO2!q-b9y1}uX%I`D8fZe@o0hpCQe(eLvD%~VQ)5e}#a0*;VWJAj^~1E*eumI^ zL9Nux+Z}fmasg?p^RnBF+8sPh#%RopNXSep#Awr}2itWEtE9k0sf@s4*&7)K1<7lz z?c0*p8}A7RSa z7Y}~tk~Ltvhq^erM2M~K2%n9_C97&NywpV$e?zQOI0Jht33w}2!J=aC5tl!sj2Dxf z&ImBcUK=d+zadcn$QFLAW`QrKkhU_{~nbfCM8cAu zolyh8YBHOR>4+>b2ZtVj^W@7R`9|byK39OqE)q1@UL=IVdMi^sUFW`A zFX2GItq5Jz>QIHTx+%DqUvMBSJa`g;gY5P1usN@r#Y`|ka4JH6u{|#qbV>AXL2xez5Yd_>-IGQgS#C7aTk_-Vb7Zfu1I?}DIISt!8NJJ}Y zea&n5oO%FXWSkRoXV@Yt#!76;<`cj&RN8)UC%0BCNWGYNeQkxBSIT9%yS4X;>F))c z6Yca89)ULEc!U#l+8Z{w79&8El=P>~gm_k5!82^;K>#yF2;Cu?9_ zEK4&wnbt=Oa-F_hkFF>bDeWC7$JXxomB{ruqT5ISa>NPB3P@!kg&W`rSVpcKNA|k; zB;BoLl0REejxXN?rukR3A%RJ&F*r&n_3@lN|8cJMrC-c)t0H}xN z0Kn`Zn*4nNnonAC!uhT0<%r5uu;yt3_iTO!t-sQ{`Tl+|l82J=bnmg5)~xJxuV!;* z%qI2?Vt132=D#1w7t%!Gz|z{8qutq#%uDSWRcQZ*zE;E~ufHq%rG?L3*-C|JRJux+ zi3ae95R#h_O5S(tMfObotOeFo79&uFR4t%qwhhEE@p`>Mr)-H4ICnzvi6AagSLK2q ztgG}LF%g>8Ac*6%ns+KDBIUd}Qi~u;<|rp6byPf}sJ{aJ`y?3cTBgUs%c|x!aS`v< zrt6#K=xIW3Ou66D(`RpJ^w+fZK7D{F%J73!kt z?onpxM(e`JW|Ac=Kv}rje8oSv>jbvHUNj@dl$aO+6S2i3Dwt>4gwENDR+ALUG(Fi) zAXOWLt*h7?aIfQ;Vkh_)BkzrJ>})Z9q{319C6$3Vx=_ER(x+24gaJz-k-6h5;c_Nd z2$JY1i=kGfj-3ET6L&$yhI6WUR}PTS+}%@^@k}HRT5=rIbrF`aV@DD0&p6^sL}s*Q zE0Qqf0GEZz+%ibxy}&Ow%eiSW?O0)ZL$waha)_|&SE+yb=6v#F_8I1x2Ld`9Y#=U0qxn%f$v#sNsHd@e+Qfv&w^IZFIoPG6Xi8NWFAb*L# z3o&hbg@@m5#}*!fd|_`AaG(fUqC293QHC48+liMLs8<$-Qwu<5$p z$HXk(E+n6;gY#Kk1N~GAhuJ`t?mZ=RJ-IqHRW{Z`=(=PeazG$yD6g~GQ$`um!b0^q z$(&jrJiXj5=pJ7nsMHqq$ z1c;1Bnj9*4J!$4P&#LNmQn5A-Q{$zLyc{*u@H|3I#6J0_8Oyji83rE zapK}?7<_H>Tx4`Fia&<2*EZAG{+g7 zq<4kNfIvk4FPO1N4rpP(PxGZhpfTy7!$AC`LfbJj)_AkEzJ&^)k*n?8+ab#71WO4W zY&}4UbqUaiB%&jnSdMx3lM*6VWv*qm5RvY63!McYs_Ij5(^x9^?rp8_D#Z?t6vY?r z`%YBU6~}%uHaUJOng3E#;hU`=FqIkmQBWzn4_?beot-q-o6WrJ$^>C|{h3cu9_l!~ zdQXi?a2c(z42B5f^;jK_3y+PQX;X{SVBf%!<@Wlld1553Wlv5#lV6TXP+UU@NPJ-S zskBbtYACACKI8-@Lw4D%we{AG-klMiq0ecKy`r;Yb`RT#IU)O`0*vh(&$938vx)5c_lVwCs0Nbw`K=mvWlrYf4BOsf zy5pcjEt||$z&V?A{WK%N z`=^odwCe#GX{ujKQ7&0jaN`*2a+$h#r$*a!}{cSpI!CJ2> z$WvXytX-an0$>y@pfwaY*~M@BR6Z~EEa@*AO+<+pAM=y6T2C#fu@0Ps>ENI+@v0Q6 ziZ9z4Rj{_I=L$g;1xCSF{C|Cu}~@l#dP37*^D-6HCJU3mbAQTEymiWGklMc(OJWc9_|68+)jjuZ?N z2vVGk#rv;fe6%{v)oEDDL*GOwVT76H6QOs60mX~P&Y|k1%?Ec~ug~|LG8h>?NChmn zUHHpt$Uk{NG(ok#JEAz6JWRImFA(O|=KByTLY>OV_EwX$;pxkca6(${8qN<==0>-U zel`F4T(}ohR>(suO3I&M1ihosih~#sLg+e9Q% zK9VJ)fsNfdb}Y$o5-smhxAVt)c5}Q0!+rFVkB+~pgw?pJa<%tSJal9e(U`d%@!Z|=V}pR1rtM)rB8%i z^Wd00Yi9rGCo7pv4g>Np=QI>Qej_Eb-#h^4hf)FU|2zQB9)lCZ=Ta(5GUx=`O{%3M zEO6)Rf1KLcGw8S!*WAWXr3&i@R$J@MU8?W)9tOSJ zGw;mL(J|)*O;!R)jBrT=#-vLVXIk}NyEK1p;le!9mbxbf_C^yIqN$<%@SX_*9hvfiXT}PY)is*p$T)97ZsI`yo%I$Tjr5;`9gy7dh-TJ zD>n`Yi_ArVK{C5Mu96Hx1hY9;S8lec6ev?1g9jiuMB?Uo!g_B>6AS`Z@^Z^jv5i(WBp29lOv|(mU|jAqCWHr}LTGxqJeB zeUj;+&`jqCF1NN-IDMwdw;mhKPoJvXMKO1Jx_*vC{m1qgYo^+GEDn>89VD+x8&9!{ z(foxx%#2DZ)xPJWP_c;VEj0;W`pDBilNw2rX(}{=>12m!Wo9ev2G5M<^A9?Le|xtv zsB`f6=-7#PD3-(gdKNsca`a!Vy_`QWN)eSON2yCcW5rPd0gP8hDZm>&cYF7%UaS6q zxqzP@%_pZ`o~~b}@Ho4I;lXy4n9UCpwmDGpK_dtwx* zJTqh^!{K=Njll89ARH@?vcp40FVW}0A$i0Wc32BLIy#PK0UO$;U@sZaJDuICfE%l^ zA2v%_?Ut+(!(Po&Pgavnp0BLk`%u#@ zF59BXI;~iPO)*K(!VA^bO)m`9uZM?BqPb2>ovBPCz-g}6xJV)V34tOv;n;=nGlWl0 z{^*i@A-{pWfr;5to#A-I9P^A7rlL$7)>CAkJ*!|u5oS1AkkTyRMOwV~o#H2ZO$TAh zCpaxsW^3K|ocA4kEl0c7H)+<*b@oMZTVgZV%!o|$2q|9_3y2d3wRCw9%Y^NU(NwVG zv)U;=+jH4*Z;I@5cUyOu-X06D6Rv1QI}QZg4JCU2Eq{Z^`$+vyFZkw}b`$^#G^~H) zz~Ly#%t!SC3Q%CS@m1n;KO3BbjmtvvFl!(dk|`UPJvFW&HceVUuna}FNyGgNjbdJ% zh96$?Id~v|w8WiIiCe*QDI_YM@wgj}%62r0zoWzI1MgKerIn7WqZtJ!9Z~IE97M$o z&Y9=^CEkd!bykn4zOp1COpGEOILh^jqX<~TSzK+AuoGiajER%oBHydw3il@^N>Xst z0rN)K=`dk*yGmh9-)U?wC?%Qbeme28_ug76h9F+`%LJu?zw~>{!T6bfUH1sOERmS^s2iM zZ}|~6S|@3NcsTidF0oNEm&j)bl%NxNK8)Zpb(a-c^@uMXzh9V>(!eH5p%i_wp-__-l{>h28=%1_)5?5O;uewy$xA(pX;p{m#*Rm0QL9g^J3(Sg}3hVDCnS^&*yQD>_%|yTX(q z&XMi>ScSG<<;{xs@SX}U#et5~KP2nzo>)$`F8 z@L`qhH_2Eb-cg3X?N)(lQZ#Fu#;13I2QulL?%%jpcX2eopc*jV(8~I2Q(=~;M#rLF-`fqgfNC7U zB6{z>v!mJBAv5gnR(6Eyw--kz1~%tlxNB}2xn?>1-D^Ifjw>esc578l=WEQr$Xvk;DfzY4K`&Kp;$US(-iXnZ zEJ9ykf2D)KnI?$XDTt0F1B|~AT`FN%r9?xHiE{4^ z_N~ZSX+b`38Dz_^t%RD|uqL_hy-``d`b5J@1|u(9F>``Ozq#1gK@u&z=-IS@;%b0J zosdt-1!{9t!{-cf85+R@%kArwHlkMiO^DN;+nLwDepX7i%?_ZpI)p61sZ*Q*Qn+;| ziqr_bF+qisJ*cQ>R8>B z*bvQ#wT2RAsO1$40&;KMnj)KdOI?u%M6nY4`YP-+nKnvX{Y@TgIM-+OT)!|QYvP*0 z_h^u;7lv9X{lI1<>i}j0DnCfybqMKXU2HAS29;IR&0zH`Up{NaRPEC+U^pL;&k$bi^RQs0 zp77VNBD4%iI7BuIKnXgluFi0xU3~r7x*aUX8OI+Ayt6Fh=3Lkc`EKaeJBu0Cs#>d| zdMCG+YF)j!dfX=+Z<5-Z5}okGL!=)L1e?+AFA@95Rx|gig`S#RZ}fkW(j^9d%wQC&g;-5HiDc+Pm~s{AjN?Ha_MMugv6t zh6%|`609pa1KH!b3FbYEEtkqn;z9$gH1~2vX0PGV>HeKOJez&oXI3`W@zUqywJPjg zhqCx#f1|zz35tdYK&Z0xboieNxf`ra>)URtq7Onse-5;u>bU3!Mq^pO@uXf%6-MoV zh&S~XSxpDZR%P3?-EkX?g?_8PUjL{hKP)j2rGFs!Y}ukpj8cw=xHX>)$JD3@MSr=v zcuj@V)IDFE>3Ep6AdMEos4&3@u0qCq~#7ELNJ#({&1`US*|dKKz%m2o-YuX)GAXx6}ZelGFn0|2a6PazZd=*W;6og zxRFY=xSLjOSAHN8DkLI6Gvlm9ChCiR=mmFy{a#1K_eQxr7jw6yBGeN@$%d%nFI>fB zS<>E+Vfy!mAU|>HxI0P=vMlrvP^(Cb_c900jo%hpp35QCYkx9swfF9hoVk*}686cE}htcX#5O&#*pw{|qa;)5|e9l7XgD zAcMQjzT&Ul>2882r_WRYC)tsGa6^$1&u($}z8PSM&(?Wvs=NzEHX+A$>j?II%BD~p z>XQR28On{ae;md*!lVP|1;0S^VO%G1j(i_zPK7LZa5eO*M1=>hX_+(l^}}2H>)AH8=rAmZD(|0`=pJANFal3 zsh8L;6xsA!>htl!0z7aeAje5HuyWa~SgM6-@jpgk5t|geZV=ECgB)VtB@aM6#YahY zgCm)Xg1Bm$pVZY57M8V0$$Nyb_|up+nr{rtCu1#@_A%b$34x6O8=Id{A_@I|3Slcm zskLqZVo?a~Q)QMWdXU!)@#P;aO+nDTvoQ!Pet?)|8wIj)T!jzS3L4?amzf*3*`=hx zJ}ZH+5%(+3mSjoGtG5Cm#DlG?-jO>Bpbp@69KMw9Ak(^I*xs5TtJyA=aPrb4@jFdB z;7CzdWopC$M;UI-aJXw23xUT9$z6o_$yU0>zcJZ}LUFS3w>~iWGzEKUwTuK&!;QAG z3;Rfig922jRN*QJ?LgWvKNY@}j!IEKv{et&WrCOZHPcZUFmTN7JEC?JdQ-9@Z^NCg z{MQo%Tve)ArMaxO#_+~JThH@Q6T_E~>R$xJiu1pcpIyC+s zjfVoK{N&dRcH}~zOc|_<;#IP-5o%REI{RY>w=D5{`1bo9i*E=)jRHCsa9qWNfrSS` zyM&DasFKM(8yHYa#qq<5_Deu+O{dg{g z1MA+>up6nYTrix!k+O29n<^_Ot8_>4{qk=Phj9M^!njq&_zM1+NLzyuk^Qm<@I2fDu~j+DF`4jbre>n7^&S)~U*> zSQ(VqFQ0+FWM$R8V#le)z(egFdTGaPPA)(NX+`Tdp@N*hdINFG#5nRpQ(wyno9iK* zqfuPUk2%JKe#^n}>e!bk$HUQwaY+2qZ*A?Nk$vUd8&$bFrcgucCOIq&HR4^OV_DR6S@QARlXo_(IE#N z1qZA>9@at;1h;9Fc|nZJVXoLwi|pe|3||&MiQA#&Td5F%Z1!;-v7m41fw^_SGPBHT z{-NHmc?Bhin!U+H($Zs5oYGOcOw%Z{Y7l)Ltxf_!)L8;ii*!9~a6DR(fPI03oJi7;q^hHCB~cDwV;b?txB8bZRmo&1PRdQWp@@cSe=;XnB_Qhvbo^zTnLJcyHwJrLNGh};d$6q;oQfMKEd@$=V)zgZSQ8E zGee`Hj|0tcHcmaA6Lnaehz7&E0rrXUrD!#K5YUR|4hRS_>kNVzmahm=i`MkXqI)l; zNmcI;9BLGtmY^7-llS&t1*a^QnipMXcO?IBV+gTOX6v`7~(aeuC@m?3c#BDb+)GfayZj zYiNaBCa!0>a009>FHKeVcX9wJ+|E9I5;{=Tek$@u&s1KuTe_FA8dKiq+FFOCM={P} zjP93b9?R+0g$-k)h+*WSL%Q{KU0+8zGO{QL{Hl2ACM^djyUy+-fHz(#K)qDkj z=_Fy30aj7XslcV|B+5ls5k@dUsWw(*LqRffpim`CC+kxl}uB0s&ZmV6gJbF3T1J$ixnzQANFF;5E07Mp4Xd070;tJU|dr`fL!%ShV0| zA`0fQ-aZA2Go=xMGRqp-Bs0;9MBs01#%PLdde4b_LY z4h^AAOfd?JR5EG!Qe-~@0aLEzUKp-9xwM(+UN|BTGnnP--oY#ftWL-wj+FI=&PFheX_4+^Xx*a@Bx73mcl831%Y{s8)wk z4Yj0b}HU`z;(LCJ&B6LSXkJ4C*W7|;V1cn4A6JHizs&xAstxnr|^sYifH{^4Q zC~eX%{B<5dzLxuZ zv6cN>uG{Kteu~FB08>;uSdLqfA@^Zz2F`|k&v%VCABaD!E>qxTYhIFvzTA^?Iw=9h zr@bCcpe=$$NkOL4yC1F%U{KT!d}^MXv`Z+!h3*9dC2Xb1{zOOm+8T}>&_61{Zx{;W z*LHTt9~2Erk16g?^G!yN=}7%*{^Aay!>Zgq930aKF>vLC}wL>6;yTJ1Za|95?e5-)4`U+ zC8E03sMe4;>C6r}Gg&jb#ryYSf-Y`MR~X#bp+K3aJdi~xBcG)5z`=l+WS*oZP;e7^ zD*{PAAs+IDd_qhm%ioK+aGA=gvSVSvls!H0aBq<9lr@~VYCu(3208PAYhrq^WRbt_ z?r8o2r5fBdMepEZXF`zN2r)K-}zFf{P(?0d7TLm`T+b^KqXe`i7M+bV(+1T8k zCE3?wB$sU@$QnUB`_EWG$9m07xbNE zAOussZw%DQ!@6>Q>SWA}JsFjOUI3vW7;FO+Qq5hH>z&+?DfBuPHk<&!b7ifwva=!B z5oia*tLm3l9__ zk9{YcKLcV+WsdHdZiEh;x z;jZLmV$~q3ZzS#ckextolcS!;{quu;$9{NseqcbwWVfN3qrl6rzA=p1D4x!jfG< zRk~C*3dzGP(`ga5zH4z?bRwm}86znbIjm8}qW_EQl$`QE1lO64Y|@gV4}rl>D?T`y zFR4rb%B|UbPH?L5eRZ+;+Hy7ODO5;!|U*Fgl zi-m&SZmU*v;-dd~kH*;t6UfYv^iwa6P3!nRjN%d_lV6FaV6QXaH65(biG^4c*%1gb z*q%;IG6R?hE4CI5^+CAMk@DF5!2%M0s$&vQ5`6MrB_tmF1U^jT@vhROf2WpxaCEG< zQ1gsapp&c=BMsI1T`aF<9~#ZKdj)lGITs29sNUTPDV>%K9tc@2`v~O+WU%+Af$m|u zGdh$#mmPX_Wy5J-E&C`L?7_-EeL_kRB@@6*i za(ivHmi^9X{&?PPtzVy=RcYX@wdI@GMp~Pgfn5br&?L$^6)0ns>e<=eCbP5ZiY#$f zKYlE%erHRULnh*R=u-2x4_zxY+B~C(z7PVSOe!ZFy}I`{gFM`3!2JOq8J$>9wUj$v zA_hBjgxRF8FzB+sVmJg}@64@CQ z??MjY!#dUs?sMu=5OMG|zJZU89=Om`)*BFRY_vD0Zpd)EDW&P4&$b)Q<-NOaAM(l5{ZTX{p+03s|EUMF7_ur3XGxJ_O)PL8qsWWuZ z@?Rs_30s{RX}bPwG&}y%PHP=^!0X}3{%rc>dUI_f{2a^9oVtU#h8rnYE;Ny7{kumq zYP_}9HZVT;gP+Nczj9OemE*+nCqJ86p>D@=e>9$*;hIFEbT(IaHrzn1BlTEzqI~>r zoGv{3xor9}@n7ppYup&w$$maN^y1o$@M9vIv3FKTjF*pR$Ifzp^3Fzl@C(@#t>dp> z%oftrTC3q0AIQ#>(Dd@;gc)W}WCz3J?3c2Ivc;)8%woHn{c`o;S+e_(%d<&Co-jPT{QkwZZ02IV zSl)!4$O+ubW_QHLl9FhGoZoCf{W-Kk^aro9Mc6>H6seUI-#4NSao?0OykU5q>KcQM zDr$Q5DbG1YX?0V8>)Nuwpca~H4PA6rndg10@N2_@t_g7qH=L!c)wG}x3RQ5ity#({ zhO%JG2}%_gDE%q)N=b$=@qx;638JXLD6=%{7h#{w&rkgZi3iDs^c&HJRMx7I3}En= ztci_@w3Kw6X%G$y^ncfS59Ei^ZBNPAao?yjM+)Y(*0Pe(EtufTZ+&6 z>-Ri}qL5GFCl9h#r7G8_uH=_mHy~v41ct(U9^jZD7~pPx^kBb_K?!`fwt@k1!_)Yq z9Rua{N8TCG$8N9dx+&5vpR_d=H(=@sHi$X>eb^y2nq5q zz*q~=gQBhDG&{flSC_3FGo4BY3F35ZLv3xotQk+*_i{|BO_vQ9NhY%~gd2YVL7G>$4@j-ETW z*SeUpv2X=LvK)MoUYpTfL{(D=j}tF5bzV0$X>KU~w#%{sMzo#&4oD=l>Zw(kEbsM( z$$qfVQ+D^X>b{wox}ODH03FXyU4{u5BVe?{jeSYM zxcJeL`r=#9&(@EEAJl5pMjd9AJGM7RInfHc4Udb;mU*4mVkS&dZj)l2R9V0qfD_bt zmoExc?!D|W^0Q$sx^+tjr?oL1D)e?$0>Vly+!gvMVO3Z9DpJTxT}y6QU%TECu`woC z;ZZC%9i;lRF=9CKnG^lT``<;#I3%30+U-Q)yl3b5JL+$H?rJt%qS(h}qd%1r#ec~N zmYf<{%YVrTvWhq1FA!c8t^0o{Bfw&e_}GyOvRpq;4pMhydF92|1JcqS0z*YiC_QsY zI_PJGhnyAuC+2_u@wnDcHD{Vb@K%Q98W3QNc30D*y zRW2~!xFt~WR^~G!Ck=&d&61iHG>}Y+HkkCIIKcSM+n&oFsS&#sa=ppVslY<*(QVPE zbdu>=1q^OP5OqC=P91NxZ()w^>$g_>O10k$=U)!D$=#*LSL0MEA-=k-2*<&GM{1v_ z_N$hb16$5iF1c=TL4D~@DQ)zoLdj&+>Gt@L-ZWbK+L9rcfe6%uxJiYcJ%n*RpXvHO6wK zgcR)Qv!oWDHqGLT74X>g z@x-<%bJDkCGncW1LaY`g24p{1885UC2w^}iml%rMTa2PEBeKH~zUUTzto5bwxK$lU zijrv{W!3~@*Ef~^2PdI@J?RVp9Pz5U(5WQV-=4`lPDwWna>a=N-&|7Xn<*qmAIQK>NpzJT!J{5=U z_Z`?*CXwkYKWNJHB0#67!{ys+tJ{RpS18_r+Hc2R{R<>&rVu+rVCIW3I|5)^tLciT z-q}4-@{Drf6(m;lEGJ1A?6(Xd?Au{-GDope)_tpUeVOe0opoT}lu*+<#xK=gOPE{^ z5?ZQje3a2Xcu5_;eCegL)*YqwqkqhglKf3%`eG)8Rc;nHyW#NeY*~VW<$Qv0M0E5( z>z8XsGz0fP#lz(Jrxp(^hYAV^yRE=BmgxPJo*e5~wbWFJ#~Hq8M$fPVd~>qa8XVPe zz&Iyse&cg6%C9*{GP1?vGwUi@V_+UnmKZ3|DNq)W`&T3&*jL7LOJW!nwr7|BeHcLF zq5x)qU+g>q8UKL+*&LLmVDss|eT?IREl!N12-LHy2WumP@GTK6bfQgH$ag76=`T?d z6}yIOb? z9XWI?=ClT;74OxOZCv;1mz5$k>SUQH{6A_J%aI2PJ9-&PgQ_awg~AXa_|zz~W+7oO z&I)N^lL`6Ru?cWP!`jvwxWDHd{^wZpKIV}688!_k*P6&)6Ecjp356-Ts2eIZ_UuNz z_Eb5ac%I8$Njr}T-EK72nGTy0`c7xrl#YQ>?UW9lq^GNU5y$O4(P?bPytb>-V)rqL zPbFl~iB4>sxH~1)k{I9#C zN&I-|T!!wAP3Dt5lZiXR67NEJZZ&TF1-AbnJweDR60T4Q*4vG!q?YSX_qRnT*?lk zkP=60Imq2Rz+f&~Yk0q#yvj3rMeApsY*@$TdIRqWm(R2Pc5{4SA@%<0#S73mCw@IH zVJ#om`a@Z_sJ}?ej)oHx2_xa`7qS2M#FYw;#(I4wL|)@IE4x^dELd_IM6?ByXi@Q? z4OtSZ7@NxeF2!~pZc2O)6&H$3ikl~L4TG)QCHP;;BnZ}WQcM0uq~=^k#~I#w3N|C2 z?zCL~^pr-a7+u9vpU$ohLFwf?&b>V8IF-U(i?$re}-u5dA)tnUtX|x*^%0(FUQJ6 zdW&)j+{xGURz?;4R+!?9cHA+r-7!WH`~E|&#_`aLb|>^()V9>GFe!dg?dxF%w|{1I z{7ed{=A4l7N+Nl;ev8Dn8{p5dWm6{Pj3`+W10{ZJ-wY<5Tp{XW-pjI$fd{*~s4l$B z{%~|+*mz^Nj?KlT2I%wyh0yXpVjGl)+ygFx>HkO(`kx=oK7ZexAM5EN%MTtu+q^>o zv36(o0-`w4^KmuV9MRV+ub*k(koZlj^lD#r++Ljn@o%-NZyw1m5Ck3RQ|h^vh3n&M z+3^dvuG3^o&Kn5%SoTGh*8A+;82PjK#fW{ONvALV#J{LK>-l1o;O1s`gBa}>ch+C` zrDgjw1{%8IY{0Pb^Raqd34!Ma&mfUPRb?{%le_lQKdXF<%yv6h3Z0)1x}o~{v%8y~ zC%ZQZmt7sOIcE>^5d8Vw=Wxg@y0U}3xzqTIyHDe|C{h>EQjwmUJ@?~TIi1=8o~n+{ zgsirINl2{7iAg=(#qiMrZxk5IHHv5*9G%)xIIQAX#V2e4#3>&@8NVLy1HOw;VzV%)0Pz$1bB~}~a8n&5flw%R z0t(KBl7N)Imt_xab-oC9qn9lED-o=}9?kxGPl7cm`(tZ$u5S@z2Z`NXZ#P%-Z;Vb~ zqC9Q+GgCo8fBB73>NWYFSw5GHLZA-z!tcUwUZ#L9NYd`O1+j9o>Gwrq<694zBd$Kn zzOm9VHn+BYtF?EY4W7>PAxv4~ z3XK=aWw5JjFxvY9_do2pg4I1I=W7|`&dpXAGt?Gn^ZuM#`Eg|n>9H+i8Xpy_)Dh_Z z6L*xRc0PbT&$55ob0R}OsMXGK$LnN1*K6PE{tL)_#Y~82-5l1<@-sKdI{Ck{5>bRd zJpEVD`gD3+X^U7|6~N_h8`+<~8r%lqBmnZ0ya4RFE7-kaAItN)sHiAvmahi_iPRGf zbZP7;NgOw0#cjv~vU2D3iM)0$%l-v8giuL@VPf7bA-OvppK)ZSUQ|u2)+)%rJ*fGy z+GU-t&rsz`=s_8)>|Yzc&&yCT2m@>sHzTlD!!qxaiLK z0!Y+pEo-wL2!fAbV?W227niI z1@%H*RPd=b{-X=JlG?g<1WC7`m}yo^wIb|+P*Ex^lyk9;i+_GanKi0S;odsJi>-1_ zn~*7?9`H2dPpn@OFI$!|=w|CU7O?F#2nO!dqA1o?kq{dZMy1t$&R$ExFsQrN2^cx{ zX=)O>$I z^<7KZ>9-kvPsYNXO>_Tf(}Ll9)$aqap|GqfcZu{S@`&68pnSQDc}gd;VC~A}_##X! zULPFJm+sWi{bJE2Rjwy~(#&lm<9RgGncvf@@F#QI)@Opg$kb(y_iCHkAS&^2k$CJq zBq{3BO>%s?XLDa4U)iv`t#B`kLRZ;+TdUm^Os5;VExIfQWk_LPS;7*P!2t!AW^`LQ zeOof6?uD%2C7|?pyHI^jvx|$;q;FBeAU)vLt=Fk*_EI2!>$<72)8axFWvXk93}Wj; zYNE{T4t2Q)QLd3((Pq2mt4@>f1y7-2L7Qt^x?=`p(B7HCooZ|VlMRfhEQ(vxJdKSF zv84%UPGe-_)q!+9-@zPGhy6B+N3BrRjrI`>%JD=gik97^fT7L4ANT6lxzJC!)C?c2 z@&z>)_FQ2tzfc|%C$$RC|7e~RNfvh!3T!NO^uROuCG2eBBKPu3-~N==79q5D-D^7a zV;hs3@$<)D{KN9?Rt$)RZE>`H$BrUNLJ$+P8Y8ptOagxo| z`5a`>Rf9S+5HkEN#@iC0^n6{{8mmiy42nWEs+(b_{4D z+<8z9!J`L=QQU4%Stcyx%U*sY2fT-3cR(%dW z*Co^Anl7^ybp}yYk@5yfhB#IdJ-L{h9Kc57*x`kXD$e7>8&5HmHPDed?zPJ{!D$v{ zjh&8!oKJfP2s|!Hnk})s86)D~>O;klcitWR6H?9x;9h^#barixN0~5l`SUUCR8`(s zPbOc&3_x~2Y+%FuBYsz9GytsjybY!ai&cnbtEsabUP&{YpcHM9B2hv;fwViuXOj>a zLP1Qn3lGC=r}ahfLm{$|ywo$1c*CY{;qyvNMATA7@wV8Lc#p*y={f-O=f=HsNThHK z71r(Tx4OXIzJ-zi$RZ=7m*1X+p>!qt5`lFw#}|1~v;T}+ZBN1_gSa?tQ(ajH zH)F5?x0?jOQ0@IQm=#WQ0!})pFyZXO%baj=XOjqJ_$w4eedvr614m?*H<#p>YI?@% z0hNo6eGT&AGs91oknTez&%?G!BFTQ)7R+c~*M-`m;=*1ig1^h{uvxGjC!9v=_U}y# z&>EuZ9Sp%R@krKV6h(OO$iXMUJotF3<&3|1?ZyoxRfDc|4$0H%p@#yvMT|u$qYMjt zI(LN#MAxiu!DapCIu>DqYbtpWG6*7eA)ug5Srdk!gkPSk^r$Gg&!lG}6}308_;7?* zN-EBUf9I|8SIXK{xve7mQ0|OFtBFBJhVa4G7q{2l=?zhlM(P3*a*Lb#s17R^(e@@s z!xeElv(#}3I`8!@p)CgLu1C!YXUU8XsKYg^79U=l{DYUo;!u*Tt%Fr7 zM{>*Sj0I2PaoRI>k4RyGQ0L!e_O)P6E|*dTN#j@4t@AQEE9O0xv6Mr%z_ zry;K9!NAiP0v<#ELHLYJes&0atZ^JXO}fY)y$gVbfAgk6NW=XE5OTU@*@``Jp130d z%!g91{Frto28Bi>8>O(moo+CJ^hemrT}iPOt_e)Tzi_28P&PxB7{K{t9@NB=y0N)n z6KX_2rn^zehOc~sVA-fCjuihvF1gOFA5tJJ8( zVzchzaWmI491YaKZ7hxI^ay=NXs}1s$?+H&h7wSanLat@k}Qljf$rKSrm-l=Fi0uJ zsLY&Y#)y8wp6u#FWfTS^jPsYIeyhEHi;w%5D<65~L7zM;{H%>zw{fTIt>Q)@h*^!CG!$SYsG&mBoCpQ+B7TvD>xiDR(i#_buQFcU0AYP0&UBl+~pauHbw15r|EA9MwSbHt5# z4<-Mep1ADdgHB^OJjSMA^}+AOR?p1efHHKqZN+kjUfDnK-sBFAMNs|V&gsl{;d`o5 z*J*YJaP$z=-7DCQ=VNQDRRv{6RkMi3G;c$%PbS(o?qW92j{hiCvMIeXB83AsKKNpj zX@nwkqP+D*xX}#v7tVKXSln*+%V?9Bi7-}>8XwcQ%qAR)RVB0iSDx=MB?KJW-Srjhczk%smP_wR>2Xv4UZ~rr$B!bseG$P zUKh`(hjQg+7Y&^RL(c$Q_UbA-VHZ1E)xhpsUuw0wziTprFWlzNlET!T9S7hVJ;&st zLbZ0&QKL1Yx_iMr13xi%T_dlK^6IqcAqJ;BAo| zV!o$TN~-(KB|$mjMJg?(Z(1G+BQ~`{^+7SRSQR4B`G}|o@^PwWW?YgqJ3H?iq!5FH zVKM!;m_A&z&L_XaVMH(K2bU(?tOw+kKI#pW%7kL&uAzA)jEVi88>GdH5;H|%zL4IQaF|wtbIVbP_-tZ8Oc?UYkM_8%AW~!> zv;_x8PXv!Z5~M0&80TATkJ2P&JkWK|dPtEls#Uv0ZHO2@ccnWV!inzf=GIu>+_`3u zt?E=L-y_rCzDz@wp{{K8ZbfS%UemPlm|3Vz=s(MC1>qpZDLl{$vZi&RiMlr;88|p= zcn~$dNqk9q#}GnQ?Jkyvx_yN_sxES@g~N6c~pWmOq`ZNbWAg0&|2q8Udc7r-NJRd6-MH-Z7lz@`>SSJEO%9ymU`sImZlfZ255lAlN>%FwkF`l zcag4|h>!B4NPuG6ok}Fcue?6QYd-N$@Ho#w!DlN7`tm0`* za4HT4UXhI)|HLI{?Il?lN*>RG_^d6_M_Xj*g-;c_a6t>o0@SZ0eNmFGxFT+A2w0U4nc)ctn)y6L zhS;L;RfmR7bd=TJCkO3Hj_~!|ryx{+kvJwa&nl|C)re?R76n?v5d@?`;o@obrPr8S zZc4;+Fwaivg5O!*7%os$1c43f6iL8^zRC?dSfjglF$J!PX4kLE;M0OfdS?smj(}A$bRddC#uNapX=oG9Ga35q;rz^SbCBM za$;YS9--~drXT5IDaH=<#4_y_R3*APB(`h+_;wkiR2e9skl{`ZF{tN{M7?6L1$;^>WT~`>qq&OYw>me_DNMdU@49AjLLQ!uE;}P@4WN(!*dOnf zkDtv?s+GBbyj2jHE;z%I90gx9l}qyuWYZG^HCYiDpBhq-(Pq3FKjF;hf_rGWP3}3D zehyB2-@#|{C8Rhe5Zd%`AG1{xy2C?TR3hr}ocU8nor2r?dii%yI@pKnJL{$BYB4n0 zVGBips3|@{@<$jOSYRS|@Ba(AMS6wFNo|oUOg-#)7Vvf(RfqDx2!$T9&~o2enzBz0 z&LQDtQ><99=Eg&ZiOW_JsVP0^Tb}IKZl&`f!&*xDhh4>C?(gbp5*2B>8j#tWL=lKu=)pN7k(~n}Wy1x1B=>P{h7MG=NrHq&F=O-5PvkH9-0lma1x{iR0BZOH_ zmHK^Eiw&<2+fjxJt+#hg3)en#?NLy6ToTS>H%}vr$p;v1J!lr-(Q|WYR zHY%9F#x`1!4%=7`X*`yqu?q0L)p}=cJ?O@xbrjqd%5@;(u7{}?YLk29CU^3x+SIMq z;iCSc1_tru-(qV}TIo8xKy&7vH^`+^lx zbRQuTH`Mk`jDt`@Nz(IUIFcd>xLX_9t+4wq5(=kj>B+E8S(?`SX3xr? z<>htKltQ(guo1r9H&qt`EDg*!akq2~V(}X${Z;KBXcYAC&>fJpPSE`nDklXxEwGSx zz)Jl3W@h`w@0_$J&_A~6NJ$R8L6Q9y?;}w(G0ACSMa_Pw{H96f&M4_xt-blqp_NYi z_A2S6gNe?ECSCuX3>Oqv>EbvMWZYr@Vsl*!jsm13u#?^4>258?kpPFWwmJmG zOhIe-ltQkaQ804~D6bjmw1=ssm5B(fQ0uIT`@nFZN-rgSyKth7^#H7%^Jd8G7BH{@ zgV(xZT>px$!L4O~uEmn~XI9lX(a)D=C~LSv(V~&?609B4yA+iz%dR zBs>J7*7%S;IABM3U>C}G;oUN;F+s`#iSap(UCd9W-n9&5dSODn+gwMzHZo%787nQU z=y#LZ!+jrhk#~J18p@|>?iX`2Xz2Q%Xn>U9w@L)Ohe!KeHIV0sc1ZsUI=8T*U}96J zKo~~h0rrLMkNOxJ?icV2v@7_zZ{f?YgkhN?yeZ9F7W_oy5`5*t`0_o3Ls?iN6E?{( z`+UB{z8MIjAvnZ|tZkaspG>RL4z?*Jrc78*FR+_vqnYd3wasTMEzFV`y$kWPA6;K> z-Y6wk0KIcptIRe9Z4np#bBfS2BSr8D<}63F+O2qS-gy*F3PO%O^NHg zW&v_SYM6LqTB7ET-sf5x8C40Qaq>kW{i@eXvR zBYFH_m{yWNg5+t|>oh0L7?VMxLUOncdm~@elsU@MP7TzyHd>Zos2i|p0}r&R>xL4W zkW4h<=J0_KXB{jOwwQw+CRSws2s_7v72JPOWa9~LuY`5jvLgdxAL2RLES{7wU|c$U zpN^LX4V|R(BS`jiDdkCmPBG~!DWT)mS>=2@a^QROJ6sP+7K$WuU4CR}l=`8vszeNS z*N_{ZapV3qI*VVYZSYqFimg<>o=Xffm1BQ0aDT}McDU)saDfnEta_w z&RI2hIG)Td5%lPcd6NvEWCgwvy!S zK1rv|>2{t=pGG zMH|_7?lB4bNE~q!lb4FcB1`ijqGn>&GE_x)RgQEePv|aue{AggRlaYs3p@$dlxVl$ zc`sQ&G^g(~Q42ec|Bq#ZhiRo<>nTpKF<6{n1A&@ooQ?fsQTOpuer4GsPcz(Dw%fC)4-PKsgTAN__AKgn zT9iqQJ?nak${J~5I!4~4y0#CI3YZpGHYwNlA%e!j`pVZV@k9Mf>@C;wk+{mYKhG*Z zqE*h@DnGh^$feE`CpjxtC~0~^aiBO)a4K#8-oAWYVR$dYJD?4%Ra@(saM3fu@xc(q z`LX@^Qcpv!hMt=`Ofeuz2ynl#hyGFRm;}^``|NxA8X;HLDKJ5f#yux8>3ui%<*PmO zunEuGxJ>u>b!0DVxvXS_nCLJ^MopNb3-8`pY1~1Bkw;#kDj8?qBZzhod3-TYksagD2A9+-bNUE2|PPQ$ZQjr~& zwACJrJKHja1+o?eGuPrOYZ2#Y*$s+%_3Fv9#mCf_K!f16P=#d3xEIGvu#tSD(BSRe ztssRVBQ;)qZt4Q6&n6CK{_CMBQ$=x@y9TvKVDW3n!?uVXu`vBG&7<+^QFSxybN|*7 zsnlcouK1`XU%^h+Fpu1luvHqbBS!Bs;vS1dg|Y$;gRnkD(2+)jfOidEDrVi7k1<_u zdk&Pa5|N+R=mAS+4F>|cGRGe2*xtEaOxRwLpaof15mt7^ikxw4iLPOT4gr0CvmUky z+b4qZ;7zP%|Lem{pOs^+^Yw_-!R%$z@$jlLwK2|vNgQO~z{ujgQXsf3(`wLn(XIXP z{`8TMeJ9T1J>qJir2mIKNoS~!glGr4vJIdcl$L4}4JriV6Han;e842tLq~K_Y!777 z5lm+(`!BlVhLiuIJ8vf4`N#v%9oS4b*zS9AK|h>{%0YMeKT(_Gz0~GSr7Z`YAyES; z3Ne4aKmT%%@E{>(Zb^1=0zgliM)$7S*-NSkywQ@xq+*9dZ$p1%`s=FlDUSkFoI@Hj zg@awpI0QFFb}dd@j7YBdB0HPUqoG-x4Im8Gc*rxf)J{CyGlu6iHo7;6ATSpSWIwD% z^@Vj;1u_>-MZ^d4Lgma-5t#K|8FkK4Dn!)>%=*(%a*m4-M(SddT5s4Jou1jaCNi5%jsl?4Qw9yL&c#L(Vc z3bSw%2W`!0qqUr0Iwjs4f}`bIcgunLG}F~;8^PvTNanL-h;0FrG!ciNOh5^AWjE`) zU!#WrN+dk2Yf7-SkDrzJ_pFRQ==#;~iv@@@g$VAfY%D|BB{AcLjq zrTIiY1%S5~2jDcww3fQGi zb75*)fN_uS43p~U(Qz``fawzR`}`_}xm`0azRh=Wal!mnos_`}4DrNe-cTM9v8H%j zWTdj@@aa0UR(%YITbP`$yBvj$CcL+^-7Quf)T^!QO+2zykk|4BtZCPJwt>rzP6tm& z3Ey{RBM1Bn7YyCa>n%H`ar`OaYW!hK(IGB{6~D4NfH_2`ZRjo^^5zgp|2Tfyu(4&?bj2RSyj=7>he~I{GL}8b@Wma6 zDsE%nt%%0UCUbDjSHk9dDP*G)FXZ#x*TKAqB07@Z4H73{x`8wk81`DH2lf(o6dB}h zA2WNd5xn$9f%N~e_dXzYUS|+c5Xe+&7tPX6DY`KTT#)sL(GcRH&fP1qB5K1qByYP*6}%P*`CFg%ws% zSYZW)U9g}~;rIDG&pGEk@BNpVG_BT6Nt65jJAa<@oaa3MA4%%qM&Yo{9h4Z9@}Y2w zv8(H6FX9xJ-7RLwc{PeJD6kO1_WHrKA6uQFqf{>mwuL)3gF<$YAdmDYfFiCNObI;< z{J0yqh2-tSkY(x9ZK(Xc11T5Q!;rQpYkUB`^pMfmi~yFO&u92p7i@u5NN0wf19%ia zV8vAgZgmv~;EcjOb}NiDZ=OD3N)Npi8Tgd}Q+Qe|0B0$7N4Ycqdqjl-@^BG75@h~I z`W*bCgo%9vn~#7*K_p&DdPA5C;ZOAX8G|FlmFuDnE&HKm7D%iSd#nLJ$|YPy-9S(g zNVa%p8Bgj2z&lX9rX{3aZCt;r)o{9x-?LWZk4(BaMS_{ZaV46tY$F5MQBefyV+~}7 z7qGbTB1p_?zDO*ohuLn`LB3(xc+SzmHht<_jQ$PHza_P;cS)I5b>CIc-c`_g1??L^ z=8iiV1kOju4pBosqzROKm3W8B$8GVe;n80&!Da$d3HF;VCOG7;ZPehr1fJ79x6o$&{ z;F$x<9gK*}7nS*!7v?pxj@iiD-!#$Xi!2-QeBvy6C~nfd(Sd0C$yQR|LCZ)1(17P4 zQ!Jw*Q?)W_#^n(m+aapz^H0H|>fX(${U(v6>u;x#<9yng0Hntp5^0Lzv15#(B+?o% z(;1Zz;JfJB2`4?$vpEreI@>W^LSVr-F#xvMXkV0S%FP0IW=G=RjH#n zM=mod6GSho8C)r&9vgHUcAjRG?nw&+W_`W}TYYj0h1cPfn8ASPo~XjiNbu)439cPk zA(?c@CP%_d$cZO)c&|!+GjqH>TakZ~Np9rs?vKv0aoaLXWKgKEJYJd~$-SA2&IE6s z)O1@&P^sY$u&=roJBHNR)=*TC$R>qUG#pLOL#c&{=#4nq88FKW^ioGbz3h@6h)|D) zimOxgdad3A(RwYTloNAEXqUt;#Yi+|_kv)YN0BeVXCU1_r>h$nlto!ZNk8rWsCaL5 z*0vvFA~VDaV(-42UUO?l(YHk?KBn3VnGyUD=xE%%BZO7UPH*2|Z;zgH$r8G3oT+V4KQ`K(D)nlu@5=PSq<5g2Lu==h+UTjb z9;E?x6NDkfBScV!63y54XB8XojHWM&bL3L1zKvj&=pf3&C5rNAAc-SmxtvPJNslro z(xIq;7g00E z>vV7W9L{X`Z1JBsH~NMB(HHiQS~g&;3GcdQD{Ct9~XVKdhRXh}(y|jgc7@M$y?dP!KPogv0vZy96G6aoGRl$tuZEQ1?Cal+y zS0oyX&gxBceG)cCJA=bf^d*lblbgWNYMF;am-8nFPaov3hVw@!sv{@`E!+;r=6(%b;0;kch>^HM)|8xt4J z13vG;)PKtluPamkom(^Y-yu`~z5UVmd`owk`l?_TDy#M9q~01#{rC6ZW$N!T^}CfF zdhwulnfeaV`;VKc$EnoGueUSxU0-@DGxgusQ*fptT96g%5i*@oiqNG#ip{utXuzYh z;wv;{KX8ZWd*nD44}82E{RpwBd?`?u&01eGJi`I}e&WCEXztW8ve|M>L3!ou-HyqJtGbpCW@xM~x_9L@9gtRe?k* z%H9PeEQH9GQJ;B*?UMuDj=+$?>sfYpTk*HlQhTvm<4faYqg`+7UQW!JvD zYruy3X~5cDdv>J(gNQak4VcjMsQr}8KHbgn*s;=9=heABcUI?>5~f~iuZa__`j&`C zanwG_@u;9_`+GdUKbq3#PPsnU^9cA0*OVxy;^={a9vZU0j25*`r}|;-xEAzoj}4fa zbMzUN7EV&_l8*{PFBW0yNSZlQ*sMvl)GgGC3PNpng?10PxoBetZ3wT|!H>2#+N-m| z8a$j5l+QwuIREu5JaSj;gX&iL;IE=Z-6HL??Y=kO6`d9JYWD4DBASJI4+=MAyKqbK zV`K7vZzI>E2dS~=PPDqP5i`D(G;h@E*MDxz#CiQmf=*9PlzWQ}0K)H9B`Q%ZDT8e-q`QKwqvQJT3;inSZu5 z^LP38JaQ!}Sf#lHGAjy!HT*xt(9E8ECMpEENyV8Hh9nE`XgVw%pvX4FB9!?i?n zkD=niA}$sfGzo_KaX8l6!~}fDx~gjAxJE+Q9$cmIaCRyw-0t3`V_%>APWHrH3d+XaNi_ zaHyV9uB9mM#{`{iL>AHp%nA-MvhtR#aRsYQ<~}G6aeNY>Xj_!uXaxh{c(hULInsS_ zMe!@w^|x-U>f$GiR%>}(KH<1d8kU~x2?&tuo8|g- z8QO zj;%e`l*c|{FF(Pqm0W}{qI9IAAGbv%eh#huBHn#3B4km81C=lu*xL67WyK{t*Wypw zAW%r1gRph$zK(ZT2C%r^WkhR8th3eHZqMv*;-MZr$_H3WxI5pn!xuU`)P&it3VVCE z1My3jwy)KZs73>M%KADd8zhu^v9nni(!m>4a5Tx+?d=Z6AD?&6!j{s8wWH^xW!Vza z7~@bGanrF{RQ!E(zq!dUC;U8i41@-sc`KyYo}P%}(N~t}iH+D8bT3h@bk4F{PZNs~ zF^W-Qmg(398i16UxFZvCaT=1y#JhOIu^hSCkd;f53c_3mGD16@>?GtB#BPy{EV#q6 znlF{~MiJXJos}b5e4|v{kcs2$#>ro8tZRurdMCi2<&7%PwQtmz(+neHHm;q#?;Oyw zJuB@beNZnN2RKZzx?KekXCg?K-H?tv2pcD92YmSfPXzkW(=X=Ov32|{8!%I&6Di1V zB3BW}%NqQVZ6?drofpH8G>$3z*&QV{Ki@ynujbT2B1EH;DvX%dSF6WNu;CS|Xg+Qv zvw%27MZf4x`DVbCN+74CFYS_;7TgA3V7l2&@HG~ZI6MM#NgISk~&mqUMT|zg> zuB$f?fAf-kGqZg3>F)ujJDHZ}SNlhL6~Ai3(H;w%8@CXKp?dT@hyZQl|FeIjWEppm z5-ltSA(YjkI#2lASyvch#lMU^;gjjbW5%4Nf*btqQ?9v%3N+#)H<`AIS(ek69dU!y zSB!qi)1dA74JHO*JdfnmRoZA59^?*dhBPdHlYgYR3`WTo_uA{g%*Y3<2oa3SCw7pL zNl9j?wkc@%qFy1>U4d@}lKu+UEuVH9S6TF3lou=Fl!1!q*Wnz}!I8Z(uNxA% zlA!63y^7U>td4NqZ8%8&cE9;F&vT7~Kk0(tPx`lMFV$DEga?lr%`D2ipIoVDOX-`X zE0f7~W;EE)z8&OYuGcmt+lXzi6y;GXON5u`UNG#>mgM5tv8+#`I?R-=*tF^{YCgyx z3e_O9h*Zu{1yQfD2?Oi|!N`HQE6;`Oa*_<$H)UZ5rbbdxZ=Kjl+mK3V+HzV?N;1=9z>+9Zr1AA+ zJr8lmAt*9X%1Wy1IddHM=?q&JTriqhmJOhtrES@&qtplJ4uKq*Y)$302T2LewAy_- zm}}b9vy!8_Py5JXpgC$8?b_DIryV^=%O?k8OusD7BPBSMfaz1{zSD~yC=9&AS3rxe z4VYK@Zs&9MMK~0WoiormRj=;c9@aBo0FwYqR`rq_K)9(Xg?qrB^vm0Zahb`L+EMNP zu#G)#0Ehq%rAoyq3s}K|k=?*l-V}gOf@TPMNx*=c>Q4sDi(OzXFQ#A~ocxW4vOMZW zCgs5qyWyHdWb|9o>{eII9%zScBAvLjbIX-tcJp+lgb7>QS%Bj|az%?PCOs$96}(v6 zDQ`4)bT7zoCFf_FOE=kCM1CvbsBm7Q;H7@>!=RVWwR8k59lX-A?*?B9pt1-gx7yI= zfy{hxs3GMb6+=)p%Qmqix9kRVvl{#cqU7dKTU%>E+Nz8~{f=;oG+f|Ev3ZGS$k|%$ zI@JM49>cA-rq{?HvxGF*YY8eQr1R*pYjIfD%bSe{a%PcubPhc&${kU9LXbx715e>O z4q>oMUJxuvFlm70ve-(swdt^?vvLc6-T3;mCF!XKm|zJfo8tN#9*T?d=-4s7hU^vT zDgD`CCFVAnvj6`gGp7QxWOKqi{&;?>RD3OXGsTSXbK~!MKvb z5DKQqq%jg1HdmMa9i3fk1u5lOz-M(ZlGI#MO!l8r-Noz3g{ z>)5wUFJwD=?oeGA3=pkA8xOhJM*Vl$w%^Vp{vVo2NqFZt4$vXZzgU7$n=}_HjT1Yb z5R9(Eh`F01)^65^b7q!y&tRiQ`wEZ22vKRlm>|pTrVSajB-~huXQkaBk_@4wuqTaI zt~f(0O2vOe+IU16qO#LA3W?fgn^Lcye&R>;G8Xzyomu9I!;#^{O2r=)`9K^BXJL}_VaeI_v6ui&I}oL}DWrc4rc z$zKdQEBOQ8*u&(}oH;8tUSui^arBIb zYRHKhU?DK96O#gTFBQj_X8#{yFCC>j$e}?~I4w8ST)01eNiVS;jsrw05uxx<)mY3O z1+l-;qlH}j;xeB0{T?OLn~0sXO#kRE4tyN~PU%O}gjFePiDYvl*OQ$G2SrBp*oY+W zk;uW(1I+7A2 zP}yfok~Zp!q+SUy8;?+GQYkCN%oMVc(*?QGV?(z@{X#lLN?8Jz)}x43zgX=)xp8 z6n8`u0CDVYFL}LLXH zLjdwBrFNQelAMV^pwu=FJ!M$APm5p@o~cg8zud@Zolg2wBugFA``zX4HX@Nxa&{p$ za;rlL(AG#s#_2+7tkZ@&0#Mx2^Tv*rPs6m|yMG+W_prx8~$;_cuxC+fiveMXT zz%EAJ0*&+FT-+N+qqvLGjKJNu+d1Zf;lA0T4Nkr|}TZ*!D*B_K7QIPCFD*7>f5$K8gWf zjx_3u>@f(_nx*mdj6jGy=r>7w3MG*X4^u9r7g5^3C^$JgxFo_QgS1y?i=13Sq3QA^ z<&hx@%4aC>5GV_fPTC7dns335eJRNHE@WlZVLL8KI_vb-`EAaH8Z_7S2qIm%K> zed8^NST{17hjdR{7-xw+=ad4%b5L0Z?BP(-11;5AKw0PYtwKsYY*Zs8x-s!rqXdn9 zKw6neeG$mkfit@~=RJhlac1=3B?BLoJB}BjVJ~Yg@)U3{KuxQEq8#;BW!gbOuybrL zx|G*U);#A>ryVee4ib}vx&X)#Xf;u{*k@+O8gEy6HgMn6CBGH3+t4Z6Y^L0d64;7% z*pp6UEIJwifiPXQtEWu+*38efZA+US-fc}dBV>nLQl|tj?zqQx`_euqa0xc+ZSGZi zg{ONwMGG~j%qdD*^G4gWD5f~Gi$#UX>)rZ?!r{nz_e4+u`J1xg=~eDw^mH90_@w&0 zIq=NMVpxLMzLK64`PFn@aPTTuxPct&dd{Y#MW(l_lgQ!TZa39C4n7!An;xhi96qTI zr;7z6I4$nb+Rd*qiB#ZB0p&&*sMJ9t&Lkkt^`y1ALia~0=k_54^ewrI2*ujm8&HQr z<<|HC^tGq#Jvg}WR+L|UG!SD&U(;BxZgbA*0mGwMt1sEGDN$JPaPWPrl7a{6x0i7r zdHi9IXB~MxC`m4C1y@L}u5j!M6}T(KXc0+@Fm7yc=!xmp2mg>``^=n_A7$SH9PYeI zg6vM#ugzHt(=j;8;s)~p4iP6jyvgv9?ZO37)UF-X&T%k@CikGJLsg zn29P>Y>WmLfZh};jpFo{v`h^AN?C&joUAONC|!9?Tu*HcXP6&1VJ<}FTH6}oAFiip z*03V5A-npwv+sJ>yTr?Q6E$1vjblf#|4ZQ%G^oVRL%)?tK-gxQOBFsG@(}VthgaB` z$49?nHs-}&tAw6+FSak4Kvx(+w2mp^`b?hwQCiU>UtR@Et06zGi50&zI()y}_P!d* zIwN*~Yl<($DczYuZ{DO$`M~8X!KSoFt|&Wn6nof?dFoX>D_y;cn8*Zd@!f5Dt8EIh z$codqy-k-zL4_T961uw5mH)cs_Owg8i=FxFJ#I{C*>P@-xA0bc4tpMDjjVrMN?vv) zhB#-qJvbh|bL>fT>L&c9;l==$foIisFcg}hKcrN6>{!Q`jub%FrN9nJp*;re!S~&I z&4y0!nfJ?aq%|$><0A_KmN)wMB`7TSKAsr`o@4VFHYC>UUAu{e?8vS^+O=<4FL!{0 zW6xyQz)iq|-reX2arpHG5Z8%s?-JfGr|@=Nb@sie(53!wZ+NNp@`ne_Ha+WXZkdx_ zBvA*uC!#~~Ap_evj@=}mK4m1Zx_E#|;v;L3QbW3{=H~e=0%0~CsL+Mi!))u=pM;gf zj+;{u!smwlC$aIvmIt>n;(MEUBjHwc9*IVWH;z(^~ENoU*%giHkC1<{95p@@?+)qS*p8MDIwBo$|NyQ7C zkaPu94=93z@+3SyOR1!JnjF>z5!zwrv;d^%DH2HS5rDTw0ZA5DY4?lq)LcFR+4Y0D)d3DXuF7cxa{i1U)8Etk-G~x@pzyD9bss z-f_;ttJ|Kje-&SHBkrQz!F#tm?iad@J0+C>BRCsBq0ECWa5an2E<(SPT?jbUIi?S` zz7W_?MDNNy;O2E+J`EqcNp))!@rmtg(-S*gg;1=jxuB*{)+4iu) z1!c+LX?-n0GL5rc-~h{$>e==jiu>2&Zv@}*q(R^TLIUAD4t1+~e<{{?@LDBk^0w9z zDUw`A&UevfcOoYJd{8yPp^{tSKWGN$PR42fcK^t1TU0a@;La(10~zyK;5gmN^FG{q z6e<7Vjb&|=W^CL>-I;F;AXI1@@iNt>y`?53#N0FxcyGQnFzF?$hWXw82uy|s5e?nCKzE9{SLA0 ztF!_qm4F;J3hv(X$=c)zeUAC%;$>rU@e-5i?n6#b$u)r3bd&3V^g(eSTK3R@D>+Od ztz@xWt>;E?WgZ+nD0j?}!6@h4@A)Kfxz{%$bcXD_CKnBLc4XoE;w^!j>%FKE3O#b0 z+?z9>we6h4W#8q&sz?CSeW14Xn-gHb+P{g6cWXS9Gas;TF54K8&bKH0S{=@r7wqdE zik|K3DSGX`P8((x^@3E8pbz|?k5=gvpsORT?m2SC2 zXy$OwX42)m_1dAK`+GKI*R|PqQR9FxF&DNa4nG($PVbhk`U5??l2xB~9TD%vD>OfD zPYg5Gw(2NcvQfqXlp%}(SpnfIfCFa4;CX0v%`XO~?d8(W=4x%jygHC~QGf=S5_1L3 zY$5$kV8f93f~k8Anfv%tGDX&uqD`IA=$Ju+bxr3)1k^_+mojV(zXuDx!E&WS`({(_AJ?FALJaR$;WbgW$GTcOx;|-)IHwGYbjGV;iDRI=@?BkrZmPpngcr*XtLX8 zvMqpzam>CSMRR2C9?wOm_B`wbJM448uorG~*bnSx*vJ>*hkcI2UdTmHW(Y-fu!B%k z2Zc~v%DneXCqa2e3Cc5_6G*v=3C{}VX8cdbMyJ#gE1XW2|v4-lt2o&dvHTyKUv#|ZqYgX`!YawGFL@z>Q>va!-EZ(Z+9`*r-d z71;ednXF$e7#C0D>t%eLN`9i6LA}CHDklWJf1aP`*+sz`L6OwcOQ@+3AN?lqYIF^I zckMLyMu|;x*2Mjm=Y$u=Wt&rp|8?y4IP z^v?}i@tNH5xb+?I0Dx}M_P%Rl1x&n}R_RrZ$tJkY*;}B8|1u}37}S3O{Eb9}c!;Ur znV)g!Yw%xPpp|t+_n)PS4m8l%g#M#_!vA2k*|G`2(h-U7s{jqFvlC`uGOsCYmc)NS zalwqk-c!ed0c2es4@}%|<|-9*g;a25RpCm=amjwx1`%4n90nlT3#mNpH`T@=V~Y|? z>JIPdNPTjHfnm9oOKqfVZ-QkC{L9lc9hKN1FPrkq=Y<^Va4CH&j zByz^^uAHQoo=ruU2?;-KH%WGNe4}E|b2DmNs*IC-pOx}Hy^=iz=d#W4M&&w|ieVTQ zOw94(eTOa2&}EZ3pc2}C9h`Hu?zb5i(&^Ri>DK77&bL5=!TkMcP;XZ(5KUrts1Xl# z-10W2nVGzfimr9|t-e*(C1azt>yky7u1n$SBE? zHl;4f_D*7%AWM2u{*#<3SsBtHGcaAK{1eeWq@Zwj!P{_&aaK6bXMZxG9K!1R;oMFF zOe7`1G$xwA9Pm@-=XIRs_lGNZi5~J7nTZt1>Rf!A;GtBf*urrRxka+v%aFha!NaOX6(w*^PqTjl zivl-wmV2`Nz2-0|`BwoO>OKKWuuv7oZ9r285`Y6Qb6{~7%3-A;c%#@T6-0o8BbFj6 zh{Spr8wEuR=%xN}{szsYsCk0_T_Poi?bCb;M7yzz++#+am_lQcJ4IHpDB>7~!EHi7-Q+ z#e)VrBAv%TlpU-T^Orz=pH+AGUM!+G;^@P&Aq9}OuU6~G)tp~IB)1L$y{{%5o}CK9 zxG^`0#XyI;EfK@btj}zOAQVNJL@pJ6O1QcAN&TDnUq%m^g}FeO@lhE=EPzd+iMZ!t z^mSLQqTQ#ggIXz%7)WEU1Jy&7L=XPXqk4vFDze{6=BgYX^CxAAFABF$JVu_m=0amh z(PB=;r+M(#x}{`Q1C(k*qZx#KT8WFG&z!ReZ)5u)g>A9vFoFg-j~u2VDu)RiZIF64 z`&ciH3@BX&+ZB0wYi7psqMMnuh|I3J32&)}=tmZYCVdGoHx)fP?TG?iQ|E@C>$)iw zeQR3_=FVd)M^1uMCj$wJ!VD{M=CuxwP0Cr4i^K` z_`g9PPpMTg5w~)mjGYh1f#Sc$kk_5Kmk} zGZI@jHqfb^;i&H-N;;I&;O_e!3#Jfs_$ZWHi28Q@t8#m!@X~3HPW4S-cv9v*`1D=_ z21=zUs9YEg@vNo+MTS&xLztOLOTi~{{0L#P7+XBVM)0QQ?HjIn`=^RU>Y+bV&u?idM+kz9e^I>+N?eO>v5u`T<(I5v;)waHg=0|M4)Kyxn13 z%*#rk+O4Iq#L75#Z7K}>xceDb-*&K~G{@_E(p?a&LnynPw!5*5r6*NcI(bVZ(}oQT z>|lOeeB7>Q)gRx@Zg{1)$3LV5B1rE@j|;B_?8U5{ceI6^x_#+RI$^iE*~||%cebHV zbl?Rx*}7EDC2H`DB|qt-hS|wgERuD3cwbB>UY7g*#h`PHdQSLBJE=ecXJXT|n(BbT zJSSP(sGy_r$`QQAPR?{041B0;ZkEQ1wU0V2mzj1wvW>=lvFSbRDB9`nC^7FGuvbwl zn03jwXRRCd31kjV&Xu=E;`f=+_$l*2>jU!x6m)jaX5UxHKLsbQ4|WB<3~RmvhPli0 zfek7Jy!lWrZ{^vB`A!b5-%ta6Idux3?fzN8e}sX2sP{m6^a`gt*cQ$_?X>JkMOEvl zDStRN8=dz#AL~UCT@D|6kAHmn|KNh%{aO0Ci7J>baZ{YzlDfEzvBq3&D~>*vGav5x zIBjGgnjvawD-{$#kE2iI%!}E3d_9G;4t_A2Ar%fk{1iUS-s|>Z98K9%S8NS&bR;&* z;hl7F`=XgeDps2?br7lm%xB=0lD(I{eou7PKRV@#m*ShR0Tf*xw9jaN1h9{GI?kv{ z@wpr63WpI0>%EsLH16BusNh?N zUuAVOIgTd67f}K^LTg>!=-Rd>xX{ejM4t?ku!>8jb<_07gfIyV2;uoK&o>2gfTM_8o0a=3{=J;ph0DXDend$x{nAgO@PS44Wd%vf znaF(SJD6-7ks9I&EAh6}xxo&0OR^w=4fijv=q*T5yag5n(j=s@P2uQEYnV(aH4~u_ z%Bh=qB!#Qt9tS{KH!M(#+nl{75N`k4RduB=GRCjG>|4AD})gdHr|uww=14Q-1ZC52CYBUHU)QwobUXR%&G@vp|h)^^Kz z+n^^Mbza~HNym4rchI)Pe(slhN9PGo{2fl{SULUp%X~=N8N&js7&}G!m$gYIW4kNu3z;rOdQY)=u0FgPDp4H0T-J&1_j!R8L;U zeucX-)gRot7D%Kv*Af)tfbWTT9>RFO?(~I;vUSiTGSuEuNBdzhnhJA_M)1>U8<%G3 zM3?qMEs3bk0FBy41?o8HlEPv4`+{mxs5z6$=kb{a1=*CNX(b&A?y~L%>_N)($THbi zeIt3fE5Jy~$Zg9nty2a3m!QnF%f(#{2;mQ5W@G0L=JN<@{5r=`vb)SA2;r0U;4F~14h|k{ z7aK-%oQ6&CthKQ7e^Wt)L?r$=>$I875Hg=^ly^#*p3c{7#6K&eoll?ug~Pi*1;Zu| zaxIacp#n66PYFx40Br%06bqjT&m7wyG?N-3s_Iw5AlsOA3#3MsI$6*GSLzfXC!mr_ zMnmgH3B$ykzB|{j!NA&u+Y^D`i>w^ZH2AD&(cp}aB&txJC^r(~ru9u_K=&Q0EHfZzBai<(;TH~q3p!WY2~QZP`jHfq7m z6MU;1A0y4u7#g~DumSpK629BPW{prpO4~R#HjpsWSDO)sxsm(0WQT3(RJgcAL_Q%S zn$!!v(#6zOsQevZ5et}3u?t}Poh}3Ozl7Whki&voy@^ev^vbqZ%!@CFI8nKT)74F6 z(85)^27AZ*fSbafW^crqVcdsE9xRTFlW5A>^MompnQG4%P3jegGji|Lsg4=lsb?hAyvGZwr92=L$~F)yj4#!)LcI8S>9V(2_fSra8=1_iBb zBXKYSrc32~i4jbPG~>2{uBGtgOf1Qp5Dsqz2g9v4Q6DaBaQ0lvNTDehD6yUFI&%x9 zRKi&^)ALs2ykISNkMz`lL3|w2DAuH%qTR+Wdj-2J4T%`sya|+vix5z9D+Oon6qf6Nvi=CQ_K@QO}d9~xt$9cu>=vy3m@$`Z@ zZQY^;d+ld>v{oy}GABxg9AgGT4wNC289{*|MVP;M70ZOEr3F})QTb1NyTf-e6YgmQ zWObaEU9k)2Wji+yYU8H*#-L5;%WV;`gPb}XwDUu}Xf0Pk z!=rr%A227uNTU=tTXJtPOoXH!`#Jp#EYWGV&LtmHfo0#qxT=UWEWArH2Z*b4M7bvO z^|3rUU4w3jb-%G$Y!?`-%}|{cck@VxA;;sc4ef79@%Z(oRlNuPGLSjez`QX-425Ki zuXY;)Tf~!vyq!&|Dofof6=@r1TQ=uv4Q81qdN^GfytgE^e0If9vRb_UO4g2U6UCOu z^HQEfs=JLA%qm1I=#Ib0FnFoROvjp%E_UFP6db9cYUjZ;9H{3gY3frF>Nw zMO$tmkf!H)z`!OV_lGvJtcpxm-!&@s=al;#^2jGdqI#P-cK44UZKo)o;bE6u92ZXH zCuL)%ME*oX1uD^0ukJWaNlE9cZr@nGIV0ZzxyX1($O8V>)6wY`x`eOxfG;%@PnuFV zQ_(c5gIyX>;SQQqpah<{k#%Feig!{?_dgkf%9YMc8do%v#;duJDXY#~O_HlS9g4i% zS;UIe5WzzR^Z6RGGQgGqXO!>~Cw#4T^|v|mQNsw$Q^A{yd@>uDP_f;igDd2rnVPEVfpW2jYoi$5=y1l4um3C_sNVdp+4%5$`PR`CD-AL>oxj zcY&pBrB5VC8ZsAU==tYsFgoVL5kG_wdzVSek{XofS+6np1xh{~g1{$IjbDdf@q_{G zCu1as1}PRPi&h7~pwv50YW2vgzbRishzy*-`BrK?sX--0mS2=yt2IR1P@y7Cs^(f= zSWD(zWR5NY;^9#)sbevar&UYpycJf(O#Bh9N_4Lg9YAW|@q!9<5)}vlxILk} zXNi!?L++3fJ{uGXh*-BJa(M93Z+OxnoDi_mQ{-8Iey+e*2?P;ar-5MDL&gbtklS z(a6EK=6AWY{+cmE%#tIaZTp7Iho8dUwzb7(^_xN-G)2me3CRGx051j=Xl0kLN56xK zqjQjBYxNx@=^ay|1jBXo5Btq@vQ}x7j~#P2%}}3D(@F4aRFyk!zxLz}DMp970jLnn zvOj1>43f)k!e4sEvS`D1xux%4ku%#&mE@Z%{BZ7SC(+QowMd zd%KRxb>@2lc<&oBH<=iAQce~-1R@4+wq~9<0^`noL-0d5G!)?v{16TgO-G0EYj6NA z3c2Y1p^@YEWORYc^^VhV%z1Suqh^$~Z%54xPqV;f$jl%?&1z!(iK=T444F?`w@=qD z@JF1DHitLZf_#_D+vTrBYdDsY6N?bp2QoNY`i@OM~EG0${JvZ zU0Yy^n&rmzA~Nw)tqk*Uk69c7DbQ%&OXpVi3@(yA)o;Kr_{DD1g zUQDjhVpqq~xfdaAAB8QUii|s#7_mgIz&~SjFfNdNR!E4q-xeT_N@@<;3awNOV+mMV z>U}i81?({DhC@QTB;o0=NWj3jk44ETpW-ueArLu`O97HM$J0Q11ZSJ_ z?V#3e+l)tPJfA}D-ebqk;1{@n|2VmU;@~7%tt~(Jbb8*U$$H~Tpgw?Gj9vpIN*f8% zyMc|;nb->GTOl`9hJG66Yfy~xHlXSgHxwfS#cYY=v8HeSY@dQPPH4nn;9$j2iKO^d zG{6z4aSp%WAlT6YWE1U$em`QN4=|t|9s{FukdNf85CLd9-{#4!sty8N5JI%A&=ynq zK|!1G(M-n@u6Z}4u>)yH#y%IM0jd%#yKwPTetF^CsU^HThuiH7 zR=T5n_mQEIlBF5ogr7%xA#AA?$i-O7ka)mnJc<{vS4Jr_!``!vxP=ut`jPi{9_idS z7RU$C91T7jyrjH%bjWPmpcrzhv(_r_-U9bAaoF&QXkYSdRAk>0dnqFAN_i)lJW^8O zm-mDMAPSCJ8cT#g2;kxIcVC6LtOUb`Q=M@i zS*zEe01|Y-UKZ)f$!aTP!%=_$-%$JOCvNwg0Kp>{p0Z0BEA;-w7x4)%?8|Z=kd`vX zqB1E)hs@JRmA&4Cz2d^;#UmvqO#+R)D09UiQ`Z^xtr8jAA<{OaCtA&lJZ6(?ko~|m zpoDIt@sZd}qs~o3Leq6oa?KjFeT#NU7AhJ#>wE}O40v?NfQ@(ffSjzWE)jM65=Q2^ za|U)y=~;k`p^*-3!vUn8pA-*-1~O7xWk}k`5eKt|&An*jl63Q|Goe*=t;I-snGN5T z`D;aIn3Z)%e%fNVC6f#SMT-kyvwT4=3wFxS-K z*a!5Jv0DS}i1Z9PUai46fV#nZMI%d{@EJucA(=K$hajB#>>O+6^G7vKQ$Q=PsXNKv z0a>3x@~xvv@NmRhh>PM95@D^~I5!AncD_VL6xQ+30;xvRLmxFa8Z~Bc)(=djm6fE^nZ2b_8hB zsWw|UtH2)p3rx8%xPhPGWYzyHZOj_g-G(bhXHG$n0QZA=H=|N9dhoW1SUM^$6iC`R zK#ssvs;0D&w9uAVU@ftAA{Lz1#5%iKzDWlOT>x8gk1n=^FkafgPOcY`fZr_um|nq^ zPWm`7bIx4y@5wS{5Y}=KT?rQWpPmE@RDy*H8p5VCBjt z$({%E;Dk@LO1Q}KuQ3WhT!BRoWa;WdZn1$-iUC|_Xq4#zB#1#HSAeNwGN#*OhCY4E z#nhRLh+cX_f&B{f|z6BsjC&EW4TN;flTs^jZRIr|Wi0md+_dt`+TCJ7fA;=YY zj~aG1pWFs1HVN;D`2m zkZ-;Xjvych_U)9MvlD*xqU+W5BoYjqnvi3?DMPtpip3(vr3Zox4)aoIS8(1YWhRp# zDS!i{9OI;9!aJi^@C#hhk`O%|EV+E1GMDx6Q!n%K^KieQ4Zj$@yl}OUUkBp|JDZ-8 z0_hZF=<67gfna>z<0N}j+Szsiq_ADcVnH~!&lmxkm2zE=aHXFq0OdP)!uqYJte-n` z(-(O};Vc!;pl33W6U_Du#5Fh-wpO!L*>(0vENSv64TpIcC{pd^A8C_Wa^ z{#J701u%Kd9*BYgm^w~di?Ei_BQ*f`q{IQrBcI0*7W%7JNWmP@s8kwIFbSD-OU`cK zG-Sus`0u=@weXhoc!|fnaIfWeB?K~wyJN7qLpWn$ znf^VWPnjm{Mha1UL`Vi}-bPT1^OlT?94*8Y)d6pDH1$5z`cT<@$NNy(b56VH=LVdE zHY!x}K^j-`K*EH_p0DStHz5XrD&dnV>_%jqnzf^*WG6=;!Q%^hJ8so}?OJM_qNY7Y z3lAC_ROILVlW+bGrS#Lg-8oskKLX- z#c@$irt~mJSu>SB7~%+UIQ;lAW$4tATQbd{_t$=hDMB5%z6= zKXNk~aKGPkGa7Wir*EP|`_7{`qkZo8-`0)n*w|V!L@5TGcNvN~>UXaQx|@At8%zJp_j5t58Mo zY!`J%F`~KB zP~X?y64_vQfm2FZO(yc--5C5=jBa|Rk;2ZxV39$zfb4T<7%Cb-bl0FA7(ZeFZhR$6 z*)b5FR|spwp_?7|DnQ_bC~HT8qCWa$U&y1a(#2Y>St>G^qC2Fzb=Ct&WZ1}o5K=UH z6=a<-6@u!8?x51S5?IzLqYv5*jy0XD0TUdEBpR$;kJ)mmOZuJN^~IhiJl_qFL0N6j z{iM4`n}dj4Dvn-<4`rW0$7BE2Z_px&G{7l1#g>p7WD);(x0RE*ybm3|?wP!7mxGOA z8Zr#%KBf014u^9)zQr^|D01O8Tc3IE8)b2<=jjU4PM-lrs#dq)F-S=OBFF}#ZeR?{ zU!brpS|7-bNgal7=KUlgRPq^8ZpBmv2r8p?Om;{*INhD7HXwtj6wfdd%GCrG8`*%= zI%E7oEO0Q+E|Y3#tf|~j8wie)u;}4sQDe;suPQJ}&52rg$KE>SPuyPq| zAiv4`_a>iRM%R~se%S8V^gBB#oiX?86kQ47+FfSyb!ZJ`6y476N%hi0f9t1)d@+$l z>p*h`x1We|embd8O93AsI9v}nNsf;)=)getxNuH{ORG0vxs}-6;VM5YAjn4RI zlFltQ6I80M5V})lD#SfVQ{bGWJe>aqt_pm;-&aT?=`?mL?ca^`>CGIMf!LHID^RaE z$Ir9!;D$IdtiV)-syK}aGp33th-aVd*&p9t58Z9p(r!Fg2ctVFnV(CAQbdA6!u07L zpU=3_c~6*0)(+TAm@zOmBjEFT8gQcV=N9OKRB6e9&*~}qT`^*GaR&+D$yA!FAOOch6FZl}F1tS(YA-hBQlUt9WDRKmcqnQbGkq;j! z%|JTZgoREzXK0BdJ+FdgX0?))xZ`2?#+h8HvvdDvT#=bcEPA{!df5}k+3&)&~jfM zfjmP!9Mo~t=8krCf}=LgrALbk|Bd=z+zq(NQx%%H)XK=7=~n>e5WACC8a(C{6h+D1 z)Ilmr>YG*)ZopxpRp1uCh>3D+nB)SL5z0lVs#+{dR4}V-SY%P75(b8M!FRXd@?#N$ zbEHgARPY}STq#^XPa0>wkO&|3j&Qaqo){b>EUHYlhx%g0Jb1qby;#98%M{=>vy7``4ww7?9d6-_{sZx9mZDT@c^qlp}N&OdPAt+tQ&QxubmO zlPSyRnCrXxW9-V*vUXR0+(-Vrt3ST0KZZ_5wc=hm15xm<{`jI-whDU_-PIr8Ssmv513R^rCn5$9MI|Wb*%b^~aaea9ZTZg`m^yOoB5zO(mduE7r@<10wI>8uI)# zd+P!xZ;BQGQU_fe@sX4F8#`ch;O73?GDJzIErp&y0@GCZg@`MnuJ_PD4C_VLj?)!N zjxsw8ED!}#dqw%5m%eM5POYWHw}QdZ#tC^T5T>K)cfBi*vNU%0_r9y@33>)cX{Q!bMRR=St z(<8^#ty%R`w%?1QL;{rYHnkY|YllWVCWDhssc!Y1{p;?RIt@a63Bc#Hu(tfX+n9=x zvw%4m0z$V~)OlIc%kV(G{MYykE~xiQkePZImoCHZ?SX&vDxvQd+D^wUs=zt3%0H#2 zxoroS@_t&%36zFw!6T&Ja4j97{fTDH1~7yF{A9>fBzFg}VNMsDnLC)59ceoTW?mv9 z5X15EQM-WNtx&aVTwx^rVE0g_Qz_#7v0Z!W9Fob;kWBfRknRDR6zQto-mx1+|(76 zBA9l3@G1FaiX`|ZMF|Z$rQTF&h;@cj&Awv7o3whbSkmpbxB%dmwEMWM+eNM$xB8LN zzXof!J2HN|tM8sS9Iy4nv-oJV4Jz&B+?+**Ov0T8k0wg zh$f!&6F5?AZQZDsw{ai6j^NwqvvyDXy*py;;@)ywO#5wtEm6FkJ#pu-+ok@u@P-}V zPZ?RHE;@csF?-+ay7QT%i-j5}?3cypHz^hKPvJ%8$(f~hy1GieNZBmw_a>pG_`&!o z?ino+?#4KO@v0K4Ko`m{wj;u&G_%Vs7@z$wKFply8CZ)=g)AF?6km>^j#|qpr>fK zzwq^wVx$b=gc$cmZH?I|G=LYYhpnQLqsxS`J7LjD5M9~C-_PP~1MYxGus9Zs`GxsA zyGE0;kwj+fw?1Pc*ff4VWM&*&rGjRZD|~**3K#N@@RUxn)Lr$*vo7KxsGzWGqZfLz zXBh?9fY%`B(+L)K-2_3Zl#QC}cXs{e>3INte#LVnqrtJ*jV#_WbaBEr^{XNCoaY$A z1UHgs(Mb_O%CMpNuP*9%GQ?ESpqm=v4cn++?m-4qDw>|F#pr={{*No!mz;VKk*I38 zHlxIq0rbIz0aJEj?^;l=CtmSModXP7dMUZ^-++zB5F;8cwSa(9M!%Cjy} z9pzL{bJ1&LocJw{F@a8ojmV{6OY!uOXc4P;#L-$|&gIpeQ>G+w8wdn`iV3|L=*`3m zmTh+WIgO;J-@nuGFhCZ`ysaREGtV4s|DWk8pCt-#wW&Gs*yh1i`q} zLPiJ1zX%;Q(Zu@iIfe!tDQ~J05?cdpLd$d|#c`{a0IsFlN6EjbB3*#%Vgeu?qVGT2 z3DghUWmKmouQ-$G?~T+*UFHbft|QGY;YO(lF`X%H_YT34(SMy|EpP!>!2Gf`N8{BS z4*fVK@9$@V;&zWw!2KJ4_e7C<$G>TbV<%d82fzO{h=J^jRZ;3kZ<~B6fQxm0h1~?% zO2Ul+tbRlioxE`>`PoJb86S?iO+^1$n=X{uE$nH- zb7+gUEFLmAdKd}llbt!<0|%>2V2#mio=st(z4*N2abw<|yV=PQMy&f?EZt@^_*uLnCLc zvD1f-AcI@M-FrS+n@lH&P!dxfikF!6|3^b%$$aF1O4Z5-|3V!vGc ze{u9dT;$|p28|)-!;oA&hJponG8`RbpBTaa!_@)3!Vo@!s}a4z7(R-td-V!~_!zF< zrdJrnCvf$4y}~&D30I?fg@L??l>B;ufqV*&-l10*$!Bo&PQAiVK8LG=a`gy?@(YAz z9nvcd7s#h4wKjUgluP~Ia;OekmVJKh2)t~7VhVl(u{kdLYEZ@S_ zxL#o_-@(=WdWErk4_AL7SMR}CzK^TF)GLhT2e``X6~=-*6Awg)KZD_T`9|%LN6`&# z{Z%x!v|e^s?}{egm#nRoue%!)Q2~#a*Xv2*Zao;u`VS%~3`@n;9|Q#OlgmBG+c{a_ z!F}?R%R7if7`V&D9o#QJxtfFcA9uNwgTwNZ>o|BoesU29N8~40aPVIF$>ke-oBZV3 z4ZdA|a;*mMlb>9u!FR|{uF~K;B{;B-rS`3cKPcFpZVfo2b z82mH&$t4*4bNNa5501-E0)Oy+`ANtR{)PM`*a!boe*OqQ2g*ayk27I=zc3wfdqg7q z`3c|u*-(T(C<%dm8U4K1*36%%HcxMquQd?NXMQn+wJexvM*)S3MbR&Mecbk<$&b$~ zrNbZ&o+XLHmL7RJS(W_@qK0)kc#6~v`(ahFycv69(@vW5}Zgtb0$vJ>)>ILHJX2zZh2BrvlI*jRxHAoXznig|85$3T0W-TwR;Jms+A>z( zxx|g8S#kOYjm{BOoCN0-?F93a#{boc8wc(tZj^A(+TFyBOrc7Jc4uPLKcK{oHud&M?<}RaG!nYJFkO;G-%ZQi zKP~s2OwRFYciF&dmqLa;9=9C388f+&Q(Nzc&@#G&e??-k&nVFScF(GsoN8*OQ$@}1 z(wreFJ7KHm=-3V}Q(u=m$RRe&*umvm6A~QiAdW(J)fhAS0M&Ak3?R51henX~t^5m- z8TM5NeZm%-IOgCfSQnd;Ic8+`B>H>WWtK@$RIgv^n9ISN{7`x5z8@iTOxs74PieDC z;Q7+KGcyLm2J)5f8#e3i3z+qA=V@4cnIe(8K?slWXUy=>&=85sv&aL!)x0vf-fV6+ zjy?2HrMA{6LO0B?36=+{Jp{RT>nLwOwA!j}R34HK8b=ezmG#C$NAd}DjIf5VL5a}^ zW1}Kwk+=2@$74DMYT|~5<5T9oVPyWfa6OKOsP~9QAfcjUBz^;9hK5J735C2l?>NWr zW+n4LDbi`AKY*yaazk=Q+&gS$tVU6jNkE^7vFtR&gVc<|QLh2z7)GRTQFk!Wp^TW2 zf!sHon?xN_TaK*aI;J#T51|>4ax9n_Ml*qQb*P<*>!D#I_mK%-;8ZcwnHHck8}>z^ zn7yN0DjdZ*FOL__Ngf=SzKC+n3WB1Zp_4w8CO79?eu@&Fm!t%R)cb<|7cP4RCJ0gg zCm>R{Cd?>D<8z6a_}4@dO}e1@VH)ss!z*din)CtoxG<$giSLw((>i90^SkPDAUODH0WkHf=ek_6=LLm z75@FKMb&*-qPkVkKCED$&AF>TtRtNI`K;`t}+r`&1qJy+k!+czPEEA%9Pnw zwPy^@`}r&iTIw2$@{_B{GOmW6n}B9%kb)UOg!-dw9PYPeg#IU-^;0Z26UxweSZnm{iSdjF^SnS`b?lI+JTQo^hFH z+2eZgZSf~vH%gL%ZI+G+ffvPD_nwVWeZz+I_V|mgt3E@L=wV>Rn<%|JIP7b)J2$UR z?agGtc?n?IdWq4$oI~PBxI!{1Az;fyl5`nuvKAOK^GPhKik=eE?0wW5M~XhBf?tO& zEHa&|l=U8K3zjwUzXqLKD5f?cl^a)WSzhNeUG$MOjy~+E&w=>cL7z^f=5g4>X2^DF zy}gTPyc@$sb-yOj?Aq(BkJ-`C;m-KV!T6JNK?DP#UT#48?2MFK^t}eLhPT~s9Dg|M z*SV&%e?S)E98TNfjPLTjj4;SKNBwr?i@EhY_r)I%`(r;AxJ*Ot!BkAc53RE2)=l3N zUnX(3L2H7zs`5Dws_ZacT0{9EkhhM}k5bLoakm$i?vH;xCmy73qoqAk4+JfSf8fx_ z5mE_OJ`;?}Du?dKxN?|B58@+tV8!LREdMQDMxd}d(_PQB?J772qIePAkj zl>fBi=&`m=E}tzonir8f37qhy?Q3j2!}0N9Q%M!%$dRP2E^*k`qUdpqVBbJAH$0M=<=6&Yk{eSeSl?2W^iave z%WM^sUs>hdG^4$lVE%)SoABda5u50#Ve{f*Qg@p5lL&BX%-TkAU#_wAr~23w+PzT-}}un^K2vv42YiG8#G5# zV2*acQtzaol<`ZV*+=!|?aSUy=MZkPJuo z1J~KZ1EW#3eYI7we^4w~V#pkuUD!hT&T3@|JO4bkG(dZwsIrCmg;8BxhAy?gzDwyq~mOd7Iw~e z3@RU#Efzx)C=*ZsI-9)?qIsGz36a7sGvsS7d^A5_vZyZ*K}` zi1h!bpjbfg2R*x}Sty-EC1$sNNZM4VuAwICx>B}lRP&RO70;q_%Y1UR467|kFDv~e z(O~@AQVY=|6^27n+GeV+Y<487j2MJc(Ql#PvLEL`rpm=xH2Z&1qX06w)LV+;Sn}c2 z#ci=HpR$GlD2N<}Yv_qd_Mr3;gD+=8X~3!V1pul(*>2TQ=&(3N>-Om?j-o6c;xHKWzwbl3$Xu(HfLD!B@B_4`=7=ANet*?gS4H zr~U;0(7lo4H zKNK|kAvT6UkBqJQBQTu%Sd=AHAVKU0-h-{}Bf}%}IE-b1>zr2O^&k@e>0f|(iPe)mAD7dGxH`yI~Z7azM=L!PvWBM>3zx0g&Qcr z-B_<~Yfpwf<*y?&9&sP~;C1zMdA^0}#h6QS;p$Zsn}VkU2Lq~e2>qyDqQ_umsQFds z&t2lqZJQNK@?NnSkn%+fwCutU#xFs-Ry(vBVH{3`V2HmW4oWAHy`r|6f7Trkd2yy` zybf-#h%vCFg z2h0o~EJ!wtt5r(F-b(JvPMdLZJ|Og80~dKwe@4;QdiCgEF(V_0D*~%Hdal|4-x-Zy zbHNuZ`UbbbSB9f+b%#NpbL%^H>fZ~d{+(U}DZmRXfoQ^b)7-qhNT+HJ54b6sF;EAE zN9TLpKoWhAQ~1ts^!+_g;RkjKKMJPsgI-g}FI48lEg_d%sFN_RFQ6Mxt0NAer)1qzG)4aet+X{=H&-+;ia+t4Q5Zg^QpY%0PV6{zT7A z3wNV!1ZPgMMh&xumN({A$qoMXmrrqc;U`jdF=Z$#@>C1l=*P~Fpg4W%<~C+nUad+{ zTO7ZO=7EW189g4JisrOO)eKi_gh807MJ9CAv?x5Inb!Dt4q$B7l9NLQl%1 z!VYTZfL9kP;e1XC^N=|$45NGEmrf*G2|)u!$#tpaRzM4nN+U%Cw$;v|){;f`MzlZv z>iHIn+0p1vA&a%1WmhyX@ihoV`O>-aP4_-3XxbLeAl+*t%Ecc}KVRpq@GE(zRGhJ& zoQ5j%ACpEj6u**wMExdihM(E@;Ai$G)7+m7kI=&sBJOo8#CT0lp&5G`&BM4>-Du=s z_LlRcj!N|M2-UmHuR$OHLL6JT`nB;7BIc{o*Bg%+GtB^Z_dOIrKf^YRb1zOuKOfG$ zY)|||yaiEa+@9C@3wbT8zEVP1xnfE}z6QJzd@6K}_`(RLx;Nljn7m@9PuVdn@fxNfif*lD@{*Z#PbdlE4q{sO zOyRz0MquNM{v$`NpwvtwIx&=09FkUcJS0IrTjv*T6P~UDN zHM=_a$|I`4pm&0v11AJndREgDo-)zXi^mE=t{cV6+6}x)@ClsH-Dw!B`=Zm0h~9^X zC=N5UNWVr=`xF=Td&@_|>zoB&aeRH+{uIp)KXm*tW5Yu>`m8p<6QQ-XZuO`4s1sU4 zP&0IOp!T4(iPM3LwTTb%s)C)puy%vG9a))E^)imJS1z1-N;Aq`tH3J=`A7ShY%~&|p`Io$dL`AJCQWxjyYu7T_>(fV zEGVhZlZ7C9*-ZdXGF6XRbkki)ENo)@TfoY6-mq+8#~>3Rw4?!w04?u3kejimpFMo1 z;VsBR_-ulz0V4B82XQ<#;ei4IlZi2aUmlGQ?a6QE)r z_LAH`x!&5kK5H3DNf-V^f!>lhDD?$=DDN~t!e(Lhp$iu>zTH5&`^EzY%*TTkftrFC z(!d$;pfJv0%QaCvJUVn>ud2ht_9VDJI0+7SK&}u>BNXW1eIxw%YbK@CBT2ms!&=^r z6E5;RPYxf59@z8fM)jEbNpPq?*g3fKHB?d+Ya#PwkWq1`@TTz%DqS&=ekma`ooipefie9_WRz zct?2v=SE@O>}Ylt4PF#%SmYjU#OZMfwJ16fY(+#t@KR(ZK?$nhTo5|+=mGP>iDj_G z=gQkDPf`HeNfeVtF@i@A#Ci8tE`Fbh;-}0gY%h;tWb)U*;|C)AVcL?>XpYNz>Ogd= zW4JSyz)L~xl2pV^JHt^qM1lBw&`gMqh4#hBq*H?a7RsOC0Ed1O2S&Z|oqe`wN5E^^ zO@*QzS+2O9`!WzgccA7BnvE7@DxV*V&K($OqZN7a0K&GMmMP%J(l&%K=oNqo_~jI} z6TGd2+DyVS3-U~#?+ogkk^8V((DDGSALvcyITWqcS{+C(oV?pNSdS-r4{MVBYSd14 zLyk-PNhO#kqr<9|mA1)W;_^LnAi^J_-N&OV2S(d~0FW^=m;EQOsa2*y`JwT$S-{Xh z1vlVhfWy^g1}j^Sj69xz@RG*Hi~5$3TqjNzr{^}H>#6LVfIc1v)j(X5*Lg}g#oMYp z@^2z-42>^?aWIDPbxaq}i&LjIx0^f5W!PM6{mDaQOSl_E_2G@;j8_usO74q~ z`#bhHop+}*S5M!%Cw@_I0|yXzE;?CAVPxnFac;>`*eD*)=oT=GX#dDFMp-5JXFLzZ z05uxb3ikjFXIo0k@Cymnl7i?dROg{JwuKcV_XLtBRT5wbtAhE4Yx3hJt&@~TmTDvz zI9J_*LPA?7cu{!=Diq$fWUp42+eeD5K;GISoPp|uCHgpIKx?R^sBNJ(^V&Mp4zS-< z>nK=(qt-eGf(1klN)DDPU_Y0K{6vaV=WFM{lj`{fp6F#vUzh~v^^F=Bu+QlUnqT8l z*(d_Rf-?u={ioem^@O7ozyPD|XB@Qsa_Y21is)K{?fLE;I1Vf`U%{}kJAn=WyCR`5 z70{7@DJ^rSDAo??A_k&VSI1h612;Q!4 zL2$=IH3pEEwJl|-=V<(8|0IBjkSwkbDQl4aIDevC0WE+=;J)}VvjAj76)=?D;VoIN zRqQ|EU$t+{P zBT1v?JW94|t!wKbFxUh-O{~V6r)aWG(G6sjH3UsD^afE2G|3=TPrwJqA}H32^OTn` zTZ^xVa*ht=&ap3`9Z}D-<#vX61M5t}khcZq^6&M9+45WTb>OxrSEMY9yr%s2zrd%M z+fN=}Pm*o4A(xHvRR|UU2w!#%6mDFea5bVo(dg6mae2(;^dUt7EA}|T9|D!gwA1~0 z_ai(GJ(ZQf0K>Dj8_}P}KTYom^;Dg4F@MfwCT}wSm8E__eA9PJ#f%^|7GDkoDNtb^ zQ;;0rbggBX%t3M>!XGkwukMSg@@w<>>dHz{? z4x#*mV3^}Zrv1TQ!JxrxR4%6VjVjJoNCRYX?0gNcG{9zj7LDVMX7LVsVSEj784oP8 zGl3E6Pw*Ru4Ze4%9rU)v)&>Ng`{;C zDYjDn8?KI9mF;q23ETvjZ_>#)K5s_N=;&GW2QGeU5!z&6{9+jdB?o!OnhPo`WiYMr zdFX2^39_N;?`TZk15*}F+Yh0&hxX)FUk*mmPRFp$>ac7>8la!!@DADxuA{da&+#o# zu@&bnQB4{jJYY7gfahH$&f;X6l@=irj0qjAJZQ{>6}HZUvHoCpNpv@c&~K|q`pr~v z`k@rZE&Mxie7qolv?`S-x6fFvgv(7G6^^y{UYt8WzliuVE=}P1VafadKYQ;VXXjPt_dSpFNFG_E(HP`ic~?#@yYlXcjPA-H@5wa zG%|9rGc%gG(hQnk+&g1wh-plV8=S?BNlh0g(7-OVxPb;zXrX~-N!KkT&_J?oLc4CD zfz~9DE=}A(ij%xQ-|so+dG4J%vb@VGe{^{nd!BQj=bZ03=X<{A`}=G6N@SO1MiN!C zU#N`fdlm-I@qSx>a3ox|_u8ZTfFF$G3zK!Lb&l>`?Wyngoeta1k$YkN;XTWObG^z* z-qB~Blq`#97Z(>el%MmfGOnKQGfdzlsdsg*TD(@9yeR#pYW8?{5^)VbfiB9bC${$P$M`pi>+THK`0UgG%-6VcKfCZeo`=oT zl^K2C-?O!+BQMOTN#K65;yK|r>j7@o_ijyLU~#3|$WAn}?^vpepuUzcfYHuPGL_iI zHFP0FTuJ^598A2NgN~zklDp8C8R+)xKd`lDCY^)QaXR_|oWY)pUoZ|2 zJ-hF}^YDVXE^xc|-2XcHNq%T+a`kGhOfRx9;nuy_ylgB| z?}^byqd78t453x`rgJ0bPs&10Fj=#`{eYUJ2W|zfr6=FD#P<}r`SjNO{q6p=Ln{Xc zYh8MWGdUgwvhm5-;b*tzd-IMCIv&+ucfhbHv_p0?jLxV3;JdRnN7-lp;GKOsm>E7_ z+3U}1uRpyt`@+_gk1TE0T9oY>2vPw&H5faAqqo~3c{%<@RRvyU}LMc z46vzRobkH9l6C0PI2w#bb1;|PDY#&`Yeuyx`_g(4_8ytM6ageOg*BXBces8zwXFAR z_7&~>VD_~xBeiXNyuk`&m)0_M4YuaH^_P(%P~cOC-BB{$B3eiOhT*$7Ifa2(HRk0t zWtO2EzSYllnVxNRWe$1&?u3>QuK|>S;OxWZ5}BbkC6V1(+^1N11Tdbb8?@aklQY@S zv#)RMeJ~KYQU}GYvN#vqFb78Y+jC5b>J#*IAgOrA(GIqr-{y_Z`FAP`7ej}dt@*>dbML)>!X7Gy*H zVs`;nGgOK}yYv06`TkN@BcGcbmf~^)>(4YM;7USw{W3L41R)-YYmCG2j0*%SOsx_E z`{LG|vK>4g)l-%qF#kaGA|3#!@`IeuBQhqtLK!+>pEp|Lvf{h~WAOK1ZdC@#x!HpB z-xi>3ti(%rMNfGKM}qxdv^iw3_lOGPfk@4_b<;h z7nhgk8siGKK~O(mQn<=GfD|vj?1U;Ss{lk%Oew3~CP&w?5=%sKhL`=nx!h*3&U@j8 z+FK5Zi-a{8pAN45T|3Ku_;L`!Rb3FSxuF_ovV}#R#Fs!cKU(_H5lzY^{g(IUdERk? zDyOvVGmfd;7SbuTq3Djqd+Fss8z_4+YyddpP{}3QUg$jE6~u(jA3%|=?g!UT5nhUZ zX}xPn!lvGKpCS`VeNJaam5rO-f0||9qc6j}y2y-@3Ioe}C8`dFL7B9igaFprL!rC(`<4D{k$+ zOxF-CzZ2Hw+ZFcdwwIe9H8Cb}$HGV^tMwYUjC`LP#0jTDf&<+x{5l`@R;W#LajMPT zA&2cXp#jmw{gHX8ft6ul`J=g{SdJJgxO)7=WL!$5CfnR|kBRB?mcLc=bnDZKu?$$G zENA5MOlhrRsX;IkHhs&@p4Bvat3mZqR0w7pUS1qDEq>$bq`104EPa;$6eG0Oo_sXJ z=1Qe*k^pxTMp5Yv0zkn;=HLKZ6CsxnRx>x(f?GZ+C+ugMGT+T9hQB`SYDRn!XB01R zcwrS2_Q@RaBh?Tzqp@sIQYDCN>&1oIDrRO3l%~y9e*rkg^60RnPFOsZA)+?SD&Bpqvz{vc2OWH zmqJU-`HM$KE)>hjPK#H;zqpR2t#sG1vSal2#@VUMs8E_Eg!moY69c;^_c)sP=7p0p zPf;;P0%-DOzBl!sziF!w@F`#tD^%abNT*?)a8Oth$ko>{&0|bntO-|j$avNHMCZe| z7w?K+V0|}>e}IFPa)xu746oo7A0Ee(h6^YlQq~_5Pc1x~cOJoVj#qAQQ> z!^9fD2Hqn*x~zFi&z-s1WsOwV7N?9&R^BKyp0TK+Vd#uBQ?V*_S=={-YuFK8o@wk; zUK?a&#Z}bbKMMaz5YaiKlT7BYd+e6;acsz5ReUbI8W2OrmhxD-VJu@nC;rq2g^DAv zH@Y8RU6}l%3pH^0U>G=wv8ld4T43#cd=B2PFZHT4wHDtQHaEC+{K860Uf6Y6v+?xQqIl1B*28?VLW=4m% z6`PFaM2XPuhH#@oD}>Bt&TMz6x^utWidq^QFFMJFD6;&XIIXH@#$2|tpDLCGYPv$$ z6*)mAhqL|07X{_+boSH5r}TQ{+gx~!bYB6sX;Mz7Vw2qznwJ;*boL3_`dyu=j6b>uvc6)KVty|~-c@t6{ zg>fz7f|G3JsGFI+r2CsA=q@S7?&(Be7QnrSloatp-{%&C>UPckMDbm%NpjGsjNm)% z9Ek>x2djLgK3(?f)QYl+CcRE)e-eI!g{wse9m(+cNy*6%JC^QRWe50ARa;4JLQ&lK;*I#l^05Srkt1-)nIbeSzK#Z#00tVfC1 zsepQvoI;oYETGxTMn#bVOF%9)h^KIJcQK~Tj7L@YVJ@BLlWYf1u%au%@HxA~Zw3^= zVs8=s#FfF32I?l34KhYz+&I^{)R9Tn!O3oOnIIFJwR8bCzh!&;)CgX2hw&eiVo&G=n`-Jz)6pHapAI+?J2Gb z@4+r;uH?;t_4ds?7w!RzsnPU3{^_;F@1$Kb>9gE*Pr9?ro|dsu+TGTJVYC1>HaVA0 zvp-dQEc`?ukJdAIJ0|%x@NjGi6m}ZlgXSzo!v=PQKp8?(s6i6b#vf%$fHPFAs!AGP zh3Qq|sG0Nv-bX8qVcZX=8{xv+TRe%|d+^|~{5O8iCsUtBnckPWh!;qJ;tg|)=v884 zRyW602bE0>S5pK@3v|goFzDj%H`-kPnwORJJ6WlG=M1=V%zPMeVV`QioEYOH>_Csx zt`EqwZesU_Y^|`oF;u#j?}N!* z;G86(OrgC5k|8kGEGJQr^7M^}J~nf?N?-F6Bkxh(!71j%;pA#yMF=Ix>^A^_+${&_ zT@J%A*w8Q>>i(iM_Hsq`eMzzP1mV4)gX(X$%W!3UJ){!O6QO3_?zQA{I~O@Ic7B1oEHH665}8JY8K+MSW<0j=O+OJRVl zzO1L{9&lkr-o4JOm{;|v(>krU@mXi&K7_mZQ^LonUJ#Gff(zEp;_hsR8~`shicuGU z;dWd!P>u5Xp57EqLPWKK`PU*;5o6wkK7^GN4<`4BDYf8=VTF)xxZP^6DNs2tclIV% z9NQYa)ZFsSAN`(9&n*;rf2lexgLsIYhT}RMT|K0N>{m9g1`2-VO*h^0P@96kk}Wv) znB}{ZYJtCl(n}tnyWRf+FOs`@^LJNtujw7rxh4S6yWaJR^{!cQmaWOELDzTpCcm4w zENgf7z#(KGahoctjTks5$Jj^GL(&(#P9pRr2~Le>eJEUQ4l-gyUVKd0A<_~rHJ@~3 z+xfwK2jK%&>%+L7#?@BhIXa-MhIOEmE4M-UXrp6Wtqq9b*po81I#wwrMNj%*|R{{mv zmWu>cKeKB-38tJ)$v;HkG@8FGh;X?j>pcn{L=J03w|2rET(GBBX1F=_4XZ0c3^i1E zfaG#ZnX1{jo~APTFU!Tq2hfsUXw((p%Mn4-ZwpFoJ!aD_+#feKJ=DjHE}64(##6-euYrxw#`gRI?- zgktJjJAO80%Yig#+RC=>$_Z5PPnO;0l}SRTjHN5Pz8SC&6QQkpMIISa5qFFso_d`T zY<>)rx<7Fae+CjMA}E(*Y*jkuE*(4YQd`EQXoEd zjz!)u-jMH63gFg$&>evz=oyBOQ`gN!kkC@Jllkn!xn*t@(@WO5w>4tA&*QA%xI99} ziNTm``{}%XT3M2o-VJDOZi-)yt@*jy?}L?JiP&!;?6h_MWS8F&8)TIl=LmR6NF3^2 zGtK!W+!3yh$FA0Wbz0A)bNEN(pOFZQE0xTU`;`!D`Hs=S9 znF(RB8Fz2YP6)XfSO~dxfRD3_RDo(oh(qciz=T>=72$kij#qwAhJG&F_|wECGEPvh z5v_yuOr|4*@`WklHQGC$wi7-+`7oYXA*0kfV9W#%uH)6w5G{h{WqfXN@$#h3d<4x7 zYd8#qiuoaAT6jvNICo2~eL#CxzPR>x<@rEBPw#HL3-X84@2W!y37eW*QDo70 z;Lf>F)2Ho=vL9~?u5J>^DAQsD{Lli(O32H&gbu=C(hoC|%5cJH`*r-v?DR76+rCu< zq=?fRcfJf}H2yGw)Jc~l+Z>-?Bp(+8o9QyWFuL^cMUbuG)SzLSgVMR+fPN*>kX9Ps z7y@J3*WgjiY`U}JI%@inQgx#~*f=(QdCp+>`D$23=(jTrUKu8^XO7G`Q6v zdWz%uK7*r{_lu;w2iLZv{5PB&E5-8+8N*U1$1N^@0F&KRbCyWH=35cZ(ytf?L-Wva zT&1wGRj7&5V6~pxoKLV0@_CVGGJhJ|exh|@A0OZ-BrD^~ymi8l3Pex$hO7NN{Opi@ zKMi?rYu+F4P$P!#&GUgbh${LdvxlyY*X3re#p&gDpIc~|S^&dnj0FU_J%FD6XVE!= z=P#r-P}mwx#a@*}B-nxZ5++)hYeEjvR{eclMi_Q_XLe6HtV)%h7e5HiZv3?Le`wF$ zinh*3)q%QAMNCFxI&H6_GH%PgQF`JSLMwAY+X%Qs(!^97S1IS2CRQD8tYp{;PMBQf zDr6=Ik$c+20^4d40e&>;BZ+ZX4b&V>qVDB&3&t)75% z`b>Gfl7tB4$G0`=hvKJ)=jNmpQkJPlW1F_Cg)D0}I8lE7Kn|-f#TODroW>{?1WQsR zp3F_=!!0EZu5j^~{1u}il)vH8DwCWrEg+C%@TI znRFB{AT24$87kl!wdPWG&8j}RV!68HGo-gs21F=rU5#QP3ofT-Pyu!zQbd&MC#qpvA||rSy{dS!+FTnT`_10@$+w`x zSYF+Oa?@U;pqIM?#Lr$`d@GJhsT4ANgy#>{Td;F-&+UVl_^_g&rV4bwBx(Tssnf)od)eThPnDT~iGOnOArRv#D zRZ&e*e>7#b7!D%ZNf%j}$Ba(3z$VQsktR|e>)RFV=~c4%&QG>@~B^@-!iK5vp5 zlC1fcSqC#23h14M7t5H6D5jN^=IbIWi}Q)jSCf3RMmCS1IXMbh58aRo;$aOF(ZuEe z4jY})fH+G0u2#f83#$R`6xhMnq8v3WkM&WX4hwR>(@{1^N5z<#pK>nL-g6y}9T(d= z)Pw?eolXylTIob5H2CSBr*pwKA(~?f4y!ei;gH{%}! zvH5(yH{+jd!&`eZ{-Npl&9~f?tz4UlJs^Z^!52$GztAN?*G_7`nDYTd$wilu@UHmR zFQ-<}&%5AIVBh4z0&#>@xQ~iJptVCq~U51JPK~tR;Cse|0phcx!bKSoW8P`J+kO4&GZ5*pK0#Q)7WbY6RkM(AcT`vrW zI(xVA&B5t$O0txr9wVjQD%H`t4Ep%G6l=}*nw)k1L|f-JeI(^}Jzw_3^>pmt68gN7 zTTcFL6;U`cJW3hx9<9lHd$afU7CSwt3gdtNG-Vk2<-d-*MZerysb|BBgik-c?x_2Y zvf`)ldqug6VX|kSTpp_Pw9UwuE6aB46%*mq^#=sXN}hd4|NTgB_L1w|CW^E-8;29S zX?A4oM2Bi)*OIPia$S-iTLa5P+z%@{{S5BB<>zmtCChgkOUv6=JCz5|TsK&qefCu5 zODJc#K0Rx;CF%&X?BmxSZigm?=hMR%k4jPKxkYvPnW~`EI`5Alb7MvlkoY z#LLO9fW?8UAO^>xf-@Vk6AmTdm&ik$@2JEH*`UG?ex!vSXh~C zTSKQ5-8m@VU}DKo#dIcN`jVFQE4|rQt_zsX?jtaRQ2>j&)O;U2_Uyw5At|R-_B9Q~ z^q*Uoz#RxE@`lC3;#VMXI}Tq!708zDN^QhkuiL@#&_UH#DKDr)X8GLdCVT$cJe?o* zwMxl-iaIHil(B_RX}hHWki6*CkYNK&lvrG8#^iib^72AB6etvL&Fwq*Bz-662tP04 zy+W8$%$^c_V4>ftPmL^A>6gUf)^ET*Ihl0!8-C(bq!ahd0wYKSWnYGcg7515FyNIj zhLa{E8Sd7H{KI$_K=JA6;iHAE%kRs=-MTXc8%YM?W$)z zjf*ucA{SZXs-Rn}`v2D_Vt0XElqSTB!S#5QLsF^Obj4 z(ALdsXO#d&g&oo^yf^^?#EbEIW%*Ywyajzm31M)KwRgUCX@5S{@jca2 zuDv|{veuuM7U?vh3R)0+8x;70Se}tcX}4)%n`Fn0>Du%D@ot>V0pME4r{Rz+)j==S z=7V7F8J*4xX4hWhuaLc{Mf^~n{qQ>GGpPB5xnxxFeFfv>>jJx*1#b7c8CU~lUYmdG zlxet*ZOQkA1Ps!rfkD?;py6xzdt@(Z=J~cP-?l#bAdn|@;7QkqUO(#eOJv`lk6L}D z>4OI!RwZv8ft3UBmYcRQ{FZGQ|H$Nx1hQ@0HBH`zQfn{Z6Jx@#%Fc`}svZZOS`>q$ z4<5@%Msjh(_Y4hzMdg5zYJtekw;FS(vg(g?bQOppYA1J_;hKJzE~T`t@tO}wg6&eQ z&vo=7Th`GKBEWr&qp8PyaTI_l;;FilU90}?j?d$#ArQgST5T+Td!25orj8JU;Gxo2 zJNgw^VNZjt&K%{;WyK&1){#<&h@WG@Cd6c#?d*_NmkZ^$etCeivBjh?F}ip!*tC-OFKBF zk19tWcX#c#Wh7h(x_H}Q_cz9dYzUeluFrK2TipWc=TsMo@nGR?NY9WVn}e_TBc0uZ z1wW^I4(DC$j;4f+nCx)J(^FafbW-c@gxSJRSu3KG8Lp_dRoPxVl>1xKYtl>lS^~s6 z^G|aZa%yetAVvNMxn8kwdPyk?W?2F*Ic zQi-Yi%r;HJ2&-fDs^Z<+w&dqPxR2W1pvWqjZTg1upttC5d}&j5>$dewE`x#9R2X5F z?awDns;0_&bX^e7D1Vrfz4?iDwo{UcM1S1rrWfbOsYEede)f3~-Wu!kZX zNxHDtZ`tMr{Yu52y>_UauxSljui2J=tO8PLGk1$o$$i^00M@Pr(^n_Yzw2--oOn6! z!F7EW*K={~?xvXCw(kCuZZR&qN&!8;nRH9I$`v@xdFpGWX}eu$lyA;nbG_ZXH>Vpc z1x2=6>E;gS(4NV&J?nO~kKL13s7c?h{2{|v+ML!n(lvU_N3fkb2RJAz>BHg(&De7A zU~o!1UioJ7lKiuluj@Nc6y}a;m}`S23V{X()@p9?z1u>bD%`lFZpY8C$e1#9ovzJ( zMx#z^EepDPIXNFymqED8C^G4NG`$eJsVFuulT@l|Jb2ji#dh`t@A>ZVQ0lSuK z5~;lt`eP@Pf&$lxQo#bbYtvSk3L+{(4z1BxY%CrLZKWefTZi@IY1T<8gN5zOB@og; zRQ#7Ztef1S(~ed3<7c_G<{D>}>mn=+3ZmaBEp2|8b478bW7h-@;&4pgE|BDXp$Ne` zF(zapRnj^6v|u9LT)e;R#K1A;iM&$rMe~Ls{_8{ts}9aE_XE0W>3)NVonXlh<5lCI z#7rtjQRbm#;icF)D>EbC zOj47I_TRmYnt5ZmLa5$ZLI)#howtTriSD~8KM_mSpgxz+g_(-7yW?r5qjoxY4@4`| zzcw7+mhq37?xB#!w(Yo(J($-kvoM-6@X-U z)i}`D=*IfWu+dMceZfiKZ7C~U_909Q22y+G3y{>1o%%$lAB<%oUpwToU!Q32d8BmJ zDLj4_6GHF@ccQ+Z{&{$NQ!!fs$^klH`S9XeETtKexZ+L$?8H&(wh${DDQ zE!!k?!CzBu@EcrhdSn|(4?6?C8oQ@SIH7T-K!obk60l+`QgtHHPlJ;ZrV+WsI3%`T`In!V@-4XzaPiD-W_7&}4% zsbQ|EOK2_Fy_*U-^lRym{z9XHKIF}%Ri&r+YIrlL%9B~e6!3s&07=-@gnY~nv(A>{ zi=Dj$O?&LaKZ~7Mk7gDgXN=fGznN1lrZ%HU#GKICYQ2pJ(E!ejR_Gd7BEO90Q>^6 z*1@h^Yw=ONW^Mtl)Dr3%r=?ZCK-iMOVc`PHsO%B6<+AA-2YsyNR|fnWPNMG9m3eMk zc5YkMDdkI>);OhnX_GmnJg`1Fu}h%~yWBG@{9%(zkAQe_mYY+Olwb#C@9G05R9C?> zgt#h}TT8BFXaqdNgYBsn+bS^J@YQ?B7!BMTvPu5hxEmg%v5kMKYdO1Z&05a#GF~|P z4;AQF@}1fI`pa6IT)~1)G{jo+yleQd|Av=&bCJviRO-%(C&#P?mj5EM6e+J<&BJT; zVO!c!3x$-AI%b-jY;AER)$NVfR#X@yhhvB51F2nqm|B z%j_FfMxkoV%lii_n~a~yz`E%>YN%;u37>1u!g&XKlR3@GVBKg+ZPJa^pb7}7Qmb*t z%GJHbq=?C*`p&R9p&$%->L*ZpWm~>{0{l8!X>0RM%JO}dm@nz5sxwP&Erzm;UYT{4 z4=5jOw5aa(Dd+nKjaQI%;d~G|qSx7u@J@ZY(j~0by_5J?2X~4* z1RSjW3MF!^F&U#CP=Tj(w6)jQCPHZON@Jovr-gK&Js7DnBsAm&{oD?C%;Fjnvglr2 z=mz{m*>eZ%8_^^iMO)MNl(S&KTdvLP!)ib;txQ?DR!$3}-wQh$2xd_nv;L=uC7x6u z3&>BZAd9sET({~hz#-XQiv@spFKsCe65nN3xV}P44lbiwuQt~l`cr!WLe(eE?F~ishBi*-o>`F7#z6D%7)XuR^j=o z0(S_P7n7S-eIH3L7db5+bogpFcfnP8T3#|pQ$n;73z($hkp&_M&*;7+4$kbWx|gaP z2~bVMcP5VC-@G`i$lVHOcWdz}l#lIe7=#z4pp~$r^LhUnoVWBTa;l++pBLiYloQAi z!RMT0DI}Gqd=uEpLAoO3gcNP4QO%`4GJy7y1~F=O!`Y*^Z|fZh=>e}!&4+t&kf?#? zs zy(S`omk?MUYkTkUwSvv#F4*WlMNdyp_QbZHUUq9Ztz88Ws^b;e2X4Ym{&fcrruGd~ z&3k>3-M)eL*H_v%5jdt_iYP{|X0KY;DBkgbZN*uj z%RaQNtQq?O>-p&o{j?$u^Z1c&*hUnLt>?*Ed|NdRh=<=_-v6MtP`}U8AIdsvFTxeZ zpF&IAXKDpzqxP^GWTa5}yvUx}ma6@@=?us14H?m}8nkiPsu6%_r{_Z9b8^FFd{h-V z_pjN&{kDG}w{`2!KDmv5Y-ey$3@C!3wXv)?jlwoy+lG8l8xWfr}?m>kAd!`n=)RH+E)U z5Nh%C>?`i}OQGAZRJ#3=b-RIc#^|&utS(;93EoU|WGk+YNAL%HtG zLVlHvcLlF(=#GX9Y-kHF;*iUaOPl*~;a%5&8}xJczt)tZw)f5BXI*L-sC>>OHHQ(KtAIl7~H8Yzx+?II9+WcEdS zSB5(aP1Ldl$2SximdQPQ4Vx8`)wPwfm{y*BxMet_339i@<>l1FRy3$GpnWKc-)CKv zc_ID|U#-M>@m`uJomEPyW!5^N;~l2=L?>dZ8+<5aFk}spY*;c>Ev&eyJnJD)fNO%R zN+fC6T-=qD{~1e@mK`5^Z#NdA?1#+BbLvBk#l=RWEL~9r*x1-Q$?m<%tO0=_@jEm~ zO-wmjhs%<$o8C5LT?Fq;35vp{g+q0c9|DKoQ(X1GglJ4z)+GBNU_*W2$Ydh5TMDl% z!piD)7d8lJf?)!In~;$RTth8we3zyjGc>YX3d?R{G=dMR57KX3|Lo?T!$REQ#TFa=(a*;a;|ZEmnOZ9=i&(=Z~J;Q$KKO@$AY4&-2495K_!H zEX9&N1@WW7b~w>T(MS<+rs@-hmIJ$t*`KWcpM905#N)y;VOEOlh3Svl5IONbyK5 zlB42=Pj*zGqEJt`%?x>3@w1d2R2VI!kE>lDxR-;&2r40TOX(pS>>2W^GYV|S%a5)~ z3zD96c8Zw;h=(2^EmihgHHYf^G;wv(-x)-QQ>k&NZA>e;7{RkX2gzjji~C_IWs(dJ+1J~cyXV)k-Os}Uz@9(9 z&YTCz@w-eK9}U^cKeQolUl4#$bobi!?3>1WdRKxzt69ig4V+$cJu>NYg)u*URl{~Wr#@`+%xLpAgEft;I*i|W#mv~+Ld@UW*4q`;*6MC|xv7)b0B6BQa;=kYH(f>`ko}NO z7F1aTOa&$6zZ=#qT<_={aQD=eB27`~0>_bE4a??V-$_*wlTM0v+8|C@GzOm}t(Chd z?>-eH15m}9My+z;1pKVf9xgnm7}45-@yTIOL=LfrJLfl^B+muV9tXKag9XPp-+$LxsO?<38&s6AW&Y~64a{D?( z&W+`PaKVGYA;_kT*BGQSOoJ?5W98T976Qb!i<|pdFuIR3?igvM`f@#cAV0eTRX5`$ z%(J+&kXRW9No-L9?9vLVLAa5|^q}?{#z7h|-2@?SrG~{}L5XXa3D*0?l}j^dI7o{C z$TytOet&&4hGkBr+$*K)$FF#m__b%EX1N)LE71*^M>n)cI4zlxs#i%>$`z=G;IhC{ z`?+!73K+LxscM4>&_X4Uvz@`duHGUKR2nhsW3H-Jy`qyGH%^ohtqnbm{BUiU{7P}( z?Lze&`;k-ZN^MY(%RFkfTTmdFE)M`Po`F;8$%JE{@a$qTNgjsQZeeAK)Agve z*tC;Zh*pHq1AC>@Ii)CMhDAy%m#ssky{R}RM#@yaP%ChbhgHA z<)%XU&$KV4w~F5Pu5Yvl){E;K`3}GW%DOr2`De|FZ9vAOzIqmYaZlCGTD2@* z$|_$&A?WH=>eL!9QT?j?(XRV7#!6jhAUx$OzhF64L8?T97IE|`cpK)S`!|rm8e2TS04wXC%0ZH5I z_JDZiBR15B)Cor-b+D=U;IM+rxz|!O7W8IT_8o9$rU8$Wcwj#;^Xjk z5x45o(3v!t0BI#t*-e>#OwhOg*puDpll79Az}}rZ;XM1K?d7jc{s-ls^+)f{yYf3W zX50E+sfKnfhjmL||E>nfz_AzYxTpe#1M^V@+uEJ9vBj8(bo>ElU9TjS-`b~aKbS8r zHNLVjr(9OM_SW4Ilz9)KU|PW^xAocfBiVHT@sYRo_3UpfyoJ=bftv1NW#K_#iz`U6%m19t zpGA9~_smW|y8$Or`x$-ip%o(6Jpp(Nz3c-18vRmuX4z|A@z&hY=gRZFeWmjJj?T?- zDEA+`ihl>@=qZD7KTCItoeO(%xB$|@AfPSKeov88GRoAnXZ77Bm4_%lfbJbY81W9r z^}(LL{K@uB>iQjfv!`vr8K~2`aZh0jzL$01a7SNuC(9B=$I9ZbrJP?z!5vKw5Db^X zvx35LvDHlHx(kh8CS_p!q0~G0S9$TsnjhOg_F9r@m<`1VE5_9R(x|m{cD|8NSru*y z?d_l7_9}v-8gl5HNQkByH4TiU&Rj(f1xD0)Z84(!mNo+&+#ISyEC5&Fw?6@Zk+Y_L zntl)uyVR{BRek5Z&BeD-j&`#vZc0sqbg+_Ak|k0i5Mq&7a+FbgbK>}9%N%c%it%k8 zhLqhDblP@U+&K&<71TPGh7ooP8bAt+8X|%JSrJ0G`N`qn!j#xF?;{B*yL?y}%y^Z| ztp@0O+y?9)urkcmFB`aX|0`@57hgT6+R37sRhJvPI&`lo7u%|4qM8bUc=$X_I$LooynRoZIP z#e41T3Jb4W9<8Q^(nJudVc;}CM>a{mE8cQ;!u-FR5cMa#t|#sfr*cX~mEh({I(J3M%>+dI_0Ch)xp(U@I$ z@XZq%y0RjA+*9weaV6b7Cb1e7ts}_<=}i-!*iREGgcp=DNNkQ|i0w_Ov!b@M+}Y7# z!c!>Ei)~v@>Y*^@tBQY77N$hD*H3H)vY?g7(;QMsLKSZ)`}+l3!tSAvse*O$sKuv6woX!k!+|(x` z9}FO_tn#~|-SF~L#mCCerR~4ww_~ZGCF4U--D88|*yfH`nTdJ=9w;;**^87P-m__zY z_`{XwKJ=R1E^B5WV0O(Czrl@QksZ;UeF{S-cuyJ;2W6B+Ni_h|t@jq5Lt#T#1aXa}30+>CD&-tMiafSr`SxXOhF zQP~O=(qAnc^^z#q8ivmuNOr`uRdaKLwU!M1dId(r9e?o~^UnMwqHq<*yTd5gSXD!N zSeh@fhg7=8tu5iK?a(#Z#u+a*;I6g4zKv<;mMD4cv`X340dyib;Ep?OohbF*WdI_M zR7wFJ-i%Z@8Y4pq$B^ADjAr?Uezy4B;qq|AQyV6az(r0XVF+8|d@c2;j+$O9)?p2K zi*^?uTiZ`8xazkiEP@tVU0$<_>m7uC1XH@{`>-0IWeOI4sBK6Rid8C*C)VBep)n25 z(+w0aV197-%fz5*-jHOOImEZhqtC$gX66#u ziWB(zTx4*O`xDU-a8L2UO0!p4jXyeCFVuo`T@m$0ro-WME9z^j0$m80jJh6JFb>R# ziZ~Fip=ruzf5w}GfC8xL_A*A_1O{DBla3ohL>=h*N%UpV_1&2C)XX6We8m;R1h62n z-qp)1Z8T-lA#=(vDl_p>?sGZ11>R*Z{=7y7=fm$^@hij!+MS5vcfN&!*)k@E(lB_v z)C<6IKC#c^Aiz`z^`UwWnLjDo-^?m+;O%MeyF4&V3`7zkO0r*r(@xz z!_(8;9<6Mjrw2>lPI`McijbUrpNyT9_rVC%Q@%G6mcydl8KMkQ*H!AN-2c@RXdi1= zm@TeTetOzIpz<&qFfz^MXrYaqOk2F{b%8rswjIDhAkZAPH0*RKuE2ydYx~|X))tmU zzR^m;yZU;EgDU0XN@H%EIv1CN7K=!x#@rasJNl*O$-lF)RH0WRnhq&hf)4N*%37So zy(z!DZzwQ{sp+x4Y+ZgMP0#3^(jCyI831KbM_s$PNgB z{I%&zWU?d!Q(! z)P}7fi}0bI{K59N^7YNxiS$!a1@q0xzI>_659Nn9WlXTY3)yH2r4HG7yC`CEVMWVv zeCHW1X?F{WaB~3My@fY$kupu%(cte6DdW$vl{4UMF>j> zmK=hiBQCE|qEAB3DU$<0c8VIvIoaY3?ke(ka@WMibv|J^*Ila7rMO+=Nn1<$`q)@* ziq^iTU0KSHsbjM|%2DihVn*oD|;gvSntkXzv*hq^e>+KPT%< z)e`Uk2ogp+i`4h>mVlT2AUoG-ojDH-X&SnI+$f&O_Zv^EJX0)*8VkUvVGz1$y47SZf+Ga@^OK&35nY`Yww*3vP?Uq4)VN zx5a#4$hsBs^n?#ssJAk{{cFQYU&cRJ4(}`u_hqXcU-*5*2XEI0`qzec^kw|R2mSZ- zWsm(~;D5Xi_@4;yzo!fQk9WmpBS6)A*XvjGbh%rAxs9;Op!dZ3ogS|+G}UXXTi4ff zZMBVkEus!s@99|iusAIJd$siX*M_J2GX7!dAMbmjFZ+P~$!{O(IwL#ugCfgeRy#`C zxLdRaE^cI+=yXme#=~G~c9*>HXf^!%S&&uHvj@mPQB*NKe)HsBrS2?tOM%BCg za6lUuilM{$eY`J!F%O3|u{jAYXtI<;jp_7Lm8WnnrE=154o6+zmylAgsydtUQ4H)L z1mPo{6sfuxtZep7=L-{bSizEVEWQ2lKg?;+QTt>#49|8s44?eNbZ#gA)1mjzcIo}o z-FtsUr17&IC>#a_g+DJ8*1tANqIwxR+;mG~mC6%RRZO)5{ z^5v)xar51Ys(LUmNVuauRZ$KqWY&~na5iY5=1bN1&^fv0Au|U(F|Kl-uz|Ex6-gNq zk?hJydG&qYSwFKN2)6ul)p%>88+V0K`YwZ?Sr7SN}(5Q+l0?LJr#orl=k; zidm8ZML1v#2?n)fkqY3U`&(YdYp^kWA`EtJ!KGy(8n*23hUV)WBMk0coCwre0 zdW$d9T+zzwK$)G#jQW*{RCV%m+8ynxD01wJe#}jDTd?|=vu99u>Xvf!nC1&<&)ckE z=&hn%J*e&o9-AWPS#_MCdg}A6X&pVbX`Hah@$Gb#yqG;|yVv@3`;)Y}#+cILEhzUJ>3rsI%t|UqK zcsvN6mAmP_0t@sb8^GOpA_6R8v?G@@1~e!GqT$8a zOTqMHx83FC}e=+*BSUIZhpv;KA%*T(t@!VANSmwHMc4+D}C$a#;3 zWVjc&9jR?t+$1b`(8*PqTvp?X4^zqA?;froZWzc2WSQ4R$zTP0Tv$u!f0^&u*M;R^ zXGSG76_VLm#4Og;-^Q#!n1+lf@keQ?L2Rj8@m?_Fz8eJe%G`l_!`0|V1MSj-+Ss;@ zbliW^HBiHtCm^@SasAMozy?#o#JlgO{D|6yB^e$P4Oa%F6~NyPrV` zJoRt)^%C!(c2um*%Z+8LzZN_;Pg={UDzZsw0#}KXcyn=i5!L@Vfq$RKNmhYF3628U zce-}8b`i$*xx2^MB0IH>LrCm~o{WI^lP8y4-VT1*8wPV;&Q;8o_I4 zKsI;+HDS2uTzs>W4OvS@C9#~5EX4?RsN(Gib7r>wd2U;xS3I)Ym$G`Zp2y4K2<{}o zfVdjZMWGCL4SXKhXE)nodB0G4Kq%l7q(Xe5i4BS&>a0z>6G4h7z z*n-xu(q;q;dGZK%B!}*np1bU#!3mOFck)q=6fxx4OBeJSe#BQ9cNb|ZYfF?c)&V)u z1@7T!r1jK&$Efdlvy&f!D6ctanRLql92!}Wq8vA8?+J$Q8{vdoN+aD3F+m`};L8^M z@a=PmnT|b|I>x#Kp%1YCG>^nXe=Kx$k(38>7Kqc)8DEN3)z`WjB(fQkF~uR z)m!dZRlam6fO&6pOoJPHcW4txoX_B}mQJdj1X3@?0|v8ocTTJ*d+QwBybxB2)U}wj z!qTM%kJb(o(g4z3^Q!KV(jz89#nKE6&oS!($$K2gU#a6Lr{B|p9@h=+|t7PJ@LI)tW$U?XobID z(J6di0{lxo*^7O>`@;Q0B+A9rwHHQjw5;O`d^%<;hsm)#=6Axa5&Ezujd?Ig+5!>A zW$Y;@Pt5bfF%?3YhC3i^J&ts&@|us7v;CZ$w(l7O+2{{8()pA!JS2(_8N)Z=#d$d7 zY-k&-1lCBTMO{YfsW@mA3&3;x-&xM^A9DRuK~1L#U*MG%QDp39@BDmo_=x^W^;2LM zi-D7k=4JBjEG{nR`_K##`!Sf0O(~Lv(re0>p<~3GQV{jdHHd8QU3vZM2<>Lcm-pqB z@3ZWsSB#JO_QG;0ZP{LigV0u~ZoO&ynrMqn+b!B+)ApW20bgSzV{`Xe$@{Rv)4?gA z=ohD)KhcrfYyYU2k>ys1+<*J#QV)hgdk5w7EF;(K^eTK-(1Xd!g9=P^6VYaQwI@Fw z$31uu%4&@)jQE@^yqN{ZbX6A%pQEFB_&xx%S{C<3bD!SD@~fmaA- z13`1acHwe6i;ESyl~JkT|z3`O*P<2 z(gf@ayfFw5vgE~w(}z``SBuKz&IdcvmkLr1WK;#@Hu${`f|XHEsl1#9j_Orow%vWB zu5;!iZ!CT!wjl0(MfQs7j+A33@;aVllk;VO)yu5}=eKZerM{p(#<0Mp#LmnMkkiLf z$T^afTQIyXLP;3_){&?O$P#)GmE~!0Q?KE@bs=4#0!f!{J!s&DCm48*VPp1qk=?Pq zcOslLu18Wd2-C-@;)8(MuVOwssnWyWReNJPNO{)om$7>kcb*Ysu&ZP!K~nVsKY7ot zql94730BkX`4_`OSMQ5K5{-r~22&5%_ObyocQ!8J+oxU*Z_htgK9?OOz&f2k2v~f% zc}5ufOKNgGlY>Fnp=E0A-Jbtm#fCXhnMVLis}W)S6;F+43j}=_geSMz!J*u}JtxW~ zJ*F=pG3-$$?rSWg z>tzNjuovZ8%4f~ishYKX7g@|_iD9Xu>pV2M zcRnWS@5M?cgJmrS4hf0GpBS@5HzLgF`C_nbxOlix5U>4iu;@{b#nsKj`cI?(unxk- zLz3mPiw7_uY%Ctg1;Q)prbZ6z8Ks-KVgk?=w1jYFk+F-Z$iodAPsze1*+hLTbDq<( zMA<1)1ya!L58tsukicwH&$$4ge-yMy2w9r59kgWY)1)y4$ONTDD@`&}&dSE*W4MUS z&b`1Z;tIJ2!|ga&OWF%di=!Yk4KN`E#sr$(C0!S!qeo9wW(#t2?`H0CG>0=R3=Cz| z4@x1KBvVuG2(Gx%0jkN1i1yQ#d!@2gH+hAx_-;@bl(Vm_7~F)3dku1?KNY(W;&2mF zpH#6V(#1%7f&PJ4RoTw3tTPQWl2Q}+QJPGTSjH9k;xccE4rE>@y$E5`7TtSuush)z zPW{tpRkHv+<=ja;O8}d=J|#|yIV~;sotbg89B?3tt0rrrjexH1onth6*Hm^%z0z4! z5!`6|!nsn~3dyaeC;b*UaHc`>N%WH|^HR>&cHyQwbr}z($BX@EglO}PBxvqDN$OJE zllr4zT9VuyV+aAO`Ab`>w09^9Z6OXJUn%mPy8?A7vIn;3PvqtBE-ws)@#PI&866(O z#vZImCQcXVV9mxIygA(55*a!MmBUe1i=k4z%DL-ZW!dERociM?F$7Ck^aH4f9!hX= zy)Wij?M&k>q+v!b`6C@@L$(_wF6DvI7W~nUv@xrVfdi^0^G7>Sk?nk=nQK%)ByJI9 zmmXLbbq{so&L1`MW`p^TWgU;li#(o_HeE*>%9^@m5j*K*MWwR4A_36Hs(ET`^iUM>Xs8a0~JOAL>AXnQ_)4ZJ1!3H}eW3f75VTsIy=>ZWF8x@v4s zDd2I$u%>WM1GvDu1IBP}^`$Mj69MK;CK&UrNC6x>Fih_F( zXnDMN`}XYZ>q5TU=`dG9#koIS00bOaaM3+C=lg!{=XC?lPH_>!5mFD}D(L2@5*4m% z5V6X9A3!umx!y?SjpE_Yht!YZud5&{$KgO&p|u~4vTEb$l&$@JpMLi^-O0IkY|nRK zLZQS)KB#ux)s);Uo3nSUyF&59Ud%iTjmaik4X?p|UZR{dx}{6YGaoH2+xZUa&MY>o zE&WrC*||zXmJOd>ZY+_avh1oqBxS9#&;5k;EL9tJ`f^p9vH{Z4&%(>0`vkm; z#xFm%J+Iw6OFi=uWnHaZ9rv0S9nGuVnkk9!*!JH2=<3NSxjaKiT?}c8e?}zCur;4uY zTlyl7gi#&cH-)bg3tw`e0>Z}S94+JFVRa}KiAvR(MRF2Ju47i3F>1OPqFM?`lhY52 z|Ip;>yG||o>cR7$QW6s7qc>j)Pld1yOn_iFA)<)t57h_oXTU4t@ZJ{ zE`YdXfFj=4W`2@7+q>BXzZBv9zuK__qK$YAR8~G2LX&(~KQtQDz6jsPin_c^&z>C;Jm4x#PM^eL&0Zc^=>|%$?B@NJp(TOxrmP~4)u4nDWOV17~XmZ zvkVNOxkO*H{A1u1#^Pb3uc;J9ha+-Tt3*7acUV@R>1&}?S{dM{&h6Y>&;(S!D_ks2 z-$jy9`SzEQhxeXdy5W2L-t9e6!Au?nl8>b1N)Im#N9Y7I{>QUYWWsIIz zzf>v)DW9Td4cp8De*7WVH8(&Y!&35~{J6N%1T&QpMipi(7NE3^)X`8jn=2;Haudv) zBY!zbgk}422Mj2_h*6_Hpglv|gNqoH{wYnzmqUT`{G^pK+Y|aRbTCq*)T85WJX1Fn z@6&g)@P{OPGe@BITgI~PPm!g+sUoml8_hgAEr-t!JDpk?H@~Le=ME-v2=!rQ@V8h zyOGX5TY4GcgN)T=dDV?OM8c~&gr~%-7|4}{;@6ZVMDlwpQ$Qdlnpv@NlXLgZHs%N~ z!e3(GE$N-lZ_j^Jb()ABH_eG;u$Foo3Laa*Zz8o*Q!sgIRkeTpVj&;clD~5#KrSnk z?0cO6q4NCvE2eK>2v+iED^~I^n1s^*y)D_Z{I!9{FImgZuWZl0@`^{uoPge)mjv`{ zueg)v0+`QNz@)9>O8WJ+`rWSsHA?EQuebU5;rZsXM{Qc%DyOM{>R_YI+Poin3CyYP z(@u(!fEM50k{^gW6%plmE#q_Bvv012r0w1?9l>!D9WRmzYLyagLEZw_2o{Tl%CK{^ z_6Cs128`$xJvw7tFLHxQjaV$MyP}!LU&`u!X|Dd za69e*+2H~yAb?7nULOuGCyZ*Lpn8ErY8LkpvSB*TfN_d2b+bG6TC0abr#LpOTJFPo zOy!BeT((6bN|Kb0!5k=~TEw@IYEH|b3n3y)XR%Zx0rQGW=wM4k7DENO_N!d?yLdnT z5by=j9HG*(Evt|Ea$4_u7n{Sg7tIWgT;T*Xl)qkca1 zI_hy0AzJyC;s+K6hCEA@jK!)_I8)in5pWUjHEA-LTR~7FFklx=H=IVj;gavSp<=<` zP#S=c-K`m7`T~_7TRdll@+x=BE(<%ufuJ)L6qKfm>s1P3dvQxXc0U7Qj=>#aYIP{| z!@V)!)%d9Uyrzcqce+E_Mt7oaXka)fYU7LnFe}eyAToslnyG|A>vw057NbT zCU>20>_TomRDPfWD``N%CHZQ*u4W3~N>gW8PgT>#h7c(~zm5+}QW-}b1gd?FWB$GA zq;X2LfKAAp*#RO%>992ILIB&QZ8C(tgT>OXl-+jdYYNxb#GaBCx-Q93p0mQD)_Da}QR zPz)==W)4-H>A2eF(7Mr{LEqcnKY$f46mHpN#g1pEP7q%((@+NLGJ6_Z8QPA;S|t6u z;L=Ek(8`|+!7A@5cBho3`P*;Wp;ssK?{CKni2X0)kF41J;`SeIe`$N(zo~y)|1JHu z_TSc@y|}%9-$fO-8E>s(&YT~>CWWgP3~6i3My101!nhKylfY8s`}k48hrU!rBK%em zf5HELxPDj1y(^VN8^>y-?hjc%XKA_L8$vHHt>4Qb?`8RF?Bjs-F?O}R2i&CAo6>&o zL5tm*ZSAwq-{22n_)Y77Jmen}9_Iz`CcDS~tX9uh|Jv(IE(zAosm!2KA?djQp>rc-P-7V?a z!FyGDcKBW$pI_(j?MTlK->vD{;rog7?C||$dUp7Bre}xmw)E`q{Zx8(_4&VOt?C{-{o*lklOwSJAFQsRP??8HX`0h^64&TA_?C||^eEvm;Zzw%G zeD|bhhwoR?v%~kR>Dl2sl%5^F!|B=KJCdFqzN6{c;TulR4&Sl({7Vksz3JKEdqaA5 z_>QM%hi@c3JAA*Eo*lk7re}xmM0$4kPNrvv?^Jqr_)f>?0}kJ4dUp8kOV1A9ne^=N zolVaU-&lHf_|BzghwuLM?C`xQJv)5o)3d|(KzzR2;rsW}v%~l1^z86Gn4TTJhtjjd z_ovgd!#AFu9lnY5?C?#dXNT`XdUp7xvfYtBJAl(=gG1OT8yv)oWrM?bscdi{XUYbL za<*)6FyB%(IGmTu1_yMmY;Z{DQ$x5)7Rm;Pbg^u3NSDe6hxDywgG1UZ8ywPB+2D{a zmkkc-O4;C$K3q09q*qcyxKyr|4G!sQ+2D}At!!{e|4iB7kUmm2IHYec8ywPqziec9MX4|4G!sJWrIWdAC(Ob>7Oeb9MX4{4G!t! zWrIWd=gS6%^w(2ExM<#8HaMhDlnoB)e_S>=q<^7oa7dpl8ywR2lnoB)Uo0CO(*LAv za7dpj8ywR2riO6k{HJAuL;4$KgG2hhvcVyJx@>Sr|5DlDkpAVe!6AKr+2D|VplonR z|Fg2eA^j_2H<|4(V@|4G!st%La$^BV~g_`k$8#4(WeUHaMgo zEgKxtXHrABhW^X4!6E&tWrIWdv9iG-{dn2nkp5R?gG2h)$_9t@6J>)#`pL4vA^q!R zgG2gXr-pDLeX4A5NIzXRIHdng+2D}=w`GGv`kAu9A^mLG;E?`zWrIWdH_8Tw^mAo{ zL;CsD5U!^GzHD$v|7O|Xkp6br;E;ZyY;Z{bR@vZ?{tsn?L;5>qgG2gk+2D}=k7a{H z`ai{n*X{E=>WgKAL;9t%!6E(IWrIWdcghBb^vh*~L;97n!6E&h%La$^@0JY?=~v4J zhxBWyA>2`auWWEg|9;uvkp6Dj;E+C7HaMjJOWEL%{)4i?A^nGCgG2iDvcVz!U&{uE z^nXhY;g0&fvcVyJzHD$v|M#-NA^k^XgG2g_vcVz!X4&A7{vTz7L;8=)28Z-pWrIWd z?bHzNsQHaMjJylikt|3%s0kiJ+pIHdn?+2D}=%d){C{XyB_kp3_= zggfeAl?@K*|5r9Rq(3Sf9MYG{28Z-tmkkc-zsa&~>+3!SUH5@5XsR(_Y7;a-Q;neW zpqxQ%?BGE+kYu;4-_1Vn#yvs@tsi$84ceDm`+H`B?i=;hLd&C1NyulJktVPik(FVr z{3WRR0~kNb_XYKMD5P;)f0yzAyOV}%zX1^QCk7CHf9F|KgyrGChjtzI_}V-#He|hr zvHbm5|MzI|f|Z8#QhXtlx2l$Pi-)ox%_>I+lc$YyHUkyIIQEzQ2+3JT5&&?$O zS|>2F+4zS+1_QujF=_)iKwelS0l*%E05xnCGzx3taCph;7!9ri;%W z-=hZNHU3q+kJJcDa^5#cLv~$v+%&y6N@}8b>t&G$<*u~OIUdD5d99pRnT=E$`?w(9 z@4)=zlG%^aTI0&;ra?6G${eOdmwW0vz1T*c_4f;E(rvV@ZWTyu3$j5eVg&szeylYT zDam>^5h@{%+uIX$s;*+MA&)1kl3mA=EY%ZOB-lATdx<0-c?JzCe!u2V z@!hsLQ)Y9H3Vbmum)69=pCN-K*1erpw6v9H$5Bjvu;x!O!~n&6M4`4$>)Gvj?bPY9 zV+UB`C3_byhL?YY@feE}XpiNIIAsE86}R9n$5@SIm71Znv_p`yiv zU=8xXTP)}5-cEGF7!EZnUB*}k2*Q^W4m{O^CM*S9eb5@l7MD2vB3%3Ky1B>(?#Oj4 zmV{py8p~H27(rFgjhAWz#DZZ^U|hG=Le7OQdu;6|YY*eljLnKAGwg1(p3>hPKnx`) zA{g0yc?}{F#_&$U633Ws<&{(jo0kCQaGF!If`^u{Hwe^_%D~|CEX2ohPo~#mvLqDP zJ2fYRpY6vSFj+BSRycSR&`!C^Gz1sR6p45*;d?EQgV`2IffuH~m9~p{xhDcaG>uro zPkHq!Gq!cW;>VGxXD9tIlh|#gVb(zntxSuxi2;`JhzO3K|3ODGyC?Tdl)0%c5+mUW z0j)~0u!m07jc=@dKpkMKxgD^I?8P>Y?H=UJo-E6-MHXo}!ouN?9+GHsP24ZML@{c`>I32dn$+VG?q4?er?73WEly^Qw`^_Fv>I*@7KTXOygoW z7Edvx7TyXk+xpqT4d0VVKo0B}{3mQ9;&&4=G*6ImYNB4d7dqCc4NNyKPOi)??@_gB zR;E5t4mj4FC5|k9n`ewkt@oE7GcXMD{(%yCI&7e!4w|6_8*{NX5xb3$9A66xw|ir1 zMb2TPY%mMGR}1YIvtI`MR9n(->Qd`&q`02Hx5&qK?la8ui@kOD<{#!8HooJb3>(g` zJ@d8v)&C~^?{9tQCx1H2w?6sYZBL%hU;SH4_uTvserxIT`PS@x|MFKJO0WG**q-?2 zLv#P?%jwORc(c93{HE+(XWp{>>To?Dvd?tsebwtu)qbve{X1jPI_QaY?F{Kco#tc{ ziros_3A_bSohNVJmt{kAHERDaK58^E+U^6l!9oP8UST}y2W%}w(F}jMhPjA^v(cBP zq^!1tkp%bN-~QEOC-lzW`P+B={|9_x|pA{XO%x-~F|}|7SP;Ee-Zphc-3${K-zh9Pe1#yzy7Dc_oDjzYl9np z<2Qe0{vN^bxeq-4qW>*Gbwn|gLQDzFz;wv(;U3v7$t@Uy|ecLpK5 zTlAVoZak&N_Er9wR_m?<_gYNN&xrZLvw^bC1gpUa&|SD^t%sTjS-p0Km}8FLZ0k;u zYDkR$j++&@6~!f~8nk#^ehu)@nJ3H!yDZtQvJ8R=NVYgl9~dFc$YM{#&+PIgBzKcp4x;B zIUY{l9kl~@>PpmG8rZpLBAPuCX@VMXx;KXH$8hX)DC?k1mhV<32coRzmnwhu^qyM0 zLI$>)UeW)GCu>K&g0m-u?#_$u9-f^(x5RO57|Aa_1v~7CftKSSHRKiUD!mhMgX!9I zel`CHGh|Cz{)Sr7PL9%)wK{-SeV{Rm$$GY zuZ>}5ujNh(9VI;U-2{)7$Vs;Zl#8mkiii#2Vhr=Z;tE9>W{8%9r-+$fYwica7R}Ak zvH7K#=ggJG=H-}E8hC&rvT)*;>BGyb_{dtRdaY5v#61h&czC5bIVk)N?8XQ2++HEV zlqu3x03ImAWlV3&O5)V2XB+yDOkQZ@_V3|=V@r!uGsX?IZR=RtR^o{%x@@>pAB;(B z!SFnLtM1OZju$6A_&Lxi*!N_Jq83*BC%#5)Cwnj;=9-~4Y zwOe?(CSvG_ix0zgh?A(&YRFMQ9=z zBKsnHLBIGN6$bn;IwEuZocsY4LiM)EbF5_ao+3DsRj8$s!;_<|F6r&$;Rn(P&`R=h zuilzdM|^b&MFHhi*#Kd&)iG!d)@I16&Bb7a;pd3x6daPb$j)UErh#e+)#zqmZkBA~ z`e2n7-foBuj9EHi11**M64*Hlkr(ndu0mE+AT~{o^|0x~!*Wc?18b!;wb=`n=E_el z3nA&y_)>Ei3`Y%FesWUxk(SL*C#tVk59+?NjZ2E3 z2z0w7C%!ivd(k|EffatOun#&gA%wH!*jTvwK$mrvCu&Yc=Qc4qwO=~HLN&YU|s zHgfvZ_}OD`IC<>U*!YQKr`|Aje4?Ixw|1ISVLK&C zN1%Kiy%Io5j)znscPALcQ8ydQ6a*IGp4f*-<}8VIvY>MSIkHo+E0BQUbDAMomDbSo zV{aE7Gb)%uCke^ZitCkVqq3yRu=wTCa%~Is7-=-EMA^mtq+bY;P4JLP(s}7 zF?#M{na9Ynfi?i8i;L6)Q*&f_5gQT2Sg5EKP%tds69_VWPMk&4GJz%uQI0!huajA> zS|7ua9-bk2x%;VPq3B$sED%Az$?GQ^C+}}wEHNw3RykPxn!k3#-1KXK*_)iZGPx?> zU}}vmsjLsZPD4Oh+jJcZxzvE~DSzFTvqPZJv?dEPDy-p_5$6PnT2Ky#>Dqu_IMa)Y zz2Ie4R{}fkKXb40<)S{_Q_n_n(MkI9h?prmJzpXL3v|@y$kCSzOlm` zmxFj%hey$(fD)cTfV1H&{^AAlGK)MT&7B36*$%CS?+jcDiHF4a(XVY7=h3(VWlm=Q zTbE~*O=xfpaHKp8xs|ywp&?6=q2e2{7hyH)wG&KD9DdaQ?f8eaZIZuMJ$>~W ziF2A3HDM<^l2IQ{`J9Q}N#eyPxJ!dZ!!TLbLHprZRosi+cBnA5;?N&%EYe$uIB=f{ z^T6NAEvADjOpZ%p8^x|wOO&xE6Bw+}JTYl@+>j}e9yW5fF}nB!`)#y#=)Kn(+UT#1 zI~d0a>NyA1*{Za?L##_}4_a2!`)Z}N7ACdbxo=;@#Du-#Bs9uXt1J4w}yMA9NqGHT{* zMs_*^Lf127T_b!fps6Yo7Z`Xtb=Ow-B5*3T!`-TH+(pdY zOU~yQX^savz-mVe>0V@wt59rLZ4$vA3apicq31ttREpE1cV_Q%Vy3f@VpuwnfY<>a zhH2=KO)j&nXucD(Dl(zPGw`(15hkl(BAVi-JzA?q7=^%#tJ7)I8o=uapHQ^ zOF1Gvxy1Ov+R{(@RCk!*0R%Cj3bq+j?mHpU#7l|n$l)W$A~oT>i~Eoa z3FWf4k$0Vt+j}B}6xy4l_?a6Z%2hxU{xCd=p!d>;x@G|+?&LM032V*xQstRhN+=`Z zz9rXQhcyi6klWuRED>T9<48cY3Dg{1`4TK9?yT*t@t90Atq&RkCdkoH85-K%;i?nM zPqwFi0KH~~rS9*Czmn=$Q8z(a(U+z8>jss^bpG+1Hx3+UO-L0(vLxGwV!*r7k<2T9 z7dyROT~i$dDSsJ3P9Q~EY%6aXnoY5yL@Q5!?b>g4;t^u+l+!HFb{?|vD*wWeJI4Ag zn>~32P7d;|P`yAFSy?mIE0ojE*EKt13p#rPSlv>wn87sXhGS~HTL_wS0-Q!_a|hUw z=M`Z8Ab&nO5r7Jw3%Zk4)gwxsT20#wohMcz0;S!9xrlt=|`79ZyRZ&qFipIE-&Y9GUBzf%bNuk_YxZ|~PM z#J`}Xva8bU&RPp+fx50l+^h+A;+P22{;@64@_Nf-Xjp=MA6RZmUvW`LB{0ZRd79j* zWREB-bi&xwu!V7BjmtHXVLe7{uxYpE^V&ppg(uuMVNzNTW3=>P>`?XuyIDvEnr3($@QSR=j1gp%&-U~EDCaJ**LG7HAeK%OCwep4CW7?7UT zGLB+R-}N0QxE;)toqbZQ;Ah|{R^fRl^+nJ$f9YrOsIs=FHHg?=zas(^*g|7opwcWB z%n#(mn4X|^9Q51Ib_YVOV#M~h4I;(A$p#M07XYUCaP5>L;Z5*HYPbd*JC38e{6 zcn(@GSfNK->k%tdEB_vPii%b%{tF(oXtfpVT|un0)mB^V(IZx@|L^a4-gm9FXC?@? z=X}mTA9QB+UhBO)?{mMs{^n=&<|t}CA86t6-10S_<(IRUo_=lBKPq-R=cV+4w)E(- zUTbEE5{@7XJr>1VU%&5Y&rr^>s+^M8VRS|ZjY9Xd*fqi&f(5w>KBInM<5|_*fC$?c z?(W$%*t5Gj*t=Z;JAnH3)<#|Q{3^b0c0Oo1R`!U$dCWgM~X48Di)5ad;A6R(AHtS|TDUDqdTG|hDk4SrLb#>!1S_$w0tJ=Wk_-*hdUMu# zv^%4XkTQklYREcgdxwpHo@gwAO)U_lFJ_&L8we|m3~tRovaAHo9KXKt08)lZpgh64 zTjol?a>~ioa6=$^PyDU@tlgL)Q#61fn{Ca5;sbrY2Ac43jW5|o=C%|$*uH#=pgxFr zP(F2F=$!~LJ>WaKhS^3e1rD3E!X!o0)%-A@drZ^zg$uuV%34he&)-za?eRej-6cu# zJFCMgLQaOZn15|Lxb)8~NslMVqQgC-a_o?@5a?xxXvy*y(kJ+?bD7=QD|d(Z)ABnY zO0;3ze26f#3l!sM=NIa$-Qr7(Xpevgb8zWFBBecxgLilaXZDb*+>kKRH>Q-z%N}~Y zi!o_ClM@r%Zy;)mF)w0n^+V&Ny(ooJ@9QaNK%VsDbB>{_%Z`%6Q+{asgpTb%m7$@iP@C3=G-_z8S`3J6y1UT8*WQq9-9ZY7BF;c*u7RR%pldsg%S#%81 z?Q07Ygd~Im&@vjlHzlRK-3py-Dy-$x)$nP_#_kQtY4j34i4OxLAfCCPgiGOrsc*l+e>M3t*+hSTw#+P>r|Of{@({>Cuf zRKn#03X(Yeh9uIJsq+kTKEbN+C%A~EQG;y1Tka(S3vG242mznGJ{d8T&Q<0X9}3sD z*LAHrX+z336%ZQJm#_^834;>_VW>V?A41D4LfB2&RPbr(EEtQK!Y-xhNnq8-)*^fE zI+|EfwXPqaAo%?LG!PKT;icCS1$F12#d%EkH|FEcdie&jmz-d8Y4TI3aygd5Cb)n| z7YQD=RU~oNI*pk5N)j!kV919A76~%$e=r{s`WPQ#5U9Jnk&zmASgs?g{2UlJiD13l zPQ&wa%`*pPpgu{{wl+k<9=XdD36YXD8!t_Uy0pe;WBjW?qb4{j*$eAJPX)%7scXUC zYa8bwF{SVc-8HGafiUeMc(|xC*Xu;PmTMLCf8Uqc0_T`#YfKteu?`^P&R7P4cbnH# zEXtZ$YciM3nv85xsWL;2tbg_q>D(pqD~p$q8$Dgk`+DSTI`VCV8Yn#&J(!*@Gmw)~ zKx7We)JZoETk%)ho#${kS$qQDb#IRru3XQc=bKHGpNjU+0f+Qw_C(ZF`jai}TJoUr z7^1QYyypLO@koZ8@ePi5W_n_EE)zACA(9q=XA=6H!ZP*Pt>zE%>m~BZ zx-U&6?e5*y3;-Yw{h6hpq+5t08{FY(HG7D4;8uovN@69+TZ!0(pjEVW4Ep~?{HZX!BaSw;d3Z*rq@J8DIzHs=(;ZkAbLnlJT(8d-aJ}e zL3o`xR|u1YDL#4F!b^NXar>nuz4J9`^1o+E$LB05P9GMv9wptp+NjJ}q?O7-)X~aa zW+9*+^AQ^fu!~27Qtpm$rAUE?NuBFG(71}k5zFm^xnCT-^JB!-AUvTT|G7zbaqv^S zx12UblgO}`o&Xlgv)jBuhhWUmb#R{%;T6G7uO&>$sllUm2c*fYfAvh?Uu!$p4;do^ z*OU8>btpMzmGtA1dK``}KDFAgDeyLIse&stE0t3K)>)6tlT;fpvBbuG_c~K+(KK3xkq3t{#%|PMiaDbv3ltt(V`*_&_~jA zuA>lGajYyh64>qI&eZdfV#`NYn@ZIXm49>k1jB}HZ6R%Z~1wCh= zY}QB=>an8Z2cGfL2lmDVC2j8{k&J{IzJ%5LZ87tYw!LLtjzjZ=b#Axu0{%Slh+8>| z9PLr~!D*<Fd*wWC>N$av%BI!hq1WgMw=2ijl_TQ{tye1F2B#|*pJ>c$ z{V`UKbP6om=3zJZnvD8tw$75Hr?$}oO-9S^8cc|S;8a9Q929f3P=Apmbw~kPfGa^6 zd0LHnsjV>V=sfD~R!To+{{CRbW4968l!Rk9+pQ`@UcBcfN&czh++4nuNIkUoghfs8 z*|4eNUO*R{vq6-kOP92tMGlk-#?tu9o7Z0vlLA_c^xke~M8pdYUAU=2;2+uGS+C7p zQ9Z#hn*+3@09cjW?(nTD}=5kWq-KrO0##w1ee^4;M$fSg~wgUReQ1n}=7#z>5)% zv1@Ydrnq26gdgLppDpJ*4s6=i6Sf?$uIVF8!A{_=g+-EW

+x_fjWprZvqQ;XY@U z>g{PF2Y6hY!be~ME&kH&G-iuvku1>isz^SLGuV7NO8sw}FUOaxH(==|Te7HR{un+f z7=tX?j+q9kfgbX8qnn8>25*qkRM0-n7MCm6_>R0os;SsAF&5lmY2ubk$G2O@9+S6N zV*$4CsH1hhY%@D$p=HT&DRHvZ05mzVT|zsnI}6^xZ25MjTkDRZ1lOA z*)4YeS@p%y`)`<>CBG1scIGIfNaMof4mwVDuunU(NH(3T7hBC zpJS9QqbYIV6BZOo&IQ?e@pQEuLJP&TfSxYN;Y)cDOXt9ZM5bZdI-h)JW=%}*HHM95 z!ceR}T)~;CK2B2G$wu#S#Nj~MNeQBPZLqN@dV{Raua1+l6+-+Ce32z9pnf!Lm6bM8 z%b}W5GA9!-2AY9&KEO~jU4sk;Y0*tm!&ncRaSn+lrk%dTI)t&C4 z%HVh`2%RY$X!-CIzg=Uxljj20M8Yx&_VaiRHzqDC#gD*eQ-zp31PZV^6c^mZM&Ififb-_8yL8BI*(N#bo!l^qsC zoR}TvNcw-29fm+?&s5!bbmb++2}3lSd-duf&BoCzf&Lv$g`o-tNDGvSg`uMh_$WKX zyev9NP%LH-4&YNUUdf4}0N7=(K19wXk2}XkN6mX61l0v?82Zdsy5eJtT(txz^OtRv z;UQn7>AIf4%RnB;cSpEb5F&I6Jp@f0RuL5=d(qdTU)@a-whpSfS3vCLifB=o4rBTg zM51@h)H=|(qp++9Y5I;WuFf^YjqdJzr|{uyuxF~?9MF352LZ5!D=KVltuK*0up(7l zzDsxK3-p@T_LB=^Q{`&CeFKBLc3-uBYfnG*O?r&zM!m%{v@#Fhv5g=VDbD1aIsWCK zvt+GeK8KKlebuA+^qNVMpmueEO(fK|tfwo+&3mTm`)br2I1upSq70EIv3kj49e6>O zA0@jIQ%Zh2;G6?a5MY`Tx1^H9l(JCh>4KL>9A718K{#;mz|80oFcaJp76#+Uo#cQ3 ziJY4rw^#ev1}!pZL~{)|ZTZ*LdBM8Lvafhw>sM4n!4oTTl9CJ7DpNb$UEqUpaClL5 zr?D(A-yk>?lLE5d5|gat_UzYRm{CzFue12CSLHH5v&&hTJJuS*vhO2(P*<+*CNeA>Hrd$}f=bEp z0G5|=)hx?62s0eW)~3WTJ3@vdkamDX_VoDSRhg2md|%PI=mvz|8@WLJKbRFJU`!|9 zks^~gG+Xi`BHr-4`BgM{0KbyZ~UKz-ge<|zE?*-W1Gt{<`z5K^!)XF?Zzt|1#;YY0%my*SsLPHrphQm zQDjXOmfhlQ_iW5Z+PX7D4_Zc}3yo}}#_=WgTRh)NI@c~)W}e>mJF5O&)XYL5(Y(Co zT;nx9?vrOVO4~4}wo$U`Q4wV8wJIwG7!Y~dn&$e9+r93^K^ffdM$Yab7r~tvhR{2v zzQ6mV`6A_0T90#`uvP{3h8iq5P42=UFo@Rb1#S&^Jaj&U?8>$eu#&?L%Wbrq5|7Uv z7LS>%#|<`wr9v`wbbK`Rj-N5WL2Jad1w(XJ=b3qM^(=YB-k0mE1)o@APs(_fT6=nbZ)g3KGY_pp;+F(%xkb-!q(S0{ciR&x-g*U4`MF-T` zACsdl3EH5(-&fn7^B03g-*^v-vFj&&fTX>L?O^}fDM)#;gTUMyFH{vu4zyp#3QZce zXVJP&Z4;Foq{jehsKG)cw` zS8f+Aea1rcscC?6TCiz@@f}D*hoXgbeW(g%UEAQW_$gy#OlEt*MqNFdtP}N?f-o3V z*M2u>23-A)Rl&je$<&3(6A`sZ&w$~X5*LVH#0=J#i^yRX{6{L3ioGx{F?ywfF6oiRQb$8=bh+kq(Y`0`*IXiRIh4%JvRx8PD>hnyz z7G1g|-}sy~XAvUn5o0fzRKiO1e?B#xiqu8R!ZITI;L8T2k5_vWe;1#!; zf&H3Fd@z5$L@B|yFK-S&@x{oeNuEa3I{_ZUhAt*GEzxGfntHrK-^DxV0d$S?qjrxNR63joRNz*S`pM?tdubZ3+S zh;D8Yp-Gd6p~DI*k$_EXE2jU-*jsNf(w0DrX2#7+cv$kKa~G!^=a&avD^Jf64=__P z&o&DNs*qYU*UFw6V;SbODUP;Ty#ULlU|J5CA^`~S;QJ&b2Z#ed1yz-xQJ66~7#OTH z)G90xyl*)7woOc(U!(C%u>QR6Yxc0wP0B>D9A3rdIp1Edt;*8REKJ{ZmTEo&Uxt4Z zmZhF=Fk91WrJu*Pa@vP0l|e@6zp=X0``f_XI06%lRv5&J zp)Wk_$Fk(xC`K}D1=cdB1VV;6ItzQ5mugoB#C74fIIWgvrTWUL*+pMBW${cp;D#G9 zn)08)_^fp;1iSUv6_F^-=7>+{pSnsGKlZ;|5w3OJ;Ug4!Xnc&RTb&}ct{X_(VL@zm zy9J0c+QgAVGrZp!xsqVXf|6DMzoCDuIn(`oi&HRg-~u50W2#!eyA4Vi1yfx9N23zr9S>;XE&+{ z5D5Hhak?l0lv7XECOM|#+%;)CVI`=|t@FAs!79*V9yIt6wR7oOjVTwpxa=JI1Uerz z1>gLbHS>0`hW#z4xW9g2YG#ts5nz3-00Y*j+rB7oK`Al>77SP?-;6@`Pmd50(&4HGCJHT!kL)BhR(BIQ?j-y7+8$?OvbFF z>HLFAc>;_QMxk;jt0WPz^Wp>+><2fPqlVud#XFle`!I8bLv>8rnzaLa9 z4_ep4gwlOW7M~Ru5m{4iF`QLSG_VY$w(D)OsKo|_JjeTHUJr-4&^Q{6p0=aWXO95k za~Tn$g230ZbzUL21vX3XQSaIest<-v(Rx(k0>&#gq4ryZ-qCdZ{%LV@NX;`7^#E18 zOk*53 z%U6ApLgdBj=CGdG2Z3Idd{=)P_N&507r=0adw6fvJdK!OOz6@@tRXu}y4=MIS~c~FJH>Jdf(@Ev?NUEB1GDWr8vu{h(4{e)S*=SwnhuFg=?KZ zrT`H+DX0|Z=j16Rz}=`6Akud{^f5(0RaSUd|0qcWJwY1+%Pd{lIDp;`v}!DlI=O4Y zy$YD&);V_9CDX)qimp!|jVah1ApvCjGXalLT&rkz{+HyMaVhT&^Z*pZ6` ze|@jnF5_kWZ+`neFA{GEVi7NeF6oRd44l z{aY>x#+s4Dvut_r##(rz;YOoeo71k;wHohJVEK-A!RKwA+`J!_ai{X+*oa=m_oOh& z%@4d891KQbP^&!;FJgRDx}r`l8dEzh%QA-YEwMTDogQgkOvf&3xMIjGZyI_X?z2AJ z4`oy~J4y%+^6M;O!%Q|LQ=3n1N$boUil!ghP0bgG z;U*p(dI)woLnwvtWtoV3%l-_=%z1AKu^Q4-CRs8tK&rn^%Xutc4lh_K^z2n(3aQ!; z<4civV0sKRsw-dzYfjgmoPPGKHE~OuF|^*eq|*OCXg#tA10}?{bhdS|8G|M&hvS8l zl(!$@EQAqE1NP@tm0lJhY>Y2wSo52p;#iv=KX?BiPoe;+cOsP>aK)FA*T<0gLyCWD z583wquo$g4q%14Exbb~|^2vwKeAWUZFl)gPzKj58CvNA?TD+~)7GGC#(L|H%4DnpL zv&d zw;Zv(uU!Y`yy#>ub98*pNmeeLYwMgAcqc@&Rckg=#_cAbo#7HHxCdJgJ^A>-)bsXqhU=`ly^Cm zCcm=;TpfPT`#<>bQpZ&OfBk^xHD5s(gXz-b7U-L65I)~l+r=T6tE4`<1>Kxd6ry5-@AAsI-=M zMsd0abg{_EoSXuC%{s{LXCc-_Y~ny@X*_EROJybMq7d#6r~wtjU|!XsPuj9bqx4)~ z66@_|ykZsb{88POCpS$qL!}|AP%gTy)^;kGH_8HvlQBVoqBlOh8q1i8LaNf}vDLc% zYnT8^0o)q;M-C}USJd8(SPyGcZm_k38J#gtlrPx95xt*q6i2}lRI_A*THdJ)y$htr zYrL^~!3E~|iL1R44TfGsE0lWkIgU}(Vc*yk3P$8!5Si21;SxRFRcvB z3{Rx?|7{&FZXAP*kq;kU~A zUZQE!2dJ>yBo}JbXS&XIPT69@xsx@T8!+Yx>qZP@hpSxb=fgxFcMLA9jCy63oQsrp zjk=|$k2x`;@(IMGk(yR!G(1-;P$y(mKf3Z9I_yqy?RRWsm{b-6t9BoB*{DdmnXQ65 zv$NH)RT*H$v4LNx zGvnBAO*v^a={HoUYcal?~^3l=YHN(Lnzg&PPUJ zCewDN?GG7K-mz_{QZ2}1mW#E*@qUD|Pb_fcG;J`a%4L+6dJEge@Mi1u7E)ckLR48%Pi<*eM7--8wq63x z!tO7*Fbo4h2y@>cU_!!{8?m`lCrh7ya{5RcDN*v+5Mc=XzpENAajQIv3hcqS*kV`; zsd!l~B1A*6iNh==Wcm}5n*U;^ZNz?*C237yFF_DisA0VX)g*54AX~?v@w+1PW>V7t z}EjIXx{)e||rPbzcC&HE%zjmzD2Rreax##ZVAWX+` zcCIu6n8Y~Wc;p6}wmzT->W4DjUSscAu#qIe5rrAphvgy4BVhg43$@N-A*hC-5VOuT zMBB|Ov?{cG36ZBhrK*dnUf;}+<~91HHbCEGRzP|XDjfjU(p|aB68M)CJrvBkdb1KF z@irC$x4P)qE5tsOm!gfJN73k4iJi*-2Hnu2X|kK8drnRlr)}#PB2SuVerCzyGtW8c zzg_U5t%CR$zB#xu2`1i@4S|Nw)pUN!RP=-GBDRH|XbIEL?Jn zem;NShws$S>wftgpU}@GF3PSZynUnZKpl> zU-a|-Mb~{oKmYO5<3H2SD<68z3uKWEZFrB}J~#Zf2fnPoU;3l-)}6%9m4EQ)+w^nK zKfUc#sl3g__uZtQ6ALeW_CkJMvi|h@_4B{p_{LW$^x6B7-rbA%`Dd^1x|G!8~ydu#SRSNe6cW8*`o^7Gl7Hh)C<6CXXR(tKNP4-~oOv zzVqt$2=H%y&B&_-_{HbGw0a{yyPx%wKN8^I{J_6Xy_cW+-`aNPpYe0$l2?83VSe89 z$b;W_oS)A*`r(_-0-)U&?(E*k&pqcZdI|RgCmk<-;j7=m&kdg&x$=H~PT#uVwJ8AJ zbmpONZQ|#ym9O3PdVc=Z$ItuAukrIOx6Hiyc>w%Vy}$e?@8IWmSAOfkrvdQ)^5-9T z(_8rYx<9z_woU-Pb>y#~{TKZF)NsepYXSV?YhLl=s{s6=Ut9S39ss}f(Y=@M0`Q-F z%b$Md7=VAt|NE+n@c=_W=CP-o_U`4d7=!z5K8K4#1!B56Ql5 z0RFMtpZE8V0{CCQU@ZMUfWPhWM}PHl0RMqSKRfwZE64!4>nm>^2Jl^PdC`^Y0Q?0T zpVxc`fd5$E(w+|j_^;mo@Xa>^_&*+6_my4%Kk&)pcl-#ze_-IQ(?1H}Prv7sfBwh; z@UrcbzxB)s@Z|5`c5(YFljKc5{`KE@KY)Mx^co=uI_V8ca_{EVlnf}_hH(c=B zY4Vplcij8jPo>EzZ@6Xj_fA@nob$u4y=?Q=1<5noUh$59xp6`AnOk4V^O`5k2{_MJkD#`JaPX5|||H;#m_kQf@-}t~w z&PaavqAxD4oU%N5LwfqsolBpYeD<2ZzV4!zKP&0@tCg2LxM@XFUHqQUefP#+NglfQ z8^847`g4-DFFf<{8y;Ab9KHLoO&|TI=O&fkfAv={{oJKV|BjQ|-g$FR@`EiqyMD88 zXL8SHe)Og8Gxvh8NB;3W&mKx1{n4L4_Trl+lIp!bdDx8C=LZ@(`&eDrfas}FuM={@xepS$r*f1SLx?=RL~_=A5WvpIy?5b)daOTN1B_$}wZ;qA}NIux*xsil;nSo{p~xx@YhR@_kR1#S3Re;^mzLR z{=?f|y!5o>W50RFii;ktB%AkcIQF}zJw18xJ6`_WUum9^{HOo8Yg_-bmnSc*eDL6h zRy{L$-mk4cy831?{`7A>^DB)N$-_VX&Ur^Z@GHqZFTLS6Ui7BtB%i9@(fD-R+NAS0 zYM+1ks^=w-pZ?!Jw)*LpC3oC#ZO{9^+LH`_W9>tq`L8>Z&Rq|G^1hk9$?=!1_}Hi3 zFqHKFF+~caxj`c-5aAeb@Vw z+s}B(GroS_r;^@3+I`!vzw%pA^SHy6z){4SE9popFWzW2pCXIA8kcan!AhDs2+)v%iSOuceW9J2tY~ z;kLiqrbXEcbA>K#Qp5l+?i~Df;XWvq$8$E(YD{Uhb8`cCvVr-n)d#HzmnL?gH}y0~ z*}?fap|DUB#dWD#jCpgjFDqo|R*y8wA&pOp}ac&P)0XNTYwg>DcdqX^bi}|kiY23`Te&a%0Tq2&%oh9oz zh%JRHOs$gfgaH>Kjx@+%S-wSYd2B`hZm9#H9HGtjCzjR#chqkMlJ)3RUUCk^St}5? zv_W}p!Ls~-%^z8+Pp{=8Uws63(b|30OL0Y&KHOJ5|Fik)`|b5r8Q$I2XLys+bI~lu zMzwZ?q)Vt{5L`Rl80DyQmqqOYdL@rGFR-fb#;FZ5Q>H{ zXzkZwhWj;|O2=BQXp~g)!JOlCcjHc?`hBFi-wG6{`%yW;ytm6e@Ia9naYdpF2UARVFSDxAeIpbe+fw%#tCWyMgK432Sa@S@T zu3Mi)khXxz=nDqGO^e(wc=g(@>V;j^i@K^=mhEHZJj?Nl(Hn7xj+kqdLA2J1Ql6ei zb+Wq1n4_+)(SB#WaAEOm@gQ?GriZd*4J5oHCWj`hvd`gfH9o8WVE{iuK1l>yL^UKv zFcCz=m3KzV_|UjnO*rpQMy^Y?3^lE=&3$z3bw4U2)?}x4cY9hGZu;N@fF?-Nh~}qx zz#ue8&@YQN_~M-wdoD7{(g&8DzG0{LH-VV?>9gKUXMeDvi{RUfFkKa-n>QBv_Pi-p zh?ohWJS+~a&MWLzE!@3N5K*S-#)*bH>z(;fHbD8t3-3}M$5Ja}lfA%KcoAoIphF`} z=r>Jq;s#OCw`V1ws)Y7e*y&bA=;s#t%u6)AmM5&ih>6aFB%lyL>!qB18QzpYjKh2w{K+Hq++Fh4OUmqFnRX*NiqDe4Q+{T zYK3#A^y)91&3hiCGaLRB^xgGJ!{#&(B3WGOPg2T zRd9L2#s{@F9L1?_GU_EJTO z6o?BNc13A(ShkrFLE!CG?N`B<(i>h!Z|=?ma_yf>z{HR$A5^>>oE3ArtXi9AQAqMU zf}_wq0h$?dNE^Kao}1KHlz!p~JQ;T6nai$9Qg<6tnDUH)W^YfO1mn#kw0NBupJ{4< zG&#KkM_8L*(_~Anu#juXRP|7|e$~n8(sb{v9F6gb$pjH(omUdIA68ByDx%@6*3WixeWxE{ zY0_br=HnGuFnvx?)(3TPc^?H%4QYV~AgCGL-4cZ=bS&Yj>vGXY6RKgY!>gi0oEK~4 z*h_fstJ!k8)1hf21D-{Ke+AeKnK?N<~G9X`t zOS0wKEFctWnQ~#~M=JM|!<$>vM#i^>P;I4xSJw)4p@x{*Aar+}hX0z3s16;YBw7?B zEYh`W#Q$K-eF2%f~S&7Pev0#(pdnpWU6YhW+JIF9#bloUe~U$dsMKZ8ii z6U2p?Hgd5kl|Rm?Tr#9R(pUCl|F9&AvixHmh-D>cznn=BT2L40b4a=dSh(OkJktE@qq6v1we|g`UWzun#h_nnia7h>`bp#s&Svp zsFfiH;TbY5rjiII%fy@yOz~#*D5h;wrsG4y%GS_Cd9JJcH6;ZMg-PEAxa8`gl0(ty zAC<$=xN8{7#lmRg;I!iX0k=)*GECCe@yAb1VE%B0UEOb9+7aqMIVQ_)RfslZM;F9s z+*MjX_AIr$W(17sMPI&#ms`(AyuMXKBmcnlEoi}#KPr{CzF}?Bc7{{FrwWCs$_Z22 zIVm!7+oSA7N;P&=K0+zMtrK28!<83(@?nR|nL{JvISKym=MI8$&QzvH4z>=x$qht5 zcD^bVLyR`Msj*Z*nJ-1t|TdvH!1=RjvhDj0b+<=E)$ZvTbCP)E90Al-w|Fx>8YZv$lmN65uXj z7zZvM%uak__=n*Kjo}LpU;rHP-`Ci_X^f$Kf3|-7MUPM3^S_j1V*hfKE$RWxD3-MY zJ1_vG=XN~(tUbgcNO(%pnUm9fY1{S#^=XyfDT8;kx!=N5mC7HS&!TTPID~+eE6N44 z3$L+gUdz%|9m{Aq!Bv~2T2WgNersD9f8)s87cN-cv9^Olf3pp&giJ(;EG19e;?5(6wpBwZEKpsulonoMzOt0r`JXvn0pSfL!0 zprjMB^0|2rbD*}45S0F$IM~@~oPVcP{B%`=6z!_!M6rr^lkPx4!XN^DJaLsU+VN`b zq6>@Bir2zh*}4GAZP3)jl*s3E|M{(7D%7qH)Ozu~6T?v|q?!?cu)tG{nq_c)PY6&; z(VYt^zyxlxV&9S_hMIkW-btfr(^>UI1foHX+czjxQ{gB(An+c9m-ps_`B`;Zv3@1~ zg(q{V97LHEXJISZjU8uf>?c>iY{KTQsS%?gMk)cnTj#(T)G}*F+|gy!v#`KdnXoYrEeM-SZ7w*tKE1RE#3Y*4$*- z`hG&U9FFgugxpQg^;y)L`NyqHKh)!rc45To6jS#w5DcJo#yogr%C4+3NHFGITPCjT zCC`!o58Y$6#!PTedCwH15*AxPipfG;zb=d0P|h3??(VYzsox@-J{YR@mN>EbYFV2X zhq!Cu@#=*h_wUXjW4`IQK9QxoP6AmiuV~KOl4W~0ALCljCQu8_TaIlx+!#9IO#)ap zLEUIA!yV1WbiUgPBe_u&Uv@9J4QW&IR2&zWGccEpiSF(ai&FXqbgOg%7i_k{;M<`A zimHGGsw}+)v`PCqF6t6dG|fyHPRoCEY~SK7l0x=(9|4o1Kf(JD^&Akco-z9wGM2y7h*mg6s&8|qncayq z-D?YF-9&#y^}y6b9fx=^u6$A1_F2n8iDE66Yb~#GBr2vrk;5)9;V)Ir0x|!ll|E`` z6DwAO@5h=Ixtb@x8xA#nIYM6?VUU%aSb&j3l}n%n5DwbF3d&1R zbYLdEN;BW3t15?e#7HwV03*zLX}OxDX1g1%Wk=^3%zXOODrK`B&7|L#V>~EYW*+*N z(lMatCz{I&rt-8F`4e`xOk0&SE(gb%(eX0uDB8vRt@;;!`yiLUG>WV3{Lz) z8|8oan^q`pg**y=il-UKAWF0ALXZ`fv1?L_!-mdPmsy3k_f+EiL4Le;RJ@H6Do_Ow zoX_vKMOTEwd9*Md1l3yO#LSiP2Fc$YeNj52+*xMmyKVQT9Xt)%y?wlEa{8KbH^ z@Svdh_D_r+sSgvx%Bc)zsU0o>K&8~%P11rTVOhPCn@G_6CzPb~Vw^02 zd0Cl>ZayP?nwOAk-KMYlsN6E_XX#HEPL#%$G}E8b^;nK6Ok9?D6w#A0!)_{R(Q>(x zs|(Ngn$`SojpU88$i}D$N7~TmAJmle(S*f1iXC^8gme&rRO+h+s;ymfB-_xRPi?-6 zG(gl}sDq}9QgXk!*Ai_OA}tjICGxyeP!$ayGkIWD1dN`*S?sBD906 zNSV5YgRY=2Z&E^zq^wat!q)?2fDDv06;57RLs$i-v7PeaVm4%u&xYGd4UfM)loE~6Fh#c`g$4Zg)6q%_|tccl8l2P$i0v+$ntAqp8 zIK^rAAQkA0GHqF#&eq}@;K+3R60!s^sV zu5+D}Egn+-qbcxQ?L0KSDl>bE$d7n{=mm9G`jE-u$(bqqCLD<1-C#$>u}K zf`1;@^`Tm({$u;b{%Z~f69L4eRj~cEYU$X}fN6N0AT+NScd~{u&HDdOA-v>)Fg0=;WYtTZ{GAh^- zjDrksz>W)rk++W=Y*<`1*f1Xz6heH`O>AHq9x;d*Opc5bP_&iN)~lHR%2k*^`gb^6ugsPS=$u|vJG2&k}XuO_R<5@4Yb!WM#o(?Mvzz-C6EFa zP0;=4a53Dd@W}?E-S8F#+|?S)OgVd6ZWJhm6kl9*;x6XS(PezYjm^h2A)VT>s+y#x z6$`kxLkp>`k`kv^(uO6iGG0)%v;-yHmFxnYLkoL?rADXGRu(m+bVst3 zWPp-=_V2L#9V9ZVvHwi^aphTckUpZF`NBB?Ez)tqmE_`Yap*A$Wv_u*t7ttin9^Y( zyW}42VoXsN9M&S5R*ufg7G=>jAmgi@zeyel0_II9yrIUA08-qyt?f<`kGJlEP~8G2 z&Tk?mG;nfflGJ{bazCtoDzCxfGP3SzZ5HB(jOh{w|R*Nh=(fyzTV z78dQtm7kNownJB!HLm+mD%7y-jzUC7Uzr|-y9rkS#-YQ;JoI5CR7VAG$Dz-uGWTvx z;qmgM-}PB%Ch49BOp6R3cQ2C5G^*CThjdp8mW2)s9Jgft>}K&V6afAMsJW&lyLp;x zq!k^b3$`U9p#Z8e5>Hy)xe_~d?oz%E9yFdg=UG#706JJ;Ii1>xA8EvGeUjsqN|G#i z4&!RwlOK_If37j1`s|QH9Q#g-m22Hm0AIPPV=+QGSy|h+boe$(Rjl#$bJ%1s!kD zq0RU@ol-aj@&$8jaYo?*p+*yHGl;U1E?9Te)r5TMV+Ch*(1$L&v|5WR-Cv)kxkCYq zS-jS}e+CTp)K5RK$ZlP$|F^KI{s8_LPHd7~un5Yiv->YV!7HKQh`FYr1kPHfPcT|; zHRyf_rYQvXWjP3_&ze|m=CE`50J2C%c{NX#pj_Bgu3-UsvhP4S4n zQD>C-;w}&4Z-)IkR$HeZ2F3~~%DG~|>nqc9kn^O0Fqcu5`?4Gr$~z3lsDPHe*&@+$ zx&qZC*qR(SJ_awqbY2m2APFci(}c`1Uqk+`lBrB-W+@Tf%+2qn>0Y&95x3Ja0kGTb zmcY4_#$c=p`Y^8NSH>|)Jgs~RI^K=cmArNYQjWSe;GZ~Xxp;sV*aS*}wC}U63S1&R zuC-ux@(+0;ub`2@FNV)*0hM+uO=bk8a$>xUPG1o^jXZU9@~y?w2Ly3&XGGylS@HE^ zk`b?R`pp+uM419>Mk7bu11H;Q{+xB`@v(K-alj#*tYlDv0Wk2RlK_I#gfoMexbP;? zvSH;28jYtsQ6ZIuKoQDZQfM7?iEGjtjJdsGsR@(@uk2N z(XhlYgP%mXouQyu)wJbUD1ySF)h|`xA&Q*koahMfqauQCc5iaEY>sfXPi~v+wp%0HPJUhL)ktkYUn%?@78A1yD&ZyT zpKUH71Y510xQ48=m5(2<~#K47hLO@Kxw0<6$XJn}0Z zj_392TC1{A+t;O)v|4+ZrC?|;Uqr1wm}KeNMd|OPPt@=!NgwQ3-_=JZ2)vNwm8rD+ zNBepPD!%jxS@j$l39TVAQymI#njN&Yv<;Pu*7Z;uGHrr=n((xIk^$~Q1?!Z4G&?wE z0_v-N8I8o~#`uijY>czX zsVsz)9bk9anrcHR4P69Hpa|X7z}-$ta+{5KX}RC3t2@lCi+H@?MaX2C1vM+`=3DDX zY_EEdNS>{UgU8IZI99!u+6-TV-qgl)wC4VbCH+;Ynw~V&nHYo8ipS(C7W$+GCU9^zFPO&HDkMCJI1YHYsL=6IxYvn_w@*q|`~h zP^65r7qQfJzF`ljT41)9R9+-)F&`@8Byh{sRz>k*o{;X zv$Z4-LesK)ayel^CSoi=g@qGeDQ=FQ4^!b*u(HJB2~3)lC_8}+Gog)5&zAG=Nr{r zOzz%Tb6k$dC;E5Rx!^r}_QXyDfOr)X>!fEdCq(jgT)qYCoj9YG&btR2=O5Htx(?{(X%WCB77WWL;rw zVsTd;fEsn{6vjcJ46enyn~Qhm%JG1-EY6hzY2OBDi~B3yNC0Oz`@9CyvWl^MMvuY9 zcbwAmx3+F27gWjjG(z>fJwJtc+VZyDXU83u15yURwl@g13`ws0vcalqw|anfk^Jkf z^iF|M_Wx^MqThG1ViEFqV{|vh0IIlI?YE}i2dS33dr}sP6uFSP(Yt#`zo&AFzIoBi z2)&sl_t>)Zg2;ztZ*Hs`50TQ42BtHI5^=R6`PA;B@I_xb#}^%D2&DCtz0ad3*rNNP zf5;Y-6Fg!Wy$*g?2|CQ}z^-y!SG);1t&24kaI)mq*$^@F)+L-ehAZS2dR(YoA*{y8 z5Z+k;0mPaAT$MotOYvnjhFcM3E{I+pOu?rHBD-qB-DRyHqKadL5H(EQpoC5K?+T?_=l-th zUO*$Q1E*L`@^WN~yY+yy8|Au0Brl4b1-d5yN&!9t@|ID8bFHuoL`F8zSpaR5%{QCG zhV+`bxym%=LPkc^A&Nt3cx1YWJsX3Nju`MI2n?PkoIHeSyC({PJRAh$i|7~;7X&Xk zqeZJ4ngZqj>u7sYm^mM4OT@ii&s>QM3zx^#k&-`>i#8x0<7C&yuOX4<#E?3Qgy=;f znaWHGJ#2L$w1`F3+%eF*fJeVH>7|{SgfmEE#zfv&A21L zuXXlyRY5Ryq%Td{vZWKw+4GCe+22*|Va`-@a*lARA{~p+vKI>v!;jGM$l?kM)&^U5 zkRA2`bTcsOB#5A)tZQ3ldP~m}pN zI$>>UFO{EQx4gk2WQWGM+6@r6sD>a7fg{O-qQ14cJCkA*e7(J;Rc;+oYrvq;FIntxrE< zD|Sq6vBqYRgX%G-B1dOQncL`rIjU#~|H(!E(%Lc?S<_zvyk$FovsX^$)rYpagrI#*BZy^Cz3hqhRD(>x;qdt5*@3<+WW;DysJ zX9YM(Aki-AYenf9=95>JmH<;TZ!myIA$h<}Ej;5vcEci)Xpt z0OPyX6IRx;{4BdPIKje1eafw?Wk|!V;l3VE3X}4#5oMEyRtP$+Vk@P@cMl}Ruf!vm zAC5q0&>=Tyy3h-CSBvn%cKduX9NJ7X&YgymIiV2t-=(}@Fzm3$>e?ozq->1&?C(~l z{C(Br#^R-xS>2>u*;27RvpWBC+1Bmk2PiinM;N=huRUOk zm6<390BtG^O*#h(=Qw^`CFYm{V+J!7ZHA&>NDOKQr)qk6qK?$*uNaU?wK8lN@6Y9?rZJGFVGv~zRn zvLg*?GCCxxXE#D3;!i=Y@T)OrJr^6jh>wOc0u@M}yR^diJ-&e$Aavgtz9EEB7mTi)-spVIj-6uL;!ZF30rL*2EJc2MWHPG;mU!wVi>Ig%1d~MFR zG=4Fb12WQpJ zO(CsB_m^6H%9B(}SO9HtUruu(TeV(w=-bF<6+~3MK9gF{g0`B;QFHcNvTLsIqn zA4uD+@GcbYs${qI+PL;R?ez#m<^ws2Q5v1XXwmSb?s*1dhA+)Il8es3U;<MZa zRuNn=6ld;Hfz9Z|BYg@_afL6S3ybS-Ol_t(SvA@Rp7GKL_DWpXzu=dgXN^KVRsTi~ zs;HN!K1+8j-L`CCbOPnqf3z*%PPqvc5Qa*ZgGw9Eh^U0WP370~;Zi3SAy=((pq^H< zN{uDu@(@sbs^oVZokIFe$d*%*29GhO_=Z{=kJ2km$?^Ozpd31u{gIwcM^q0Ap0VFkqM~FKYEiG=ekvqRdqzw=O=4xR63y zH3&kgN<35B=#bidXIPM|srZUj9O3y@>_h+)li)3!xpjxuuy@f29JN#Wmqos`8?0?> zc^!O?T38Nl^dgJKaPYx#+X=Ha3*j#Rq%pio0^(pDeMln!h}i$l;+(`P)Ym1!Ztjz- zsu)_4F43tCTs@z=BhUAGDnxLeKm>*O_kq7VURdy0XU+CvBuOn|R!{o9Z)PS)&t|a} zBy*n6`XKNI;>mL}RPV%+K@2_;f7dYvS=8)qT(zE32A-9R-9b!_WHatqV&Ts7{d!k3*6c> zPfOaq?mQ{48w(=V8s@|pN6ZWKJVr^;X68fDr~>gAg65x}e<&6d@*Iulmyt|yiS(+a zFC@L&a~YuX@LPoolI$~cGZ*)YwcS{{C$%0PhN+-!K*X?duqo>b@5*}fE1{Pm)=PGV zB0Jum&f8;0x(NfCrV27cCLD`mLw@~nOe!oB6OLfyV_AOnG61%ow&pA>fk3*eFz{9}a*qXD( z16;R;+Fi=}$KF$-@p|P>9az1}jJsxb7JcsYv8gt7q(MjEOW|>9naMU5H#77Kqth7B z-ub2M7;6LG-+dw zLEbGQ6!TCq`himmlFRa#m8(CY93m?^W<9XlH9l)>aHJy4jz?|mP^ix8%g_|FQMOts z@2F*CS@Lm^k2AQ>-&`++V7IJmBmYWerPPbdpdY*yXb zxOR7aq=_#_ZtM0v4p;lq3E5l_hY4MmTEB>ht??5kNG#JW&eDz|WMpuzG7C{>APT!? z!ljA=6m&)p-V~oMI^<^#kb`Y@5GXz~i2@7G3Fotb3G|r2-;jH2R?WtRaO^=u+XfIq z@HU~Y4$!I!T8=I9(RHTD0>3`_PVy<}7Np=Of;}n`rqh-x3V6loB5f>6?@c?Z-l{p? z(>tUs$|-^dj3l#b&f`!+@eqS9pq$JqmJ)4Fz1_PjO*mOl1kr%=Av(`Lu!07CHuj2D zwGBH)=*v``j1=nar`-0MFJK<|zjhpOA{#(o?j@6FaWHs(v=LY&P{j3R(JfUUwO*tl zvjPQ_7wglL#?k3--xI_>=~F>{u8Eh9A!6ku+D?iQSZsY2AHn5&v_!_yonT%fj>=Pr z%#2gjJf2~y@s$^qrN@@`t=u~_=I~65U)QW5Rb=W|E=9YlVfV4~8G=wwz2flD1&Kr$ zSIf@Q%Q(hhz6-iuDe4(CkVS`!p5^PT6Q5^e8myR<+J5pH*9aGE=%=9cf%xz3}4a=7mRSi!unitdb1U;s|P1xL|WNYpXzz5#%CvZlOfy zED)9`Z9P{jN##@$iKU!r1*#11oS{{$lFF?7er>P-ZMk?ZfXV3Ss%-rLzFi=D1;UC| zxRVPJ6q?J$)wzJRM83USb|@Ex8aW3o9vEvl4SQ3+L2O*hpA<6~xB4zTLtOD;N?g~a zCW2f@m7Z4SvBJR`JC0WjVBryP)ymV@*vvR({Aig<+uArl#l1yN;tu3zxLMw((AIE! z%Q6F>AVpbgL+i&Hka{vPWXndu_VKcfVZ5E@{$!8lz_@v77Xt^sT=9|-6=NFvQQA3x zV4-m<=+L8_G^gBQ3&eL7Eix7H(8)r^}(KHx!d!0EC2KDX|fC!I0(e7)m_+vo|k?MMivf-!Uq!*>g*L?Y6y`k z^qHv{*(N-;6ydq@fPad!%iZjGUVeETFQGwfc*|S=GyK6yfXPU6AGTIY8Ku=e;f8V_ z3Adoh)B9QsvLHNl&D{UL>w>%2&fX*j4srX zx9aK|szbmfH0xalskfCj0s4#rSoN0fV7UUUEoNq{#3;a2Y*;%KE^3#72;AiY@V&=X zHF4KC6GD!{38A$a3)NkYCCjo7TPmX(=uiLy(({05)KiU1Q{;OHz8H>Go=6m#um-nK z92fP|ZJBTZm$+sA0a%F4@<$ALZv z8q6;oIB?T&K~(VI1XJ0HjSR)qCf}@hDS5Y7YhgzwWk@ITxf=Uz9^EijA2)?2OTV{t zd}BY3&!+Bt54Tb$={M!_|Nhc{S?3{YB6sF@ZT)i@9sh{Ojzc;2wY&6Z+MwyPp(C(c zH$zJa^@qSvoVP`L7f1$tBK^AT(J-kcGtrcYthZ%~Rs-g~vV$kihT9RF%ZydHR_oN+ z`auMjTGt#aE%=9GLWhg>O1RlGzTT|2<)zjo+%(@3W)BcrKs~`QkC%tBwdYNCNOc#~ z;EB-zVjr}?EK9$$DE-3)%V>#KI**bK9L@Bxl-7=q8EqHBzYKko-*FIVEI7o&l;+Pn z+Om&%COHWX@^dFCU^MR}TVY5oo1v*^r^bCaGNuw!nsv(Je0k;zmV{wprV(3K{zM}d zt8?JbJL1vVBeLKUI4YHeS}-PjV5OxM&l%rBG=)Q&9km=VdHz3M`jd?qFx~)hM|~VQ zH&b5$+>4(2MnYz?S#?$rxNMS22yBwW zBa>{9Bq}-=FZV^Eq%2sFo;sq@HsE_w-~Sl6-zbMiG4BalPrto7APWX5=N^z^HH0Sp zrXJ)Ox6BkH#qHVT3r~HeCclp$xs^(|S>aY8G6bz54?GDP#qgbZ5AXoK#iw4?&PX?L zHQIFDGAa;a#q-d;DgD}F)@yb%H#coQhHh-LiM2nFe%uwl9j>ay?@UjNuSg$22St#M z2Z(j%ioXtL;nGu2Kea7cb}qR(z9;u%VwRx24i|Y)xj{g=HUGb?6chy1 zA+BRwQNn7R=qp-KdBwi!>dUH~1>Cvj3e`rKWxoa2H@}-(iVAW$0MN`>O`3d0xNs+M zi;F{Z%7uc#X0r1xZ9p zR%lg7qlM0e15R6 zuI7?mx{wUf!>Kd;w(H<3u^?6D8D3iNbBvl2R&F<72lif?>E4Nde$BJvM0q5kury9E zo2ewlg{fg`Bj7-aftiR*4p5w8JqNIc8pFEyqmRl&O1hlEn3WK9MDs7ZRnOU*zkAef zs1Q38#~D#kW1i3Bm3s3J>Gsshvlb=azNYsX(N_>h4JOnRjJlVF`XUjMU{L^GrE-c8 zY0rF`m9NVZ!LfA9Aot2*RL>MDY%x;nsZKIn&r#hwJ~F*~;u!sh zj=7(02rqj8(ETS^HC_yRugZlsdNIfly}7~pu}gD&m}j5b3jpqU&nMphz_zt81^X9^ z-mk9BdK!9YOzt;HT?5U3C)p|F5-s1Tyfm53Y4tL%xaNeXnNMgJR>m36IrWjs%55`^(ZTvSdNWXIO>_Ys|2Naw5=AlCF((6(zzA{U+66*vR6cL)b7pl1hc5-OBUv{ z7)}<_)ka4T4Xmm(h0)UdqniW|X*&|Ok``qRtyyy&vf!A_e$$xO-EcgrA|)Yb#~TDs zcPKS?4LeGY=m=AITa(!~%Oh;H{e`{xRFk9mRBWgH6y3oWE~4 zIj$Sq8V4^p2tLj0G;b%}Lr@J0->O)+>`l7gc*8&T7X3|G?Tc zJwNOngA5DzmQ!!l5RZYE`K?RkA>1>~s~p)>VSaOVaZehvOL?r}^t7B3d!(<0M8*fr4vNA(jczOuMvN%|^I zfpC+|!;z+DiGKnJ@m40&RC&YH`h26NOR)9N)FE8N#^=#yA9X+}xYJsTK$qZx}l1e%XLfg0mLp zu_3cwo+6z48KH#15l*IPhD4dMIUvvHcN|vAvI2Q_zaKc&%5jYjhIOAX?u@Bki)0-0 z1y{~v`(Hi*7>(-SARLC8Ho$hIVIm;xc!oDJpxax)FBWk2vnLoX(5xrI9WaY9*X5gb zUl~9Z^O&PEwVrc88!09Q7^Fr?Y0rgrc@QFo(Jvf9SsJ7yi8UtZ?#Po5WmqjcWA0b+ zv}}ema|t+$KuR-+cgch`JeoV6O|@M>n8z}_ZpFR#zjuX%t^UDYf-PrbmF~O}m&zf- z9XIB+oM*hReCLkUN98lOe{IK4FkWs*%&RbKBJs;`KO42qq>JhfyMpI=q@C-}qPeni zd*hm81JEY=+lQ7UNjt$$_kzKG>&P{n6#OQ&Q&D0CLRAhP+x$pR?%CF7+txFqjHUu1 z+oy4iDeL;nWy{rrokv%ZzSp_-f(uu@^r+n=Kq7~bcuiK(GPr^C8FzIB-+(?)BA2!4 z^rKQP5Vez*=W9%EN1d#uqgndkssFk@M-fv-(^-GF5#Exrkw0Z_$a7Dnr9wqlj_bR! z9!MZM=J1kDB^}QbcVktk+X?|NZo|0q6d2?v<_}5CMZY2{1Y}z@RtgbAhF3aI2w9c} z;0uAsRAsNX(oGAUovX;C5A`R6ecIFKx3#T9jgd(SA0|L!0nd6WC%YqPGn#@1; z*+Oz28IM9ufSsqY&L~qh48~;hQjiwQmWQ~#65qTb1C$n_GWVlCEfFOZy05h1^;O8Q$H5;1$URxqo=NPK^7seQg}Ovftl(#GQ2@?oVl}om-2#q z1@>qWoP#65xC}!Ip1>$PMzC>We2uMP!2eLlql*l>PBI^g_E*YVt8VV;*>;tU4Z<;~ zaIGaB=loKZ+4*sFLm<>5Z!>$CjEk`YB5G@n18a|^ZlMqX4B8NlTb5Q(dAxE*C^jd=m8rV3fI=i_w2 zgQq-29jLh{a8f|HbR#cS9dhnXGCWq%2+i=Wbx`{C8Rr>2_Gak^K6VjJlP=@#BKKQl z=?~kJc9{buG6{-j?v0ZT0EycVIP&`m|xvKp*Hxp|CKSGANSRPTKpjAUbuktP4O5GIE{Y%#Tf zYNfWRA@$3av@Tiv{QMq%ZF{RB1$f7f-S(#C zU}x)hnxk*mLDC<%u%Lzg-WjiQX-U)5`<;akj1&~!Ta_)_Ndc+p2wiJX&yH8MGOXI5 zZH?<&33m}GLuAS76!pmp?EpdHe{qJFvntIt*{B~0sd?U##0Rr?fc8;IaK0dw;$KxpZm<#(&PQ0HU^hAQWa!b!A&sh^0O#2SPN_?Af!*W-)P!xCxqEnT3Hv&h5*+MB|&Be71Z$Ikhu( zc}|;h+A5D#{S#-4byx8teT$Pv-YwK=5#-bL<`K&+-6rXKk#Yd8S!YO$*V39zlC?QA zZcSNOty^!>eGDNtTgAibSn7Ne&VhCp}_%vb^KrjhuhlRp}q8+%uv8tP-l86qQ#z$zUmLG7+JfK)>PhjYHU~LTzpwQnm)W=-v7*NstBbK|*hi>XUGCDQ zr_thoM3*rrfoomDZ|y4wEIoshHdE*H)4KUh< z$-7B7ZAp6eX^o9rCdSF4R-~FcGg*8(=acr8{taWKO0hoYv~y4U^3P*8^MBty zgT_igfP0mgDkyd&>(Li(W|Tr~-M6Hc8t783pXzB`*iAIaD}$HHAb!Au<~9;1@b*Y9 zupEsgF$(sf;Dyo;`edona2@XYX468awyU;I?{B&3{Fr!UFrkZJ_urA0Hb_(Sj`h!;`L22z8N6FqZTZREQcGdH}Ek)4PJD7&L(T zC_1hRiEO4wX%h#f4^rP>sl7HGR0LA6Z95&6%mBSU2>-YKvC;(d+wevKvktG z-iC>rI_Vi(!#btNe43Wn2ca&E16)xpLs8sHG9mRo84_~Va(;WtV7**bu0w~fYfIm=rLvB0T&X8T_E1$bYV5?G-(VGpEf}UVG(hM$8 zg}aM%XA;&ONlVqY6eJ-a;%5LG!YaHC5Hrhs~zrtcJ;3Qamf(`$pe|pwfnKy1c4Yj~u&RMrB}Zt6dWD zc|0ug;Vq~M$rQNYjU{k|)wXITc4Ck*mV$|zo3HZx_n`fdokOR)x+&+*{zmRWp`QW zEX0r^I5~yD;A&AWNEcR%aZtoG9X&o7#Ewovf9DUA;~z>8V(YaKHK5uuSV1L??r=Y3E*|rwBvyy+A*zq-sS%+G0Es zt7t$m?pMRuHHQn_Zv2=$%Tnh!`yqwOS`lpBCiwbTpGpF;6Dt*ha8~+r`HVXIUuP+C za_jS^_SyP2E|wz=dK*POj{4e7QHcs$w0ac02_$%c^01GC4HYIu>p}dYc|o|PAjH2l zPm}T{g0HS%uo>|Xi<;*{ajv*SBM~6(uqY-Zky;KH_NXLYbB&;-(%LShJttNNzN55&b z3)K827wqjN+ur&|y5HM%s+Kpf{wjM*#x&ZzOt6%~l`fsW(3mP%%5JkR2t%BIQD$CU zegN%&jB6KDu4Ba(K4=nx04loRA+y;x?7=IJpiQw=A2v;HIWM;8J!Z8(V-{QXh-rok zt2>>FUh5}JLRPdc9Ha?H<%EpU-giIwbXt}P{>eGbP4Y6oB@ZSm{dxDw7gh4i%8m!* zb70#a97xwrn%bS2J}XwHYjb{o_`c&W%3b)6*C=)?2BQ3)BR13du-y32;b-OZT;n$) z_IpgYT!FiE+xjR$`&j>SCYbJsE_(55ofYRdYJMq;O^pB>Vb&;cT^MPX%OFycV`?GSVMy$%R9J{rx zW%W^!w|7TlDIZvSD*Z17BdJOEA&=ukYY4|S%fgD|d;AraNChCcz0gb1zM3Z-KrEE~ z8eZ*R#X%XUXr>4gKqHt?G7<_^n9#v!W@EcQ%{%1fzH}(>)vEdqNdc;B8SrGvtpkxY zI9;yLdBzq{h0QbI4AHO)A~0OJG!F*M1+aREFE}KJ*nkq+OgN7Nl-pjlY9PQ0bBO-t z>tda|ScNOsTG7shK&+xB*}Hj95(e`GponEcxQ_&kbZQ7ExjihCn!08_Mnt$Y6Z%Gv2iZX_NCwS=6&-Uqqxin*B7U>1VZo9Laq$^$5vl?gS9I=;>{0`o2c=j(9eri>Tsh?90?!o$n;}UqVm(?lPRHO`cJjO_7*QwN0 zTfbTF%XK#;#sZwl+;YOE2}m5!TOpJsZn%nj<-_4s6VJb3$1cUt%B0CXyIN(Ynv6oA zzt{WX+kWr8xG;*>;y*r5D|l`>clc`Mh&x)g;Yk0hhXdlKRv1Hjes;C)G}S{e0TE`_ z`*OoLe4cjy+;Yl&wQ|Kh{m#Xn=MJlE5%cw3^AQ(8d;->1FCv-&<)$vLKYhHU!J7G0 ziXOz=%H4!ze=Ir>*X@eqlgLpC)_Qz0R_ne=8lcR44x3`(GTabwAT%*0dpuyjF@X&; z7MT*FwH0m3uh^1_%pxp9Nm^-sPmWc~qRl!ViJzG|6bH48;H@p*jO1-twwXdjM!6b< ze(6z7N|@6Tn7S#Qp+U@-9&ONKQ5FOL2p12c#fNn-{c=R3mpfPib2=8DC&@sPpA+b> zL_T5$r^b<%M{df0gFv$z3P56X394Oxw=$WNj0YS!e=8AlHuIRu@Bt<(P1QQ_7m2%#W z6@;7=aJe_u8nyoE2>?i)qP^K+TLZZpy2$nO9lsPjynDqvj@^{DXD zSP9Vo@If~a2p(VYB)z9@r;tTlYWmmY9VyXSXhPogv(yFH%4(I(v|X7uzC02&eyifv>ZRbLb7A)^c z#gS}6>M{C3?4juH=oA_jgXC^I6&t`~+Q?N=A)lrzj?) z?D#;Wa~!iL(M2BdR{k)7qU6Ia$DD}ELo+nhF2`~1*MSWsDE>3Qatec+z|!yxCJXS~ zd3_#^>LSZC;sD^K#o^LKwjl6yIyzX-P=F(e3jR^v#9vy4k(2xVB@D7=!6hsXG2MWs zULUpz38oLBkKhu6O4*0!5wwVJMDR$!Aqga%@m=Qz^K)=o+|<&(mME?s1V~zDS*RF{ zNMmdFmSI9`tWM`RMJfa9pX@aq4oJuba^?^mimwhoH!x(V+{`aLu~b{&dd( zw(V>Oo^}&~Xrq^+)6H^q6DIA)VL4%fy%LQz$+gWB_R7_0EFo7c{u>-s=|!>WdihIXe2Zh#-L2Th)0akS((Q)Yn3`m}SH`9r<<@q)eQ!x@`bz14 D_t*$D literal 0 HcmV?d00001 diff --git a/subxt/examples/storage_bug.rs b/subxt/examples/storage_bug.rs new file mode 100644 index 0000000000..61aab4b66b --- /dev/null +++ b/subxt/examples/storage_bug.rs @@ -0,0 +1,37 @@ +use polkadot::multisig::events::NewMultisig; +use polkadot::runtime_types::{frame_system::pallet::Call, sp_weights::weight_v2::Weight}; +use subxt::utils::AccountId32; +use subxt::{OnlineClient, PolkadotConfig}; +use subxt_signer::sr25519::{dev, Keypair}; + +#[subxt::subxt(runtime_metadata_path = "../cli/enjin2.scale")] +pub mod polkadot {} + +#[tokio::main] +async fn main() -> Result<(), Box> { + // Create a new API client, configured to talk to Polkadot nodes. + let api = + OnlineClient::::from_url("wss://rpc.relay.blockchain.enjin.io:443").await?; + + let unbonding_members = { + let query = polkadot::storage() + .nomination_pools() + .unbonding_members_iter1(6u32); + + println!("Query {:?}", query); + + let static_query = "0x7a6d38deaa01cb6e76ee69889f1696270a0047e8c76616ede28bd21ecd3c8acbb61f803a716bd3b906000000"; + + let mut results = api.storage().at_latest().await?.iter(query).await?; + + let mut unbonding_members = std::collections::HashMap::new(); + while let Some(Ok((key, prefs))) = results.next().await { + unbonding_members.insert(key, prefs); + } + unbonding_members + }; + + println!("Unbonding members {:?}", unbonding_members.len()); + + Ok(()) +} diff --git a/testing/integration-tests/src/full_client/codegen/enji.rs b/testing/integration-tests/src/full_client/codegen/enji.rs new file mode 100644 index 0000000000..db88a4f519 --- /dev/null +++ b/testing/integration-tests/src/full_client/codegen/enji.rs @@ -0,0 +1,57630 @@ +#[allow(dead_code, unused_imports, non_camel_case_types)] +#[allow(clippy::all)] +#[allow(rustdoc::broken_intra_doc_links)] +pub mod api { + #[allow(unused_imports)] + mod root_mod { + pub use super::*; + } + pub static PALLETS: [&str; 60usize] = [ + "System", + "RandomnessCollectiveFlip", + "Timestamp", + "Babe", + "Historical", + "Authorship", + "Balances", + "Offences", + "ElectionProviderMultiPhase", + "Staking", + "Session", + "Grandpa", + "Treasury", + "TransactionPayment", + "Sudo", + "ImOnline", + "AuthorityDiscovery", + "VoterList", + "NominationPools", + "StakeExchange", + "Utility", + "Multisig", + "ParachainsOrigin", + "Configuration", + "ParasShared", + "ParaInclusion", + "ParaInherent", + "ParaScheduler", + "Paras", + "Initializer", + "Dmp", + "Hrmp", + "ParaSessionInfo", + "ParasDisputes", + "ParasSlashing", + "Registrar", + "Slots", + "Auctions", + "Crowdloan", + "XcmPallet", + "MessageQueue", + "ParasSudoWrapper", + "AssignedSlots", + "ValidatorManager", + "MultiTokens", + "FuelTanks", + "ExtrinsicPause", + "Marketplace", + "Beefy", + "Mmr", + "MmrLeaf", + "Scheduler", + "Preimage", + "ConvictionVoting", + "Referenda", + "Whitelist", + "FellowshipCollective", + "FellowshipReferenda", + "Identity", + "VoteManager", + ]; + pub static RUNTIME_APIS: [&str; 0usize] = []; + #[doc = r" The error type returned when there is a runtime issue."] + pub type DispatchError = runtime_types::sp_runtime::DispatchError; + #[doc = r" The outer event enum."] + pub type Event = runtime_types::enjin_runtime::RuntimeEvent; + #[doc = r" The outer extrinsic enum."] + pub type Call = runtime_types::enjin_runtime::RuntimeCall; + #[doc = r" The outer error enum representing the DispatchError's Module variant."] + pub type Error = runtime_types::enjin_runtime::RuntimeError; + pub fn constants() -> ConstantsApi { + ConstantsApi + } + pub fn storage() -> StorageApi { + StorageApi + } + pub fn tx() -> TransactionApi { + TransactionApi + } + pub fn apis() -> runtime_apis::RuntimeApi { + runtime_apis::RuntimeApi + } + pub mod runtime_apis { + use super::root_mod; + use super::runtime_types; + use subxt::ext::codec::Encode; + pub struct RuntimeApi; + impl RuntimeApi {} + } + pub fn custom() -> CustomValuesApi { + CustomValuesApi + } + pub struct CustomValuesApi; + impl CustomValuesApi {} + pub struct ConstantsApi; + impl ConstantsApi { + pub fn system(&self) -> system::constants::ConstantsApi { + system::constants::ConstantsApi + } + pub fn timestamp(&self) -> timestamp::constants::ConstantsApi { + timestamp::constants::ConstantsApi + } + pub fn babe(&self) -> babe::constants::ConstantsApi { + babe::constants::ConstantsApi + } + pub fn balances(&self) -> balances::constants::ConstantsApi { + balances::constants::ConstantsApi + } + pub fn election_provider_multi_phase( + &self, + ) -> election_provider_multi_phase::constants::ConstantsApi { + election_provider_multi_phase::constants::ConstantsApi + } + pub fn staking(&self) -> staking::constants::ConstantsApi { + staking::constants::ConstantsApi + } + pub fn grandpa(&self) -> grandpa::constants::ConstantsApi { + grandpa::constants::ConstantsApi + } + pub fn treasury(&self) -> treasury::constants::ConstantsApi { + treasury::constants::ConstantsApi + } + pub fn transaction_payment(&self) -> transaction_payment::constants::ConstantsApi { + transaction_payment::constants::ConstantsApi + } + pub fn im_online(&self) -> im_online::constants::ConstantsApi { + im_online::constants::ConstantsApi + } + pub fn voter_list(&self) -> voter_list::constants::ConstantsApi { + voter_list::constants::ConstantsApi + } + pub fn nomination_pools(&self) -> nomination_pools::constants::ConstantsApi { + nomination_pools::constants::ConstantsApi + } + pub fn stake_exchange(&self) -> stake_exchange::constants::ConstantsApi { + stake_exchange::constants::ConstantsApi + } + pub fn utility(&self) -> utility::constants::ConstantsApi { + utility::constants::ConstantsApi + } + pub fn multisig(&self) -> multisig::constants::ConstantsApi { + multisig::constants::ConstantsApi + } + pub fn paras(&self) -> paras::constants::ConstantsApi { + paras::constants::ConstantsApi + } + pub fn registrar(&self) -> registrar::constants::ConstantsApi { + registrar::constants::ConstantsApi + } + pub fn slots(&self) -> slots::constants::ConstantsApi { + slots::constants::ConstantsApi + } + pub fn auctions(&self) -> auctions::constants::ConstantsApi { + auctions::constants::ConstantsApi + } + pub fn crowdloan(&self) -> crowdloan::constants::ConstantsApi { + crowdloan::constants::ConstantsApi + } + pub fn message_queue(&self) -> message_queue::constants::ConstantsApi { + message_queue::constants::ConstantsApi + } + pub fn assigned_slots(&self) -> assigned_slots::constants::ConstantsApi { + assigned_slots::constants::ConstantsApi + } + pub fn multi_tokens(&self) -> multi_tokens::constants::ConstantsApi { + multi_tokens::constants::ConstantsApi + } + pub fn fuel_tanks(&self) -> fuel_tanks::constants::ConstantsApi { + fuel_tanks::constants::ConstantsApi + } + pub fn extrinsic_pause(&self) -> extrinsic_pause::constants::ConstantsApi { + extrinsic_pause::constants::ConstantsApi + } + pub fn marketplace(&self) -> marketplace::constants::ConstantsApi { + marketplace::constants::ConstantsApi + } + pub fn beefy(&self) -> beefy::constants::ConstantsApi { + beefy::constants::ConstantsApi + } + pub fn scheduler(&self) -> scheduler::constants::ConstantsApi { + scheduler::constants::ConstantsApi + } + pub fn conviction_voting(&self) -> conviction_voting::constants::ConstantsApi { + conviction_voting::constants::ConstantsApi + } + pub fn referenda(&self) -> referenda::constants::ConstantsApi { + referenda::constants::ConstantsApi + } + pub fn fellowship_referenda(&self) -> fellowship_referenda::constants::ConstantsApi { + fellowship_referenda::constants::ConstantsApi + } + pub fn identity(&self) -> identity::constants::ConstantsApi { + identity::constants::ConstantsApi + } + } + pub struct StorageApi; + impl StorageApi { + pub fn system(&self) -> system::storage::StorageApi { + system::storage::StorageApi + } + pub fn randomness_collective_flip( + &self, + ) -> randomness_collective_flip::storage::StorageApi { + randomness_collective_flip::storage::StorageApi + } + pub fn timestamp(&self) -> timestamp::storage::StorageApi { + timestamp::storage::StorageApi + } + pub fn babe(&self) -> babe::storage::StorageApi { + babe::storage::StorageApi + } + pub fn authorship(&self) -> authorship::storage::StorageApi { + authorship::storage::StorageApi + } + pub fn balances(&self) -> balances::storage::StorageApi { + balances::storage::StorageApi + } + pub fn offences(&self) -> offences::storage::StorageApi { + offences::storage::StorageApi + } + pub fn election_provider_multi_phase( + &self, + ) -> election_provider_multi_phase::storage::StorageApi { + election_provider_multi_phase::storage::StorageApi + } + pub fn staking(&self) -> staking::storage::StorageApi { + staking::storage::StorageApi + } + pub fn session(&self) -> session::storage::StorageApi { + session::storage::StorageApi + } + pub fn grandpa(&self) -> grandpa::storage::StorageApi { + grandpa::storage::StorageApi + } + pub fn treasury(&self) -> treasury::storage::StorageApi { + treasury::storage::StorageApi + } + pub fn transaction_payment(&self) -> transaction_payment::storage::StorageApi { + transaction_payment::storage::StorageApi + } + pub fn sudo(&self) -> sudo::storage::StorageApi { + sudo::storage::StorageApi + } + pub fn im_online(&self) -> im_online::storage::StorageApi { + im_online::storage::StorageApi + } + pub fn voter_list(&self) -> voter_list::storage::StorageApi { + voter_list::storage::StorageApi + } + pub fn nomination_pools(&self) -> nomination_pools::storage::StorageApi { + nomination_pools::storage::StorageApi + } + pub fn stake_exchange(&self) -> stake_exchange::storage::StorageApi { + stake_exchange::storage::StorageApi + } + pub fn multisig(&self) -> multisig::storage::StorageApi { + multisig::storage::StorageApi + } + pub fn configuration(&self) -> configuration::storage::StorageApi { + configuration::storage::StorageApi + } + pub fn paras_shared(&self) -> paras_shared::storage::StorageApi { + paras_shared::storage::StorageApi + } + pub fn para_inclusion(&self) -> para_inclusion::storage::StorageApi { + para_inclusion::storage::StorageApi + } + pub fn para_inherent(&self) -> para_inherent::storage::StorageApi { + para_inherent::storage::StorageApi + } + pub fn para_scheduler(&self) -> para_scheduler::storage::StorageApi { + para_scheduler::storage::StorageApi + } + pub fn paras(&self) -> paras::storage::StorageApi { + paras::storage::StorageApi + } + pub fn initializer(&self) -> initializer::storage::StorageApi { + initializer::storage::StorageApi + } + pub fn dmp(&self) -> dmp::storage::StorageApi { + dmp::storage::StorageApi + } + pub fn hrmp(&self) -> hrmp::storage::StorageApi { + hrmp::storage::StorageApi + } + pub fn para_session_info(&self) -> para_session_info::storage::StorageApi { + para_session_info::storage::StorageApi + } + pub fn paras_disputes(&self) -> paras_disputes::storage::StorageApi { + paras_disputes::storage::StorageApi + } + pub fn paras_slashing(&self) -> paras_slashing::storage::StorageApi { + paras_slashing::storage::StorageApi + } + pub fn registrar(&self) -> registrar::storage::StorageApi { + registrar::storage::StorageApi + } + pub fn slots(&self) -> slots::storage::StorageApi { + slots::storage::StorageApi + } + pub fn auctions(&self) -> auctions::storage::StorageApi { + auctions::storage::StorageApi + } + pub fn crowdloan(&self) -> crowdloan::storage::StorageApi { + crowdloan::storage::StorageApi + } + pub fn xcm_pallet(&self) -> xcm_pallet::storage::StorageApi { + xcm_pallet::storage::StorageApi + } + pub fn message_queue(&self) -> message_queue::storage::StorageApi { + message_queue::storage::StorageApi + } + pub fn assigned_slots(&self) -> assigned_slots::storage::StorageApi { + assigned_slots::storage::StorageApi + } + pub fn validator_manager(&self) -> validator_manager::storage::StorageApi { + validator_manager::storage::StorageApi + } + pub fn multi_tokens(&self) -> multi_tokens::storage::StorageApi { + multi_tokens::storage::StorageApi + } + pub fn fuel_tanks(&self) -> fuel_tanks::storage::StorageApi { + fuel_tanks::storage::StorageApi + } + pub fn extrinsic_pause(&self) -> extrinsic_pause::storage::StorageApi { + extrinsic_pause::storage::StorageApi + } + pub fn marketplace(&self) -> marketplace::storage::StorageApi { + marketplace::storage::StorageApi + } + pub fn beefy(&self) -> beefy::storage::StorageApi { + beefy::storage::StorageApi + } + pub fn mmr(&self) -> mmr::storage::StorageApi { + mmr::storage::StorageApi + } + pub fn mmr_leaf(&self) -> mmr_leaf::storage::StorageApi { + mmr_leaf::storage::StorageApi + } + pub fn scheduler(&self) -> scheduler::storage::StorageApi { + scheduler::storage::StorageApi + } + pub fn preimage(&self) -> preimage::storage::StorageApi { + preimage::storage::StorageApi + } + pub fn conviction_voting(&self) -> conviction_voting::storage::StorageApi { + conviction_voting::storage::StorageApi + } + pub fn referenda(&self) -> referenda::storage::StorageApi { + referenda::storage::StorageApi + } + pub fn whitelist(&self) -> whitelist::storage::StorageApi { + whitelist::storage::StorageApi + } + pub fn fellowship_collective(&self) -> fellowship_collective::storage::StorageApi { + fellowship_collective::storage::StorageApi + } + pub fn fellowship_referenda(&self) -> fellowship_referenda::storage::StorageApi { + fellowship_referenda::storage::StorageApi + } + pub fn identity(&self) -> identity::storage::StorageApi { + identity::storage::StorageApi + } + pub fn vote_manager(&self) -> vote_manager::storage::StorageApi { + vote_manager::storage::StorageApi + } + } + pub struct TransactionApi; + impl TransactionApi { + pub fn system(&self) -> system::calls::TransactionApi { + system::calls::TransactionApi + } + pub fn timestamp(&self) -> timestamp::calls::TransactionApi { + timestamp::calls::TransactionApi + } + pub fn babe(&self) -> babe::calls::TransactionApi { + babe::calls::TransactionApi + } + pub fn balances(&self) -> balances::calls::TransactionApi { + balances::calls::TransactionApi + } + pub fn election_provider_multi_phase( + &self, + ) -> election_provider_multi_phase::calls::TransactionApi { + election_provider_multi_phase::calls::TransactionApi + } + pub fn staking(&self) -> staking::calls::TransactionApi { + staking::calls::TransactionApi + } + pub fn session(&self) -> session::calls::TransactionApi { + session::calls::TransactionApi + } + pub fn grandpa(&self) -> grandpa::calls::TransactionApi { + grandpa::calls::TransactionApi + } + pub fn treasury(&self) -> treasury::calls::TransactionApi { + treasury::calls::TransactionApi + } + pub fn sudo(&self) -> sudo::calls::TransactionApi { + sudo::calls::TransactionApi + } + pub fn im_online(&self) -> im_online::calls::TransactionApi { + im_online::calls::TransactionApi + } + pub fn voter_list(&self) -> voter_list::calls::TransactionApi { + voter_list::calls::TransactionApi + } + pub fn nomination_pools(&self) -> nomination_pools::calls::TransactionApi { + nomination_pools::calls::TransactionApi + } + pub fn stake_exchange(&self) -> stake_exchange::calls::TransactionApi { + stake_exchange::calls::TransactionApi + } + pub fn utility(&self) -> utility::calls::TransactionApi { + utility::calls::TransactionApi + } + pub fn multisig(&self) -> multisig::calls::TransactionApi { + multisig::calls::TransactionApi + } + pub fn configuration(&self) -> configuration::calls::TransactionApi { + configuration::calls::TransactionApi + } + pub fn paras_shared(&self) -> paras_shared::calls::TransactionApi { + paras_shared::calls::TransactionApi + } + pub fn para_inclusion(&self) -> para_inclusion::calls::TransactionApi { + para_inclusion::calls::TransactionApi + } + pub fn para_inherent(&self) -> para_inherent::calls::TransactionApi { + para_inherent::calls::TransactionApi + } + pub fn paras(&self) -> paras::calls::TransactionApi { + paras::calls::TransactionApi + } + pub fn initializer(&self) -> initializer::calls::TransactionApi { + initializer::calls::TransactionApi + } + pub fn hrmp(&self) -> hrmp::calls::TransactionApi { + hrmp::calls::TransactionApi + } + pub fn paras_disputes(&self) -> paras_disputes::calls::TransactionApi { + paras_disputes::calls::TransactionApi + } + pub fn paras_slashing(&self) -> paras_slashing::calls::TransactionApi { + paras_slashing::calls::TransactionApi + } + pub fn registrar(&self) -> registrar::calls::TransactionApi { + registrar::calls::TransactionApi + } + pub fn slots(&self) -> slots::calls::TransactionApi { + slots::calls::TransactionApi + } + pub fn auctions(&self) -> auctions::calls::TransactionApi { + auctions::calls::TransactionApi + } + pub fn crowdloan(&self) -> crowdloan::calls::TransactionApi { + crowdloan::calls::TransactionApi + } + pub fn xcm_pallet(&self) -> xcm_pallet::calls::TransactionApi { + xcm_pallet::calls::TransactionApi + } + pub fn message_queue(&self) -> message_queue::calls::TransactionApi { + message_queue::calls::TransactionApi + } + pub fn paras_sudo_wrapper(&self) -> paras_sudo_wrapper::calls::TransactionApi { + paras_sudo_wrapper::calls::TransactionApi + } + pub fn assigned_slots(&self) -> assigned_slots::calls::TransactionApi { + assigned_slots::calls::TransactionApi + } + pub fn validator_manager(&self) -> validator_manager::calls::TransactionApi { + validator_manager::calls::TransactionApi + } + pub fn multi_tokens(&self) -> multi_tokens::calls::TransactionApi { + multi_tokens::calls::TransactionApi + } + pub fn fuel_tanks(&self) -> fuel_tanks::calls::TransactionApi { + fuel_tanks::calls::TransactionApi + } + pub fn extrinsic_pause(&self) -> extrinsic_pause::calls::TransactionApi { + extrinsic_pause::calls::TransactionApi + } + pub fn marketplace(&self) -> marketplace::calls::TransactionApi { + marketplace::calls::TransactionApi + } + pub fn beefy(&self) -> beefy::calls::TransactionApi { + beefy::calls::TransactionApi + } + pub fn scheduler(&self) -> scheduler::calls::TransactionApi { + scheduler::calls::TransactionApi + } + pub fn preimage(&self) -> preimage::calls::TransactionApi { + preimage::calls::TransactionApi + } + pub fn conviction_voting(&self) -> conviction_voting::calls::TransactionApi { + conviction_voting::calls::TransactionApi + } + pub fn referenda(&self) -> referenda::calls::TransactionApi { + referenda::calls::TransactionApi + } + pub fn whitelist(&self) -> whitelist::calls::TransactionApi { + whitelist::calls::TransactionApi + } + pub fn fellowship_collective(&self) -> fellowship_collective::calls::TransactionApi { + fellowship_collective::calls::TransactionApi + } + pub fn fellowship_referenda(&self) -> fellowship_referenda::calls::TransactionApi { + fellowship_referenda::calls::TransactionApi + } + pub fn identity(&self) -> identity::calls::TransactionApi { + identity::calls::TransactionApi + } + pub fn vote_manager(&self) -> vote_manager::calls::TransactionApi { + vote_manager::calls::TransactionApi + } + } + #[doc = r" check whether the metadata provided is aligned with this statically generated code."] + pub fn is_codegen_valid_for(metadata: &::subxt::Metadata) -> bool { + let runtime_metadata_hash = metadata + .hasher() + .only_these_pallets(&PALLETS) + .only_these_runtime_apis(&RUNTIME_APIS) + .hash(); + runtime_metadata_hash + == [ + 144u8, 103u8, 231u8, 242u8, 203u8, 37u8, 75u8, 170u8, 24u8, 47u8, 152u8, 111u8, + 82u8, 18u8, 234u8, 153u8, 124u8, 36u8, 46u8, 129u8, 207u8, 5u8, 130u8, 226u8, 22u8, + 83u8, 115u8, 48u8, 24u8, 59u8, 159u8, 46u8, + ] + } + pub mod system { + use super::root_mod; + use super::runtime_types; + #[doc = "Error for the System pallet"] + pub type Error = runtime_types::frame_system::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::frame_system::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Remark { + pub remark: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for Remark { + const PALLET: &'static str = "System"; + const CALL: &'static str = "remark"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHeapPages { + pub pages: ::core::primitive::u64, + } + impl ::subxt::blocks::StaticExtrinsic for SetHeapPages { + const PALLET: &'static str = "System"; + const CALL: &'static str = "set_heap_pages"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetCode { + pub code: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for SetCode { + const PALLET: &'static str = "System"; + const CALL: &'static str = "set_code"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetCodeWithoutChecks { + pub code: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for SetCodeWithoutChecks { + const PALLET: &'static str = "System"; + const CALL: &'static str = "set_code_without_checks"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetStorage { + pub items: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + } + impl ::subxt::blocks::StaticExtrinsic for SetStorage { + const PALLET: &'static str = "System"; + const CALL: &'static str = "set_storage"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct KillStorage { + pub keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + } + impl ::subxt::blocks::StaticExtrinsic for KillStorage { + const PALLET: &'static str = "System"; + const CALL: &'static str = "kill_storage"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct KillPrefix { + pub prefix: ::std::vec::Vec<::core::primitive::u8>, + pub subkeys: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for KillPrefix { + const PALLET: &'static str = "System"; + const CALL: &'static str = "kill_prefix"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemarkWithEvent { + pub remark: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for RemarkWithEvent { + const PALLET: &'static str = "System"; + const CALL: &'static str = "remark_with_event"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Make some on-chain remark."] + #[doc = ""] + #[doc = "- `O(1)`"] + pub fn remark( + &self, + remark: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "remark", + types::Remark { remark }, + [ + 43u8, 126u8, 180u8, 174u8, 141u8, 48u8, 52u8, 125u8, 166u8, 212u8, + 216u8, 98u8, 100u8, 24u8, 132u8, 71u8, 101u8, 64u8, 246u8, 169u8, 33u8, + 250u8, 147u8, 208u8, 2u8, 40u8, 129u8, 209u8, 232u8, 207u8, 207u8, + 13u8, + ], + ) + } + #[doc = "Set the number of pages in the WebAssembly environment's heap."] + pub fn set_heap_pages( + &self, + pages: ::core::primitive::u64, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "set_heap_pages", + types::SetHeapPages { pages }, + [ + 188u8, 191u8, 99u8, 216u8, 219u8, 109u8, 141u8, 50u8, 78u8, 235u8, + 215u8, 242u8, 195u8, 24u8, 111u8, 76u8, 229u8, 64u8, 99u8, 225u8, + 134u8, 121u8, 81u8, 209u8, 127u8, 223u8, 98u8, 215u8, 150u8, 70u8, + 57u8, 147u8, + ], + ) + } + #[doc = "Set the new runtime code."] + pub fn set_code( + &self, + code: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "set_code", + types::SetCode { code }, + [ + 233u8, 248u8, 88u8, 245u8, 28u8, 65u8, 25u8, 169u8, 35u8, 237u8, 19u8, + 203u8, 136u8, 160u8, 18u8, 3u8, 20u8, 197u8, 81u8, 169u8, 244u8, 188u8, + 27u8, 147u8, 147u8, 236u8, 65u8, 25u8, 3u8, 143u8, 182u8, 22u8, + ], + ) + } + #[doc = "Set the new runtime code without doing any checks of the given `code`."] + pub fn set_code_without_checks( + &self, + code: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "set_code_without_checks", + types::SetCodeWithoutChecks { code }, + [ + 82u8, 212u8, 157u8, 44u8, 70u8, 0u8, 143u8, 15u8, 109u8, 109u8, 107u8, + 157u8, 141u8, 42u8, 169u8, 11u8, 15u8, 186u8, 252u8, 138u8, 10u8, + 147u8, 15u8, 178u8, 247u8, 229u8, 213u8, 98u8, 207u8, 231u8, 119u8, + 115u8, + ], + ) + } + #[doc = "Set some items of storage."] + pub fn set_storage( + &self, + items: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "set_storage", + types::SetStorage { items }, + [ + 141u8, 216u8, 52u8, 222u8, 223u8, 136u8, 123u8, 181u8, 19u8, 75u8, + 163u8, 102u8, 229u8, 189u8, 158u8, 142u8, 95u8, 235u8, 240u8, 49u8, + 150u8, 76u8, 78u8, 137u8, 126u8, 88u8, 183u8, 88u8, 231u8, 146u8, + 234u8, 43u8, + ], + ) + } + #[doc = "Kill some items from storage."] + pub fn kill_storage( + &self, + keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "kill_storage", + types::KillStorage { keys }, + [ + 73u8, 63u8, 196u8, 36u8, 144u8, 114u8, 34u8, 213u8, 108u8, 93u8, 209u8, + 234u8, 153u8, 185u8, 33u8, 91u8, 187u8, 195u8, 223u8, 130u8, 58u8, + 156u8, 63u8, 47u8, 228u8, 249u8, 216u8, 139u8, 143u8, 177u8, 41u8, + 35u8, + ], + ) + } + #[doc = "Kill all storage items with a key that starts with the given prefix."] + #[doc = ""] + #[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"] + #[doc = "the prefix we are removing to accurately calculate the weight of this function."] + pub fn kill_prefix( + &self, + prefix: ::std::vec::Vec<::core::primitive::u8>, + subkeys: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "kill_prefix", + types::KillPrefix { prefix, subkeys }, + [ + 184u8, 57u8, 139u8, 24u8, 208u8, 87u8, 108u8, 215u8, 198u8, 189u8, + 175u8, 242u8, 167u8, 215u8, 97u8, 63u8, 110u8, 166u8, 238u8, 98u8, + 67u8, 236u8, 111u8, 110u8, 234u8, 81u8, 102u8, 5u8, 182u8, 5u8, 214u8, + 85u8, + ], + ) + } + #[doc = "Make some on-chain remark and emit event."] + pub fn remark_with_event( + &self, + remark: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "System", + "remark_with_event", + types::RemarkWithEvent { remark }, + [ + 120u8, 120u8, 153u8, 92u8, 184u8, 85u8, 34u8, 2u8, 174u8, 206u8, 105u8, + 228u8, 233u8, 130u8, 80u8, 246u8, 228u8, 59u8, 234u8, 240u8, 4u8, 49u8, + 147u8, 170u8, 115u8, 91u8, 149u8, 200u8, 228u8, 181u8, 8u8, 154u8, + ], + ) + } + } + } + #[doc = "Event for the System pallet."] + pub type Event = runtime_types::frame_system::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An extrinsic completed successfully."] + pub struct ExtrinsicSuccess { + pub dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, + } + impl ::subxt::events::StaticEvent for ExtrinsicSuccess { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "ExtrinsicSuccess"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An extrinsic failed."] + pub struct ExtrinsicFailed { + pub dispatch_error: runtime_types::sp_runtime::DispatchError, + pub dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, + } + impl ::subxt::events::StaticEvent for ExtrinsicFailed { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "ExtrinsicFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "`:code` was updated."] + pub struct CodeUpdated; + impl ::subxt::events::StaticEvent for CodeUpdated { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "CodeUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new account was created."] + pub struct NewAccount { + pub account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for NewAccount { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "NewAccount"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was reaped."] + pub struct KilledAccount { + pub account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for KilledAccount { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "KilledAccount"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "On on-chain remark happened."] + pub struct Remarked { + pub sender: ::subxt::utils::AccountId32, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Remarked { + const PALLET: &'static str = "System"; + const EVENT: &'static str = "Remarked"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The full account information for a particular account ID."] + pub fn account_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::frame_system::AccountInfo< + ::core::primitive::u32, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "System", + "Account", + vec![], + [ + 14u8, 233u8, 115u8, 214u8, 0u8, 109u8, 222u8, 121u8, 162u8, 65u8, 60u8, + 175u8, 209u8, 79u8, 222u8, 124u8, 22u8, 235u8, 138u8, 176u8, 133u8, + 124u8, 90u8, 158u8, 85u8, 45u8, 37u8, 174u8, 47u8, 79u8, 47u8, 166u8, + ], + ) + } + #[doc = " The full account information for a particular account ID."] + pub fn account( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::frame_system::AccountInfo< + ::core::primitive::u32, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "Account", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 14u8, 233u8, 115u8, 214u8, 0u8, 109u8, 222u8, 121u8, 162u8, 65u8, 60u8, + 175u8, 209u8, 79u8, 222u8, 124u8, 22u8, 235u8, 138u8, 176u8, 133u8, + 124u8, 90u8, 158u8, 85u8, 45u8, 37u8, 174u8, 47u8, 79u8, 47u8, 166u8, + ], + ) + } + #[doc = " Total extrinsics count for the current block."] + pub fn extrinsic_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "ExtrinsicCount", + vec![], + [ + 102u8, 76u8, 236u8, 42u8, 40u8, 231u8, 33u8, 222u8, 123u8, 147u8, + 153u8, 148u8, 234u8, 203u8, 181u8, 119u8, 6u8, 187u8, 177u8, 199u8, + 120u8, 47u8, 137u8, 254u8, 96u8, 100u8, 165u8, 182u8, 249u8, 230u8, + 159u8, 79u8, + ], + ) + } + #[doc = " The current weight for the block."] + pub fn block_weight( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::frame_support::dispatch::PerDispatchClass< + runtime_types::sp_weights::weight_v2::Weight, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "BlockWeight", + vec![], + [ + 158u8, 46u8, 228u8, 89u8, 210u8, 214u8, 84u8, 154u8, 50u8, 68u8, 63u8, + 62u8, 43u8, 42u8, 99u8, 27u8, 54u8, 42u8, 146u8, 44u8, 241u8, 216u8, + 229u8, 30u8, 216u8, 255u8, 165u8, 238u8, 181u8, 130u8, 36u8, 102u8, + ], + ) + } + #[doc = " Total length (in bytes) for all extrinsics put together, for the current block."] + pub fn all_extrinsics_len( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "AllExtrinsicsLen", + vec![], + [ + 117u8, 86u8, 61u8, 243u8, 41u8, 51u8, 102u8, 214u8, 137u8, 100u8, + 243u8, 185u8, 122u8, 174u8, 187u8, 117u8, 86u8, 189u8, 63u8, 135u8, + 101u8, 218u8, 203u8, 201u8, 237u8, 254u8, 128u8, 183u8, 169u8, 221u8, + 242u8, 65u8, + ], + ) + } + #[doc = " Map of block numbers to block hashes."] + pub fn block_hash_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "System", + "BlockHash", + vec![], + [ + 217u8, 32u8, 215u8, 253u8, 24u8, 182u8, 207u8, 178u8, 157u8, 24u8, + 103u8, 100u8, 195u8, 165u8, 69u8, 152u8, 112u8, 181u8, 56u8, 192u8, + 164u8, 16u8, 20u8, 222u8, 28u8, 214u8, 144u8, 142u8, 146u8, 69u8, + 202u8, 118u8, + ], + ) + } + #[doc = " Map of block numbers to block hashes."] + pub fn block_hash( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "BlockHash", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 217u8, 32u8, 215u8, 253u8, 24u8, 182u8, 207u8, 178u8, 157u8, 24u8, + 103u8, 100u8, 195u8, 165u8, 69u8, 152u8, 112u8, 181u8, 56u8, 192u8, + 164u8, 16u8, 20u8, 222u8, 28u8, 214u8, 144u8, 142u8, 146u8, 69u8, + 202u8, 118u8, + ], + ) + } + #[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."] + pub fn extrinsic_data_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::core::primitive::u8>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "System", + "ExtrinsicData", + vec![], + [ + 160u8, 180u8, 122u8, 18u8, 196u8, 26u8, 2u8, 37u8, 115u8, 232u8, 133u8, + 220u8, 106u8, 245u8, 4u8, 129u8, 42u8, 84u8, 241u8, 45u8, 199u8, 179u8, + 128u8, 61u8, 170u8, 137u8, 231u8, 156u8, 247u8, 57u8, 47u8, 38u8, + ], + ) + } + #[doc = " Extrinsics data for the current block (maps an extrinsic's index to its data)."] + pub fn extrinsic_data( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::core::primitive::u8>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "ExtrinsicData", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 160u8, 180u8, 122u8, 18u8, 196u8, 26u8, 2u8, 37u8, 115u8, 232u8, 133u8, + 220u8, 106u8, 245u8, 4u8, 129u8, 42u8, 84u8, 241u8, 45u8, 199u8, 179u8, + 128u8, 61u8, 170u8, 137u8, 231u8, 156u8, 247u8, 57u8, 47u8, 38u8, + ], + ) + } + #[doc = " The current block number being processed. Set by `execute_block`."] + pub fn number( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "Number", + vec![], + [ + 30u8, 194u8, 177u8, 90u8, 194u8, 232u8, 46u8, 180u8, 85u8, 129u8, 14u8, + 9u8, 8u8, 8u8, 23u8, 95u8, 230u8, 5u8, 13u8, 105u8, 125u8, 2u8, 22u8, + 200u8, 78u8, 93u8, 115u8, 28u8, 150u8, 113u8, 48u8, 53u8, + ], + ) + } + #[doc = " Hash of the previous block."] + pub fn parent_hash( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "ParentHash", + vec![], + [ + 26u8, 130u8, 11u8, 216u8, 155u8, 71u8, 128u8, 170u8, 30u8, 153u8, 21u8, + 192u8, 62u8, 93u8, 137u8, 80u8, 120u8, 81u8, 202u8, 94u8, 248u8, 125u8, + 71u8, 82u8, 141u8, 229u8, 32u8, 56u8, 73u8, 50u8, 101u8, 78u8, + ], + ) + } + #[doc = " Digest of the current block, also part of the block header."] + pub fn digest( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_runtime::generic::digest::Digest, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "Digest", + vec![], + [ + 61u8, 64u8, 237u8, 91u8, 145u8, 232u8, 17u8, 254u8, 181u8, 16u8, 234u8, + 91u8, 51u8, 140u8, 254u8, 131u8, 98u8, 135u8, 21u8, 37u8, 251u8, 20u8, + 58u8, 92u8, 123u8, 141u8, 14u8, 227u8, 146u8, 46u8, 222u8, 117u8, + ], + ) + } + #[doc = " Events deposited for the current block."] + #[doc = ""] + #[doc = " NOTE: The item is unbound and should therefore never be read on chain."] + #[doc = " It could otherwise inflate the PoV size of a block."] + #[doc = ""] + #[doc = " Events have a large in-memory size. Box the events to not go out-of-memory"] + #[doc = " just in case someone still reads them from within the runtime."] + pub fn events( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + runtime_types::frame_system::EventRecord< + runtime_types::enjin_runtime::RuntimeEvent, + ::subxt::utils::H256, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "Events", + vec![], + [ + 128u8, 224u8, 228u8, 2u8, 208u8, 25u8, 25u8, 137u8, 201u8, 7u8, 84u8, + 234u8, 42u8, 6u8, 6u8, 195u8, 25u8, 147u8, 196u8, 27u8, 30u8, 160u8, + 119u8, 38u8, 116u8, 212u8, 210u8, 5u8, 59u8, 28u8, 119u8, 187u8, + ], + ) + } + #[doc = " The number of events in the `Events` list."] + pub fn event_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "EventCount", + vec![], + [ + 175u8, 24u8, 252u8, 184u8, 210u8, 167u8, 146u8, 143u8, 164u8, 80u8, + 151u8, 205u8, 189u8, 189u8, 55u8, 220u8, 47u8, 101u8, 181u8, 33u8, + 254u8, 131u8, 13u8, 143u8, 3u8, 244u8, 245u8, 45u8, 2u8, 210u8, 79u8, + 133u8, + ], + ) + } + #[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"] + #[doc = " of events in the `>` list."] + #[doc = ""] + #[doc = " All topic vectors have deterministic storage locations depending on the topic. This"] + #[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"] + #[doc = " in case of changes fetch the list of events of interest."] + #[doc = ""] + #[doc = " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just"] + #[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"] + #[doc = " no notification will be triggered thus the event might be lost."] + pub fn event_topics_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::u32)>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "System", + "EventTopics", + vec![], + [ + 40u8, 225u8, 14u8, 75u8, 44u8, 176u8, 76u8, 34u8, 143u8, 107u8, 69u8, + 133u8, 114u8, 13u8, 172u8, 250u8, 141u8, 73u8, 12u8, 65u8, 217u8, 63u8, + 120u8, 241u8, 48u8, 106u8, 143u8, 161u8, 128u8, 100u8, 166u8, 59u8, + ], + ) + } + #[doc = " Mapping between a topic (represented by T::Hash) and a vector of indexes"] + #[doc = " of events in the `>` list."] + #[doc = ""] + #[doc = " All topic vectors have deterministic storage locations depending on the topic. This"] + #[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"] + #[doc = " in case of changes fetch the list of events of interest."] + #[doc = ""] + #[doc = " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just"] + #[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"] + #[doc = " no notification will be triggered thus the event might be lost."] + pub fn event_topics( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::u32)>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "EventTopics", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 40u8, 225u8, 14u8, 75u8, 44u8, 176u8, 76u8, 34u8, 143u8, 107u8, 69u8, + 133u8, 114u8, 13u8, 172u8, 250u8, 141u8, 73u8, 12u8, 65u8, 217u8, 63u8, + 120u8, 241u8, 48u8, 106u8, 143u8, 161u8, 128u8, 100u8, 166u8, 59u8, + ], + ) + } + #[doc = " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."] + pub fn last_runtime_upgrade( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::frame_system::LastRuntimeUpgradeInfo, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "LastRuntimeUpgrade", + vec![], + [ + 137u8, 29u8, 175u8, 75u8, 197u8, 208u8, 91u8, 207u8, 156u8, 87u8, + 148u8, 68u8, 91u8, 140u8, 22u8, 233u8, 1u8, 229u8, 56u8, 34u8, 40u8, + 194u8, 253u8, 30u8, 163u8, 39u8, 54u8, 209u8, 13u8, 27u8, 139u8, 184u8, + ], + ) + } + #[doc = " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not."] + pub fn upgraded_to_u32_ref_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::bool, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "UpgradedToU32RefCount", + vec![], + [ + 229u8, 73u8, 9u8, 132u8, 186u8, 116u8, 151u8, 171u8, 145u8, 29u8, 34u8, + 130u8, 52u8, 146u8, 124u8, 175u8, 79u8, 189u8, 147u8, 230u8, 234u8, + 107u8, 124u8, 31u8, 2u8, 22u8, 86u8, 190u8, 4u8, 147u8, 50u8, 245u8, + ], + ) + } + #[doc = " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False"] + #[doc = " (default) if not."] + pub fn upgraded_to_triple_ref_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::bool, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "UpgradedToTripleRefCount", + vec![], + [ + 97u8, 66u8, 124u8, 243u8, 27u8, 167u8, 147u8, 81u8, 254u8, 201u8, + 101u8, 24u8, 40u8, 231u8, 14u8, 179u8, 154u8, 163u8, 71u8, 81u8, 185u8, + 167u8, 82u8, 254u8, 189u8, 3u8, 101u8, 207u8, 206u8, 194u8, 155u8, + 151u8, + ], + ) + } + #[doc = " The execution phase of the block."] + pub fn execution_phase( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::frame_system::Phase, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "System", + "ExecutionPhase", + vec![], + [ + 191u8, 129u8, 100u8, 134u8, 126u8, 116u8, 154u8, 203u8, 220u8, 200u8, + 0u8, 26u8, 161u8, 250u8, 133u8, 205u8, 146u8, 24u8, 5u8, 156u8, 158u8, + 35u8, 36u8, 253u8, 52u8, 235u8, 86u8, 167u8, 35u8, 100u8, 119u8, 27u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Block & extrinsics weights: base values and limits."] + pub fn block_weights( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "System", + "BlockWeights", + [ + 176u8, 124u8, 225u8, 136u8, 25u8, 73u8, 247u8, 33u8, 82u8, 206u8, 85u8, + 190u8, 127u8, 102u8, 71u8, 11u8, 185u8, 8u8, 58u8, 0u8, 94u8, 55u8, + 163u8, 177u8, 104u8, 59u8, 60u8, 136u8, 246u8, 116u8, 0u8, 239u8, + ], + ) + } + #[doc = " The maximum length of a block (in bytes)."] + pub fn block_length( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "System", + "BlockLength", + [ + 23u8, 242u8, 225u8, 39u8, 225u8, 67u8, 152u8, 41u8, 155u8, 104u8, 68u8, + 229u8, 185u8, 133u8, 10u8, 143u8, 184u8, 152u8, 234u8, 44u8, 140u8, + 96u8, 166u8, 235u8, 162u8, 160u8, 72u8, 7u8, 35u8, 194u8, 3u8, 37u8, + ], + ) + } + #[doc = " Maximum number of block number to block hash mappings to keep (oldest pruned first)."] + pub fn block_hash_count( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "System", + "BlockHashCount", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The weight of runtime database operations the runtime can invoke."] + pub fn db_weight( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "System", + "DbWeight", + [ + 42u8, 43u8, 178u8, 142u8, 243u8, 203u8, 60u8, 173u8, 118u8, 111u8, + 200u8, 170u8, 102u8, 70u8, 237u8, 187u8, 198u8, 120u8, 153u8, 232u8, + 183u8, 76u8, 74u8, 10u8, 70u8, 243u8, 14u8, 218u8, 213u8, 126u8, 29u8, + 177u8, + ], + ) + } + #[doc = " Get the chain's current version."] + pub fn version( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "System", + "Version", + [ + 219u8, 45u8, 162u8, 245u8, 177u8, 246u8, 48u8, 126u8, 191u8, 157u8, + 228u8, 83u8, 111u8, 133u8, 183u8, 13u8, 148u8, 108u8, 92u8, 102u8, + 72u8, 205u8, 74u8, 242u8, 233u8, 79u8, 20u8, 170u8, 72u8, 202u8, 158u8, + 165u8, + ], + ) + } + #[doc = " The designated SS58 prefix of this chain."] + #[doc = ""] + #[doc = " This replaces the \"ss58Format\" property declared in the chain spec. Reason is"] + #[doc = " that the runtime should know about the prefix in order to make use of it as"] + #[doc = " an identifier of the chain."] + pub fn ss58_prefix(&self) -> ::subxt::constants::Address<::core::primitive::u16> { + ::subxt::constants::Address::new_static( + "System", + "SS58Prefix", + [ + 116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, 227u8, + 41u8, 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, 184u8, 72u8, 169u8, + 90u8, 208u8, 135u8, 15u8, 117u8, 10u8, 123u8, 128u8, 193u8, 29u8, 70u8, + ], + ) + } + } + } + } + pub mod randomness_collective_flip { + use super::root_mod; + use super::runtime_types; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Series of block headers from the last 81 blocks that acts as random seed material. This"] + #[doc = " is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of"] + #[doc = " the oldest hash."] + pub fn random_material( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::H256, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "RandomnessCollectiveFlip", + "RandomMaterial", + vec![], + [ + 195u8, 232u8, 244u8, 162u8, 110u8, 137u8, 66u8, 57u8, 51u8, 221u8, + 143u8, 38u8, 51u8, 183u8, 105u8, 245u8, 175u8, 13u8, 33u8, 192u8, 53u8, + 16u8, 161u8, 76u8, 219u8, 177u8, 144u8, 192u8, 96u8, 166u8, 117u8, + 247u8, + ], + ) + } + } + } + } + pub mod timestamp { + use super::root_mod; + use super::runtime_types; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_timestamp::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Set { + #[codec(compact)] + pub now: ::core::primitive::u64, + } + impl ::subxt::blocks::StaticExtrinsic for Set { + const PALLET: &'static str = "Timestamp"; + const CALL: &'static str = "set"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Set the current time."] + #[doc = ""] + #[doc = "This call should be invoked exactly once per block. It will panic at the finalization"] + #[doc = "phase, if this call hasn't been invoked by that time."] + #[doc = ""] + #[doc = "The timestamp should be greater than the previous one by the amount specified by"] + #[doc = "`MinimumPeriod`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `Inherent`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"] + #[doc = "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in"] + #[doc = " `on_finalize`)"] + #[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."] + pub fn set(&self, now: ::core::primitive::u64) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Timestamp", + "set", + types::Set { now }, + [ + 37u8, 95u8, 49u8, 218u8, 24u8, 22u8, 0u8, 95u8, 72u8, 35u8, 155u8, + 199u8, 213u8, 54u8, 207u8, 22u8, 185u8, 193u8, 221u8, 70u8, 18u8, + 200u8, 4u8, 231u8, 195u8, 173u8, 6u8, 122u8, 11u8, 203u8, 231u8, 227u8, + ], + ) + } + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Current time for the current block."] + pub fn now( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u64, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Timestamp", + "Now", + vec![], + [ + 44u8, 50u8, 80u8, 30u8, 195u8, 146u8, 123u8, 238u8, 8u8, 163u8, 187u8, + 92u8, 61u8, 39u8, 51u8, 29u8, 173u8, 169u8, 217u8, 158u8, 85u8, 187u8, + 141u8, 26u8, 12u8, 115u8, 51u8, 11u8, 200u8, 244u8, 138u8, 152u8, + ], + ) + } + #[doc = " Did the timestamp get updated in this block?"] + pub fn did_update( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::bool, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Timestamp", + "DidUpdate", + vec![], + [ + 229u8, 175u8, 246u8, 102u8, 237u8, 158u8, 212u8, 229u8, 238u8, 214u8, + 205u8, 160u8, 164u8, 252u8, 195u8, 75u8, 139u8, 110u8, 22u8, 34u8, + 248u8, 204u8, 107u8, 46u8, 20u8, 200u8, 238u8, 167u8, 71u8, 41u8, + 214u8, 140u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum period between blocks. Beware that this is different to the *expected*"] + #[doc = " period that the block production apparatus provides. Your chosen consensus system will"] + #[doc = " generally work with this to determine a sensible block time. e.g. For Aura, it will be"] + #[doc = " double this period on default settings."] + pub fn minimum_period( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u64> { + ::subxt::constants::Address::new_static( + "Timestamp", + "MinimumPeriod", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } + } + } + } + pub mod babe { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_babe::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_babe::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReportEquivocation { + pub equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_slots::EquivocationProof< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + runtime_types::sp_consensus_babe::app::Public, + >, + >, + pub key_owner_proof: runtime_types::sp_session::MembershipProof, + } + impl ::subxt::blocks::StaticExtrinsic for ReportEquivocation { + const PALLET: &'static str = "Babe"; + const CALL: &'static str = "report_equivocation"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReportEquivocationUnsigned { + pub equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_slots::EquivocationProof< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + runtime_types::sp_consensus_babe::app::Public, + >, + >, + pub key_owner_proof: runtime_types::sp_session::MembershipProof, + } + impl ::subxt::blocks::StaticExtrinsic for ReportEquivocationUnsigned { + const PALLET: &'static str = "Babe"; + const CALL: &'static str = "report_equivocation_unsigned"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PlanConfigChange { + pub config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor, + } + impl ::subxt::blocks::StaticExtrinsic for PlanConfigChange { + const PALLET: &'static str = "Babe"; + const CALL: &'static str = "plan_config_change"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Report authority equivocation/misbehavior. This method will verify"] + #[doc = "the equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence will"] + #[doc = "be reported."] + pub fn report_equivocation( + &self, + equivocation_proof: runtime_types::sp_consensus_slots::EquivocationProof< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + runtime_types::sp_consensus_babe::app::Public, + >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Babe", + "report_equivocation", + types::ReportEquivocation { + equivocation_proof: ::std::boxed::Box::new(equivocation_proof), + key_owner_proof, + }, + [ + 37u8, 70u8, 151u8, 149u8, 231u8, 197u8, 226u8, 88u8, 38u8, 138u8, + 147u8, 164u8, 250u8, 117u8, 156u8, 178u8, 44u8, 20u8, 123u8, 33u8, + 11u8, 106u8, 56u8, 122u8, 90u8, 11u8, 15u8, 219u8, 245u8, 18u8, 171u8, + 90u8, + ], + ) + } + #[doc = "Report authority equivocation/misbehavior. This method will verify"] + #[doc = "the equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence will"] + #[doc = "be reported."] + #[doc = "This extrinsic must be called unsigned and it is expected that only"] + #[doc = "block authors will call it (validated in `ValidateUnsigned`), as such"] + #[doc = "if the block author is defined it will be defined as the equivocation"] + #[doc = "reporter."] + pub fn report_equivocation_unsigned( + &self, + equivocation_proof: runtime_types::sp_consensus_slots::EquivocationProof< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + runtime_types::sp_consensus_babe::app::Public, + >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Babe", + "report_equivocation_unsigned", + types::ReportEquivocationUnsigned { + equivocation_proof: ::std::boxed::Box::new(equivocation_proof), + key_owner_proof, + }, + [ + 179u8, 248u8, 80u8, 171u8, 220u8, 8u8, 75u8, 215u8, 121u8, 151u8, + 255u8, 4u8, 6u8, 54u8, 141u8, 244u8, 111u8, 156u8, 183u8, 19u8, 192u8, + 195u8, 79u8, 53u8, 0u8, 170u8, 120u8, 227u8, 186u8, 45u8, 48u8, 57u8, + ], + ) + } + #[doc = "Plan an epoch config change. The epoch config change is recorded and will be enacted on"] + #[doc = "the next call to `enact_epoch_change`. The config will be activated one epoch after."] + #[doc = "Multiple calls to this method will replace any existing planned config change that had"] + #[doc = "not been enacted yet."] + pub fn plan_config_change( + &self, + config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Babe", + "plan_config_change", + types::PlanConfigChange { config }, + [ + 227u8, 155u8, 182u8, 231u8, 240u8, 107u8, 30u8, 22u8, 15u8, 52u8, + 172u8, 203u8, 115u8, 47u8, 6u8, 66u8, 170u8, 231u8, 186u8, 77u8, 19u8, + 235u8, 91u8, 136u8, 95u8, 149u8, 188u8, 163u8, 161u8, 109u8, 164u8, + 179u8, + ], + ) + } + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Current epoch index."] + pub fn epoch_index( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u64, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "EpochIndex", + vec![], + [ + 32u8, 82u8, 130u8, 31u8, 190u8, 162u8, 237u8, 189u8, 104u8, 244u8, + 30u8, 199u8, 179u8, 0u8, 161u8, 107u8, 72u8, 240u8, 201u8, 222u8, + 177u8, 222u8, 35u8, 156u8, 81u8, 132u8, 162u8, 118u8, 238u8, 84u8, + 112u8, 89u8, + ], + ) + } + #[doc = " Current epoch authorities."] + pub fn authorities( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<( + runtime_types::sp_consensus_babe::app::Public, + ::core::primitive::u64, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "Authorities", + vec![], + [ + 67u8, 196u8, 244u8, 13u8, 246u8, 245u8, 198u8, 98u8, 81u8, 55u8, 182u8, + 187u8, 214u8, 5u8, 181u8, 76u8, 251u8, 213u8, 144u8, 166u8, 36u8, + 153u8, 234u8, 181u8, 252u8, 55u8, 198u8, 175u8, 55u8, 211u8, 105u8, + 85u8, + ], + ) + } + #[doc = " The slot at which the first epoch actually started. This is 0"] + #[doc = " until the first block of the chain."] + pub fn genesis_slot( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_consensus_slots::Slot, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "GenesisSlot", + vec![], + [ + 218u8, 174u8, 152u8, 76u8, 188u8, 214u8, 7u8, 88u8, 253u8, 187u8, + 139u8, 234u8, 51u8, 28u8, 220u8, 57u8, 73u8, 1u8, 18u8, 205u8, 80u8, + 160u8, 120u8, 216u8, 139u8, 191u8, 100u8, 108u8, 162u8, 106u8, 175u8, + 107u8, + ], + ) + } + #[doc = " Current slot number."] + pub fn current_slot( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_consensus_slots::Slot, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "CurrentSlot", + vec![], + [ + 112u8, 199u8, 115u8, 248u8, 217u8, 242u8, 45u8, 231u8, 178u8, 53u8, + 236u8, 167u8, 219u8, 238u8, 81u8, 243u8, 39u8, 140u8, 68u8, 19u8, + 201u8, 169u8, 211u8, 133u8, 135u8, 213u8, 150u8, 105u8, 60u8, 252u8, + 43u8, 57u8, + ], + ) + } + #[doc = " The epoch randomness for the *current* epoch."] + #[doc = ""] + #[doc = " # Security"] + #[doc = ""] + #[doc = " This MUST NOT be used for gambling, as it can be influenced by a"] + #[doc = " malicious validator in the short term. It MAY be used in many"] + #[doc = " cryptographic protocols, however, so long as one remembers that this"] + #[doc = " (like everything else on-chain) it is public. For example, it can be"] + #[doc = " used where a number is needed that cannot have been chosen by an"] + #[doc = " adversary, for purposes such as public-coin zero-knowledge proofs."] + pub fn randomness( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + [::core::primitive::u8; 32usize], + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "Randomness", + vec![], + [ + 36u8, 15u8, 52u8, 73u8, 195u8, 177u8, 186u8, 125u8, 134u8, 11u8, 103u8, + 248u8, 170u8, 237u8, 105u8, 239u8, 168u8, 204u8, 147u8, 52u8, 15u8, + 226u8, 126u8, 176u8, 133u8, 186u8, 169u8, 241u8, 156u8, 118u8, 67u8, + 58u8, + ], + ) + } + #[doc = " Pending epoch configuration change that will be applied when the next epoch is enacted."] + pub fn pending_epoch_config_change( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_consensus_babe::digests::NextConfigDescriptor, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "PendingEpochConfigChange", + vec![], + [ + 79u8, 216u8, 84u8, 210u8, 83u8, 149u8, 122u8, 160u8, 159u8, 164u8, + 16u8, 134u8, 154u8, 104u8, 77u8, 254u8, 139u8, 18u8, 163u8, 59u8, 92u8, + 9u8, 135u8, 141u8, 147u8, 86u8, 44u8, 95u8, 183u8, 101u8, 11u8, 58u8, + ], + ) + } + #[doc = " Next epoch randomness."] + pub fn next_randomness( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + [::core::primitive::u8; 32usize], + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "NextRandomness", + vec![], + [ + 96u8, 191u8, 139u8, 171u8, 144u8, 92u8, 33u8, 58u8, 23u8, 219u8, 164u8, + 121u8, 59u8, 209u8, 112u8, 244u8, 50u8, 8u8, 14u8, 244u8, 103u8, 125u8, + 120u8, 210u8, 16u8, 250u8, 54u8, 192u8, 72u8, 8u8, 219u8, 152u8, + ], + ) + } + #[doc = " Next epoch authorities."] + pub fn next_authorities( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<( + runtime_types::sp_consensus_babe::app::Public, + ::core::primitive::u64, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "NextAuthorities", + vec![], + [ + 116u8, 95u8, 126u8, 199u8, 237u8, 90u8, 202u8, 227u8, 247u8, 56u8, + 201u8, 113u8, 239u8, 191u8, 151u8, 56u8, 156u8, 133u8, 61u8, 64u8, + 141u8, 26u8, 8u8, 95u8, 177u8, 255u8, 54u8, 223u8, 132u8, 74u8, 210u8, + 128u8, + ], + ) + } + #[doc = " Randomness under construction."] + #[doc = ""] + #[doc = " We make a trade-off between storage accesses and list length."] + #[doc = " We store the under-construction randomness in segments of up to"] + #[doc = " `UNDER_CONSTRUCTION_SEGMENT_LENGTH`."] + #[doc = ""] + #[doc = " Once a segment reaches this length, we begin the next one."] + #[doc = " We reset all segments and return to `0` at the beginning of every"] + #[doc = " epoch."] + pub fn segment_index( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "SegmentIndex", + vec![], + [ + 145u8, 91u8, 142u8, 240u8, 184u8, 94u8, 68u8, 52u8, 130u8, 3u8, 75u8, + 175u8, 155u8, 130u8, 66u8, 9u8, 150u8, 242u8, 123u8, 111u8, 124u8, + 241u8, 100u8, 128u8, 220u8, 133u8, 96u8, 227u8, 164u8, 241u8, 170u8, + 34u8, + ], + ) + } + #[doc = " TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay."] + pub fn under_construction_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + [::core::primitive::u8; 32usize], + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "UnderConstruction", + vec![], + [ + 120u8, 120u8, 59u8, 247u8, 50u8, 6u8, 220u8, 14u8, 2u8, 76u8, 203u8, + 244u8, 232u8, 144u8, 253u8, 191u8, 101u8, 35u8, 99u8, 85u8, 111u8, + 168u8, 31u8, 110u8, 187u8, 124u8, 72u8, 32u8, 43u8, 66u8, 8u8, 215u8, + ], + ) + } + #[doc = " TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay."] + pub fn under_construction( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + [::core::primitive::u8; 32usize], + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "UnderConstruction", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 120u8, 120u8, 59u8, 247u8, 50u8, 6u8, 220u8, 14u8, 2u8, 76u8, 203u8, + 244u8, 232u8, 144u8, 253u8, 191u8, 101u8, 35u8, 99u8, 85u8, 111u8, + 168u8, 31u8, 110u8, 187u8, 124u8, 72u8, 32u8, 43u8, 66u8, 8u8, 215u8, + ], + ) + } + #[doc = " Temporary value (cleared at block finalization) which is `Some`"] + #[doc = " if per-block initialization has already been called for current block."] + pub fn initialized( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::option::Option, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "Initialized", + vec![], + [ + 137u8, 31u8, 4u8, 130u8, 35u8, 232u8, 67u8, 108u8, 17u8, 123u8, 26u8, + 96u8, 238u8, 95u8, 138u8, 208u8, 163u8, 83u8, 218u8, 143u8, 8u8, 119u8, + 138u8, 130u8, 9u8, 194u8, 92u8, 40u8, 7u8, 89u8, 53u8, 237u8, + ], + ) + } + #[doc = " This field should always be populated during block processing unless"] + #[doc = " secondary plain slots are enabled (which don't contain a VRF output)."] + #[doc = ""] + #[doc = " It is set in `on_finalize`, before it will contain the value from the last block."] + pub fn author_vrf_randomness( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::option::Option<[::core::primitive::u8; 32usize]>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "AuthorVrfRandomness", + vec![], + [ + 160u8, 157u8, 62u8, 48u8, 196u8, 136u8, 63u8, 132u8, 155u8, 183u8, + 91u8, 201u8, 146u8, 29u8, 192u8, 142u8, 168u8, 152u8, 197u8, 233u8, + 5u8, 25u8, 0u8, 154u8, 234u8, 180u8, 146u8, 132u8, 106u8, 164u8, 149u8, + 63u8, + ], + ) + } + #[doc = " The block numbers when the last and current epoch have started, respectively `N-1` and"] + #[doc = " `N`."] + #[doc = " NOTE: We track this is in order to annotate the block number when a given pool of"] + #[doc = " entropy was fixed (i.e. it was known to chain observers). Since epochs are defined in"] + #[doc = " slots, which may be skipped, the block numbers may not line up with the slot numbers."] + pub fn epoch_start( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (::core::primitive::u32, ::core::primitive::u32), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "EpochStart", + vec![], + [ + 144u8, 133u8, 140u8, 56u8, 241u8, 203u8, 199u8, 123u8, 244u8, 126u8, + 196u8, 151u8, 214u8, 204u8, 243u8, 244u8, 210u8, 198u8, 174u8, 126u8, + 200u8, 236u8, 248u8, 190u8, 181u8, 152u8, 113u8, 224u8, 95u8, 234u8, + 169u8, 14u8, + ], + ) + } + #[doc = " How late the current block is compared to its parent."] + #[doc = ""] + #[doc = " This entry is populated as part of block execution and is cleaned up"] + #[doc = " on block finalization. Querying this storage entry outside of block"] + #[doc = " execution context should always yield zero."] + pub fn lateness( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "Lateness", + vec![], + [ + 229u8, 214u8, 133u8, 149u8, 32u8, 159u8, 26u8, 22u8, 252u8, 131u8, + 200u8, 191u8, 231u8, 176u8, 178u8, 127u8, 33u8, 212u8, 139u8, 220u8, + 157u8, 38u8, 4u8, 226u8, 204u8, 32u8, 55u8, 20u8, 205u8, 141u8, 29u8, + 87u8, + ], + ) + } + #[doc = " The configuration for the current epoch. Should never be `None` as it is initialized in"] + #[doc = " genesis."] + pub fn epoch_config( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_consensus_babe::BabeEpochConfiguration, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "EpochConfig", + vec![], + [ + 151u8, 58u8, 93u8, 2u8, 19u8, 98u8, 41u8, 144u8, 241u8, 70u8, 195u8, + 37u8, 126u8, 241u8, 111u8, 65u8, 16u8, 228u8, 111u8, 220u8, 241u8, + 215u8, 179u8, 235u8, 122u8, 88u8, 92u8, 95u8, 131u8, 252u8, 236u8, + 46u8, + ], + ) + } + #[doc = " The configuration for the next epoch, `None` if the config will not change"] + #[doc = " (you can fallback to `EpochConfig` instead in that case)."] + pub fn next_epoch_config( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_consensus_babe::BabeEpochConfiguration, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "NextEpochConfig", + vec![], + [ + 65u8, 54u8, 74u8, 141u8, 193u8, 124u8, 130u8, 238u8, 106u8, 27u8, + 221u8, 189u8, 103u8, 53u8, 39u8, 243u8, 212u8, 216u8, 75u8, 185u8, + 104u8, 220u8, 70u8, 108u8, 87u8, 172u8, 201u8, 185u8, 39u8, 55u8, + 145u8, 6u8, + ], + ) + } + #[doc = " A list of the last 100 skipped epochs and the corresponding session index"] + #[doc = " when the epoch was skipped."] + #[doc = ""] + #[doc = " This is only used for validating equivocation proofs. An equivocation proof"] + #[doc = " must contains a key-ownership proof for a given session, therefore we need a"] + #[doc = " way to tie together sessions and epoch indices, i.e. we need to validate that"] + #[doc = " a validator was the owner of a given key on a given session, and what the"] + #[doc = " active epoch index was during that session."] + pub fn skipped_epochs( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u64, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "SkippedEpochs", + vec![], + [ + 120u8, 167u8, 144u8, 97u8, 41u8, 216u8, 103u8, 90u8, 3u8, 86u8, 196u8, + 35u8, 160u8, 150u8, 144u8, 233u8, 128u8, 35u8, 119u8, 66u8, 6u8, 63u8, + 114u8, 140u8, 182u8, 228u8, 192u8, 30u8, 50u8, 145u8, 217u8, 108u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The amount of time, in slots, that each epoch should last."] + #[doc = " NOTE: Currently it is not possible to change the epoch duration after"] + #[doc = " the chain has started. Attempting to do so will brick block production."] + pub fn epoch_duration( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u64> { + ::subxt::constants::Address::new_static( + "Babe", + "EpochDuration", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } + #[doc = " The expected average block time at which BABE should be creating"] + #[doc = " blocks. Since BABE is probabilistic it is not trivial to figure out"] + #[doc = " what the expected average block time should be based on the slot"] + #[doc = " duration and the security parameter `c` (where `1 - c` represents"] + #[doc = " the probability of a slot being empty)."] + pub fn expected_block_time( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u64> { + ::subxt::constants::Address::new_static( + "Babe", + "ExpectedBlockTime", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } + #[doc = " Max number of authorities allowed"] + pub fn max_authorities( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Babe", + "MaxAuthorities", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod historical { + use super::root_mod; + use super::runtime_types; + } + pub mod authorship { + use super::root_mod; + use super::runtime_types; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Author of current block."] + pub fn author( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Authorship", + "Author", + vec![], + [ + 247u8, 192u8, 118u8, 227u8, 47u8, 20u8, 203u8, 199u8, 216u8, 87u8, + 220u8, 50u8, 166u8, 61u8, 168u8, 213u8, 253u8, 62u8, 202u8, 199u8, + 61u8, 192u8, 237u8, 53u8, 22u8, 148u8, 164u8, 245u8, 99u8, 24u8, 146u8, + 18u8, + ], + ) + } + } + } + } + pub mod balances { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_balances::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_balances::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TransferAllowDeath { + pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for TransferAllowDeath { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_allow_death"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetBalanceDeprecated { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub new_free: ::core::primitive::u128, + #[codec(compact)] + pub old_reserved: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for SetBalanceDeprecated { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "set_balance_deprecated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceTransfer { + pub source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for ForceTransfer { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_transfer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TransferKeepAlive { + pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for TransferKeepAlive { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_keep_alive"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TransferAll { + pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub keep_alive: ::core::primitive::bool, + } + impl ::subxt::blocks::StaticExtrinsic for TransferAll { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer_all"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceUnreserve { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub amount: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for ForceUnreserve { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_unreserve"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UpgradeAccounts { + pub who: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + impl ::subxt::blocks::StaticExtrinsic for UpgradeAccounts { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "upgrade_accounts"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Transfer { + pub dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for Transfer { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "transfer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetBalance { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub new_free: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSetBalance { + const PALLET: &'static str = "Balances"; + const CALL: &'static str = "force_set_balance"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Transfer some liquid free balance to another account."] + #[doc = ""] + #[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."] + #[doc = "If the sender's account is below the existential deposit as a result"] + #[doc = "of the transfer, the account will be reaped."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] + pub fn transfer_allow_death( + &self, + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + value: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "transfer_allow_death", + types::TransferAllowDeath { dest, value }, + [ + 51u8, 166u8, 195u8, 10u8, 139u8, 218u8, 55u8, 130u8, 6u8, 194u8, 35u8, + 140u8, 27u8, 205u8, 214u8, 222u8, 102u8, 43u8, 143u8, 145u8, 86u8, + 219u8, 210u8, 147u8, 13u8, 39u8, 51u8, 21u8, 237u8, 179u8, 132u8, + 130u8, + ], + ) + } + #[doc = "Set the regular balance of a given account; it also takes a reserved balance but this"] + #[doc = "must be the same as the account's current reserved balance."] + #[doc = ""] + #[doc = "The dispatch origin for this call is `root`."] + #[doc = ""] + #[doc = "WARNING: This call is DEPRECATED! Use `force_set_balance` instead."] + pub fn set_balance_deprecated( + &self, + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + new_free: ::core::primitive::u128, + old_reserved: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "set_balance_deprecated", + types::SetBalanceDeprecated { + who, + new_free, + old_reserved, + }, + [ + 125u8, 171u8, 21u8, 186u8, 108u8, 185u8, 241u8, 145u8, 125u8, 8u8, + 12u8, 42u8, 96u8, 114u8, 80u8, 80u8, 227u8, 76u8, 20u8, 208u8, 93u8, + 219u8, 36u8, 50u8, 209u8, 155u8, 70u8, 45u8, 6u8, 57u8, 156u8, 77u8, + ], + ) + } + #[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"] + #[doc = "may be specified."] + pub fn force_transfer( + &self, + source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + value: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "force_transfer", + types::ForceTransfer { + source, + dest, + value, + }, + [ + 154u8, 93u8, 222u8, 27u8, 12u8, 248u8, 63u8, 213u8, 224u8, 86u8, 250u8, + 153u8, 249u8, 102u8, 83u8, 160u8, 79u8, 125u8, 105u8, 222u8, 77u8, + 180u8, 90u8, 105u8, 81u8, 217u8, 60u8, 25u8, 213u8, 51u8, 185u8, 96u8, + ], + ) + } + #[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"] + #[doc = "kill the origin account."] + #[doc = ""] + #[doc = "99% of the time you want [`transfer_allow_death`] instead."] + #[doc = ""] + #[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"] + pub fn transfer_keep_alive( + &self, + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + value: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "transfer_keep_alive", + types::TransferKeepAlive { dest, value }, + [ + 245u8, 14u8, 190u8, 193u8, 32u8, 210u8, 74u8, 92u8, 25u8, 182u8, 76u8, + 55u8, 247u8, 83u8, 114u8, 75u8, 143u8, 236u8, 117u8, 25u8, 54u8, 157u8, + 208u8, 207u8, 233u8, 89u8, 70u8, 161u8, 235u8, 242u8, 222u8, 59u8, + ], + ) + } + #[doc = "Transfer the entire transferable balance from the caller account."] + #[doc = ""] + #[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"] + #[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"] + #[doc = "transferred by this function. To ensure that this function results in a killed account,"] + #[doc = "you might need to prepare the account by removing any reference counters, storage"] + #[doc = "deposits, etc..."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be Signed."] + #[doc = ""] + #[doc = "- `dest`: The recipient of the transfer."] + #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"] + #[doc = " of the funds the account has, causing the sender account to be killed (false), or"] + #[doc = " transfer everything except at least the existential deposit, which will guarantee to"] + #[doc = " keep the sender account alive (true)."] + pub fn transfer_all( + &self, + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + keep_alive: ::core::primitive::bool, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "transfer_all", + types::TransferAll { dest, keep_alive }, + [ + 105u8, 132u8, 49u8, 144u8, 195u8, 250u8, 34u8, 46u8, 213u8, 248u8, + 112u8, 188u8, 81u8, 228u8, 136u8, 18u8, 67u8, 172u8, 37u8, 38u8, 238u8, + 9u8, 34u8, 15u8, 67u8, 34u8, 148u8, 195u8, 223u8, 29u8, 154u8, 6u8, + ], + ) + } + #[doc = "Unreserve some balance from a user by force."] + #[doc = ""] + #[doc = "Can only be called by ROOT."] + pub fn force_unreserve( + &self, + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "force_unreserve", + types::ForceUnreserve { who, amount }, + [ + 142u8, 151u8, 64u8, 205u8, 46u8, 64u8, 62u8, 122u8, 108u8, 49u8, 223u8, + 140u8, 120u8, 153u8, 35u8, 165u8, 187u8, 38u8, 157u8, 200u8, 123u8, + 199u8, 198u8, 168u8, 208u8, 159u8, 39u8, 134u8, 92u8, 103u8, 84u8, + 171u8, + ], + ) + } + #[doc = "Upgrade a specified account."] + #[doc = ""] + #[doc = "- `origin`: Must be `Signed`."] + #[doc = "- `who`: The account to be upgraded."] + #[doc = ""] + #[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"] + #[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"] + #[doc = "possibililty of churn)."] + pub fn upgrade_accounts( + &self, + who: ::std::vec::Vec<::subxt::utils::AccountId32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "upgrade_accounts", + types::UpgradeAccounts { who }, + [ + 66u8, 200u8, 179u8, 104u8, 65u8, 2u8, 101u8, 56u8, 130u8, 161u8, 224u8, + 233u8, 255u8, 124u8, 70u8, 122u8, 8u8, 49u8, 103u8, 178u8, 68u8, 47u8, + 214u8, 166u8, 217u8, 116u8, 178u8, 50u8, 212u8, 164u8, 98u8, 226u8, + ], + ) + } + #[doc = "Alias for `transfer_allow_death`, provided only for name-wise compatibility."] + #[doc = ""] + #[doc = "WARNING: DEPRECATED! Will be released in approximately 3 months."] + pub fn transfer( + &self, + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + value: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "transfer", + types::Transfer { dest, value }, + [ + 154u8, 145u8, 140u8, 54u8, 50u8, 123u8, 225u8, 249u8, 200u8, 217u8, + 172u8, 110u8, 233u8, 198u8, 77u8, 198u8, 211u8, 89u8, 8u8, 13u8, 240u8, + 94u8, 28u8, 13u8, 242u8, 217u8, 168u8, 23u8, 106u8, 254u8, 249u8, + 120u8, + ], + ) + } + #[doc = "Set the regular balance of a given account."] + #[doc = ""] + #[doc = "The dispatch origin for this call is `root`."] + pub fn force_set_balance( + &self, + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + new_free: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "force_set_balance", + types::ForceSetBalance { who, new_free }, + [ + 114u8, 229u8, 59u8, 204u8, 180u8, 83u8, 17u8, 4u8, 59u8, 4u8, 55u8, + 39u8, 151u8, 196u8, 124u8, 60u8, 209u8, 65u8, 193u8, 11u8, 44u8, 164u8, + 116u8, 93u8, 169u8, 30u8, 199u8, 165u8, 55u8, 231u8, 223u8, 43u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_balances::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was created with some free balance."] + pub struct Endowed { + pub account: ::subxt::utils::AccountId32, + pub free_balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Endowed { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Endowed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"] + #[doc = "resulting in an outright loss."] + pub struct DustLost { + pub account: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DustLost { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "DustLost"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Transfer succeeded."] + pub struct Transfer { + pub from: ::subxt::utils::AccountId32, + pub to: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Transfer { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Transfer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A balance was set by root."] + pub struct BalanceSet { + pub who: ::subxt::utils::AccountId32, + pub free: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for BalanceSet { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "BalanceSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was reserved (moved from free to reserved)."] + pub struct Reserved { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Reserved { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Reserved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was unreserved (moved from reserved to free)."] + pub struct Unreserved { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Unreserved { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Unreserved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was moved from the reserve of the first account to the second account."] + #[doc = "Final argument indicates the destination balance type."] + pub struct ReserveRepatriated { + pub from: ::subxt::utils::AccountId32, + pub to: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + pub destination_status: + runtime_types::frame_support::traits::tokens::misc::BalanceStatus, + } + impl ::subxt::events::StaticEvent for ReserveRepatriated { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "ReserveRepatriated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was deposited (e.g. for transaction fees)."] + pub struct Deposit { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Deposit { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Deposit"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."] + pub struct Withdraw { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Withdraw { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Withdraw"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was removed from the account (e.g. for misbehavior)."] + pub struct Slashed { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Slashed { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Slashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was minted into an account."] + pub struct Minted { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Minted { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Minted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was burned from an account."] + pub struct Burned { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Burned { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Burned"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was suspended from an account (it can be restored later)."] + pub struct Suspended { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Suspended { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Suspended"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was restored into an account."] + pub struct Restored { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Restored { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Restored"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was upgraded."] + pub struct Upgraded { + pub who: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Upgraded { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Upgraded"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."] + pub struct Issued { + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Issued { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Issued"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."] + pub struct Rescinded { + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Rescinded { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Rescinded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was locked."] + pub struct Locked { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Locked { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Locked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was unlocked."] + pub struct Unlocked { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Unlocked { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Unlocked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was frozen."] + pub struct Frozen { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Frozen { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Frozen"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was thawed."] + pub struct Thawed { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Thawed { + const PALLET: &'static str = "Balances"; + const EVENT: &'static str = "Thawed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The total units issued in the system."] + pub fn total_issuance( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "TotalIssuance", + vec![], + [ + 116u8, 70u8, 119u8, 194u8, 69u8, 37u8, 116u8, 206u8, 171u8, 70u8, + 171u8, 210u8, 226u8, 111u8, 184u8, 204u8, 206u8, 11u8, 68u8, 72u8, + 255u8, 19u8, 194u8, 11u8, 27u8, 194u8, 81u8, 204u8, 59u8, 224u8, 202u8, + 185u8, + ], + ) + } + #[doc = " The total units of outstanding deactivated balance in the system."] + pub fn inactive_issuance( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "InactiveIssuance", + vec![], + [ + 212u8, 185u8, 19u8, 50u8, 250u8, 72u8, 173u8, 50u8, 4u8, 104u8, 161u8, + 249u8, 77u8, 247u8, 204u8, 248u8, 11u8, 18u8, 57u8, 4u8, 82u8, 110u8, + 30u8, 216u8, 16u8, 37u8, 87u8, 67u8, 189u8, 235u8, 214u8, 155u8, + ], + ) + } + #[doc = " The Balances pallet example of storing the balance of an account."] + #[doc = ""] + #[doc = " # Example"] + #[doc = ""] + #[doc = " ```nocompile"] + #[doc = " impl pallet_balances::Config for Runtime {"] + #[doc = " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>"] + #[doc = " }"] + #[doc = " ```"] + #[doc = ""] + #[doc = " You can also store the balance of an account in the `System` pallet."] + #[doc = ""] + #[doc = " # Example"] + #[doc = ""] + #[doc = " ```nocompile"] + #[doc = " impl pallet_balances::Config for Runtime {"] + #[doc = " type AccountStore = System"] + #[doc = " }"] + #[doc = " ```"] + #[doc = ""] + #[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"] + #[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"] + #[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."] + #[doc = " NOTE: This is only used in the case that this pallet is used to store balances."] + pub fn account_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Account", + vec![], + [ + 213u8, 38u8, 200u8, 69u8, 218u8, 0u8, 112u8, 181u8, 160u8, 23u8, 96u8, + 90u8, 3u8, 88u8, 126u8, 22u8, 103u8, 74u8, 64u8, 69u8, 29u8, 247u8, + 18u8, 17u8, 234u8, 143u8, 189u8, 22u8, 247u8, 194u8, 154u8, 249u8, + ], + ) + } + #[doc = " The Balances pallet example of storing the balance of an account."] + #[doc = ""] + #[doc = " # Example"] + #[doc = ""] + #[doc = " ```nocompile"] + #[doc = " impl pallet_balances::Config for Runtime {"] + #[doc = " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>"] + #[doc = " }"] + #[doc = " ```"] + #[doc = ""] + #[doc = " You can also store the balance of an account in the `System` pallet."] + #[doc = ""] + #[doc = " # Example"] + #[doc = ""] + #[doc = " ```nocompile"] + #[doc = " impl pallet_balances::Config for Runtime {"] + #[doc = " type AccountStore = System"] + #[doc = " }"] + #[doc = " ```"] + #[doc = ""] + #[doc = " But this comes with tradeoffs, storing account balances in the system pallet stores"] + #[doc = " `frame_system` data alongside the account data contrary to storing account balances in the"] + #[doc = " `Balances` pallet, which uses a `StorageMap` to store balances data only."] + #[doc = " NOTE: This is only used in the case that this pallet is used to store balances."] + pub fn account( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Account", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 213u8, 38u8, 200u8, 69u8, 218u8, 0u8, 112u8, 181u8, 160u8, 23u8, 96u8, + 90u8, 3u8, 88u8, 126u8, 22u8, 103u8, 74u8, 64u8, 69u8, 29u8, 247u8, + 18u8, 17u8, 234u8, 143u8, 189u8, 22u8, 247u8, 194u8, 154u8, 249u8, + ], + ) + } + #[doc = " Any liquidity locks on some account balances."] + #[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."] + pub fn locks_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + runtime_types::pallet_balances::types::BalanceLock<::core::primitive::u128>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Locks", + vec![], + [ + 10u8, 223u8, 55u8, 0u8, 249u8, 69u8, 168u8, 41u8, 75u8, 35u8, 120u8, + 167u8, 18u8, 132u8, 9u8, 20u8, 91u8, 51u8, 27u8, 69u8, 136u8, 187u8, + 13u8, 220u8, 163u8, 122u8, 26u8, 141u8, 174u8, 249u8, 85u8, 37u8, + ], + ) + } + #[doc = " Any liquidity locks on some account balances."] + #[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."] + pub fn locks( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + runtime_types::pallet_balances::types::BalanceLock<::core::primitive::u128>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Locks", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 10u8, 223u8, 55u8, 0u8, 249u8, 69u8, 168u8, 41u8, 75u8, 35u8, 120u8, + 167u8, 18u8, 132u8, 9u8, 20u8, 91u8, 51u8, 27u8, 69u8, 136u8, 187u8, + 13u8, 220u8, 163u8, 122u8, 26u8, 141u8, 174u8, 249u8, 85u8, 37u8, + ], + ) + } + #[doc = " Named reserves on some account balances."] + pub fn reserves_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::ReserveData< + [::core::primitive::u8; 8usize], + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Reserves", + vec![], + [ + 112u8, 10u8, 241u8, 77u8, 64u8, 187u8, 106u8, 159u8, 13u8, 153u8, + 140u8, 178u8, 182u8, 50u8, 1u8, 55u8, 149u8, 92u8, 196u8, 229u8, 170u8, + 106u8, 193u8, 88u8, 255u8, 244u8, 2u8, 193u8, 62u8, 235u8, 204u8, 91u8, + ], + ) + } + #[doc = " Named reserves on some account balances."] + pub fn reserves( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::ReserveData< + [::core::primitive::u8; 8usize], + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Reserves", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 112u8, 10u8, 241u8, 77u8, 64u8, 187u8, 106u8, 159u8, 13u8, 153u8, + 140u8, 178u8, 182u8, 50u8, 1u8, 55u8, 149u8, 92u8, 196u8, 229u8, 170u8, + 106u8, 193u8, 88u8, 255u8, 244u8, 2u8, 193u8, 62u8, 235u8, 204u8, 91u8, + ], + ) + } + #[doc = " Holds on account balances."] + pub fn holds_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + (), + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Holds", + vec![], + [ + 53u8, 126u8, 215u8, 237u8, 42u8, 223u8, 188u8, 150u8, 230u8, 107u8, + 95u8, 24u8, 26u8, 235u8, 158u8, 149u8, 193u8, 191u8, 10u8, 194u8, + 231u8, 59u8, 35u8, 167u8, 186u8, 89u8, 43u8, 126u8, 215u8, 117u8, 1u8, + 202u8, + ], + ) + } + #[doc = " Holds on account balances."] + pub fn holds( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + (), + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Holds", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 53u8, 126u8, 215u8, 237u8, 42u8, 223u8, 188u8, 150u8, 230u8, 107u8, + 95u8, 24u8, 26u8, 235u8, 158u8, 149u8, 193u8, 191u8, 10u8, 194u8, + 231u8, 59u8, 35u8, 167u8, 186u8, 89u8, 43u8, 126u8, 215u8, 117u8, 1u8, + 202u8, + ], + ) + } + #[doc = " Freeze locks on account balances."] + pub fn freezes_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + (), + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Freezes", + vec![], + [ + 69u8, 49u8, 165u8, 76u8, 135u8, 142u8, 179u8, 118u8, 50u8, 109u8, 53u8, + 112u8, 110u8, 94u8, 30u8, 93u8, 173u8, 38u8, 27u8, 142u8, 19u8, 5u8, + 163u8, 4u8, 68u8, 218u8, 179u8, 224u8, 118u8, 218u8, 115u8, 64u8, + ], + ) + } + #[doc = " Freeze locks on account balances."] + pub fn freezes( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + (), + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Freezes", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 69u8, 49u8, 165u8, 76u8, 135u8, 142u8, 179u8, 118u8, 50u8, 109u8, 53u8, + 112u8, 110u8, 94u8, 30u8, 93u8, 173u8, 38u8, 27u8, 142u8, 19u8, 5u8, + 163u8, 4u8, 68u8, 218u8, 179u8, 224u8, 118u8, 218u8, 115u8, 64u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!"] + #[doc = ""] + #[doc = " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for"] + #[doc = " this pallet. However, you do so at your own risk: this will open up a major DoS vector."] + #[doc = " In case you have multiple sources of provider references, you may also get unexpected"] + #[doc = " behaviour if you set this to zero."] + #[doc = ""] + #[doc = " Bottom line: Do yourself a favour and make it at least one!"] + pub fn existential_deposit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Balances", + "ExistentialDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum number of locks that should exist on an account."] + #[doc = " Not strictly enforced, but used for weight estimation."] + pub fn max_locks(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Balances", + "MaxLocks", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of named reserves that can exist on an account."] + pub fn max_reserves(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Balances", + "MaxReserves", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of holds that can exist on an account at any time."] + pub fn max_holds(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Balances", + "MaxHolds", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of individual freeze locks that can exist on an account at any time."] + pub fn max_freezes(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Balances", + "MaxFreezes", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod offences { + use super::root_mod; + use super::runtime_types; + #[doc = "Events type."] + pub type Event = runtime_types::pallet_offences::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "There is an offence reported of the given `kind` happened at the `session_index` and"] + #[doc = "(kind-specific) time slot. This event is not deposited for duplicate slashes."] + #[doc = "\\[kind, timeslot\\]."] + pub struct Offence { + pub kind: [::core::primitive::u8; 16usize], + pub timeslot: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::events::StaticEvent for Offence { + const PALLET: &'static str = "Offences"; + const EVENT: &'static str = "Offence"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The primary structure that holds all offence records keyed by report identifiers."] + pub fn reports_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_staking::offence::OffenceDetails< + ::subxt::utils::AccountId32, + ( + ::subxt::utils::AccountId32, + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + ), + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Offences", + "Reports", + vec![], + [ + 140u8, 14u8, 199u8, 180u8, 83u8, 5u8, 23u8, 57u8, 241u8, 41u8, 240u8, + 35u8, 80u8, 12u8, 115u8, 16u8, 2u8, 15u8, 22u8, 77u8, 25u8, 92u8, + 100u8, 39u8, 226u8, 55u8, 240u8, 80u8, 190u8, 196u8, 234u8, 177u8, + ], + ) + } + #[doc = " The primary structure that holds all offence records keyed by report identifiers."] + pub fn reports( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_staking::offence::OffenceDetails< + ::subxt::utils::AccountId32, + ( + ::subxt::utils::AccountId32, + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + ), + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Offences", + "Reports", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 140u8, 14u8, 199u8, 180u8, 83u8, 5u8, 23u8, 57u8, 241u8, 41u8, 240u8, + 35u8, 80u8, 12u8, 115u8, 16u8, 2u8, 15u8, 22u8, 77u8, 25u8, 92u8, + 100u8, 39u8, 226u8, 55u8, 240u8, 80u8, 190u8, 196u8, 234u8, 177u8, + ], + ) + } + #[doc = " A vector of reports of the same kind that happened at the same time slot."] + pub fn concurrent_reports_index_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::subxt::utils::H256>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Offences", + "ConcurrentReportsIndex", + vec![], + [ + 170u8, 186u8, 72u8, 29u8, 251u8, 38u8, 193u8, 195u8, 109u8, 86u8, 0u8, + 241u8, 20u8, 235u8, 108u8, 126u8, 215u8, 82u8, 73u8, 113u8, 199u8, + 138u8, 24u8, 58u8, 216u8, 72u8, 221u8, 232u8, 252u8, 244u8, 96u8, + 247u8, + ], + ) + } + #[doc = " A vector of reports of the same kind that happened at the same time slot."] + pub fn concurrent_reports_index_iter1( + &self, + _0: impl ::std::borrow::Borrow<[::core::primitive::u8; 16usize]>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::subxt::utils::H256>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Offences", + "ConcurrentReportsIndex", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 170u8, 186u8, 72u8, 29u8, 251u8, 38u8, 193u8, 195u8, 109u8, 86u8, 0u8, + 241u8, 20u8, 235u8, 108u8, 126u8, 215u8, 82u8, 73u8, 113u8, 199u8, + 138u8, 24u8, 58u8, 216u8, 72u8, 221u8, 232u8, 252u8, 244u8, 96u8, + 247u8, + ], + ) + } + #[doc = " A vector of reports of the same kind that happened at the same time slot."] + pub fn concurrent_reports_index( + &self, + _0: impl ::std::borrow::Borrow<[::core::primitive::u8; 16usize]>, + _1: impl ::std::borrow::Borrow<[::core::primitive::u8]>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::subxt::utils::H256>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Offences", + "ConcurrentReportsIndex", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 170u8, 186u8, 72u8, 29u8, 251u8, 38u8, 193u8, 195u8, 109u8, 86u8, 0u8, + 241u8, 20u8, 235u8, 108u8, 126u8, 215u8, 82u8, 73u8, 113u8, 199u8, + 138u8, 24u8, 58u8, 216u8, 72u8, 221u8, 232u8, 252u8, 244u8, 96u8, + 247u8, + ], + ) + } + } + } + } + pub mod election_provider_multi_phase { + use super::root_mod; + use super::runtime_types; + #[doc = "Error of the pallet that can be returned in response to dispatches."] + pub type Error = runtime_types::pallet_election_provider_multi_phase::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_election_provider_multi_phase::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SubmitUnsigned { + pub raw_solution: ::std::boxed::Box< + runtime_types::pallet_election_provider_multi_phase::RawSolution< + runtime_types::enjin_runtime::NposSolution16, + >, + >, + pub witness: + runtime_types::pallet_election_provider_multi_phase::SolutionOrSnapshotSize, + } + impl ::subxt::blocks::StaticExtrinsic for SubmitUnsigned { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const CALL: &'static str = "submit_unsigned"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMinimumUntrustedScore { + pub maybe_next_score: + ::core::option::Option, + } + impl ::subxt::blocks::StaticExtrinsic for SetMinimumUntrustedScore { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const CALL: &'static str = "set_minimum_untrusted_score"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetEmergencyElectionResult { + pub supports: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::sp_npos_elections::Support<::subxt::utils::AccountId32>, + )>, + } + impl ::subxt::blocks::StaticExtrinsic for SetEmergencyElectionResult { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const CALL: &'static str = "set_emergency_election_result"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Submit { + pub raw_solution: ::std::boxed::Box< + runtime_types::pallet_election_provider_multi_phase::RawSolution< + runtime_types::enjin_runtime::NposSolution16, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Submit { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const CALL: &'static str = "submit"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct GovernanceFallback { + pub maybe_max_voters: ::core::option::Option<::core::primitive::u32>, + pub maybe_max_targets: ::core::option::Option<::core::primitive::u32>, + } + impl ::subxt::blocks::StaticExtrinsic for GovernanceFallback { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const CALL: &'static str = "governance_fallback"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Submit a solution for the unsigned phase."] + #[doc = ""] + #[doc = "The dispatch origin fo this call must be __none__."] + #[doc = ""] + #[doc = "This submission is checked on the fly. Moreover, this unsigned solution is only"] + #[doc = "validated when submitted to the pool from the **local** node. Effectively, this means"] + #[doc = "that only active validators can submit this transaction when authoring a block (similar"] + #[doc = "to an inherent)."] + #[doc = ""] + #[doc = "To prevent any incorrect solution (and thus wasted time/weight), this transaction will"] + #[doc = "panic if the solution submitted by the validator is invalid in any way, effectively"] + #[doc = "putting their authoring reward at risk."] + #[doc = ""] + #[doc = "No deposit or reward is associated with this submission."] + pub fn submit_unsigned( + &self, + raw_solution: runtime_types::pallet_election_provider_multi_phase::RawSolution< + runtime_types::enjin_runtime::NposSolution16, + >, + witness : runtime_types :: pallet_election_provider_multi_phase :: SolutionOrSnapshotSize, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ElectionProviderMultiPhase", + "submit_unsigned", + types::SubmitUnsigned { + raw_solution: ::std::boxed::Box::new(raw_solution), + witness, + }, + [ + 237u8, 199u8, 102u8, 43u8, 103u8, 215u8, 145u8, 93u8, 71u8, 191u8, + 61u8, 144u8, 21u8, 58u8, 30u8, 51u8, 190u8, 219u8, 45u8, 66u8, 216u8, + 19u8, 62u8, 123u8, 197u8, 53u8, 249u8, 205u8, 117u8, 35u8, 32u8, 13u8, + ], + ) + } + #[doc = "Set a new value for `MinimumUntrustedScore`."] + #[doc = ""] + #[doc = "Dispatch origin must be aligned with `T::ForceOrigin`."] + #[doc = ""] + #[doc = "This check can be turned off by setting the value to `None`."] + pub fn set_minimum_untrusted_score( + &self, + maybe_next_score: ::core::option::Option< + runtime_types::sp_npos_elections::ElectionScore, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ElectionProviderMultiPhase", + "set_minimum_untrusted_score", + types::SetMinimumUntrustedScore { maybe_next_score }, + [ + 244u8, 246u8, 85u8, 56u8, 156u8, 145u8, 169u8, 106u8, 16u8, 206u8, + 102u8, 216u8, 150u8, 180u8, 87u8, 153u8, 75u8, 177u8, 185u8, 55u8, + 37u8, 252u8, 214u8, 127u8, 103u8, 169u8, 198u8, 55u8, 10u8, 179u8, + 121u8, 219u8, + ], + ) + } + #[doc = "Set a solution in the queue, to be handed out to the client of this pallet in the next"] + #[doc = "call to `ElectionProvider::elect`."] + #[doc = ""] + #[doc = "This can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`."] + #[doc = ""] + #[doc = "The solution is not checked for any feasibility and is assumed to be trustworthy, as any"] + #[doc = "feasibility check itself can in principle cause the election process to fail (due to"] + #[doc = "memory/weight constrains)."] + pub fn set_emergency_election_result( + &self, + supports: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::sp_npos_elections::Support<::subxt::utils::AccountId32>, + )>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ElectionProviderMultiPhase", + "set_emergency_election_result", + types::SetEmergencyElectionResult { supports }, + [ + 6u8, 170u8, 228u8, 255u8, 61u8, 131u8, 137u8, 36u8, 135u8, 91u8, 183u8, + 94u8, 172u8, 205u8, 113u8, 69u8, 191u8, 255u8, 223u8, 152u8, 255u8, + 160u8, 205u8, 51u8, 140u8, 183u8, 101u8, 38u8, 185u8, 100u8, 92u8, + 87u8, + ], + ) + } + #[doc = "Submit a solution for the signed phase."] + #[doc = ""] + #[doc = "The dispatch origin fo this call must be __signed__."] + #[doc = ""] + #[doc = "The solution is potentially queued, based on the claimed score and processed at the end"] + #[doc = "of the signed phase."] + #[doc = ""] + #[doc = "A deposit is reserved and recorded for the solution. Based on the outcome, the solution"] + #[doc = "might be rewarded, slashed, or get all or a part of the deposit back."] + pub fn submit( + &self, + raw_solution: runtime_types::pallet_election_provider_multi_phase::RawSolution< + runtime_types::enjin_runtime::NposSolution16, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ElectionProviderMultiPhase", + "submit", + types::Submit { + raw_solution: ::std::boxed::Box::new(raw_solution), + }, + [ + 55u8, 254u8, 53u8, 183u8, 136u8, 93u8, 56u8, 39u8, 98u8, 132u8, 8u8, + 38u8, 92u8, 38u8, 199u8, 43u8, 20u8, 86u8, 114u8, 240u8, 31u8, 72u8, + 141u8, 39u8, 73u8, 116u8, 250u8, 249u8, 119u8, 36u8, 244u8, 137u8, + ], + ) + } + #[doc = "Trigger the governance fallback."] + #[doc = ""] + #[doc = "This can only be called when [`Phase::Emergency`] is enabled, as an alternative to"] + #[doc = "calling [`Call::set_emergency_election_result`]."] + pub fn governance_fallback( + &self, + maybe_max_voters: ::core::option::Option<::core::primitive::u32>, + maybe_max_targets: ::core::option::Option<::core::primitive::u32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ElectionProviderMultiPhase", + "governance_fallback", + types::GovernanceFallback { + maybe_max_voters, + maybe_max_targets, + }, + [ + 10u8, 56u8, 159u8, 48u8, 56u8, 246u8, 49u8, 9u8, 132u8, 156u8, 86u8, + 162u8, 52u8, 58u8, 175u8, 128u8, 12u8, 185u8, 203u8, 18u8, 99u8, 219u8, + 75u8, 13u8, 52u8, 40u8, 125u8, 212u8, 84u8, 147u8, 222u8, 17u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_election_provider_multi_phase::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A solution was stored with the given compute."] + #[doc = ""] + #[doc = "The `origin` indicates the origin of the solution. If `origin` is `Some(AccountId)`,"] + #[doc = "the stored solution was submited in the signed phase by a miner with the `AccountId`."] + #[doc = "Otherwise, the solution was stored either during the unsigned phase or by"] + #[doc = "`T::ForceOrigin`. The `bool` is `true` when a previous solution was ejected to make"] + #[doc = "room for this one."] + pub struct SolutionStored { + pub compute: runtime_types::pallet_election_provider_multi_phase::ElectionCompute, + pub origin: ::core::option::Option<::subxt::utils::AccountId32>, + pub prev_ejected: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for SolutionStored { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const EVENT: &'static str = "SolutionStored"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The election has been finalized, with the given computation and score."] + pub struct ElectionFinalized { + pub compute: runtime_types::pallet_election_provider_multi_phase::ElectionCompute, + pub score: runtime_types::sp_npos_elections::ElectionScore, + } + impl ::subxt::events::StaticEvent for ElectionFinalized { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const EVENT: &'static str = "ElectionFinalized"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An election failed."] + #[doc = ""] + #[doc = "Not much can be said about which computes failed in the process."] + pub struct ElectionFailed; + impl ::subxt::events::StaticEvent for ElectionFailed { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const EVENT: &'static str = "ElectionFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account has been rewarded for their signed submission being finalized."] + pub struct Rewarded { + pub account: ::subxt::utils::AccountId32, + pub value: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Rewarded { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const EVENT: &'static str = "Rewarded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account has been slashed for submitting an invalid signed submission."] + pub struct Slashed { + pub account: ::subxt::utils::AccountId32, + pub value: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Slashed { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const EVENT: &'static str = "Slashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "There was a phase transition in a given round."] + pub struct PhaseTransitioned { + pub from: runtime_types::pallet_election_provider_multi_phase::Phase< + ::core::primitive::u32, + >, + pub to: runtime_types::pallet_election_provider_multi_phase::Phase< + ::core::primitive::u32, + >, + pub round: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for PhaseTransitioned { + const PALLET: &'static str = "ElectionProviderMultiPhase"; + const EVENT: &'static str = "PhaseTransitioned"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Internal counter for the number of rounds."] + #[doc = ""] + #[doc = " This is useful for de-duplication of transactions submitted to the pool, and general"] + #[doc = " diagnostics of the pallet."] + #[doc = ""] + #[doc = " This is merely incremented once per every time that an upstream `elect` is called."] + pub fn round( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ElectionProviderMultiPhase", + "Round", + vec![], + [ + 37u8, 2u8, 47u8, 240u8, 18u8, 213u8, 214u8, 74u8, 57u8, 4u8, 103u8, + 253u8, 45u8, 17u8, 123u8, 203u8, 173u8, 170u8, 234u8, 109u8, 139u8, + 143u8, 216u8, 3u8, 161u8, 5u8, 0u8, 106u8, 181u8, 214u8, 170u8, 105u8, + ], + ) + } + #[doc = " Current phase."] + pub fn current_phase( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_election_provider_multi_phase::Phase< + ::core::primitive::u32, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ElectionProviderMultiPhase", + "CurrentPhase", + vec![], + [ + 230u8, 7u8, 51u8, 158u8, 77u8, 36u8, 148u8, 175u8, 138u8, 205u8, 195u8, + 236u8, 66u8, 148u8, 0u8, 77u8, 160u8, 249u8, 128u8, 58u8, 189u8, 48u8, + 195u8, 198u8, 115u8, 251u8, 13u8, 206u8, 163u8, 180u8, 108u8, 10u8, + ], + ) + } + #[doc = " Current best solution, signed or unsigned, queued to be returned upon `elect`."] + #[doc = ""] + #[doc = " Always sorted by score."] + pub fn queued_solution( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_election_provider_multi_phase::ReadySolution, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ElectionProviderMultiPhase", + "QueuedSolution", + vec![], + [ + 70u8, 22u8, 249u8, 41u8, 72u8, 8u8, 99u8, 121u8, 102u8, 128u8, 244u8, + 104u8, 208u8, 244u8, 113u8, 122u8, 118u8, 17u8, 65u8, 78u8, 165u8, + 129u8, 117u8, 36u8, 244u8, 243u8, 153u8, 87u8, 46u8, 116u8, 103u8, + 43u8, + ], + ) + } + #[doc = " Snapshot data of the round."] + #[doc = ""] + #[doc = " This is created at the beginning of the signed phase and cleared upon calling `elect`."] + pub fn snapshot( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_election_provider_multi_phase::RoundSnapshot< + ::subxt::utils::AccountId32, + ( + ::subxt::utils::AccountId32, + ::core::primitive::u64, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + ), + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ElectionProviderMultiPhase", + "Snapshot", + vec![], + [ + 103u8, 204u8, 76u8, 156u8, 154u8, 95u8, 115u8, 109u8, 135u8, 17u8, 9u8, + 137u8, 3u8, 184u8, 111u8, 198u8, 216u8, 3u8, 78u8, 115u8, 101u8, 235u8, + 52u8, 235u8, 245u8, 58u8, 191u8, 144u8, 61u8, 204u8, 159u8, 55u8, + ], + ) + } + #[doc = " Desired number of targets to elect for this round."] + #[doc = ""] + #[doc = " Only exists when [`Snapshot`] is present."] + pub fn desired_targets( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ElectionProviderMultiPhase", + "DesiredTargets", + vec![], + [ + 67u8, 241u8, 33u8, 113u8, 62u8, 173u8, 233u8, 76u8, 99u8, 12u8, 61u8, + 237u8, 21u8, 252u8, 39u8, 37u8, 86u8, 167u8, 173u8, 53u8, 238u8, 172u8, + 97u8, 59u8, 27u8, 164u8, 163u8, 76u8, 140u8, 37u8, 159u8, 250u8, + ], + ) + } + #[doc = " The metadata of the [`RoundSnapshot`]"] + #[doc = ""] + #[doc = " Only exists when [`Snapshot`] is present."] + pub fn snapshot_metadata( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_election_provider_multi_phase::SolutionOrSnapshotSize, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ElectionProviderMultiPhase", + "SnapshotMetadata", + vec![], + [ + 48u8, 121u8, 12u8, 130u8, 174u8, 100u8, 114u8, 183u8, 83u8, 63u8, 44u8, + 147u8, 242u8, 223u8, 22u8, 107u8, 175u8, 182u8, 178u8, 254u8, 12u8, + 189u8, 37u8, 117u8, 95u8, 21u8, 19u8, 167u8, 56u8, 205u8, 49u8, 100u8, + ], + ) + } + #[doc = " The next index to be assigned to an incoming signed submission."] + #[doc = ""] + #[doc = " Every accepted submission is assigned a unique index; that index is bound to that particular"] + #[doc = " submission for the duration of the election. On election finalization, the next index is"] + #[doc = " reset to 0."] + #[doc = ""] + #[doc = " We can't just use `SignedSubmissionIndices.len()`, because that's a bounded set; past its"] + #[doc = " capacity, it will simply saturate. We can't just iterate over `SignedSubmissionsMap`,"] + #[doc = " because iteration is slow. Instead, we store the value here."] + pub fn signed_submission_next_index( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ElectionProviderMultiPhase", + "SignedSubmissionNextIndex", + vec![], + [ + 188u8, 126u8, 77u8, 166u8, 42u8, 81u8, 12u8, 239u8, 195u8, 16u8, 132u8, + 178u8, 217u8, 158u8, 28u8, 19u8, 201u8, 148u8, 47u8, 105u8, 178u8, + 115u8, 17u8, 78u8, 71u8, 178u8, 205u8, 171u8, 71u8, 52u8, 194u8, 82u8, + ], + ) + } + #[doc = " A sorted, bounded vector of `(score, block_number, index)`, where each `index` points to a"] + #[doc = " value in `SignedSubmissions`."] + #[doc = ""] + #[doc = " We never need to process more than a single signed submission at a time. Signed submissions"] + #[doc = " can be quite large, so we're willing to pay the cost of multiple database accesses to access"] + #[doc = " them one at a time instead of reading and decoding all of them at once."] + pub fn signed_submission_indices( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + runtime_types::sp_npos_elections::ElectionScore, + ::core::primitive::u32, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ElectionProviderMultiPhase", + "SignedSubmissionIndices", + vec![], + [ + 245u8, 24u8, 83u8, 165u8, 229u8, 167u8, 35u8, 107u8, 255u8, 77u8, 34u8, + 0u8, 188u8, 159u8, 175u8, 68u8, 232u8, 114u8, 238u8, 231u8, 252u8, + 169u8, 127u8, 232u8, 206u8, 183u8, 191u8, 227u8, 176u8, 46u8, 51u8, + 147u8, + ], + ) + } + #[doc = " Unchecked, signed solutions."] + #[doc = ""] + #[doc = " Together with `SubmissionIndices`, this stores a bounded set of `SignedSubmissions` while"] + #[doc = " allowing us to keep only a single one in memory at a time."] + #[doc = ""] + #[doc = " Twox note: the key of the map is an auto-incrementing index which users cannot inspect or"] + #[doc = " affect; we shouldn't need a cryptographically secure hasher."] + pub fn signed_submissions_map_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_election_provider_multi_phase::signed::SignedSubmission< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::enjin_runtime::NposSolution16, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ElectionProviderMultiPhase", + "SignedSubmissionsMap", + vec![], + [ + 118u8, 12u8, 234u8, 73u8, 238u8, 134u8, 20u8, 105u8, 248u8, 39u8, 23u8, + 96u8, 157u8, 187u8, 14u8, 143u8, 135u8, 121u8, 77u8, 90u8, 154u8, + 221u8, 139u8, 28u8, 34u8, 8u8, 19u8, 246u8, 65u8, 155u8, 84u8, 53u8, + ], + ) + } + #[doc = " Unchecked, signed solutions."] + #[doc = ""] + #[doc = " Together with `SubmissionIndices`, this stores a bounded set of `SignedSubmissions` while"] + #[doc = " allowing us to keep only a single one in memory at a time."] + #[doc = ""] + #[doc = " Twox note: the key of the map is an auto-incrementing index which users cannot inspect or"] + #[doc = " affect; we shouldn't need a cryptographically secure hasher."] + pub fn signed_submissions_map( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_election_provider_multi_phase::signed::SignedSubmission< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::enjin_runtime::NposSolution16, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ElectionProviderMultiPhase", + "SignedSubmissionsMap", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 118u8, 12u8, 234u8, 73u8, 238u8, 134u8, 20u8, 105u8, 248u8, 39u8, 23u8, + 96u8, 157u8, 187u8, 14u8, 143u8, 135u8, 121u8, 77u8, 90u8, 154u8, + 221u8, 139u8, 28u8, 34u8, 8u8, 19u8, 246u8, 65u8, 155u8, 84u8, 53u8, + ], + ) + } + #[doc = " The minimum score that each 'untrusted' solution must attain in order to be considered"] + #[doc = " feasible."] + #[doc = ""] + #[doc = " Can be set via `set_minimum_untrusted_score`."] + pub fn minimum_untrusted_score( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_npos_elections::ElectionScore, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ElectionProviderMultiPhase", + "MinimumUntrustedScore", + vec![], + [ + 22u8, 253u8, 11u8, 17u8, 171u8, 145u8, 175u8, 97u8, 137u8, 148u8, 36u8, + 232u8, 55u8, 174u8, 75u8, 173u8, 133u8, 5u8, 227u8, 161u8, 28u8, 62u8, + 188u8, 249u8, 123u8, 102u8, 186u8, 180u8, 226u8, 216u8, 71u8, 249u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Duration of the unsigned phase."] + pub fn unsigned_phase( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "UnsignedPhase", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Duration of the signed phase."] + pub fn signed_phase(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "SignedPhase", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The minimum amount of improvement to the solution score that defines a solution as"] + #[doc = " \"better\" in the Signed phase."] + pub fn better_signed_threshold( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "BetterSignedThreshold", + [ + 65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8, + 114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8, + 200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8, + ], + ) + } + #[doc = " The minimum amount of improvement to the solution score that defines a solution as"] + #[doc = " \"better\" in the Unsigned phase."] + pub fn better_unsigned_threshold( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "BetterUnsignedThreshold", + [ + 65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8, + 114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8, + 200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8, + ], + ) + } + #[doc = " The repeat threshold of the offchain worker."] + #[doc = ""] + #[doc = " For example, if it is 5, that means that at least 5 blocks will elapse between attempts"] + #[doc = " to submit the worker's solution."] + pub fn offchain_repeat( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "OffchainRepeat", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The priority of the unsigned transaction submitted in the unsigned-phase"] + pub fn miner_tx_priority( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u64> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "MinerTxPriority", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } + #[doc = " Maximum number of signed submissions that can be queued."] + #[doc = ""] + #[doc = " It is best to avoid adjusting this during an election, as it impacts downstream data"] + #[doc = " structures. In particular, `SignedSubmissionIndices` is bounded on this value. If you"] + #[doc = " update this value during an election, you _must_ ensure that"] + #[doc = " `SignedSubmissionIndices.len()` is less than or equal to the new value. Otherwise,"] + #[doc = " attempts to submit new solutions may cause a runtime panic."] + pub fn signed_max_submissions( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "SignedMaxSubmissions", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Maximum weight of a signed solution."] + #[doc = ""] + #[doc = " If [`Config::MinerConfig`] is being implemented to submit signed solutions (outside of"] + #[doc = " this pallet), then [`MinerConfig::solution_weight`] is used to compare against"] + #[doc = " this value."] + pub fn signed_max_weight( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "SignedMaxWeight", + [ + 149u8, 252u8, 129u8, 80u8, 169u8, 36u8, 79u8, 127u8, 240u8, 156u8, + 56u8, 202u8, 219u8, 86u8, 5u8, 65u8, 245u8, 148u8, 138u8, 243u8, 210u8, + 128u8, 234u8, 216u8, 240u8, 219u8, 123u8, 235u8, 21u8, 158u8, 237u8, + 112u8, + ], + ) + } + #[doc = " The maximum amount of unchecked solutions to refund the call fee for."] + pub fn signed_max_refunds( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "SignedMaxRefunds", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Base reward for a signed solution"] + pub fn signed_reward_base( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "SignedRewardBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Base deposit for a signed solution."] + pub fn signed_deposit_base( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "SignedDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Per-byte deposit for a signed solution."] + pub fn signed_deposit_byte( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "SignedDepositByte", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Per-weight deposit for a signed solution."] + pub fn signed_deposit_weight( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "SignedDepositWeight", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum number of electing voters to put in the snapshot. At the moment, snapshots"] + #[doc = " are only over a single block, but once multi-block elections are introduced they will"] + #[doc = " take place over multiple blocks."] + pub fn max_electing_voters( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "MaxElectingVoters", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of electable targets to put in the snapshot."] + pub fn max_electable_targets( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u16> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "MaxElectableTargets", + [ + 116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, 227u8, + 41u8, 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, 184u8, 72u8, 169u8, + 90u8, 208u8, 135u8, 15u8, 117u8, 10u8, 123u8, 128u8, 193u8, 29u8, 70u8, + ], + ) + } + #[doc = " The maximum number of winners that can be elected by this `ElectionProvider`"] + #[doc = " implementation."] + #[doc = ""] + #[doc = " Note: This must always be greater or equal to `T::DataProvider::desired_targets()`."] + pub fn max_winners(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "MaxWinners", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + pub fn miner_max_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "MinerMaxLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + pub fn miner_max_weight( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "MinerMaxWeight", + [ + 149u8, 252u8, 129u8, 80u8, 169u8, 36u8, 79u8, 127u8, 240u8, 156u8, + 56u8, 202u8, 219u8, 86u8, 5u8, 65u8, 245u8, 148u8, 138u8, 243u8, 210u8, + 128u8, 234u8, 216u8, 240u8, 219u8, 123u8, 235u8, 21u8, 158u8, 237u8, + 112u8, + ], + ) + } + pub fn miner_max_votes_per_voter( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "MinerMaxVotesPerVoter", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + pub fn miner_max_winners( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "MinerMaxWinners", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod staking { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_staking::pallet::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_staking::pallet::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Bond { + #[codec(compact)] + pub value: ::core::primitive::u128, + pub payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::utils::AccountId32, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Bond { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "bond"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BondExtra { + #[codec(compact)] + pub max_additional: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for BondExtra { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "bond_extra"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Unbond { + #[codec(compact)] + pub value: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for Unbond { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "unbond"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WithdrawUnbonded { + pub num_slashing_spans: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for WithdrawUnbonded { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "withdraw_unbonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Validate { + pub prefs: runtime_types::pallet_staking::ValidatorPrefs, + } + impl ::subxt::blocks::StaticExtrinsic for Validate { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "validate"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Nominate { + pub targets: ::std::vec::Vec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Nominate { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "nominate"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Chill; + impl ::subxt::blocks::StaticExtrinsic for Chill { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "chill"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetPayee { + pub payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::utils::AccountId32, + >, + } + impl ::subxt::blocks::StaticExtrinsic for SetPayee { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "set_payee"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetController; + impl ::subxt::blocks::StaticExtrinsic for SetController { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "set_controller"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetValidatorCount { + #[codec(compact)] + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetValidatorCount { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "set_validator_count"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct IncreaseValidatorCount { + #[codec(compact)] + pub additional: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for IncreaseValidatorCount { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "increase_validator_count"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ScaleValidatorCount { + pub factor: runtime_types::sp_arithmetic::per_things::Percent, + } + impl ::subxt::blocks::StaticExtrinsic for ScaleValidatorCount { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "scale_validator_count"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceNoEras; + impl ::subxt::blocks::StaticExtrinsic for ForceNoEras { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "force_no_eras"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceNewEra; + impl ::subxt::blocks::StaticExtrinsic for ForceNewEra { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "force_new_era"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetInvulnerables { + pub invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + impl ::subxt::blocks::StaticExtrinsic for SetInvulnerables { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "set_invulnerables"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceUnstake { + pub stash: ::subxt::utils::AccountId32, + pub num_slashing_spans: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ForceUnstake { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "force_unstake"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceNewEraAlways; + impl ::subxt::blocks::StaticExtrinsic for ForceNewEraAlways { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "force_new_era_always"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelDeferredSlash { + pub era: ::core::primitive::u32, + pub slash_indices: ::std::vec::Vec<::core::primitive::u32>, + } + impl ::subxt::blocks::StaticExtrinsic for CancelDeferredSlash { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "cancel_deferred_slash"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PayoutStakers { + pub validator_stash: ::subxt::utils::AccountId32, + pub era: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for PayoutStakers { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "payout_stakers"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Rebond { + #[codec(compact)] + pub value: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for Rebond { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "rebond"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReapStash { + pub stash: ::subxt::utils::AccountId32, + pub num_slashing_spans: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ReapStash { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "reap_stash"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Kick { + pub who: ::std::vec::Vec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Kick { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "kick"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetStakingConfigs { + pub min_nominator_bond: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + pub min_validator_bond: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + pub max_nominator_count: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u32, + >, + pub max_validator_count: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u32, + >, + pub chill_threshold: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Percent, + >, + pub min_commission: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + } + impl ::subxt::blocks::StaticExtrinsic for SetStakingConfigs { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "set_staking_configs"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ChillOther { + pub controller: ::subxt::utils::AccountId32, + } + impl ::subxt::blocks::StaticExtrinsic for ChillOther { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "chill_other"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceApplyMinCommission { + pub validator_stash: ::subxt::utils::AccountId32, + } + impl ::subxt::blocks::StaticExtrinsic for ForceApplyMinCommission { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "force_apply_min_commission"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMinCommission { + pub new: runtime_types::sp_arithmetic::per_things::Perbill, + } + impl ::subxt::blocks::StaticExtrinsic for SetMinCommission { + const PALLET: &'static str = "Staking"; + const CALL: &'static str = "set_min_commission"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Take the origin account as a stash and lock up `value` of its balance. `controller` will"] + #[doc = "be the account that controls it."] + #[doc = ""] + #[doc = "`value` must be more than the `minimum_balance` specified by `T::Currency`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the stash account."] + #[doc = ""] + #[doc = "Emits `Bonded`."] + #[doc = "## Complexity"] + #[doc = "- Independent of the arguments. Moderate complexity."] + #[doc = "- O(1)."] + #[doc = "- Three extra DB entries."] + #[doc = ""] + #[doc = "NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned"] + #[doc = "unless the `origin` falls below _existential deposit_ and gets removed as dust."] + pub fn bond( + &self, + value: ::core::primitive::u128, + payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::utils::AccountId32, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "bond", + types::Bond { value, payee }, + [ + 45u8, 207u8, 34u8, 221u8, 252u8, 224u8, 162u8, 185u8, 67u8, 224u8, + 88u8, 91u8, 232u8, 114u8, 183u8, 44u8, 39u8, 5u8, 12u8, 163u8, 57u8, + 31u8, 251u8, 58u8, 37u8, 232u8, 206u8, 75u8, 164u8, 26u8, 170u8, 101u8, + ], + ) + } + #[doc = "Add some extra amount that have appeared in the stash `free_balance` into the balance up"] + #[doc = "for staking."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."] + #[doc = ""] + #[doc = "Use this if there are additional funds in your stash account that you wish to bond."] + #[doc = "Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose"] + #[doc = "any limitation on the amount that can be added."] + #[doc = ""] + #[doc = "Emits `Bonded`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- O(1)."] + pub fn bond_extra( + &self, + max_additional: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "bond_extra", + types::BondExtra { max_additional }, + [ + 9u8, 143u8, 179u8, 99u8, 91u8, 254u8, 114u8, 189u8, 202u8, 245u8, 48u8, + 130u8, 103u8, 17u8, 183u8, 177u8, 172u8, 156u8, 227u8, 145u8, 191u8, + 134u8, 81u8, 3u8, 170u8, 85u8, 40u8, 56u8, 216u8, 95u8, 232u8, 52u8, + ], + ) + } + #[doc = "Schedule a portion of the stash to be unlocked ready for transfer out after the bond"] + #[doc = "period ends. If this leaves an amount actively bonded less than"] + #[doc = "T::Currency::minimum_balance(), then it is increased to the full amount."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "Once the unlock period is done, you can call `withdraw_unbonded` to actually move"] + #[doc = "the funds out of management ready for transfer."] + #[doc = ""] + #[doc = "No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)"] + #[doc = "can co-exists at the same time. If there are no unlocking chunks slots available"] + #[doc = "[`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible)."] + #[doc = ""] + #[doc = "If a user encounters the `InsufficientBond` error when calling this extrinsic,"] + #[doc = "they should call `chill` first in order to free up their bonded funds."] + #[doc = ""] + #[doc = "Emits `Unbonded`."] + #[doc = ""] + #[doc = "See also [`Call::withdraw_unbonded`]."] + pub fn unbond( + &self, + value: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "unbond", + types::Unbond { value }, + [ + 70u8, 201u8, 146u8, 56u8, 51u8, 237u8, 90u8, 193u8, 69u8, 42u8, 168u8, + 96u8, 215u8, 128u8, 253u8, 22u8, 239u8, 14u8, 214u8, 103u8, 170u8, + 140u8, 2u8, 182u8, 3u8, 190u8, 184u8, 191u8, 231u8, 137u8, 50u8, 16u8, + ], + ) + } + #[doc = "Remove any unlocked chunks from the `unlocking` queue from our management."] + #[doc = ""] + #[doc = "This essentially frees up that balance to be used by the stash account to do"] + #[doc = "whatever it wants."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller."] + #[doc = ""] + #[doc = "Emits `Withdrawn`."] + #[doc = ""] + #[doc = "See also [`Call::unbond`]."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "O(S) where S is the number of slashing spans to remove"] + #[doc = "NOTE: Weight annotation is the kill scenario, we refund otherwise."] + pub fn withdraw_unbonded( + &self, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "withdraw_unbonded", + types::WithdrawUnbonded { num_slashing_spans }, + [ + 229u8, 128u8, 177u8, 224u8, 197u8, 118u8, 239u8, 142u8, 179u8, 164u8, + 10u8, 205u8, 124u8, 254u8, 209u8, 157u8, 172u8, 87u8, 58u8, 120u8, + 74u8, 12u8, 150u8, 117u8, 234u8, 32u8, 191u8, 182u8, 92u8, 97u8, 77u8, + 59u8, + ], + ) + } + #[doc = "Declare the desire to validate for the origin controller."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + pub fn validate( + &self, + prefs: runtime_types::pallet_staking::ValidatorPrefs, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "validate", + types::Validate { prefs }, + [ + 63u8, 83u8, 12u8, 16u8, 56u8, 84u8, 41u8, 141u8, 202u8, 0u8, 37u8, + 30u8, 115u8, 2u8, 145u8, 101u8, 168u8, 89u8, 94u8, 98u8, 8u8, 45u8, + 140u8, 237u8, 101u8, 136u8, 179u8, 162u8, 205u8, 41u8, 88u8, 248u8, + ], + ) + } + #[doc = "Declare the desire to nominate `targets` for the origin controller."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- The transaction's complexity is proportional to the size of `targets` (N)"] + #[doc = "which is capped at CompactAssignments::LIMIT (T::MaxNominations)."] + #[doc = "- Both the reads and writes follow a similar pattern."] + pub fn nominate( + &self, + targets: ::std::vec::Vec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "nominate", + types::Nominate { targets }, + [ + 14u8, 209u8, 112u8, 222u8, 40u8, 211u8, 118u8, 188u8, 26u8, 88u8, + 135u8, 233u8, 36u8, 99u8, 68u8, 189u8, 184u8, 169u8, 146u8, 217u8, + 87u8, 198u8, 89u8, 32u8, 193u8, 135u8, 251u8, 88u8, 241u8, 151u8, + 205u8, 138u8, + ], + ) + } + #[doc = "Declare no desire to either validate or nominate."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains one read."] + #[doc = "- Writes are limited to the `origin` account key."] + pub fn chill(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "chill", + types::Chill {}, + [ + 157u8, 75u8, 243u8, 69u8, 110u8, 192u8, 22u8, 27u8, 107u8, 68u8, 236u8, + 58u8, 179u8, 34u8, 118u8, 98u8, 131u8, 62u8, 242u8, 84u8, 149u8, 24u8, + 83u8, 223u8, 78u8, 12u8, 192u8, 22u8, 111u8, 11u8, 171u8, 149u8, + ], + ) + } + #[doc = "(Re-)set the payment target for a controller."] + #[doc = ""] + #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)"] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains a limited number of reads."] + #[doc = "- Writes are limited to the `origin` account key."] + #[doc = "---------"] + pub fn set_payee( + &self, + payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::utils::AccountId32, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "set_payee", + types::SetPayee { payee }, + [ + 86u8, 172u8, 187u8, 98u8, 106u8, 240u8, 184u8, 60u8, 163u8, 244u8, 7u8, + 64u8, 147u8, 168u8, 192u8, 177u8, 211u8, 138u8, 73u8, 188u8, 159u8, + 154u8, 175u8, 219u8, 231u8, 235u8, 93u8, 195u8, 204u8, 100u8, 196u8, + 241u8, + ], + ) + } + #[doc = "(Re-)sets the controller of a stash to the stash itself. This function previously"] + #[doc = "accepted a `controller` argument to set the controller to an account other than the"] + #[doc = "stash itself. This functionality has now been removed, now only setting the controller"] + #[doc = "to the stash, if it is not already."] + #[doc = ""] + #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "O(1)"] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains a limited number of reads."] + #[doc = "- Writes are limited to the `origin` account key."] + pub fn set_controller(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "set_controller", + types::SetController {}, + [ + 172u8, 27u8, 195u8, 188u8, 145u8, 203u8, 190u8, 174u8, 145u8, 43u8, + 253u8, 87u8, 11u8, 229u8, 112u8, 18u8, 57u8, 101u8, 84u8, 235u8, 109u8, + 228u8, 58u8, 129u8, 179u8, 174u8, 245u8, 169u8, 89u8, 240u8, 39u8, + 67u8, + ], + ) + } + #[doc = "Sets the ideal number of validators."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "O(1)"] + pub fn set_validator_count( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "set_validator_count", + types::SetValidatorCount { new }, + [ + 172u8, 225u8, 157u8, 48u8, 242u8, 217u8, 126u8, 206u8, 26u8, 156u8, + 203u8, 100u8, 116u8, 189u8, 98u8, 89u8, 151u8, 101u8, 77u8, 236u8, + 101u8, 8u8, 148u8, 236u8, 180u8, 175u8, 232u8, 146u8, 141u8, 141u8, + 78u8, 165u8, + ], + ) + } + #[doc = "Increments the ideal number of validators upto maximum of"] + #[doc = "`ElectionProviderBase::MaxWinners`."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "Same as [`Self::set_validator_count`]."] + pub fn increase_validator_count( + &self, + additional: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "increase_validator_count", + types::IncreaseValidatorCount { additional }, + [ + 108u8, 67u8, 131u8, 248u8, 139u8, 227u8, 224u8, 221u8, 248u8, 94u8, + 141u8, 104u8, 131u8, 250u8, 127u8, 164u8, 137u8, 211u8, 5u8, 27u8, + 185u8, 251u8, 120u8, 243u8, 165u8, 50u8, 197u8, 161u8, 125u8, 195u8, + 16u8, 29u8, + ], + ) + } + #[doc = "Scale up the ideal number of validators by a factor upto maximum of"] + #[doc = "`ElectionProviderBase::MaxWinners`."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "Same as [`Self::set_validator_count`]."] + pub fn scale_validator_count( + &self, + factor: runtime_types::sp_arithmetic::per_things::Percent, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "scale_validator_count", + types::ScaleValidatorCount { factor }, + [ + 93u8, 200u8, 119u8, 240u8, 148u8, 144u8, 175u8, 135u8, 102u8, 130u8, + 183u8, 216u8, 28u8, 215u8, 155u8, 233u8, 152u8, 65u8, 49u8, 125u8, + 196u8, 79u8, 31u8, 195u8, 233u8, 79u8, 150u8, 138u8, 103u8, 161u8, + 78u8, 154u8, + ], + ) + } + #[doc = "Force there to be no new eras indefinitely."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# Warning"] + #[doc = ""] + #[doc = "The election process starts multiple blocks before the end of the era."] + #[doc = "Thus the election process may be ongoing when this is called. In this case the"] + #[doc = "election will continue until the next era is triggered."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- No arguments."] + #[doc = "- Weight: O(1)"] + pub fn force_no_eras(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "force_no_eras", + types::ForceNoEras {}, + [ + 77u8, 5u8, 105u8, 167u8, 251u8, 78u8, 52u8, 80u8, 177u8, 226u8, 28u8, + 130u8, 106u8, 62u8, 40u8, 210u8, 110u8, 62u8, 21u8, 113u8, 234u8, + 227u8, 171u8, 205u8, 240u8, 46u8, 32u8, 84u8, 184u8, 208u8, 61u8, + 207u8, + ], + ) + } + #[doc = "Force there to be a new era at the end of the next session. After this, it will be"] + #[doc = "reset to normal (non-forced) behaviour."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# Warning"] + #[doc = ""] + #[doc = "The election process starts multiple blocks before the end of the era."] + #[doc = "If this is called just before a new era is triggered, the election process may not"] + #[doc = "have enough blocks to get a result."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- No arguments."] + #[doc = "- Weight: O(1)"] + pub fn force_new_era(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "force_new_era", + types::ForceNewEra {}, + [ + 119u8, 45u8, 11u8, 87u8, 236u8, 189u8, 41u8, 142u8, 130u8, 10u8, 132u8, + 140u8, 210u8, 134u8, 66u8, 152u8, 149u8, 55u8, 60u8, 31u8, 190u8, 41u8, + 177u8, 103u8, 245u8, 193u8, 95u8, 255u8, 29u8, 79u8, 112u8, 188u8, + ], + ) + } + #[doc = "Set the validators who cannot be slashed (if any)."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + pub fn set_invulnerables( + &self, + invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "set_invulnerables", + types::SetInvulnerables { invulnerables }, + [ + 31u8, 115u8, 221u8, 229u8, 187u8, 61u8, 33u8, 22u8, 126u8, 142u8, + 248u8, 190u8, 213u8, 35u8, 49u8, 208u8, 193u8, 0u8, 58u8, 18u8, 136u8, + 220u8, 32u8, 8u8, 121u8, 36u8, 184u8, 57u8, 6u8, 125u8, 199u8, 245u8, + ], + ) + } + #[doc = "Force a current staker to become completely unstaked, immediately."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + pub fn force_unstake( + &self, + stash: ::subxt::utils::AccountId32, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "force_unstake", + types::ForceUnstake { + stash, + num_slashing_spans, + }, + [ + 205u8, 115u8, 222u8, 58u8, 168u8, 3u8, 59u8, 58u8, 220u8, 98u8, 204u8, + 90u8, 36u8, 250u8, 178u8, 45u8, 213u8, 158u8, 92u8, 107u8, 3u8, 94u8, + 118u8, 194u8, 187u8, 196u8, 101u8, 250u8, 36u8, 119u8, 21u8, 19u8, + ], + ) + } + #[doc = "Force there to be a new era at the end of sessions indefinitely."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# Warning"] + #[doc = ""] + #[doc = "The election process starts multiple blocks before the end of the era."] + #[doc = "If this is called just before a new era is triggered, the election process may not"] + #[doc = "have enough blocks to get a result."] + pub fn force_new_era_always( + &self, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "force_new_era_always", + types::ForceNewEraAlways {}, + [ + 102u8, 153u8, 116u8, 85u8, 80u8, 52u8, 89u8, 215u8, 173u8, 159u8, 96u8, + 99u8, 180u8, 5u8, 62u8, 142u8, 181u8, 101u8, 160u8, 57u8, 177u8, 182u8, + 6u8, 252u8, 107u8, 252u8, 225u8, 104u8, 147u8, 123u8, 244u8, 134u8, + ], + ) + } + #[doc = "Cancel enactment of a deferred slash."] + #[doc = ""] + #[doc = "Can be called by the `T::AdminOrigin`."] + #[doc = ""] + #[doc = "Parameters: era and indices of the slashes for that era to kill."] + pub fn cancel_deferred_slash( + &self, + era: ::core::primitive::u32, + slash_indices: ::std::vec::Vec<::core::primitive::u32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "cancel_deferred_slash", + types::CancelDeferredSlash { era, slash_indices }, + [ + 49u8, 208u8, 248u8, 109u8, 25u8, 132u8, 73u8, 172u8, 232u8, 194u8, + 114u8, 23u8, 114u8, 4u8, 64u8, 156u8, 70u8, 41u8, 207u8, 208u8, 78u8, + 199u8, 81u8, 125u8, 101u8, 31u8, 17u8, 140u8, 190u8, 254u8, 64u8, + 101u8, + ], + ) + } + #[doc = "Pay out all the stakers behind a single validator for a single era."] + #[doc = ""] + #[doc = "- `validator_stash` is the stash account of the validator. Their nominators, up to"] + #[doc = " `T::MaxNominatorRewardedPerValidator`, will also receive their rewards."] + #[doc = "- `era` may be any era between `[current_era - history_depth; current_era]`."] + #[doc = ""] + #[doc = "The origin of this call must be _Signed_. Any account can call this function, even if"] + #[doc = "it is not one of the stakers."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- At most O(MaxNominatorRewardedPerValidator)."] + pub fn payout_stakers( + &self, + validator_stash: ::subxt::utils::AccountId32, + era: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "payout_stakers", + types::PayoutStakers { + validator_stash, + era, + }, + [ + 69u8, 67u8, 140u8, 197u8, 89u8, 20u8, 59u8, 55u8, 142u8, 197u8, 62u8, + 107u8, 239u8, 50u8, 237u8, 52u8, 4u8, 65u8, 119u8, 73u8, 138u8, 57u8, + 46u8, 78u8, 252u8, 157u8, 187u8, 14u8, 232u8, 244u8, 217u8, 171u8, + ], + ) + } + #[doc = "Rebond a portion of the stash scheduled to be unlocked."] + #[doc = ""] + #[doc = "The dispatch origin must be signed by the controller."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- Time complexity: O(L), where L is unlocking chunks"] + #[doc = "- Bounded by `MaxUnlockingChunks`."] + pub fn rebond( + &self, + value: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "rebond", + types::Rebond { value }, + [ + 204u8, 209u8, 27u8, 219u8, 45u8, 129u8, 15u8, 39u8, 105u8, 165u8, + 255u8, 55u8, 0u8, 59u8, 115u8, 79u8, 139u8, 82u8, 163u8, 197u8, 44u8, + 89u8, 41u8, 234u8, 116u8, 214u8, 248u8, 123u8, 250u8, 49u8, 15u8, 77u8, + ], + ) + } + #[doc = "Remove all data structures concerning a staker/stash once it is at a state where it can"] + #[doc = "be considered `dust` in the staking system. The requirements are:"] + #[doc = ""] + #[doc = "1. the `total_balance` of the stash is below existential deposit."] + #[doc = "2. or, the `ledger.total` of the stash is below existential deposit."] + #[doc = ""] + #[doc = "The former can happen in cases like a slash; the latter when a fully unbonded account"] + #[doc = "is still receiving staking rewards in `RewardDestination::Staked`."] + #[doc = ""] + #[doc = "It can be called by anyone, as long as `stash` meets the above requirements."] + #[doc = ""] + #[doc = "Refunds the transaction fees upon successful execution."] + pub fn reap_stash( + &self, + stash: ::subxt::utils::AccountId32, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "reap_stash", + types::ReapStash { + stash, + num_slashing_spans, + }, + [ + 231u8, 240u8, 152u8, 33u8, 10u8, 60u8, 18u8, 233u8, 0u8, 229u8, 90u8, + 45u8, 118u8, 29u8, 98u8, 109u8, 89u8, 7u8, 228u8, 254u8, 119u8, 125u8, + 172u8, 209u8, 217u8, 107u8, 50u8, 226u8, 31u8, 5u8, 153u8, 93u8, + ], + ) + } + #[doc = "Remove the given nominations from the calling validator."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "- `who`: A list of nominator stash accounts who are nominating this validator which"] + #[doc = " should no longer be nominating this validator."] + #[doc = ""] + #[doc = "Note: Making this call only makes sense if you first set the validator preferences to"] + #[doc = "block any further nominations."] + pub fn kick( + &self, + who: ::std::vec::Vec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "kick", + types::Kick { who }, + [ + 27u8, 64u8, 10u8, 21u8, 174u8, 6u8, 40u8, 249u8, 144u8, 247u8, 5u8, + 123u8, 225u8, 172u8, 143u8, 50u8, 192u8, 248u8, 160u8, 179u8, 119u8, + 122u8, 147u8, 92u8, 248u8, 123u8, 3u8, 154u8, 205u8, 199u8, 6u8, 126u8, + ], + ) + } + #[doc = "Update the various staking configurations ."] + #[doc = ""] + #[doc = "* `min_nominator_bond`: The minimum active bond needed to be a nominator."] + #[doc = "* `min_validator_bond`: The minimum active bond needed to be a validator."] + #[doc = "* `max_nominator_count`: The max number of users who can be a nominator at once. When"] + #[doc = " set to `None`, no limit is enforced."] + #[doc = "* `max_validator_count`: The max number of users who can be a validator at once. When"] + #[doc = " set to `None`, no limit is enforced."] + #[doc = "* `chill_threshold`: The ratio of `max_nominator_count` or `max_validator_count` which"] + #[doc = " should be filled in order for the `chill_other` transaction to work."] + #[doc = "* `min_commission`: The minimum amount of commission that each validators must maintain."] + #[doc = " This is checked only upon calling `validate`. Existing validators are not affected."] + #[doc = ""] + #[doc = "RuntimeOrigin must be Root to call this function."] + #[doc = ""] + #[doc = "NOTE: Existing nominators and validators will not be affected by this update."] + #[doc = "to kick people under the new limits, `chill_other` should be called."] + pub fn set_staking_configs( + &self, + min_nominator_bond: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + min_validator_bond: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + max_nominator_count: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u32, + >, + max_validator_count: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u32, + >, + chill_threshold: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Percent, + >, + min_commission: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "set_staking_configs", + types::SetStakingConfigs { + min_nominator_bond, + min_validator_bond, + max_nominator_count, + max_validator_count, + chill_threshold, + min_commission, + }, + [ + 99u8, 61u8, 196u8, 68u8, 226u8, 64u8, 104u8, 70u8, 173u8, 108u8, 29u8, + 39u8, 61u8, 202u8, 72u8, 227u8, 190u8, 6u8, 138u8, 137u8, 207u8, 11u8, + 190u8, 79u8, 73u8, 7u8, 108u8, 131u8, 19u8, 7u8, 173u8, 60u8, + ], + ) + } + #[doc = "Declare a `controller` to stop participating as either a validator or nominator."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_, but can be called by anyone."] + #[doc = ""] + #[doc = "If the caller is the same as the controller being targeted, then no further checks are"] + #[doc = "enforced, and this function behaves just like `chill`."] + #[doc = ""] + #[doc = "If the caller is different than the controller being targeted, the following conditions"] + #[doc = "must be met:"] + #[doc = ""] + #[doc = "* `controller` must belong to a nominator who has become non-decodable,"] + #[doc = ""] + #[doc = "Or:"] + #[doc = ""] + #[doc = "* A `ChillThreshold` must be set and checked which defines how close to the max"] + #[doc = " nominators or validators we must reach before users can start chilling one-another."] + #[doc = "* A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine"] + #[doc = " how close we are to the threshold."] + #[doc = "* A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines"] + #[doc = " if this is a person that should be chilled because they have not met the threshold"] + #[doc = " bond required."] + #[doc = ""] + #[doc = "This can be helpful if bond requirements are updated, and we need to remove old users"] + #[doc = "who do not satisfy these requirements."] + pub fn chill_other( + &self, + controller: ::subxt::utils::AccountId32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "chill_other", + types::ChillOther { controller }, + [ + 143u8, 82u8, 167u8, 43u8, 102u8, 136u8, 78u8, 139u8, 110u8, 159u8, + 235u8, 226u8, 237u8, 140u8, 142u8, 47u8, 77u8, 57u8, 209u8, 208u8, 9u8, + 193u8, 3u8, 77u8, 147u8, 41u8, 182u8, 122u8, 178u8, 185u8, 32u8, 182u8, + ], + ) + } + #[doc = "Force a validator to have at least the minimum commission. This will not affect a"] + #[doc = "validator who already has a commission greater than or equal to the minimum. Any account"] + #[doc = "can call this."] + pub fn force_apply_min_commission( + &self, + validator_stash: ::subxt::utils::AccountId32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "force_apply_min_commission", + types::ForceApplyMinCommission { validator_stash }, + [ + 158u8, 27u8, 152u8, 23u8, 97u8, 53u8, 54u8, 49u8, 179u8, 236u8, 69u8, + 65u8, 253u8, 136u8, 232u8, 44u8, 207u8, 66u8, 5u8, 186u8, 49u8, 91u8, + 173u8, 5u8, 84u8, 45u8, 154u8, 91u8, 239u8, 97u8, 62u8, 42u8, + ], + ) + } + #[doc = "Sets the minimum amount of commission that each validators must maintain."] + #[doc = ""] + #[doc = "This call has lower privilege requirements than `set_staking_config` and can be called"] + #[doc = "by the `T::AdminOrigin`. Root can always call this."] + pub fn set_min_commission( + &self, + new: runtime_types::sp_arithmetic::per_things::Perbill, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Staking", + "set_min_commission", + types::SetMinCommission { new }, + [ + 96u8, 168u8, 55u8, 79u8, 79u8, 49u8, 8u8, 127u8, 98u8, 158u8, 106u8, + 187u8, 177u8, 201u8, 68u8, 181u8, 219u8, 172u8, 63u8, 120u8, 172u8, + 173u8, 251u8, 167u8, 84u8, 165u8, 238u8, 115u8, 110u8, 97u8, 144u8, + 50u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_staking::pallet::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The era payout has been set; the first balance is the validator-payout; the second is"] + #[doc = "the remainder from the maximum amount of reward."] + pub struct EraPaid { + pub era_index: ::core::primitive::u32, + pub validator_payout: ::core::primitive::u128, + pub remainder: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for EraPaid { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "EraPaid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The nominator has been rewarded by this amount."] + pub struct Rewarded { + pub stash: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Rewarded { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Rewarded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A staker (validator or nominator) has been slashed by the given amount."] + pub struct Slashed { + pub staker: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Slashed { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Slashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A slash for the given validator, for the given percentage of their stake, at the given"] + #[doc = "era as been reported."] + pub struct SlashReported { + pub validator: ::subxt::utils::AccountId32, + pub fraction: runtime_types::sp_arithmetic::per_things::Perbill, + pub slash_era: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for SlashReported { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "SlashReported"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An old slashing report from a prior era was discarded because it could"] + #[doc = "not be processed."] + pub struct OldSlashingReportDiscarded { + pub session_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for OldSlashingReportDiscarded { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "OldSlashingReportDiscarded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new set of stakers was elected."] + pub struct StakersElected; + impl ::subxt::events::StaticEvent for StakersElected { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "StakersElected"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account has bonded this amount. \\[stash, amount\\]"] + #[doc = ""] + #[doc = "NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,"] + #[doc = "it will not be emitted for staking rewards when they are added to stake."] + pub struct Bonded { + pub stash: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Bonded { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Bonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account has unbonded this amount."] + pub struct Unbonded { + pub stash: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Unbonded { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Unbonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`"] + #[doc = "from the unlocking queue."] + pub struct Withdrawn { + pub stash: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Withdrawn { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Withdrawn"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A nominator has been kicked from a validator."] + pub struct Kicked { + pub nominator: ::subxt::utils::AccountId32, + pub stash: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Kicked { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Kicked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The election failed. No new era is planned."] + pub struct StakingElectionFailed; + impl ::subxt::events::StaticEvent for StakingElectionFailed { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "StakingElectionFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account has stopped participating as either a validator or nominator."] + pub struct Chilled { + pub stash: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Chilled { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "Chilled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The stakers' rewards are getting paid."] + pub struct PayoutStarted { + pub era_index: ::core::primitive::u32, + pub validator_stash: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for PayoutStarted { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "PayoutStarted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A validator has set their preferences."] + pub struct ValidatorPrefsSet { + pub stash: ::subxt::utils::AccountId32, + pub prefs: runtime_types::pallet_staking::ValidatorPrefs, + } + impl ::subxt::events::StaticEvent for ValidatorPrefsSet { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "ValidatorPrefsSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new force era mode was set."] + pub struct ForceEra { + pub mode: runtime_types::pallet_staking::Forcing, + } + impl ::subxt::events::StaticEvent for ForceEra { + const PALLET: &'static str = "Staking"; + const EVENT: &'static str = "ForceEra"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The ideal number of active validators."] + pub fn validator_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ValidatorCount", + vec![], + [ + 105u8, 251u8, 193u8, 198u8, 232u8, 118u8, 73u8, 115u8, 205u8, 78u8, + 49u8, 253u8, 140u8, 193u8, 161u8, 205u8, 13u8, 147u8, 125u8, 102u8, + 142u8, 244u8, 210u8, 227u8, 225u8, 46u8, 144u8, 122u8, 254u8, 48u8, + 44u8, 169u8, + ], + ) + } + #[doc = " Minimum number of staking participants before emergency conditions are imposed."] + pub fn minimum_validator_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "MinimumValidatorCount", + vec![], + [ + 103u8, 178u8, 29u8, 91u8, 90u8, 31u8, 49u8, 9u8, 11u8, 58u8, 178u8, + 30u8, 219u8, 55u8, 58u8, 181u8, 80u8, 155u8, 9u8, 11u8, 38u8, 46u8, + 125u8, 179u8, 220u8, 20u8, 212u8, 181u8, 136u8, 103u8, 58u8, 48u8, + ], + ) + } + #[doc = " Any validators that may never be slashed or forcibly kicked. It's a Vec since they're"] + #[doc = " easy to initialize and the performance hit is minimal (we expect no more than four"] + #[doc = " invulnerables) and restricted to testnets."] + pub fn invulnerables( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "Invulnerables", + vec![], + [ + 199u8, 35u8, 0u8, 229u8, 160u8, 128u8, 139u8, 245u8, 27u8, 133u8, 47u8, + 240u8, 86u8, 195u8, 90u8, 169u8, 158u8, 231u8, 128u8, 58u8, 24u8, + 173u8, 138u8, 122u8, 226u8, 104u8, 239u8, 114u8, 91u8, 165u8, 207u8, + 150u8, + ], + ) + } + #[doc = " Map from all locked \"stash\" accounts to the controller account."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn bonded_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "Bonded", + vec![], + [ + 99u8, 128u8, 108u8, 100u8, 235u8, 102u8, 243u8, 95u8, 61u8, 206u8, + 220u8, 49u8, 155u8, 85u8, 236u8, 110u8, 99u8, 21u8, 117u8, 127u8, + 157u8, 226u8, 108u8, 80u8, 126u8, 93u8, 203u8, 0u8, 160u8, 253u8, 56u8, + 101u8, + ], + ) + } + #[doc = " Map from all locked \"stash\" accounts to the controller account."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn bonded( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "Bonded", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 99u8, 128u8, 108u8, 100u8, 235u8, 102u8, 243u8, 95u8, 61u8, 206u8, + 220u8, 49u8, 155u8, 85u8, 236u8, 110u8, 99u8, 21u8, 117u8, 127u8, + 157u8, 226u8, 108u8, 80u8, 126u8, 93u8, 203u8, 0u8, 160u8, 253u8, 56u8, + 101u8, + ], + ) + } + #[doc = " The minimum active bond to become and maintain the role of a nominator."] + pub fn min_nominator_bond( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "MinNominatorBond", + vec![], + [ + 102u8, 115u8, 254u8, 15u8, 191u8, 228u8, 85u8, 249u8, 112u8, 190u8, + 129u8, 243u8, 236u8, 39u8, 195u8, 232u8, 10u8, 230u8, 11u8, 144u8, + 115u8, 1u8, 45u8, 70u8, 181u8, 161u8, 17u8, 92u8, 19u8, 70u8, 100u8, + 94u8, + ], + ) + } + #[doc = " The minimum active bond to become and maintain the role of a validator."] + pub fn min_validator_bond( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "MinValidatorBond", + vec![], + [ + 146u8, 249u8, 26u8, 52u8, 224u8, 81u8, 85u8, 153u8, 118u8, 169u8, + 140u8, 37u8, 208u8, 242u8, 8u8, 29u8, 156u8, 73u8, 154u8, 162u8, 186u8, + 159u8, 119u8, 100u8, 109u8, 227u8, 6u8, 139u8, 155u8, 203u8, 167u8, + 244u8, + ], + ) + } + #[doc = " The minimum active nominator stake of the last successful election."] + pub fn minimum_active_stake( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "MinimumActiveStake", + vec![], + [ + 166u8, 211u8, 59u8, 23u8, 2u8, 160u8, 244u8, 52u8, 153u8, 12u8, 103u8, + 113u8, 51u8, 232u8, 145u8, 188u8, 54u8, 67u8, 227u8, 221u8, 186u8, 6u8, + 28u8, 63u8, 146u8, 212u8, 233u8, 173u8, 134u8, 41u8, 169u8, 153u8, + ], + ) + } + #[doc = " The minimum amount of commission that validators can set."] + #[doc = ""] + #[doc = " If set to `0`, no limit exists."] + pub fn min_commission( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "MinCommission", + vec![], + [ + 220u8, 197u8, 232u8, 212u8, 205u8, 242u8, 121u8, 165u8, 255u8, 199u8, + 122u8, 20u8, 145u8, 245u8, 175u8, 26u8, 45u8, 70u8, 207u8, 26u8, 112u8, + 234u8, 181u8, 167u8, 140u8, 75u8, 15u8, 1u8, 221u8, 168u8, 17u8, 211u8, + ], + ) + } + #[doc = " Map from all (unlocked) \"controller\" accounts to the info regarding the staking."] + pub fn ledger_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::StakingLedger, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "Ledger", + vec![], + [ + 210u8, 236u8, 6u8, 49u8, 200u8, 118u8, 116u8, 25u8, 66u8, 60u8, 18u8, + 75u8, 240u8, 156u8, 58u8, 48u8, 176u8, 10u8, 175u8, 0u8, 86u8, 7u8, + 16u8, 134u8, 64u8, 41u8, 46u8, 128u8, 33u8, 40u8, 10u8, 129u8, + ], + ) + } + #[doc = " Map from all (unlocked) \"controller\" accounts to the info regarding the staking."] + pub fn ledger( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::StakingLedger, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "Ledger", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 210u8, 236u8, 6u8, 49u8, 200u8, 118u8, 116u8, 25u8, 66u8, 60u8, 18u8, + 75u8, 240u8, 156u8, 58u8, 48u8, 176u8, 10u8, 175u8, 0u8, 86u8, 7u8, + 16u8, 134u8, 64u8, 41u8, 46u8, 128u8, 33u8, 40u8, 10u8, 129u8, + ], + ) + } + #[doc = " Where the reward payment should be made. Keyed by stash."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn payee_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::RewardDestination<::subxt::utils::AccountId32>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "Payee", + vec![], + [ + 141u8, 225u8, 44u8, 134u8, 50u8, 229u8, 64u8, 186u8, 166u8, 88u8, + 213u8, 118u8, 32u8, 154u8, 151u8, 204u8, 104u8, 216u8, 198u8, 66u8, + 123u8, 143u8, 206u8, 245u8, 53u8, 67u8, 78u8, 82u8, 115u8, 31u8, 39u8, + 76u8, + ], + ) + } + #[doc = " Where the reward payment should be made. Keyed by stash."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn payee( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::RewardDestination<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "Payee", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 141u8, 225u8, 44u8, 134u8, 50u8, 229u8, 64u8, 186u8, 166u8, 88u8, + 213u8, 118u8, 32u8, 154u8, 151u8, 204u8, 104u8, 216u8, 198u8, 66u8, + 123u8, 143u8, 206u8, 245u8, 53u8, 67u8, 78u8, 82u8, 115u8, 31u8, 39u8, + 76u8, + ], + ) + } + #[doc = " The map from (wannabe) validator stash key to the preferences of that validator."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn validators_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::ValidatorPrefs, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "Validators", + vec![], + [ + 149u8, 207u8, 68u8, 38u8, 24u8, 220u8, 207u8, 84u8, 236u8, 33u8, 210u8, + 124u8, 200u8, 99u8, 98u8, 29u8, 235u8, 46u8, 124u8, 4u8, 203u8, 6u8, + 209u8, 21u8, 124u8, 236u8, 112u8, 118u8, 180u8, 85u8, 78u8, 13u8, + ], + ) + } + #[doc = " The map from (wannabe) validator stash key to the preferences of that validator."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn validators( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::ValidatorPrefs, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "Validators", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 149u8, 207u8, 68u8, 38u8, 24u8, 220u8, 207u8, 84u8, 236u8, 33u8, 210u8, + 124u8, 200u8, 99u8, 98u8, 29u8, 235u8, 46u8, 124u8, 4u8, 203u8, 6u8, + 209u8, 21u8, 124u8, 236u8, 112u8, 118u8, 180u8, 85u8, 78u8, 13u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_validators( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "CounterForValidators", + vec![], + [ + 169u8, 146u8, 194u8, 114u8, 57u8, 232u8, 137u8, 93u8, 214u8, 98u8, + 176u8, 151u8, 237u8, 165u8, 176u8, 252u8, 73u8, 124u8, 22u8, 166u8, + 225u8, 217u8, 65u8, 56u8, 174u8, 12u8, 32u8, 2u8, 7u8, 173u8, 125u8, + 235u8, + ], + ) + } + #[doc = " The maximum validator count before we stop allowing new validators to join."] + #[doc = ""] + #[doc = " When this value is not set, no limits are enforced."] + pub fn max_validators_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "MaxValidatorsCount", + vec![], + [ + 139u8, 116u8, 236u8, 217u8, 110u8, 47u8, 140u8, 197u8, 184u8, 246u8, + 180u8, 188u8, 233u8, 99u8, 102u8, 21u8, 114u8, 23u8, 143u8, 163u8, + 224u8, 250u8, 248u8, 185u8, 235u8, 94u8, 110u8, 83u8, 170u8, 123u8, + 113u8, 168u8, + ], + ) + } + #[doc = " The map from nominator stash key to their nomination preferences, namely the validators that"] + #[doc = " they wish to support."] + #[doc = ""] + #[doc = " Note that the keys of this storage map might become non-decodable in case the"] + #[doc = " [`Config::MaxNominations`] configuration is decreased. In this rare case, these nominators"] + #[doc = " are still existent in storage, their key is correct and retrievable (i.e. `contains_key`"] + #[doc = " indicates that they exist), but their value cannot be decoded. Therefore, the non-decodable"] + #[doc = " nominators will effectively not-exist, until they re-submit their preferences such that it"] + #[doc = " is within the bounds of the newly set `Config::MaxNominations`."] + #[doc = ""] + #[doc = " This implies that `::iter_keys().count()` and `::iter().count()` might return different"] + #[doc = " values for this map. Moreover, the main `::count()` is aligned with the former, namely the"] + #[doc = " number of keys that exist."] + #[doc = ""] + #[doc = " Lastly, if any of the nominators become non-decodable, they can be chilled immediately via"] + #[doc = " [`Call::chill_other`] dispatchable by anyone."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn nominators_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::Nominations, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "Nominators", + vec![], + [ + 244u8, 174u8, 214u8, 105u8, 215u8, 218u8, 241u8, 145u8, 155u8, 54u8, + 219u8, 34u8, 158u8, 224u8, 251u8, 17u8, 245u8, 9u8, 150u8, 36u8, 2u8, + 233u8, 222u8, 218u8, 136u8, 86u8, 37u8, 244u8, 18u8, 50u8, 91u8, 120u8, + ], + ) + } + #[doc = " The map from nominator stash key to their nomination preferences, namely the validators that"] + #[doc = " they wish to support."] + #[doc = ""] + #[doc = " Note that the keys of this storage map might become non-decodable in case the"] + #[doc = " [`Config::MaxNominations`] configuration is decreased. In this rare case, these nominators"] + #[doc = " are still existent in storage, their key is correct and retrievable (i.e. `contains_key`"] + #[doc = " indicates that they exist), but their value cannot be decoded. Therefore, the non-decodable"] + #[doc = " nominators will effectively not-exist, until they re-submit their preferences such that it"] + #[doc = " is within the bounds of the newly set `Config::MaxNominations`."] + #[doc = ""] + #[doc = " This implies that `::iter_keys().count()` and `::iter().count()` might return different"] + #[doc = " values for this map. Moreover, the main `::count()` is aligned with the former, namely the"] + #[doc = " number of keys that exist."] + #[doc = ""] + #[doc = " Lastly, if any of the nominators become non-decodable, they can be chilled immediately via"] + #[doc = " [`Call::chill_other`] dispatchable by anyone."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn nominators( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::Nominations, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "Nominators", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 244u8, 174u8, 214u8, 105u8, 215u8, 218u8, 241u8, 145u8, 155u8, 54u8, + 219u8, 34u8, 158u8, 224u8, 251u8, 17u8, 245u8, 9u8, 150u8, 36u8, 2u8, + 233u8, 222u8, 218u8, 136u8, 86u8, 37u8, 244u8, 18u8, 50u8, 91u8, 120u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_nominators( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "CounterForNominators", + vec![], + [ + 150u8, 236u8, 184u8, 12u8, 224u8, 26u8, 13u8, 204u8, 208u8, 178u8, + 68u8, 148u8, 232u8, 85u8, 74u8, 248u8, 167u8, 61u8, 88u8, 126u8, 40u8, + 20u8, 73u8, 47u8, 94u8, 57u8, 144u8, 77u8, 156u8, 179u8, 55u8, 49u8, + ], + ) + } + #[doc = " The maximum nominator count before we stop allowing new validators to join."] + #[doc = ""] + #[doc = " When this value is not set, no limits are enforced."] + pub fn max_nominators_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "MaxNominatorsCount", + vec![], + [ + 11u8, 234u8, 179u8, 254u8, 95u8, 119u8, 35u8, 255u8, 141u8, 95u8, + 148u8, 209u8, 43u8, 202u8, 19u8, 57u8, 185u8, 50u8, 152u8, 192u8, 95u8, + 13u8, 158u8, 245u8, 113u8, 199u8, 255u8, 187u8, 37u8, 44u8, 8u8, 119u8, + ], + ) + } + #[doc = " The current era index."] + #[doc = ""] + #[doc = " This is the latest planned era, depending on how the Session pallet queues the validator"] + #[doc = " set, it might be active or not."] + pub fn current_era( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "CurrentEra", + vec![], + [ + 247u8, 239u8, 171u8, 18u8, 137u8, 240u8, 213u8, 3u8, 173u8, 173u8, + 236u8, 141u8, 202u8, 191u8, 228u8, 120u8, 196u8, 188u8, 13u8, 66u8, + 253u8, 117u8, 90u8, 8u8, 158u8, 11u8, 236u8, 141u8, 178u8, 44u8, 119u8, + 25u8, + ], + ) + } + #[doc = " The active era information, it holds index and start."] + #[doc = ""] + #[doc = " The active era is the era being currently rewarded. Validator set of this era must be"] + #[doc = " equal to [`SessionInterface::validators`]."] + pub fn active_era( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::ActiveEraInfo, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ActiveEra", + vec![], + [ + 24u8, 229u8, 66u8, 56u8, 111u8, 234u8, 139u8, 93u8, 245u8, 137u8, + 110u8, 110u8, 121u8, 15u8, 216u8, 207u8, 97u8, 120u8, 125u8, 45u8, + 61u8, 2u8, 50u8, 100u8, 3u8, 106u8, 12u8, 233u8, 123u8, 156u8, 145u8, + 38u8, + ], + ) + } + #[doc = " The session index at which the era start for the last `HISTORY_DEPTH` eras."] + #[doc = ""] + #[doc = " Note: This tracks the starting session (i.e. session index when era start being active)"] + #[doc = " for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`."] + pub fn eras_start_session_index_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasStartSessionIndex", + vec![], + [ + 104u8, 76u8, 102u8, 20u8, 9u8, 146u8, 55u8, 204u8, 12u8, 15u8, 117u8, + 22u8, 54u8, 230u8, 98u8, 105u8, 191u8, 136u8, 140u8, 65u8, 48u8, 29u8, + 19u8, 144u8, 159u8, 241u8, 158u8, 77u8, 4u8, 230u8, 216u8, 52u8, + ], + ) + } + #[doc = " The session index at which the era start for the last `HISTORY_DEPTH` eras."] + #[doc = ""] + #[doc = " Note: This tracks the starting session (i.e. session index when era start being active)"] + #[doc = " for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`."] + pub fn eras_start_session_index( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasStartSessionIndex", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 104u8, 76u8, 102u8, 20u8, 9u8, 146u8, 55u8, 204u8, 12u8, 15u8, 117u8, + 22u8, 54u8, 230u8, 98u8, 105u8, 191u8, 136u8, 140u8, 65u8, 48u8, 29u8, + 19u8, 144u8, 159u8, 241u8, 158u8, 77u8, 4u8, 230u8, 216u8, 52u8, + ], + ) + } + #[doc = " Exposure of validator at era."] + #[doc = ""] + #[doc = " This is keyed first by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + #[doc = " If stakers hasn't been set or has been removed then empty exposure is returned."] + pub fn eras_stakers_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasStakers", + vec![], + [ + 120u8, 64u8, 232u8, 134u8, 109u8, 212u8, 242u8, 64u8, 68u8, 196u8, + 108u8, 91u8, 255u8, 123u8, 245u8, 27u8, 55u8, 254u8, 60u8, 74u8, 183u8, + 183u8, 226u8, 159u8, 244u8, 56u8, 139u8, 34u8, 228u8, 176u8, 241u8, + 76u8, + ], + ) + } + #[doc = " Exposure of validator at era."] + #[doc = ""] + #[doc = " This is keyed first by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + #[doc = " If stakers hasn't been set or has been removed then empty exposure is returned."] + pub fn eras_stakers_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasStakers", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 120u8, 64u8, 232u8, 134u8, 109u8, 212u8, 242u8, 64u8, 68u8, 196u8, + 108u8, 91u8, 255u8, 123u8, 245u8, 27u8, 55u8, 254u8, 60u8, 74u8, 183u8, + 183u8, 226u8, 159u8, 244u8, 56u8, 139u8, 34u8, 228u8, 176u8, 241u8, + 76u8, + ], + ) + } + #[doc = " Exposure of validator at era."] + #[doc = ""] + #[doc = " This is keyed first by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + #[doc = " If stakers hasn't been set or has been removed then empty exposure is returned."] + pub fn eras_stakers( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasStakers", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 120u8, 64u8, 232u8, 134u8, 109u8, 212u8, 242u8, 64u8, 68u8, 196u8, + 108u8, 91u8, 255u8, 123u8, 245u8, 27u8, 55u8, 254u8, 60u8, 74u8, 183u8, + 183u8, 226u8, 159u8, 244u8, 56u8, 139u8, 34u8, 228u8, 176u8, 241u8, + 76u8, + ], + ) + } + #[doc = " Clipped Exposure of validator at era."] + #[doc = ""] + #[doc = " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the"] + #[doc = " `T::MaxNominatorRewardedPerValidator` biggest stakers."] + #[doc = " (Note: the field `total` and `own` of the exposure remains unchanged)."] + #[doc = " This is used to limit the i/o cost for the nominator payout."] + #[doc = ""] + #[doc = " This is keyed fist by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + #[doc = " If stakers hasn't been set or has been removed then empty exposure is returned."] + pub fn eras_stakers_clipped_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasStakersClipped", + vec![], + [ + 85u8, 192u8, 164u8, 53u8, 181u8, 61u8, 132u8, 255u8, 144u8, 41u8, 44u8, + 199u8, 34u8, 11u8, 248u8, 81u8, 203u8, 204u8, 152u8, 138u8, 112u8, + 229u8, 145u8, 253u8, 111u8, 111u8, 38u8, 74u8, 199u8, 164u8, 16u8, + 45u8, + ], + ) + } + #[doc = " Clipped Exposure of validator at era."] + #[doc = ""] + #[doc = " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the"] + #[doc = " `T::MaxNominatorRewardedPerValidator` biggest stakers."] + #[doc = " (Note: the field `total` and `own` of the exposure remains unchanged)."] + #[doc = " This is used to limit the i/o cost for the nominator payout."] + #[doc = ""] + #[doc = " This is keyed fist by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + #[doc = " If stakers hasn't been set or has been removed then empty exposure is returned."] + pub fn eras_stakers_clipped_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasStakersClipped", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 85u8, 192u8, 164u8, 53u8, 181u8, 61u8, 132u8, 255u8, 144u8, 41u8, 44u8, + 199u8, 34u8, 11u8, 248u8, 81u8, 203u8, 204u8, 152u8, 138u8, 112u8, + 229u8, 145u8, 253u8, 111u8, 111u8, 38u8, 74u8, 199u8, 164u8, 16u8, + 45u8, + ], + ) + } + #[doc = " Clipped Exposure of validator at era."] + #[doc = ""] + #[doc = " This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the"] + #[doc = " `T::MaxNominatorRewardedPerValidator` biggest stakers."] + #[doc = " (Note: the field `total` and `own` of the exposure remains unchanged)."] + #[doc = " This is used to limit the i/o cost for the nominator payout."] + #[doc = ""] + #[doc = " This is keyed fist by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + #[doc = " If stakers hasn't been set or has been removed then empty exposure is returned."] + pub fn eras_stakers_clipped( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasStakersClipped", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 85u8, 192u8, 164u8, 53u8, 181u8, 61u8, 132u8, 255u8, 144u8, 41u8, 44u8, + 199u8, 34u8, 11u8, 248u8, 81u8, 203u8, 204u8, 152u8, 138u8, 112u8, + 229u8, 145u8, 253u8, 111u8, 111u8, 38u8, 74u8, 199u8, 164u8, 16u8, + 45u8, + ], + ) + } + #[doc = " Similar to `ErasStakers`, this holds the preferences of validators."] + #[doc = ""] + #[doc = " This is keyed first by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + pub fn eras_validator_prefs_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::ValidatorPrefs, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasValidatorPrefs", + vec![], + [ + 134u8, 250u8, 229u8, 21u8, 44u8, 119u8, 43u8, 99u8, 69u8, 94u8, 177u8, + 180u8, 174u8, 134u8, 54u8, 25u8, 56u8, 144u8, 194u8, 149u8, 56u8, + 234u8, 78u8, 238u8, 78u8, 247u8, 205u8, 43u8, 16u8, 159u8, 92u8, 169u8, + ], + ) + } + #[doc = " Similar to `ErasStakers`, this holds the preferences of validators."] + #[doc = ""] + #[doc = " This is keyed first by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + pub fn eras_validator_prefs_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::ValidatorPrefs, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasValidatorPrefs", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 134u8, 250u8, 229u8, 21u8, 44u8, 119u8, 43u8, 99u8, 69u8, 94u8, 177u8, + 180u8, 174u8, 134u8, 54u8, 25u8, 56u8, 144u8, 194u8, 149u8, 56u8, + 234u8, 78u8, 238u8, 78u8, 247u8, 205u8, 43u8, 16u8, 159u8, 92u8, 169u8, + ], + ) + } + #[doc = " Similar to `ErasStakers`, this holds the preferences of validators."] + #[doc = ""] + #[doc = " This is keyed first by the era index to allow bulk deletion and then the stash account."] + #[doc = ""] + #[doc = " Is it removed after `HISTORY_DEPTH` eras."] + pub fn eras_validator_prefs( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::ValidatorPrefs, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasValidatorPrefs", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 134u8, 250u8, 229u8, 21u8, 44u8, 119u8, 43u8, 99u8, 69u8, 94u8, 177u8, + 180u8, 174u8, 134u8, 54u8, 25u8, 56u8, 144u8, 194u8, 149u8, 56u8, + 234u8, 78u8, 238u8, 78u8, 247u8, 205u8, 43u8, 16u8, 159u8, 92u8, 169u8, + ], + ) + } + #[doc = " The total validator era payout for the last `HISTORY_DEPTH` eras."] + #[doc = ""] + #[doc = " Eras that haven't finished yet or has been removed doesn't have reward."] + pub fn eras_validator_reward_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasValidatorReward", + vec![], + [ + 185u8, 85u8, 179u8, 163u8, 178u8, 168u8, 141u8, 200u8, 59u8, 77u8, 2u8, + 197u8, 36u8, 188u8, 133u8, 117u8, 2u8, 25u8, 105u8, 132u8, 44u8, 75u8, + 15u8, 82u8, 57u8, 89u8, 242u8, 234u8, 70u8, 244u8, 198u8, 126u8, + ], + ) + } + #[doc = " The total validator era payout for the last `HISTORY_DEPTH` eras."] + #[doc = ""] + #[doc = " Eras that haven't finished yet or has been removed doesn't have reward."] + pub fn eras_validator_reward( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasValidatorReward", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 185u8, 85u8, 179u8, 163u8, 178u8, 168u8, 141u8, 200u8, 59u8, 77u8, 2u8, + 197u8, 36u8, 188u8, 133u8, 117u8, 2u8, 25u8, 105u8, 132u8, 44u8, 75u8, + 15u8, 82u8, 57u8, 89u8, 242u8, 234u8, 70u8, 244u8, 198u8, 126u8, + ], + ) + } + #[doc = " Rewards for the last `HISTORY_DEPTH` eras."] + #[doc = " If reward hasn't been set or has been removed then 0 reward is returned."] + pub fn eras_reward_points_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::EraRewardPoints<::subxt::utils::AccountId32>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasRewardPoints", + vec![], + [ + 135u8, 0u8, 85u8, 241u8, 213u8, 133u8, 30u8, 192u8, 251u8, 191u8, 41u8, + 38u8, 233u8, 236u8, 218u8, 246u8, 166u8, 93u8, 46u8, 37u8, 48u8, 187u8, + 172u8, 48u8, 251u8, 178u8, 75u8, 203u8, 60u8, 188u8, 204u8, 207u8, + ], + ) + } + #[doc = " Rewards for the last `HISTORY_DEPTH` eras."] + #[doc = " If reward hasn't been set or has been removed then 0 reward is returned."] + pub fn eras_reward_points( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::EraRewardPoints<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasRewardPoints", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 135u8, 0u8, 85u8, 241u8, 213u8, 133u8, 30u8, 192u8, 251u8, 191u8, 41u8, + 38u8, 233u8, 236u8, 218u8, 246u8, 166u8, 93u8, 46u8, 37u8, 48u8, 187u8, + 172u8, 48u8, 251u8, 178u8, 75u8, 203u8, 60u8, 188u8, 204u8, 207u8, + ], + ) + } + #[doc = " The total amount staked for the last `HISTORY_DEPTH` eras."] + #[doc = " If total hasn't been set or has been removed then 0 stake is returned."] + pub fn eras_total_stake_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasTotalStake", + vec![], + [ + 8u8, 78u8, 101u8, 62u8, 124u8, 126u8, 66u8, 26u8, 47u8, 126u8, 239u8, + 204u8, 222u8, 104u8, 19u8, 108u8, 238u8, 160u8, 112u8, 242u8, 56u8, + 2u8, 250u8, 164u8, 250u8, 213u8, 201u8, 84u8, 193u8, 117u8, 108u8, + 146u8, + ], + ) + } + #[doc = " The total amount staked for the last `HISTORY_DEPTH` eras."] + #[doc = " If total hasn't been set or has been removed then 0 stake is returned."] + pub fn eras_total_stake( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ErasTotalStake", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 8u8, 78u8, 101u8, 62u8, 124u8, 126u8, 66u8, 26u8, 47u8, 126u8, 239u8, + 204u8, 222u8, 104u8, 19u8, 108u8, 238u8, 160u8, 112u8, 242u8, 56u8, + 2u8, 250u8, 164u8, 250u8, 213u8, 201u8, 84u8, 193u8, 117u8, 108u8, + 146u8, + ], + ) + } + #[doc = " Mode of era forcing."] + pub fn force_era( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::Forcing, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ForceEra", + vec![], + [ + 177u8, 148u8, 73u8, 108u8, 136u8, 126u8, 89u8, 18u8, 124u8, 66u8, 30u8, + 102u8, 133u8, 164u8, 78u8, 214u8, 184u8, 163u8, 75u8, 164u8, 117u8, + 233u8, 209u8, 158u8, 99u8, 208u8, 21u8, 194u8, 152u8, 82u8, 16u8, + 222u8, + ], + ) + } + #[doc = " The percentage of the slash that is distributed to reporters."] + #[doc = ""] + #[doc = " The rest of the slashed value is handled by the `Slash`."] + pub fn slash_reward_fraction( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "SlashRewardFraction", + vec![], + [ + 53u8, 88u8, 253u8, 237u8, 84u8, 228u8, 187u8, 130u8, 108u8, 195u8, + 135u8, 25u8, 75u8, 52u8, 238u8, 62u8, 133u8, 38u8, 139u8, 129u8, 216u8, + 193u8, 197u8, 216u8, 245u8, 171u8, 128u8, 207u8, 125u8, 246u8, 248u8, + 7u8, + ], + ) + } + #[doc = " The amount of currency given to reporters of a slash event which was"] + #[doc = " canceled by extraordinary circumstances (e.g. governance)."] + pub fn canceled_slash_payout( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "CanceledSlashPayout", + vec![], + [ + 221u8, 88u8, 134u8, 81u8, 22u8, 229u8, 100u8, 27u8, 86u8, 244u8, 229u8, + 107u8, 251u8, 119u8, 58u8, 153u8, 19u8, 20u8, 254u8, 169u8, 248u8, + 220u8, 98u8, 118u8, 48u8, 213u8, 22u8, 79u8, 242u8, 250u8, 147u8, + 173u8, + ], + ) + } + #[doc = " All unapplied slashes that are queued for later."] + pub fn unapplied_slashes_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + runtime_types::pallet_staking::UnappliedSlash< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "UnappliedSlashes", + vec![], + [ + 158u8, 134u8, 7u8, 21u8, 200u8, 222u8, 197u8, 166u8, 199u8, 39u8, 1u8, + 167u8, 164u8, 154u8, 165u8, 118u8, 92u8, 223u8, 219u8, 136u8, 196u8, + 155u8, 243u8, 20u8, 198u8, 92u8, 198u8, 61u8, 252u8, 176u8, 175u8, + 172u8, + ], + ) + } + #[doc = " All unapplied slashes that are queued for later."] + pub fn unapplied_slashes( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + runtime_types::pallet_staking::UnappliedSlash< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "UnappliedSlashes", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 158u8, 134u8, 7u8, 21u8, 200u8, 222u8, 197u8, 166u8, 199u8, 39u8, 1u8, + 167u8, 164u8, 154u8, 165u8, 118u8, 92u8, 223u8, 219u8, 136u8, 196u8, + 155u8, 243u8, 20u8, 198u8, 92u8, 198u8, 61u8, 252u8, 176u8, 175u8, + 172u8, + ], + ) + } + #[doc = " A mapping from still-bonded eras to the first session index of that era."] + #[doc = ""] + #[doc = " Must contains information for eras for the range:"] + #[doc = " `[active_era - bounding_duration; active_era]`"] + pub fn bonded_eras( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::u32)>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "BondedEras", + vec![], + [ + 20u8, 0u8, 164u8, 169u8, 183u8, 130u8, 242u8, 167u8, 92u8, 254u8, + 191u8, 206u8, 177u8, 182u8, 219u8, 162u8, 7u8, 116u8, 223u8, 166u8, + 239u8, 216u8, 140u8, 42u8, 174u8, 237u8, 134u8, 186u8, 180u8, 62u8, + 175u8, 239u8, + ], + ) + } + #[doc = " All slashing events on validators, mapped by era to the highest slash proportion"] + #[doc = " and slash value of the era."] + pub fn validator_slash_in_era_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + runtime_types::sp_arithmetic::per_things::Perbill, + ::core::primitive::u128, + ), + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ValidatorSlashInEra", + vec![], + [ + 245u8, 72u8, 52u8, 22u8, 10u8, 177u8, 127u8, 83u8, 180u8, 246u8, 17u8, + 82u8, 6u8, 231u8, 131u8, 68u8, 73u8, 92u8, 241u8, 251u8, 32u8, 97u8, + 121u8, 137u8, 190u8, 227u8, 162u8, 16u8, 224u8, 207u8, 63u8, 184u8, + ], + ) + } + #[doc = " All slashing events on validators, mapped by era to the highest slash proportion"] + #[doc = " and slash value of the era."] + pub fn validator_slash_in_era_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + runtime_types::sp_arithmetic::per_things::Perbill, + ::core::primitive::u128, + ), + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ValidatorSlashInEra", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 245u8, 72u8, 52u8, 22u8, 10u8, 177u8, 127u8, 83u8, 180u8, 246u8, 17u8, + 82u8, 6u8, 231u8, 131u8, 68u8, 73u8, 92u8, 241u8, 251u8, 32u8, 97u8, + 121u8, 137u8, 190u8, 227u8, 162u8, 16u8, 224u8, 207u8, 63u8, 184u8, + ], + ) + } + #[doc = " All slashing events on validators, mapped by era to the highest slash proportion"] + #[doc = " and slash value of the era."] + pub fn validator_slash_in_era( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + runtime_types::sp_arithmetic::per_things::Perbill, + ::core::primitive::u128, + ), + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ValidatorSlashInEra", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 245u8, 72u8, 52u8, 22u8, 10u8, 177u8, 127u8, 83u8, 180u8, 246u8, 17u8, + 82u8, 6u8, 231u8, 131u8, 68u8, 73u8, 92u8, 241u8, 251u8, 32u8, 97u8, + 121u8, 137u8, 190u8, 227u8, 162u8, 16u8, 224u8, 207u8, 63u8, 184u8, + ], + ) + } + #[doc = " All slashing events on nominators, mapped by era to the highest slash value of the era."] + pub fn nominator_slash_in_era_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "NominatorSlashInEra", + vec![], + [ + 8u8, 89u8, 171u8, 183u8, 64u8, 29u8, 44u8, 185u8, 11u8, 204u8, 67u8, + 60u8, 208u8, 132u8, 9u8, 214u8, 13u8, 148u8, 205u8, 26u8, 5u8, 7u8, + 250u8, 191u8, 83u8, 118u8, 95u8, 17u8, 40u8, 126u8, 16u8, 135u8, + ], + ) + } + #[doc = " All slashing events on nominators, mapped by era to the highest slash value of the era."] + pub fn nominator_slash_in_era_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "NominatorSlashInEra", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 8u8, 89u8, 171u8, 183u8, 64u8, 29u8, 44u8, 185u8, 11u8, 204u8, 67u8, + 60u8, 208u8, 132u8, 9u8, 214u8, 13u8, 148u8, 205u8, 26u8, 5u8, 7u8, + 250u8, 191u8, 83u8, 118u8, 95u8, 17u8, 40u8, 126u8, 16u8, 135u8, + ], + ) + } + #[doc = " All slashing events on nominators, mapped by era to the highest slash value of the era."] + pub fn nominator_slash_in_era( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "NominatorSlashInEra", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 8u8, 89u8, 171u8, 183u8, 64u8, 29u8, 44u8, 185u8, 11u8, 204u8, 67u8, + 60u8, 208u8, 132u8, 9u8, 214u8, 13u8, 148u8, 205u8, 26u8, 5u8, 7u8, + 250u8, 191u8, 83u8, 118u8, 95u8, 17u8, 40u8, 126u8, 16u8, 135u8, + ], + ) + } + #[doc = " Slashing spans for stash accounts."] + pub fn slashing_spans_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::slashing::SlashingSpans, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "SlashingSpans", + vec![], + [ + 74u8, 169u8, 189u8, 252u8, 193u8, 191u8, 114u8, 107u8, 158u8, 125u8, + 252u8, 35u8, 177u8, 129u8, 99u8, 24u8, 77u8, 223u8, 238u8, 24u8, 237u8, + 225u8, 5u8, 117u8, 163u8, 180u8, 139u8, 22u8, 169u8, 185u8, 60u8, + 217u8, + ], + ) + } + #[doc = " Slashing spans for stash accounts."] + pub fn slashing_spans( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::slashing::SlashingSpans, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "SlashingSpans", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 74u8, 169u8, 189u8, 252u8, 193u8, 191u8, 114u8, 107u8, 158u8, 125u8, + 252u8, 35u8, 177u8, 129u8, 99u8, 24u8, 77u8, 223u8, 238u8, 24u8, 237u8, + 225u8, 5u8, 117u8, 163u8, 180u8, 139u8, 22u8, 169u8, 185u8, 60u8, + 217u8, + ], + ) + } + #[doc = " Records information about the maximum slash of a stash within a slashing span,"] + #[doc = " as well as how much reward has been paid out."] + pub fn span_slash_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::slashing::SpanRecord<::core::primitive::u128>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "SpanSlash", + vec![], + [ + 158u8, 168u8, 151u8, 108u8, 4u8, 168u8, 253u8, 28u8, 69u8, 111u8, 99u8, + 235u8, 175u8, 72u8, 48u8, 238u8, 239u8, 142u8, 40u8, 142u8, 97u8, 77u8, + 72u8, 123u8, 210u8, 157u8, 119u8, 180u8, 205u8, 98u8, 110u8, 215u8, + ], + ) + } + #[doc = " Records information about the maximum slash of a stash within a slashing span,"] + #[doc = " as well as how much reward has been paid out."] + pub fn span_slash_iter1( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::slashing::SpanRecord<::core::primitive::u128>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "SpanSlash", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 158u8, 168u8, 151u8, 108u8, 4u8, 168u8, 253u8, 28u8, 69u8, 111u8, 99u8, + 235u8, 175u8, 72u8, 48u8, 238u8, 239u8, 142u8, 40u8, 142u8, 97u8, 77u8, + 72u8, 123u8, 210u8, 157u8, 119u8, 180u8, 205u8, 98u8, 110u8, 215u8, + ], + ) + } + #[doc = " Records information about the maximum slash of a stash within a slashing span,"] + #[doc = " as well as how much reward has been paid out."] + pub fn span_slash( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_staking::slashing::SpanRecord<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "SpanSlash", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 158u8, 168u8, 151u8, 108u8, 4u8, 168u8, 253u8, 28u8, 69u8, 111u8, 99u8, + 235u8, 175u8, 72u8, 48u8, 238u8, 239u8, 142u8, 40u8, 142u8, 97u8, 77u8, + 72u8, 123u8, 210u8, 157u8, 119u8, 180u8, 205u8, 98u8, 110u8, 215u8, + ], + ) + } + #[doc = " The last planned session scheduled by the session pallet."] + #[doc = ""] + #[doc = " This is basically in sync with the call to [`pallet_session::SessionManager::new_session`]."] + pub fn current_planned_session( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "CurrentPlannedSession", + vec![], + [ + 12u8, 47u8, 20u8, 104u8, 155u8, 181u8, 35u8, 91u8, 172u8, 97u8, 206u8, + 135u8, 185u8, 142u8, 46u8, 72u8, 32u8, 118u8, 225u8, 191u8, 28u8, + 130u8, 7u8, 38u8, 181u8, 233u8, 201u8, 8u8, 160u8, 161u8, 86u8, 204u8, + ], + ) + } + #[doc = " Indices of validators that have offended in the active era and whether they are currently"] + #[doc = " disabled."] + #[doc = ""] + #[doc = " This value should be a superset of disabled validators since not all offences lead to the"] + #[doc = " validator being disabled (if there was no slash). This is needed to track the percentage of"] + #[doc = " validators that have offended in the current era, ensuring a new era is forced if"] + #[doc = " `OffendingValidatorsThreshold` is reached. The vec is always kept sorted so that we can find"] + #[doc = " whether a given validator has previously offended using binary search. It gets cleared when"] + #[doc = " the era ends."] + pub fn offending_validators( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<(::core::primitive::u32, ::core::primitive::bool)>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "OffendingValidators", + vec![], + [ + 201u8, 31u8, 141u8, 182u8, 160u8, 180u8, 37u8, 226u8, 50u8, 65u8, + 103u8, 11u8, 38u8, 120u8, 200u8, 219u8, 219u8, 98u8, 185u8, 137u8, + 154u8, 20u8, 130u8, 163u8, 126u8, 185u8, 33u8, 194u8, 76u8, 172u8, + 70u8, 220u8, + ], + ) + } + #[doc = " The threshold for when users can start calling `chill_other` for other validators /"] + #[doc = " nominators. The threshold is compared to the actual number of validators / nominators"] + #[doc = " (`CountFor*`) in the system compared to the configured max (`Max*Count`)."] + pub fn chill_threshold( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_arithmetic::per_things::Percent, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Staking", + "ChillThreshold", + vec![], + [ + 133u8, 222u8, 1u8, 208u8, 212u8, 216u8, 247u8, 66u8, 178u8, 96u8, 35u8, + 112u8, 33u8, 245u8, 11u8, 249u8, 255u8, 212u8, 204u8, 161u8, 44u8, + 38u8, 126u8, 151u8, 140u8, 42u8, 253u8, 101u8, 1u8, 23u8, 239u8, 39u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Maximum number of nominations per nominator."] + pub fn max_nominations( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Staking", + "MaxNominations", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Number of eras to keep in history."] + #[doc = ""] + #[doc = " Following information is kept for eras in `[current_era -"] + #[doc = " HistoryDepth, current_era]`: `ErasStakers`, `ErasStakersClipped`,"] + #[doc = " `ErasValidatorPrefs`, `ErasValidatorReward`, `ErasRewardPoints`,"] + #[doc = " `ErasTotalStake`, `ErasStartSessionIndex`,"] + #[doc = " `StakingLedger.claimed_rewards`."] + #[doc = ""] + #[doc = " Must be more than the number of eras delayed by session."] + #[doc = " I.e. active era must always be in history. I.e. `active_era >"] + #[doc = " current_era - history_depth` must be guaranteed."] + #[doc = ""] + #[doc = " If migrating an existing pallet from storage value to config value,"] + #[doc = " this should be set to same value or greater as in storage."] + #[doc = ""] + #[doc = " Note: `HistoryDepth` is used as the upper bound for the `BoundedVec`"] + #[doc = " item `StakingLedger.claimed_rewards`. Setting this value lower than"] + #[doc = " the existing value can lead to inconsistencies in the"] + #[doc = " `StakingLedger` and will need to be handled properly in a migration."] + #[doc = " The test `reducing_history_depth_abrupt` shows this effect."] + pub fn history_depth(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Staking", + "HistoryDepth", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Number of sessions per era."] + pub fn sessions_per_era( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Staking", + "SessionsPerEra", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Number of eras that staked funds must remain bonded for."] + pub fn bonding_duration( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Staking", + "BondingDuration", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Number of eras that slashes are deferred by, after computation."] + #[doc = ""] + #[doc = " This should be less than the bonding duration. Set to 0 if slashes"] + #[doc = " should be applied immediately, without opportunity for intervention."] + pub fn slash_defer_duration( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Staking", + "SlashDeferDuration", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of nominators rewarded for each validator."] + #[doc = ""] + #[doc = " For each validator only the `$MaxNominatorRewardedPerValidator` biggest stakers can"] + #[doc = " claim their reward. This used to limit the i/o cost for the nominator payout."] + pub fn max_nominator_rewarded_per_validator( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Staking", + "MaxNominatorRewardedPerValidator", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of `unlocking` chunks a [`StakingLedger`] can"] + #[doc = " have. Effectively determines how many unique eras a staker may be"] + #[doc = " unbonding in."] + #[doc = ""] + #[doc = " Note: `MaxUnlockingChunks` is used as the upper bound for the"] + #[doc = " `BoundedVec` item `StakingLedger.unlocking`. Setting this value"] + #[doc = " lower than the existing value can lead to inconsistencies in the"] + #[doc = " `StakingLedger` and will need to be handled properly in a runtime"] + #[doc = " migration. The test `reducing_max_unlocking_chunks_abrupt` shows"] + #[doc = " this effect."] + pub fn max_unlocking_chunks( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Staking", + "MaxUnlockingChunks", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod session { + use super::root_mod; + use super::runtime_types; + #[doc = "Error for the session pallet."] + pub type Error = runtime_types::pallet_session::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_session::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetKeys { + pub keys: runtime_types::enjin_runtime::opaque::SessionKeys, + pub proof: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for SetKeys { + const PALLET: &'static str = "Session"; + const CALL: &'static str = "set_keys"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PurgeKeys; + impl ::subxt::blocks::StaticExtrinsic for PurgeKeys { + const PALLET: &'static str = "Session"; + const CALL: &'static str = "purge_keys"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Sets the session key(s) of the function caller to `keys`."] + #[doc = "Allows an account to set its session key prior to becoming a validator."] + #[doc = "This doesn't take effect until the next session."] + #[doc = ""] + #[doc = "The dispatch origin of this function must be signed."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is"] + #[doc = " fixed."] + pub fn set_keys( + &self, + keys: runtime_types::enjin_runtime::opaque::SessionKeys, + proof: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Session", + "set_keys", + types::SetKeys { keys, proof }, + [ + 34u8, 174u8, 125u8, 16u8, 173u8, 107u8, 253u8, 141u8, 27u8, 177u8, + 211u8, 118u8, 29u8, 108u8, 84u8, 116u8, 138u8, 212u8, 123u8, 27u8, + 87u8, 60u8, 198u8, 48u8, 4u8, 150u8, 230u8, 8u8, 36u8, 1u8, 74u8, 13u8, + ], + ) + } + #[doc = "Removes any session key(s) of the function caller."] + #[doc = ""] + #[doc = "This doesn't take effect until the next session."] + #[doc = ""] + #[doc = "The dispatch origin of this function must be Signed and the account must be either be"] + #[doc = "convertible to a validator ID using the chain's typical addressing system (this usually"] + #[doc = "means being a controller account) or directly convertible into a validator ID (which"] + #[doc = "usually means being a stash account)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)` in number of key types. Actual cost depends on the number of length of"] + #[doc = " `T::Keys::key_ids()` which is fixed."] + pub fn purge_keys(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Session", + "purge_keys", + types::PurgeKeys {}, + [ + 215u8, 204u8, 146u8, 236u8, 32u8, 78u8, 198u8, 79u8, 85u8, 214u8, 15u8, + 151u8, 158u8, 31u8, 146u8, 119u8, 119u8, 204u8, 151u8, 169u8, 226u8, + 67u8, 217u8, 39u8, 241u8, 245u8, 203u8, 240u8, 203u8, 172u8, 16u8, + 209u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_session::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "New session has happened. Note that the argument is the session index, not the"] + #[doc = "block number as the type might suggest."] + pub struct NewSession { + pub session_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for NewSession { + const PALLET: &'static str = "Session"; + const EVENT: &'static str = "NewSession"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The current set of validators."] + pub fn validators( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Session", + "Validators", + vec![], + [ + 50u8, 86u8, 154u8, 222u8, 249u8, 209u8, 156u8, 22u8, 155u8, 25u8, + 133u8, 194u8, 210u8, 50u8, 38u8, 28u8, 139u8, 201u8, 90u8, 139u8, + 115u8, 12u8, 12u8, 141u8, 4u8, 178u8, 201u8, 241u8, 223u8, 234u8, 6u8, + 86u8, + ], + ) + } + #[doc = " Current index of the session."] + pub fn current_index( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Session", + "CurrentIndex", + vec![], + [ + 167u8, 151u8, 125u8, 150u8, 159u8, 21u8, 78u8, 217u8, 237u8, 183u8, + 135u8, 65u8, 187u8, 114u8, 188u8, 206u8, 16u8, 32u8, 69u8, 208u8, + 134u8, 159u8, 232u8, 224u8, 243u8, 27u8, 31u8, 166u8, 145u8, 44u8, + 221u8, 230u8, + ], + ) + } + #[doc = " True if the underlying economic identities or weighting behind the validators"] + #[doc = " has changed in the queued validator set."] + pub fn queued_changed( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::bool, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Session", + "QueuedChanged", + vec![], + [ + 184u8, 137u8, 224u8, 137u8, 31u8, 236u8, 95u8, 164u8, 102u8, 225u8, + 198u8, 227u8, 140u8, 37u8, 113u8, 57u8, 59u8, 4u8, 202u8, 102u8, 117u8, + 36u8, 226u8, 64u8, 113u8, 141u8, 199u8, 111u8, 99u8, 144u8, 198u8, + 153u8, + ], + ) + } + #[doc = " The queued keys for the next session. When the next session begins, these keys"] + #[doc = " will be used to determine the validator's session keys."] + pub fn queued_keys( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::enjin_runtime::opaque::SessionKeys, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Session", + "QueuedKeys", + vec![], + [ + 112u8, 98u8, 60u8, 1u8, 187u8, 198u8, 207u8, 148u8, 164u8, 235u8, + 211u8, 169u8, 230u8, 39u8, 145u8, 166u8, 131u8, 53u8, 85u8, 171u8, + 223u8, 147u8, 137u8, 135u8, 42u8, 203u8, 37u8, 27u8, 67u8, 129u8, + 103u8, 129u8, + ], + ) + } + #[doc = " Indices of disabled validators."] + #[doc = ""] + #[doc = " The vec is always kept sorted so that we can find whether a given validator is"] + #[doc = " disabled using binary search. It gets cleared when `on_session_ending` returns"] + #[doc = " a new set of identities."] + pub fn disabled_validators( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Session", + "DisabledValidators", + vec![], + [ + 213u8, 19u8, 168u8, 234u8, 187u8, 200u8, 180u8, 97u8, 234u8, 189u8, + 36u8, 233u8, 158u8, 184u8, 45u8, 35u8, 129u8, 213u8, 133u8, 8u8, 104u8, + 183u8, 46u8, 68u8, 154u8, 240u8, 132u8, 22u8, 247u8, 11u8, 54u8, 221u8, + ], + ) + } + #[doc = " The next session keys for a validator."] + pub fn next_keys_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::enjin_runtime::opaque::SessionKeys, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Session", + "NextKeys", + vec![], + [ + 204u8, 75u8, 94u8, 239u8, 45u8, 174u8, 177u8, 27u8, 185u8, 143u8, 4u8, + 2u8, 157u8, 212u8, 9u8, 103u8, 51u8, 160u8, 35u8, 61u8, 118u8, 144u8, + 32u8, 217u8, 9u8, 159u8, 15u8, 177u8, 91u8, 108u8, 0u8, 219u8, + ], + ) + } + #[doc = " The next session keys for a validator."] + pub fn next_keys( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::enjin_runtime::opaque::SessionKeys, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Session", + "NextKeys", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 204u8, 75u8, 94u8, 239u8, 45u8, 174u8, 177u8, 27u8, 185u8, 143u8, 4u8, + 2u8, 157u8, 212u8, 9u8, 103u8, 51u8, 160u8, 35u8, 61u8, 118u8, 144u8, + 32u8, 217u8, 9u8, 159u8, 15u8, 177u8, 91u8, 108u8, 0u8, 219u8, + ], + ) + } + #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] + pub fn key_owner_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Session", + "KeyOwner", + vec![], + [ + 217u8, 204u8, 21u8, 114u8, 247u8, 129u8, 32u8, 242u8, 93u8, 91u8, + 253u8, 253u8, 248u8, 90u8, 12u8, 202u8, 195u8, 25u8, 18u8, 100u8, + 253u8, 109u8, 88u8, 77u8, 217u8, 140u8, 51u8, 40u8, 118u8, 35u8, 107u8, + 206u8, + ], + ) + } + #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] + pub fn key_owner_iter1( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Session", + "KeyOwner", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 217u8, 204u8, 21u8, 114u8, 247u8, 129u8, 32u8, 242u8, 93u8, 91u8, + 253u8, 253u8, 248u8, 90u8, 12u8, 202u8, 195u8, 25u8, 18u8, 100u8, + 253u8, 109u8, 88u8, 77u8, 217u8, 140u8, 51u8, 40u8, 118u8, 35u8, 107u8, + 206u8, + ], + ) + } + #[doc = " The owner of a key. The key is the `KeyTypeId` + the encoded key."] + pub fn key_owner( + &self, + _0: impl ::std::borrow::Borrow, + _1: impl ::std::borrow::Borrow<[::core::primitive::u8]>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Session", + "KeyOwner", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 217u8, 204u8, 21u8, 114u8, 247u8, 129u8, 32u8, 242u8, 93u8, 91u8, + 253u8, 253u8, 248u8, 90u8, 12u8, 202u8, 195u8, 25u8, 18u8, 100u8, + 253u8, 109u8, 88u8, 77u8, 217u8, 140u8, 51u8, 40u8, 118u8, 35u8, 107u8, + 206u8, + ], + ) + } + } + } + } + pub mod grandpa { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_grandpa::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_grandpa::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReportEquivocation { + pub equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_grandpa::EquivocationProof< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + pub key_owner_proof: runtime_types::sp_session::MembershipProof, + } + impl ::subxt::blocks::StaticExtrinsic for ReportEquivocation { + const PALLET: &'static str = "Grandpa"; + const CALL: &'static str = "report_equivocation"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReportEquivocationUnsigned { + pub equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_grandpa::EquivocationProof< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + pub key_owner_proof: runtime_types::sp_session::MembershipProof, + } + impl ::subxt::blocks::StaticExtrinsic for ReportEquivocationUnsigned { + const PALLET: &'static str = "Grandpa"; + const CALL: &'static str = "report_equivocation_unsigned"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct NoteStalled { + pub delay: ::core::primitive::u32, + pub best_finalized_block_number: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for NoteStalled { + const PALLET: &'static str = "Grandpa"; + const CALL: &'static str = "note_stalled"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Report voter equivocation/misbehavior. This method will verify the"] + #[doc = "equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence"] + #[doc = "will be reported."] + pub fn report_equivocation( + &self, + equivocation_proof: runtime_types::sp_consensus_grandpa::EquivocationProof< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Grandpa", + "report_equivocation", + types::ReportEquivocation { + equivocation_proof: ::std::boxed::Box::new(equivocation_proof), + key_owner_proof, + }, + [ + 11u8, 183u8, 81u8, 93u8, 41u8, 7u8, 70u8, 155u8, 8u8, 57u8, 177u8, + 245u8, 131u8, 79u8, 236u8, 118u8, 147u8, 114u8, 40u8, 204u8, 177u8, + 2u8, 43u8, 42u8, 2u8, 201u8, 202u8, 120u8, 150u8, 109u8, 108u8, 156u8, + ], + ) + } + #[doc = "Report voter equivocation/misbehavior. This method will verify the"] + #[doc = "equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence"] + #[doc = "will be reported."] + #[doc = ""] + #[doc = "This extrinsic must be called unsigned and it is expected that only"] + #[doc = "block authors will call it (validated in `ValidateUnsigned`), as such"] + #[doc = "if the block author is defined it will be defined as the equivocation"] + #[doc = "reporter."] + pub fn report_equivocation_unsigned( + &self, + equivocation_proof: runtime_types::sp_consensus_grandpa::EquivocationProof< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Grandpa", + "report_equivocation_unsigned", + types::ReportEquivocationUnsigned { + equivocation_proof: ::std::boxed::Box::new(equivocation_proof), + key_owner_proof, + }, + [ + 141u8, 133u8, 227u8, 65u8, 22u8, 181u8, 108u8, 9u8, 157u8, 27u8, 124u8, + 53u8, 177u8, 27u8, 5u8, 16u8, 193u8, 66u8, 59u8, 87u8, 143u8, 238u8, + 251u8, 167u8, 117u8, 138u8, 246u8, 236u8, 65u8, 148u8, 20u8, 131u8, + ], + ) + } + #[doc = "Note that the current authority set of the GRANDPA finality gadget has stalled."] + #[doc = ""] + #[doc = "This will trigger a forced authority set change at the beginning of the next session, to"] + #[doc = "be enacted `delay` blocks after that. The `delay` should be high enough to safely assume"] + #[doc = "that the block signalling the forced change will not be re-orged e.g. 1000 blocks."] + #[doc = "The block production rate (which may be slowed down because of finality lagging) should"] + #[doc = "be taken into account when choosing the `delay`. The GRANDPA voters based on the new"] + #[doc = "authority will start voting on top of `best_finalized_block_number` for new finalized"] + #[doc = "blocks. `best_finalized_block_number` should be the highest of the latest finalized"] + #[doc = "block of all validators of the new authority set."] + #[doc = ""] + #[doc = "Only callable by root."] + pub fn note_stalled( + &self, + delay: ::core::primitive::u32, + best_finalized_block_number: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Grandpa", + "note_stalled", + types::NoteStalled { + delay, + best_finalized_block_number, + }, + [ + 158u8, 25u8, 64u8, 114u8, 131u8, 139u8, 227u8, 132u8, 42u8, 107u8, + 40u8, 249u8, 18u8, 93u8, 254u8, 86u8, 37u8, 67u8, 250u8, 35u8, 241u8, + 194u8, 209u8, 20u8, 39u8, 75u8, 186u8, 21u8, 48u8, 124u8, 151u8, 31u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_grandpa::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "New authority set has been applied."] + pub struct NewAuthorities { + pub authority_set: ::std::vec::Vec<( + runtime_types::sp_consensus_grandpa::app::Public, + ::core::primitive::u64, + )>, + } + impl ::subxt::events::StaticEvent for NewAuthorities { + const PALLET: &'static str = "Grandpa"; + const EVENT: &'static str = "NewAuthorities"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Current authority set has been paused."] + pub struct Paused; + impl ::subxt::events::StaticEvent for Paused { + const PALLET: &'static str = "Grandpa"; + const EVENT: &'static str = "Paused"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Current authority set has been resumed."] + pub struct Resumed; + impl ::subxt::events::StaticEvent for Resumed { + const PALLET: &'static str = "Grandpa"; + const EVENT: &'static str = "Resumed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " State of the current authority set."] + pub fn state( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_grandpa::StoredState<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Grandpa", + "State", + vec![], + [ + 73u8, 71u8, 112u8, 83u8, 238u8, 75u8, 44u8, 9u8, 180u8, 33u8, 30u8, + 121u8, 98u8, 96u8, 61u8, 133u8, 16u8, 70u8, 30u8, 249u8, 34u8, 148u8, + 15u8, 239u8, 164u8, 157u8, 52u8, 27u8, 144u8, 52u8, 223u8, 109u8, + ], + ) + } + #[doc = " Pending change: (signaled at, scheduled change)."] + pub fn pending_change( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_grandpa::StoredPendingChange<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Grandpa", + "PendingChange", + vec![], + [ + 150u8, 194u8, 185u8, 248u8, 239u8, 43u8, 141u8, 253u8, 61u8, 106u8, + 74u8, 164u8, 209u8, 204u8, 206u8, 200u8, 32u8, 38u8, 11u8, 78u8, 84u8, + 243u8, 181u8, 142u8, 179u8, 151u8, 81u8, 204u8, 244u8, 150u8, 137u8, + 250u8, + ], + ) + } + #[doc = " next block number where we can force a change."] + pub fn next_forced( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Grandpa", + "NextForced", + vec![], + [ + 3u8, 231u8, 56u8, 18u8, 87u8, 112u8, 227u8, 126u8, 180u8, 131u8, 255u8, + 141u8, 82u8, 34u8, 61u8, 47u8, 234u8, 37u8, 95u8, 62u8, 33u8, 235u8, + 231u8, 122u8, 125u8, 8u8, 223u8, 95u8, 255u8, 204u8, 40u8, 97u8, + ], + ) + } + #[doc = " `true` if we are currently stalled."] + pub fn stalled( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (::core::primitive::u32, ::core::primitive::u32), + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Grandpa", + "Stalled", + vec![], + [ + 6u8, 81u8, 205u8, 142u8, 195u8, 48u8, 0u8, 247u8, 108u8, 170u8, 10u8, + 249u8, 72u8, 206u8, 32u8, 103u8, 109u8, 57u8, 51u8, 21u8, 144u8, 204u8, + 79u8, 8u8, 191u8, 185u8, 38u8, 34u8, 118u8, 223u8, 75u8, 241u8, + ], + ) + } + #[doc = " The number of changes (both in terms of keys and underlying economic responsibilities)"] + #[doc = " in the \"set\" of Grandpa validators from genesis."] + pub fn current_set_id( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u64, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Grandpa", + "CurrentSetId", + vec![], + [ + 234u8, 215u8, 218u8, 42u8, 30u8, 76u8, 129u8, 40u8, 125u8, 137u8, + 207u8, 47u8, 46u8, 213u8, 159u8, 50u8, 175u8, 81u8, 155u8, 123u8, + 246u8, 175u8, 156u8, 68u8, 22u8, 113u8, 135u8, 137u8, 163u8, 18u8, + 115u8, 73u8, + ], + ) + } + #[doc = " A mapping from grandpa set ID to the index of the *most recent* session for which its"] + #[doc = " members were responsible."] + #[doc = ""] + #[doc = " This is only used for validating equivocation proofs. An equivocation proof must"] + #[doc = " contains a key-ownership proof for a given session, therefore we need a way to tie"] + #[doc = " together sessions and GRANDPA set ids, i.e. we need to validate that a validator"] + #[doc = " was the owner of a given key on a given session, and what the active set ID was"] + #[doc = " during that session."] + #[doc = ""] + #[doc = " TWOX-NOTE: `SetId` is not under user control."] + pub fn set_id_session_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Grandpa", + "SetIdSession", + vec![], + [ + 47u8, 0u8, 239u8, 121u8, 187u8, 213u8, 254u8, 50u8, 238u8, 10u8, 162u8, + 65u8, 189u8, 166u8, 37u8, 74u8, 82u8, 81u8, 160u8, 20u8, 180u8, 253u8, + 238u8, 18u8, 209u8, 203u8, 38u8, 148u8, 16u8, 105u8, 72u8, 169u8, + ], + ) + } + #[doc = " A mapping from grandpa set ID to the index of the *most recent* session for which its"] + #[doc = " members were responsible."] + #[doc = ""] + #[doc = " This is only used for validating equivocation proofs. An equivocation proof must"] + #[doc = " contains a key-ownership proof for a given session, therefore we need a way to tie"] + #[doc = " together sessions and GRANDPA set ids, i.e. we need to validate that a validator"] + #[doc = " was the owner of a given key on a given session, and what the active set ID was"] + #[doc = " during that session."] + #[doc = ""] + #[doc = " TWOX-NOTE: `SetId` is not under user control."] + pub fn set_id_session( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u64>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Grandpa", + "SetIdSession", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 47u8, 0u8, 239u8, 121u8, 187u8, 213u8, 254u8, 50u8, 238u8, 10u8, 162u8, + 65u8, 189u8, 166u8, 37u8, 74u8, 82u8, 81u8, 160u8, 20u8, 180u8, 253u8, + 238u8, 18u8, 209u8, 203u8, 38u8, 148u8, 16u8, 105u8, 72u8, 169u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Max Authorities in use"] + pub fn max_authorities( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Grandpa", + "MaxAuthorities", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of entries to keep in the set id to session index mapping."] + #[doc = ""] + #[doc = " Since the `SetIdSession` map is only used for validating equivocations this"] + #[doc = " value should relate to the bonding duration of whatever staking system is"] + #[doc = " being used (if any). If equivocation handling is not enabled then this value"] + #[doc = " can be zero."] + pub fn max_set_id_session_entries( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u64> { + ::subxt::constants::Address::new_static( + "Grandpa", + "MaxSetIdSessionEntries", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } + } + } + } + pub mod treasury { + use super::root_mod; + use super::runtime_types; + #[doc = "Error for the treasury pallet."] + pub type Error = runtime_types::pallet_treasury::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_treasury::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ProposeSpend { + #[codec(compact)] + pub value: ::core::primitive::u128, + pub beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for ProposeSpend { + const PALLET: &'static str = "Treasury"; + const CALL: &'static str = "propose_spend"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RejectProposal { + #[codec(compact)] + pub proposal_id: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for RejectProposal { + const PALLET: &'static str = "Treasury"; + const CALL: &'static str = "reject_proposal"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ApproveProposal { + #[codec(compact)] + pub proposal_id: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ApproveProposal { + const PALLET: &'static str = "Treasury"; + const CALL: &'static str = "approve_proposal"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Spend { + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for Spend { + const PALLET: &'static str = "Treasury"; + const CALL: &'static str = "spend"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveApproval { + #[codec(compact)] + pub proposal_id: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveApproval { + const PALLET: &'static str = "Treasury"; + const CALL: &'static str = "remove_approval"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Put forward a suggestion for spending. A deposit proportional to the value"] + #[doc = "is reserved and slashed if the proposal is rejected. It is returned once the"] + #[doc = "proposal is awarded."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)"] + pub fn propose_spend( + &self, + value: ::core::primitive::u128, + beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Treasury", + "propose_spend", + types::ProposeSpend { value, beneficiary }, + [ + 250u8, 230u8, 64u8, 10u8, 93u8, 132u8, 194u8, 69u8, 91u8, 50u8, 98u8, + 212u8, 72u8, 218u8, 29u8, 149u8, 2u8, 190u8, 219u8, 4u8, 25u8, 110u8, + 5u8, 199u8, 196u8, 37u8, 64u8, 57u8, 207u8, 235u8, 164u8, 226u8, + ], + ) + } + #[doc = "Reject a proposed spend. The original deposit will be slashed."] + #[doc = ""] + #[doc = "May only be called from `T::RejectOrigin`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)"] + pub fn reject_proposal( + &self, + proposal_id: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Treasury", + "reject_proposal", + types::RejectProposal { proposal_id }, + [ + 18u8, 166u8, 80u8, 141u8, 222u8, 230u8, 4u8, 36u8, 7u8, 76u8, 12u8, + 40u8, 145u8, 114u8, 12u8, 43u8, 223u8, 78u8, 189u8, 222u8, 120u8, 80u8, + 225u8, 215u8, 119u8, 68u8, 200u8, 15u8, 25u8, 172u8, 192u8, 173u8, + ], + ) + } + #[doc = "Approve a proposal. At a later time, the proposal will be allocated to the beneficiary"] + #[doc = "and the original deposit will be returned."] + #[doc = ""] + #[doc = "May only be called from `T::ApproveOrigin`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = " - O(1)."] + pub fn approve_proposal( + &self, + proposal_id: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Treasury", + "approve_proposal", + types::ApproveProposal { proposal_id }, + [ + 154u8, 176u8, 152u8, 97u8, 167u8, 177u8, 78u8, 9u8, 235u8, 229u8, + 199u8, 193u8, 214u8, 3u8, 16u8, 30u8, 4u8, 104u8, 27u8, 184u8, 100u8, + 65u8, 179u8, 13u8, 91u8, 62u8, 115u8, 5u8, 219u8, 211u8, 251u8, 153u8, + ], + ) + } + #[doc = "Propose and approve a spend of treasury funds."] + #[doc = ""] + #[doc = "- `origin`: Must be `SpendOrigin` with the `Success` value being at least `amount`."] + #[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."] + #[doc = "- `beneficiary`: The destination account for the transfer."] + #[doc = ""] + #[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"] + #[doc = "beneficiary."] + pub fn spend( + &self, + amount: ::core::primitive::u128, + beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Treasury", + "spend", + types::Spend { + amount, + beneficiary, + }, + [ + 67u8, 164u8, 134u8, 175u8, 103u8, 211u8, 117u8, 233u8, 164u8, 176u8, + 180u8, 84u8, 147u8, 120u8, 81u8, 75u8, 167u8, 98u8, 218u8, 173u8, 67u8, + 0u8, 21u8, 190u8, 134u8, 18u8, 183u8, 6u8, 161u8, 43u8, 50u8, 83u8, + ], + ) + } + #[doc = "Force a previously approved proposal to be removed from the approval queue."] + #[doc = "The original deposit will no longer be returned."] + #[doc = ""] + #[doc = "May only be called from `T::RejectOrigin`."] + #[doc = "- `proposal_id`: The index of a proposal"] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(A) where `A` is the number of approvals"] + #[doc = ""] + #[doc = "Errors:"] + #[doc = "- `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue,"] + #[doc = "i.e., the proposal has not been approved. This could also mean the proposal does not"] + #[doc = "exist altogether, thus there is no way it would have been approved in the first place."] + pub fn remove_approval( + &self, + proposal_id: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Treasury", + "remove_approval", + types::RemoveApproval { proposal_id }, + [ + 180u8, 20u8, 39u8, 227u8, 29u8, 228u8, 234u8, 36u8, 155u8, 114u8, + 197u8, 135u8, 185u8, 31u8, 56u8, 247u8, 224u8, 168u8, 254u8, 233u8, + 250u8, 134u8, 186u8, 155u8, 108u8, 84u8, 94u8, 226u8, 207u8, 130u8, + 196u8, 100u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_treasury::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "New proposal."] + pub struct Proposed { + pub proposal_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Proposed { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Proposed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "We have ended a spend period and will now allocate funds."] + pub struct Spending { + pub budget_remaining: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Spending { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Spending"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some funds have been allocated."] + pub struct Awarded { + pub proposal_index: ::core::primitive::u32, + pub award: ::core::primitive::u128, + pub account: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Awarded { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Awarded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A proposal was rejected; funds were slashed."] + pub struct Rejected { + pub proposal_index: ::core::primitive::u32, + pub slashed: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Rejected { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Rejected"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some of our funds have been burnt."] + pub struct Burnt { + pub burnt_funds: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Burnt { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Burnt"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Spending has finished; this is the amount that rolls over until next spend."] + pub struct Rollover { + pub rollover_balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Rollover { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Rollover"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some funds have been deposited."] + pub struct Deposit { + pub value: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Deposit { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "Deposit"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new spend proposal has been approved."] + pub struct SpendApproved { + pub proposal_index: ::core::primitive::u32, + pub amount: ::core::primitive::u128, + pub beneficiary: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for SpendApproved { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "SpendApproved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The inactive funds of the pallet have been updated."] + pub struct UpdatedInactive { + pub reactivated: ::core::primitive::u128, + pub deactivated: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for UpdatedInactive { + const PALLET: &'static str = "Treasury"; + const EVENT: &'static str = "UpdatedInactive"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Number of proposals that have been made."] + pub fn proposal_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Treasury", + "ProposalCount", + vec![], + [ + 91u8, 238u8, 246u8, 106u8, 95u8, 66u8, 83u8, 134u8, 1u8, 225u8, 164u8, + 216u8, 113u8, 101u8, 203u8, 200u8, 113u8, 97u8, 246u8, 228u8, 140u8, + 29u8, 29u8, 48u8, 176u8, 137u8, 93u8, 230u8, 56u8, 75u8, 51u8, 149u8, + ], + ) + } + #[doc = " Proposals that have been made."] + pub fn proposals_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_treasury::Proposal< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Treasury", + "Proposals", + vec![], + [ + 207u8, 135u8, 145u8, 146u8, 48u8, 10u8, 252u8, 40u8, 20u8, 115u8, + 205u8, 41u8, 173u8, 83u8, 115u8, 46u8, 106u8, 40u8, 130u8, 157u8, + 213u8, 87u8, 45u8, 23u8, 14u8, 167u8, 99u8, 208u8, 153u8, 163u8, 141u8, + 55u8, + ], + ) + } + #[doc = " Proposals that have been made."] + pub fn proposals( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_treasury::Proposal< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Treasury", + "Proposals", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 207u8, 135u8, 145u8, 146u8, 48u8, 10u8, 252u8, 40u8, 20u8, 115u8, + 205u8, 41u8, 173u8, 83u8, 115u8, 46u8, 106u8, 40u8, 130u8, 157u8, + 213u8, 87u8, 45u8, 23u8, 14u8, 167u8, 99u8, 208u8, 153u8, 163u8, 141u8, + 55u8, + ], + ) + } + #[doc = " The amount which has been reported as inactive to Currency."] + pub fn deactivated( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Treasury", + "Deactivated", + vec![], + [ + 120u8, 221u8, 159u8, 56u8, 161u8, 44u8, 54u8, 233u8, 47u8, 114u8, + 170u8, 150u8, 52u8, 24u8, 137u8, 212u8, 122u8, 247u8, 40u8, 17u8, + 208u8, 130u8, 42u8, 154u8, 33u8, 222u8, 59u8, 116u8, 0u8, 15u8, 79u8, + 123u8, + ], + ) + } + #[doc = " Proposal indices that have been approved but not yet awarded."] + pub fn approvals( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u32, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Treasury", + "Approvals", + vec![], + [ + 78u8, 147u8, 186u8, 235u8, 17u8, 40u8, 247u8, 235u8, 67u8, 222u8, 3u8, + 14u8, 248u8, 17u8, 67u8, 180u8, 93u8, 161u8, 64u8, 35u8, 119u8, 194u8, + 187u8, 226u8, 135u8, 162u8, 147u8, 174u8, 139u8, 72u8, 99u8, 212u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Fraction of a proposal's value that should be bonded in order to place the proposal."] + #[doc = " An accepted proposal gets these back. A rejected proposal does not."] + pub fn proposal_bond( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "Treasury", + "ProposalBond", + [ + 65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8, + 114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8, + 200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8, + ], + ) + } + #[doc = " Minimum amount of funds that should be placed in a deposit for making a proposal."] + pub fn proposal_bond_minimum( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Treasury", + "ProposalBondMinimum", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Maximum amount of funds that should be placed in a deposit for making a proposal."] + pub fn proposal_bond_maximum( + &self, + ) -> ::subxt::constants::Address<::core::option::Option<::core::primitive::u128>> + { + ::subxt::constants::Address::new_static( + "Treasury", + "ProposalBondMaximum", + [ + 198u8, 51u8, 89u8, 159u8, 124u8, 251u8, 51u8, 80u8, 167u8, 193u8, 44u8, + 199u8, 80u8, 36u8, 41u8, 130u8, 137u8, 229u8, 178u8, 208u8, 37u8, + 215u8, 169u8, 183u8, 180u8, 191u8, 140u8, 240u8, 250u8, 61u8, 42u8, + 147u8, + ], + ) + } + #[doc = " Period between successive spends."] + pub fn spend_period(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Treasury", + "SpendPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Percentage of spare funds (if any) that are burnt per spend period."] + pub fn burn( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "Treasury", + "Burn", + [ + 65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8, + 114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8, + 200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8, + ], + ) + } + #[doc = " The treasury's pallet id, used for deriving its sovereign account ID."] + pub fn pallet_id( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "Treasury", + "PalletId", + [ + 56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8, + 161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8, + 129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8, + ], + ) + } + #[doc = " The maximum number of approvals that can wait in the spending queue."] + #[doc = ""] + #[doc = " NOTE: This parameter is also used within the Bounties Pallet extension if enabled."] + pub fn max_approvals(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Treasury", + "MaxApprovals", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod transaction_payment { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_transaction_payment::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] + #[doc = "has been paid by `who`."] + pub struct TransactionFeePaid { + pub who: ::subxt::utils::AccountId32, + pub actual_fee: ::core::primitive::u128, + pub tip: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for TransactionFeePaid { + const PALLET: &'static str = "TransactionPayment"; + const EVENT: &'static str = "TransactionFeePaid"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + pub fn next_fee_multiplier( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_arithmetic::fixed_point::FixedU128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "TransactionPayment", + "NextFeeMultiplier", + vec![], + [ + 247u8, 39u8, 81u8, 170u8, 225u8, 226u8, 82u8, 147u8, 34u8, 113u8, + 147u8, 213u8, 59u8, 80u8, 139u8, 35u8, 36u8, 196u8, 152u8, 19u8, 9u8, + 159u8, 176u8, 79u8, 249u8, 201u8, 170u8, 1u8, 129u8, 79u8, 146u8, + 197u8, + ], + ) + } + pub fn storage_version( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_transaction_payment::Releases, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "TransactionPayment", + "StorageVersion", + vec![], + [ + 105u8, 243u8, 158u8, 241u8, 159u8, 231u8, 253u8, 6u8, 4u8, 32u8, 85u8, + 178u8, 126u8, 31u8, 203u8, 134u8, 154u8, 38u8, 122u8, 155u8, 150u8, + 251u8, 174u8, 15u8, 74u8, 134u8, 216u8, 244u8, 168u8, 175u8, 158u8, + 144u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their"] + #[doc = " `priority`"] + #[doc = ""] + #[doc = " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later"] + #[doc = " added to a tip component in regular `priority` calculations."] + #[doc = " It means that a `Normal` transaction can front-run a similarly-sized `Operational`"] + #[doc = " extrinsic (with no tip), by including a tip value greater than the virtual tip."] + #[doc = ""] + #[doc = " ```rust,ignore"] + #[doc = " // For `Normal`"] + #[doc = " let priority = priority_calc(tip);"] + #[doc = ""] + #[doc = " // For `Operational`"] + #[doc = " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;"] + #[doc = " let priority = priority_calc(tip + virtual_tip);"] + #[doc = " ```"] + #[doc = ""] + #[doc = " Note that since we use `final_fee` the multiplier applies also to the regular `tip`"] + #[doc = " sent with the transaction. So, not only does the transaction get a priority bump based"] + #[doc = " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`"] + #[doc = " transactions."] + pub fn operational_fee_multiplier( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u8> { + ::subxt::constants::Address::new_static( + "TransactionPayment", + "OperationalFeeMultiplier", + [ + 141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8, + 28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8, + 114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8, + 165u8, + ], + ) + } + } + } + } + pub mod sudo { + use super::root_mod; + use super::runtime_types; + #[doc = "Error for the Sudo pallet"] + pub type Error = runtime_types::pallet_sudo::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_sudo::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Sudo { + pub call: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for Sudo { + const PALLET: &'static str = "Sudo"; + const CALL: &'static str = "sudo"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SudoUncheckedWeight { + pub call: ::std::boxed::Box, + pub weight: runtime_types::sp_weights::weight_v2::Weight, + } + impl ::subxt::blocks::StaticExtrinsic for SudoUncheckedWeight { + const PALLET: &'static str = "Sudo"; + const CALL: &'static str = "sudo_unchecked_weight"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetKey { + pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for SetKey { + const PALLET: &'static str = "Sudo"; + const CALL: &'static str = "set_key"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SudoAs { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub call: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for SudoAs { + const PALLET: &'static str = "Sudo"; + const CALL: &'static str = "sudo_as"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + pub fn sudo( + &self, + call: runtime_types::enjin_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Sudo", + "sudo", + types::Sudo { + call: ::std::boxed::Box::new(call), + }, + [ + 82u8, 240u8, 64u8, 227u8, 1u8, 239u8, 195u8, 170u8, 122u8, 179u8, + 255u8, 26u8, 238u8, 208u8, 0u8, 55u8, 122u8, 140u8, 72u8, 199u8, 216u8, + 218u8, 251u8, 30u8, 117u8, 18u8, 251u8, 9u8, 200u8, 255u8, 106u8, + 202u8, + ], + ) + } + #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] + #[doc = "This function does not check the weight of the call, and instead allows the"] + #[doc = "Sudo user to specify the weight of the call."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + pub fn sudo_unchecked_weight( + &self, + call: runtime_types::enjin_runtime::RuntimeCall, + weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Sudo", + "sudo_unchecked_weight", + types::SudoUncheckedWeight { + call: ::std::boxed::Box::new(call), + weight, + }, + [ + 65u8, 129u8, 245u8, 196u8, 215u8, 228u8, 37u8, 28u8, 82u8, 172u8, + 136u8, 60u8, 128u8, 31u8, 228u8, 133u8, 88u8, 156u8, 77u8, 186u8, + 181u8, 2u8, 223u8, 97u8, 220u8, 45u8, 246u8, 80u8, 250u8, 105u8, 97u8, + 177u8, + ], + ) + } + #[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"] + #[doc = "key."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + pub fn set_key( + &self, + new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Sudo", + "set_key", + types::SetKey { new }, + [ + 9u8, 73u8, 39u8, 205u8, 188u8, 127u8, 143u8, 54u8, 128u8, 94u8, 8u8, + 227u8, 197u8, 44u8, 70u8, 93u8, 228u8, 196u8, 64u8, 165u8, 226u8, + 158u8, 101u8, 192u8, 22u8, 193u8, 102u8, 84u8, 21u8, 35u8, 92u8, 198u8, + ], + ) + } + #[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"] + #[doc = "a given account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + pub fn sudo_as( + &self, + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + call: runtime_types::enjin_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Sudo", + "sudo_as", + types::SudoAs { + who, + call: ::std::boxed::Box::new(call), + }, + [ + 103u8, 111u8, 134u8, 129u8, 141u8, 242u8, 237u8, 170u8, 32u8, 234u8, + 80u8, 26u8, 188u8, 1u8, 127u8, 42u8, 167u8, 8u8, 212u8, 123u8, 76u8, + 63u8, 77u8, 182u8, 224u8, 252u8, 192u8, 99u8, 231u8, 173u8, 52u8, + 138u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_sudo::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A sudo just took place. \\[result\\]"] + pub struct Sudid { + pub sudo_result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for Sudid { + const PALLET: &'static str = "Sudo"; + const EVENT: &'static str = "Sudid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The \\[sudoer\\] just switched identity; the old key is supplied if one existed."] + pub struct KeyChanged { + pub old_sudoer: ::core::option::Option<::subxt::utils::AccountId32>, + } + impl ::subxt::events::StaticEvent for KeyChanged { + const PALLET: &'static str = "Sudo"; + const EVENT: &'static str = "KeyChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A sudo just took place. \\[result\\]"] + pub struct SudoAsDone { + pub sudo_result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for SudoAsDone { + const PALLET: &'static str = "Sudo"; + const EVENT: &'static str = "SudoAsDone"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The `AccountId` of the sudo key."] + pub fn key( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Sudo", + "Key", + vec![], + [ + 72u8, 14u8, 225u8, 162u8, 205u8, 247u8, 227u8, 105u8, 116u8, 57u8, 4u8, + 31u8, 84u8, 137u8, 227u8, 228u8, 133u8, 245u8, 206u8, 227u8, 117u8, + 36u8, 252u8, 151u8, 107u8, 15u8, 180u8, 4u8, 4u8, 152u8, 195u8, 144u8, + ], + ) + } + } + } + } + pub mod im_online { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_im_online::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_im_online::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Heartbeat { + pub heartbeat: + runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>, + pub signature: runtime_types::pallet_im_online::sr25519::app_sr25519::Signature, + } + impl ::subxt::blocks::StaticExtrinsic for Heartbeat { + const PALLET: &'static str = "ImOnline"; + const CALL: &'static str = "heartbeat"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "## Complexity:"] + #[doc = "- `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is length of"] + #[doc = " `heartbeat.network_state.external_address`"] + #[doc = " - `O(K)`: decoding of length `K`"] + #[doc = " - `O(E)`: decoding/encoding of length `E`"] + pub fn heartbeat( + &self, + heartbeat: runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>, + signature: runtime_types::pallet_im_online::sr25519::app_sr25519::Signature, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ImOnline", + "heartbeat", + types::Heartbeat { + heartbeat, + signature, + }, + [ + 24u8, 24u8, 223u8, 6u8, 162u8, 170u8, 69u8, 242u8, 215u8, 74u8, 140u8, + 123u8, 123u8, 10u8, 163u8, 19u8, 63u8, 121u8, 22u8, 12u8, 192u8, 69u8, + 48u8, 223u8, 39u8, 129u8, 236u8, 87u8, 142u8, 167u8, 129u8, 184u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_im_online::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new heartbeat was received from `AuthorityId`."] + pub struct HeartbeatReceived { + pub authority_id: runtime_types::pallet_im_online::sr25519::app_sr25519::Public, + } + impl ::subxt::events::StaticEvent for HeartbeatReceived { + const PALLET: &'static str = "ImOnline"; + const EVENT: &'static str = "HeartbeatReceived"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "At the end of the session, no offence was committed."] + pub struct AllGood; + impl ::subxt::events::StaticEvent for AllGood { + const PALLET: &'static str = "ImOnline"; + const EVENT: &'static str = "AllGood"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "At the end of the session, at least one validator was found to be offline."] + pub struct SomeOffline { + pub offline: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + )>, + } + impl ::subxt::events::StaticEvent for SomeOffline { + const PALLET: &'static str = "ImOnline"; + const EVENT: &'static str = "SomeOffline"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The block number after which it's ok to send heartbeats in the current"] + #[doc = " session."] + #[doc = ""] + #[doc = " At the beginning of each session we set this to a value that should fall"] + #[doc = " roughly in the middle of the session duration. The idea is to first wait for"] + #[doc = " the validators to produce a block in the current session, so that the"] + #[doc = " heartbeat later on will not be necessary."] + #[doc = ""] + #[doc = " This value will only be used as a fallback if we fail to get a proper session"] + #[doc = " progress estimate from `NextSessionRotation`, as those estimates should be"] + #[doc = " more accurate then the value we calculate for `HeartbeatAfter`."] + pub fn heartbeat_after( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ImOnline", + "HeartbeatAfter", + vec![], + [ + 36u8, 179u8, 76u8, 254u8, 3u8, 184u8, 154u8, 142u8, 70u8, 104u8, 44u8, + 244u8, 39u8, 97u8, 31u8, 31u8, 93u8, 228u8, 185u8, 224u8, 13u8, 160u8, + 231u8, 210u8, 110u8, 143u8, 116u8, 29u8, 0u8, 215u8, 217u8, 137u8, + ], + ) + } + #[doc = " The current set of keys that may issue a heartbeat."] + pub fn keys( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + runtime_types::pallet_im_online::sr25519::app_sr25519::Public, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ImOnline", + "Keys", + vec![], + [ + 111u8, 104u8, 188u8, 46u8, 152u8, 140u8, 137u8, 244u8, 52u8, 214u8, + 115u8, 156u8, 39u8, 239u8, 15u8, 168u8, 193u8, 125u8, 57u8, 195u8, + 250u8, 156u8, 234u8, 222u8, 222u8, 253u8, 135u8, 232u8, 196u8, 163u8, + 29u8, 218u8, + ], + ) + } + #[doc = " For each session index, we keep a mapping of `SessionIndex` and `AuthIndex` to"] + #[doc = " `WrapperOpaque`."] + pub fn received_heartbeats_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::frame_support::traits::misc::WrapperOpaque< + runtime_types::pallet_im_online::BoundedOpaqueNetworkState, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ImOnline", + "ReceivedHeartbeats", + vec![], + [ + 50u8, 203u8, 165u8, 39u8, 243u8, 200u8, 26u8, 241u8, 83u8, 248u8, + 200u8, 104u8, 79u8, 169u8, 170u8, 120u8, 74u8, 195u8, 58u8, 235u8, + 39u8, 177u8, 215u8, 47u8, 155u8, 8u8, 164u8, 9u8, 91u8, 3u8, 71u8, + 242u8, + ], + ) + } + #[doc = " For each session index, we keep a mapping of `SessionIndex` and `AuthIndex` to"] + #[doc = " `WrapperOpaque`."] + pub fn received_heartbeats_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::frame_support::traits::misc::WrapperOpaque< + runtime_types::pallet_im_online::BoundedOpaqueNetworkState, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ImOnline", + "ReceivedHeartbeats", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 50u8, 203u8, 165u8, 39u8, 243u8, 200u8, 26u8, 241u8, 83u8, 248u8, + 200u8, 104u8, 79u8, 169u8, 170u8, 120u8, 74u8, 195u8, 58u8, 235u8, + 39u8, 177u8, 215u8, 47u8, 155u8, 8u8, 164u8, 9u8, 91u8, 3u8, 71u8, + 242u8, + ], + ) + } + #[doc = " For each session index, we keep a mapping of `SessionIndex` and `AuthIndex` to"] + #[doc = " `WrapperOpaque`."] + pub fn received_heartbeats( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::frame_support::traits::misc::WrapperOpaque< + runtime_types::pallet_im_online::BoundedOpaqueNetworkState, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ImOnline", + "ReceivedHeartbeats", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 50u8, 203u8, 165u8, 39u8, 243u8, 200u8, 26u8, 241u8, 83u8, 248u8, + 200u8, 104u8, 79u8, 169u8, 170u8, 120u8, 74u8, 195u8, 58u8, 235u8, + 39u8, 177u8, 215u8, 47u8, 155u8, 8u8, 164u8, 9u8, 91u8, 3u8, 71u8, + 242u8, + ], + ) + } + #[doc = " For each session index, we keep a mapping of `ValidatorId` to the"] + #[doc = " number of blocks authored by the given authority."] + pub fn authored_blocks_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ImOnline", + "AuthoredBlocks", + vec![], + [ + 123u8, 76u8, 230u8, 113u8, 65u8, 255u8, 99u8, 79u8, 131u8, 139u8, + 218u8, 20u8, 174u8, 191u8, 224u8, 67u8, 137u8, 48u8, 146u8, 209u8, + 148u8, 69u8, 130u8, 9u8, 173u8, 253u8, 206u8, 196u8, 68u8, 160u8, + 233u8, 126u8, + ], + ) + } + #[doc = " For each session index, we keep a mapping of `ValidatorId` to the"] + #[doc = " number of blocks authored by the given authority."] + pub fn authored_blocks_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ImOnline", + "AuthoredBlocks", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 123u8, 76u8, 230u8, 113u8, 65u8, 255u8, 99u8, 79u8, 131u8, 139u8, + 218u8, 20u8, 174u8, 191u8, 224u8, 67u8, 137u8, 48u8, 146u8, 209u8, + 148u8, 69u8, 130u8, 9u8, 173u8, 253u8, 206u8, 196u8, 68u8, 160u8, + 233u8, 126u8, + ], + ) + } + #[doc = " For each session index, we keep a mapping of `ValidatorId` to the"] + #[doc = " number of blocks authored by the given authority."] + pub fn authored_blocks( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ImOnline", + "AuthoredBlocks", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 123u8, 76u8, 230u8, 113u8, 65u8, 255u8, 99u8, 79u8, 131u8, 139u8, + 218u8, 20u8, 174u8, 191u8, 224u8, 67u8, 137u8, 48u8, 146u8, 209u8, + 148u8, 69u8, 130u8, 9u8, 173u8, 253u8, 206u8, 196u8, 68u8, 160u8, + 233u8, 126u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " A configuration for base priority of unsigned transactions."] + #[doc = ""] + #[doc = " This is exposed so that it can be tuned for particular runtime, when"] + #[doc = " multiple pallets send unsigned transactions."] + pub fn unsigned_priority( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u64> { + ::subxt::constants::Address::new_static( + "ImOnline", + "UnsignedPriority", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } + } + } + } + pub mod authority_discovery { + use super::root_mod; + use super::runtime_types; + } + pub mod voter_list { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_bags_list::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_bags_list::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Rebag { + pub dislocated: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for Rebag { + const PALLET: &'static str = "VoterList"; + const CALL: &'static str = "rebag"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PutInFrontOf { + pub lighter: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for PutInFrontOf { + const PALLET: &'static str = "VoterList"; + const CALL: &'static str = "put_in_front_of"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Declare that some `dislocated` account has, through rewards or penalties, sufficiently"] + #[doc = "changed its score that it should properly fall into a different bag than its current"] + #[doc = "one."] + #[doc = ""] + #[doc = "Anyone can call this function about any potentially dislocated account."] + #[doc = ""] + #[doc = "Will always update the stored score of `dislocated` to the correct score, based on"] + #[doc = "`ScoreProvider`."] + #[doc = ""] + #[doc = "If `dislocated` does not exists, it returns an error."] + pub fn rebag( + &self, + dislocated: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "VoterList", + "rebag", + types::Rebag { dislocated }, + [ + 9u8, 111u8, 68u8, 237u8, 32u8, 21u8, 214u8, 84u8, 11u8, 39u8, 94u8, + 43u8, 198u8, 46u8, 91u8, 147u8, 194u8, 3u8, 35u8, 171u8, 95u8, 248u8, + 78u8, 0u8, 7u8, 99u8, 2u8, 124u8, 139u8, 42u8, 109u8, 226u8, + ], + ) + } + #[doc = "Move the caller's Id directly in front of `lighter`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and can only be called by the Id of"] + #[doc = "the account going in front of `lighter`."] + #[doc = ""] + #[doc = "Only works if"] + #[doc = "- both nodes are within the same bag,"] + #[doc = "- and `origin` has a greater `Score` than `lighter`."] + pub fn put_in_front_of( + &self, + lighter: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "VoterList", + "put_in_front_of", + types::PutInFrontOf { lighter }, + [ + 61u8, 76u8, 164u8, 177u8, 140u8, 44u8, 127u8, 198u8, 195u8, 241u8, + 36u8, 80u8, 32u8, 85u8, 183u8, 130u8, 137u8, 128u8, 16u8, 203u8, 184u8, + 19u8, 151u8, 55u8, 10u8, 194u8, 162u8, 8u8, 211u8, 110u8, 126u8, 75u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_bags_list::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Moved an account from one bag to another."] + pub struct Rebagged { + pub who: ::subxt::utils::AccountId32, + pub from: ::core::primitive::u64, + pub to: ::core::primitive::u64, + } + impl ::subxt::events::StaticEvent for Rebagged { + const PALLET: &'static str = "VoterList"; + const EVENT: &'static str = "Rebagged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Updated the score of some account to the given amount."] + pub struct ScoreUpdated { + pub who: ::subxt::utils::AccountId32, + pub new_score: ::core::primitive::u64, + } + impl ::subxt::events::StaticEvent for ScoreUpdated { + const PALLET: &'static str = "VoterList"; + const EVENT: &'static str = "ScoreUpdated"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " A single node, within some bag."] + #[doc = ""] + #[doc = " Nodes store links forward and back within their respective bags."] + pub fn list_nodes_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_bags_list::list::Node, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "VoterList", + "ListNodes", + vec![], + [ + 240u8, 139u8, 78u8, 185u8, 159u8, 185u8, 33u8, 229u8, 171u8, 222u8, + 54u8, 81u8, 104u8, 170u8, 49u8, 232u8, 29u8, 117u8, 193u8, 68u8, 225u8, + 180u8, 46u8, 199u8, 100u8, 26u8, 99u8, 216u8, 74u8, 248u8, 73u8, 144u8, + ], + ) + } + #[doc = " A single node, within some bag."] + #[doc = ""] + #[doc = " Nodes store links forward and back within their respective bags."] + pub fn list_nodes( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_bags_list::list::Node, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "VoterList", + "ListNodes", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 240u8, 139u8, 78u8, 185u8, 159u8, 185u8, 33u8, 229u8, 171u8, 222u8, + 54u8, 81u8, 104u8, 170u8, 49u8, 232u8, 29u8, 117u8, 193u8, 68u8, 225u8, + 180u8, 46u8, 199u8, 100u8, 26u8, 99u8, 216u8, 74u8, 248u8, 73u8, 144u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_list_nodes( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "VoterList", + "CounterForListNodes", + vec![], + [ + 126u8, 150u8, 201u8, 81u8, 155u8, 79u8, 50u8, 48u8, 120u8, 170u8, 3u8, + 104u8, 112u8, 254u8, 106u8, 46u8, 108u8, 126u8, 158u8, 245u8, 95u8, + 88u8, 236u8, 89u8, 79u8, 172u8, 13u8, 146u8, 202u8, 151u8, 122u8, + 132u8, + ], + ) + } + #[doc = " A bag stored in storage."] + #[doc = ""] + #[doc = " Stores a `Bag` struct, which stores head and tail pointers to itself."] + pub fn list_bags_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_bags_list::list::Bag, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "VoterList", + "ListBags", + vec![], + [ + 98u8, 52u8, 177u8, 147u8, 244u8, 169u8, 45u8, 213u8, 76u8, 163u8, 47u8, + 96u8, 197u8, 245u8, 17u8, 208u8, 86u8, 15u8, 233u8, 156u8, 165u8, 44u8, + 164u8, 202u8, 117u8, 167u8, 209u8, 193u8, 218u8, 235u8, 140u8, 158u8, + ], + ) + } + #[doc = " A bag stored in storage."] + #[doc = ""] + #[doc = " Stores a `Bag` struct, which stores head and tail pointers to itself."] + pub fn list_bags( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u64>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_bags_list::list::Bag, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "VoterList", + "ListBags", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 98u8, 52u8, 177u8, 147u8, 244u8, 169u8, 45u8, 213u8, 76u8, 163u8, 47u8, + 96u8, 197u8, 245u8, 17u8, 208u8, 86u8, 15u8, 233u8, 156u8, 165u8, 44u8, + 164u8, 202u8, 117u8, 167u8, 209u8, 193u8, 218u8, 235u8, 140u8, 158u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The list of thresholds separating the various bags."] + #[doc = ""] + #[doc = " Ids are separated into unsorted bags according to their score. This specifies the"] + #[doc = " thresholds separating the bags. An id's bag is the largest bag for which the id's score"] + #[doc = " is less than or equal to its upper threshold."] + #[doc = ""] + #[doc = " When ids are iterated, higher bags are iterated completely before lower bags. This means"] + #[doc = " that iteration is _semi-sorted_: ids of higher score tend to come before ids of lower"] + #[doc = " score, but peer ids within a particular bag are sorted in insertion order."] + #[doc = ""] + #[doc = " # Expressing the constant"] + #[doc = ""] + #[doc = " This constant must be sorted in strictly increasing order. Duplicate items are not"] + #[doc = " permitted."] + #[doc = ""] + #[doc = " There is an implied upper limit of `Score::MAX`; that value does not need to be"] + #[doc = " specified within the bag. For any two threshold lists, if one ends with"] + #[doc = " `Score::MAX`, the other one does not, and they are otherwise equal, the two"] + #[doc = " lists will behave identically."] + #[doc = ""] + #[doc = " # Calculation"] + #[doc = ""] + #[doc = " It is recommended to generate the set of thresholds in a geometric series, such that"] + #[doc = " there exists some constant ratio such that `threshold[k + 1] == (threshold[k] *"] + #[doc = " constant_ratio).max(threshold[k] + 1)` for all `k`."] + #[doc = ""] + #[doc = " The helpers in the `/utils/frame/generate-bags` module can simplify this calculation."] + #[doc = ""] + #[doc = " # Examples"] + #[doc = ""] + #[doc = " - If `BagThresholds::get().is_empty()`, then all ids are put into the same bag, and"] + #[doc = " iteration is strictly in insertion order."] + #[doc = " - If `BagThresholds::get().len() == 64`, and the thresholds are determined according to"] + #[doc = " the procedure given above, then the constant ratio is equal to 2."] + #[doc = " - If `BagThresholds::get().len() == 200`, and the thresholds are determined according to"] + #[doc = " the procedure given above, then the constant ratio is approximately equal to 1.248."] + #[doc = " - If the threshold list begins `[1, 2, 3, ...]`, then an id with score 0 or 1 will fall"] + #[doc = " into bag 0, an id with score 2 will fall into bag 1, etc."] + #[doc = ""] + #[doc = " # Migration"] + #[doc = ""] + #[doc = " In the event that this list ever changes, a copy of the old bags list must be retained."] + #[doc = " With that `List::migrate` can be called, which will perform the appropriate migration."] + pub fn bag_thresholds( + &self, + ) -> ::subxt::constants::Address<::std::vec::Vec<::core::primitive::u64>> + { + ::subxt::constants::Address::new_static( + "VoterList", + "BagThresholds", + [ + 215u8, 118u8, 183u8, 172u8, 4u8, 42u8, 248u8, 108u8, 4u8, 110u8, 43u8, + 165u8, 228u8, 7u8, 36u8, 30u8, 135u8, 184u8, 56u8, 201u8, 107u8, 68u8, + 25u8, 164u8, 134u8, 32u8, 82u8, 107u8, 200u8, 219u8, 212u8, 198u8, + ], + ) + } + } + } + } + pub mod nomination_pools { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_nomination_pools::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_nomination_pools::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Bond { + pub pool_id: ::core::primitive::u32, + pub amount: runtime_types::pallet_nomination_pools::types::BondValue< + ::core::primitive::u128, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Bond { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "bond"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Unbond { + pub pool_id: ::core::primitive::u32, + pub member_account: + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub unbonding_points: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for Unbond { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "unbond"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PoolWithdrawUnbonded { + pub pool_id: ::core::primitive::u32, + pub num_slashing_spans: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for PoolWithdrawUnbonded { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "pool_withdraw_unbonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WithdrawUnbonded { + pub pool_id: ::core::primitive::u32, + pub member_account: + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub num_slashing_spans: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for WithdrawUnbonded { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "withdraw_unbonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Create { + pub token_id: ::core::primitive::u128, + #[codec(compact)] + pub deposit: ::core::primitive::u128, + #[codec(compact)] + pub capacity: ::core::primitive::u128, + #[codec(compact)] + pub duration: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for Create { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "create"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Nominate { + pub pool_id: ::core::primitive::u32, + pub validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + impl ::subxt::blocks::StaticExtrinsic for Nominate { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "nominate"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetConfigs { + pub min_join_bond: runtime_types::pallet_nomination_pools::types::ConfigOp< + ::core::primitive::u128, + >, + pub min_create_bond: runtime_types::pallet_nomination_pools::types::ConfigOp< + ::core::primitive::u128, + >, + pub global_max_commission: + runtime_types::pallet_nomination_pools::types::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + pub required_payout_count: + runtime_types::pallet_nomination_pools::types::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + } + impl ::subxt::blocks::StaticExtrinsic for SetConfigs { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "set_configs"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Chill { + pub pool_id: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for Chill { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "chill"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Destroy { + pub pool_id: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for Destroy { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "destroy"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PayoutRewards { + pub validator_stash: ::subxt::utils::AccountId32, + pub era: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for PayoutRewards { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "payout_rewards"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ProcessPayouts { + pub pool_count: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ProcessPayouts { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "process_payouts"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Mutate { + pub pool_id: ::core::primitive::u32, + pub mutation: runtime_types::pallet_nomination_pools::types::PoolMutation< + ::core::primitive::u32, + ::core::primitive::u128, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Mutate { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "mutate"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UnbondDeposit { + pub pool_id: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for UnbondDeposit { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "unbond_deposit"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WithdrawDeposit { + pub pool_id: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for WithdrawDeposit { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "withdraw_deposit"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WithdrawFreeBalance { + pub pool_id: ::core::primitive::u32, + pub destination: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub amount: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for WithdrawFreeBalance { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "withdraw_free_balance"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetStakingInfo { + pub info: runtime_types::pallet_nomination_pools::types::StakingInfo, + } + impl ::subxt::blocks::StaticExtrinsic for SetStakingInfo { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "set_staking_info"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueueEarlyBirdBonus { + pub pool_count: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for QueueEarlyBirdBonus { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "queue_early_bird_bonus"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DistributeEarlyBirdBonus { + pub transfer_count: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for DistributeEarlyBirdBonus { + const PALLET: &'static str = "NominationPools"; + const CALL: &'static str = "distribute_early_bird_bonus"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Stake funds with a pool. The amount to bond is transferred from the member to the"] + #[doc = "pools account and immediately increases the pools bond. The sENJ token will be minted"] + #[doc = "and transferred to `origin`."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = "- `origin`: the caller"] + #[doc = "- `pool_id`: the pool id to bond"] + #[doc = "- `amount`: the amount of tokens deposited into the pool"] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "* An account can only be a member of a single pool."] + #[doc = "* An account cannot join the same pool multiple times."] + #[doc = "* This call will *not* dust the member account, so the member must have at least"] + #[doc = " `existential deposit + amount` in their account."] + #[doc = "* Only a pool with [`PoolState::Open`] can be joined"] + pub fn bond( + &self, + pool_id: ::core::primitive::u32, + amount: runtime_types::pallet_nomination_pools::types::BondValue< + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "bond", + types::Bond { pool_id, amount }, + [ + 71u8, 36u8, 14u8, 127u8, 225u8, 195u8, 20u8, 168u8, 200u8, 173u8, 38u8, + 56u8, 194u8, 49u8, 8u8, 76u8, 154u8, 130u8, 71u8, 219u8, 185u8, 196u8, + 96u8, 131u8, 153u8, 174u8, 20u8, 7u8, 117u8, 82u8, 104u8, 72u8, + ], + ) + } + #[doc = "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool by burning"] + #[doc = "sENJ."] + #[doc = ""] + #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"] + #[doc = "account)."] + #[doc = ""] + #[doc = "# Conditions for a permissionless dispatch."] + #[doc = ""] + #[doc = "* The pool is blocked and the caller is holding the pool's token. This is refereed to as"] + #[doc = " a kick."] + #[doc = "* The pool is destroying."] + #[doc = "* The pool is destroying and no other members are in the pool."] + #[doc = ""] + #[doc = "## Conditions for permissioned dispatch (i.e. the caller is also the"] + #[doc = "`member_account`):"] + #[doc = ""] + #[doc = "* The caller is not the last member."] + #[doc = "* The caller is the last member and the pool is destroying."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "If there are too many unlocking chunks to unbond with the pool account,"] + #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks."] + #[doc = "The [`StakingInterface::unbond`] will implicitly call [`Call::pool_withdraw_unbonded`]"] + #[doc = "to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks"] + #[doc = "are available). However, it may not be possible to release the current unlocking chunks,"] + #[doc = "in which case, the result of this call will likely be the `NoMoreChunks` error from the"] + #[doc = "staking system."] + pub fn unbond( + &self, + pool_id: ::core::primitive::u32, + member_account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + unbonding_points: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "unbond", + types::Unbond { + pool_id, + member_account, + unbonding_points, + }, + [ + 255u8, 185u8, 8u8, 130u8, 176u8, 207u8, 116u8, 186u8, 244u8, 98u8, + 14u8, 30u8, 7u8, 75u8, 237u8, 222u8, 154u8, 66u8, 249u8, 234u8, 177u8, + 28u8, 88u8, 159u8, 222u8, 157u8, 187u8, 196u8, 199u8, 114u8, 32u8, + 207u8, + ], + ) + } + #[doc = "Call `withdraw_unbonded` for the pools account. This call can be made by any account."] + #[doc = ""] + #[doc = "This is useful if their are too many unlocking chunks to call `unbond`, and some"] + #[doc = "can be cleared by withdrawing. In the case there are too many unlocking chunks, the user"] + #[doc = "would probably see an error like `NoMoreChunks` emitted from the staking system when"] + #[doc = "they attempt to unbond."] + pub fn pool_withdraw_unbonded( + &self, + pool_id: ::core::primitive::u32, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "pool_withdraw_unbonded", + types::PoolWithdrawUnbonded { + pool_id, + num_slashing_spans, + }, + [ + 145u8, 39u8, 154u8, 109u8, 24u8, 233u8, 144u8, 66u8, 28u8, 252u8, + 180u8, 5u8, 54u8, 123u8, 28u8, 182u8, 26u8, 156u8, 69u8, 105u8, 226u8, + 208u8, 154u8, 34u8, 22u8, 201u8, 139u8, 104u8, 198u8, 195u8, 247u8, + 49u8, + ], + ) + } + #[doc = "Withdraw unbonded funds from `member_account`. If no bonded funds can be unbonded, an"] + #[doc = "error is returned."] + #[doc = ""] + #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"] + #[doc = "account)."] + #[doc = ""] + #[doc = "# Conditions for a permissionless dispatch"] + #[doc = ""] + #[doc = "* The pool is in destroy mode."] + #[doc = "* The target is the only member in the sub pools."] + #[doc = "* The pool is blocked and the caller is either the admin or state-toggler."] + #[doc = ""] + #[doc = "# Conditions for permissioned dispatch"] + #[doc = ""] + #[doc = "* The caller is the target and they are not the last member."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "If the target is the last member, the pool will be destroyed."] + pub fn withdraw_unbonded( + &self, + pool_id: ::core::primitive::u32, + member_account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + num_slashing_spans: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "withdraw_unbonded", + types::WithdrawUnbonded { + pool_id, + member_account, + num_slashing_spans, + }, + [ + 249u8, 20u8, 234u8, 157u8, 184u8, 122u8, 253u8, 255u8, 118u8, 176u8, + 11u8, 193u8, 187u8, 63u8, 238u8, 25u8, 239u8, 254u8, 159u8, 98u8, 39u8, + 32u8, 67u8, 104u8, 240u8, 143u8, 212u8, 4u8, 56u8, 46u8, 24u8, 78u8, + ], + ) + } + #[doc = "Create a new nomination pool."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `token_id` - Token that that will control the pool. This token must be from the"] + #[doc = " [`Config::PoolCollectionId`] collection and it must be held by the caller."] + #[doc = "* `deposit` - The amount of funds to delegate to the pool. This also acts as a deposit"] + #[doc = " because the pool's creator cannot fully unbond funds until the pool is destroyed."] + #[doc = "* `capacity` - The maximum total balance allowed in the pool. This is measured in sENJ."] + #[doc = " It must be below the pool's capacity. See `Capacity` section in crate level docs."] + #[doc = "* `duration` - The duration in blocks of the pool's bonus cycle"] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "In addition to `deposit`, the caller will transfer the existential deposit for the"] + #[doc = "pool's accounts; so the caller needs at have at least `deposit + existential_deposit *"] + #[doc = "2` transferable."] + pub fn create( + &self, + token_id: ::core::primitive::u128, + deposit: ::core::primitive::u128, + capacity: ::core::primitive::u128, + duration: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "create", + types::Create { + token_id, + deposit, + capacity, + duration, + }, + [ + 232u8, 182u8, 4u8, 226u8, 86u8, 50u8, 112u8, 160u8, 130u8, 94u8, 123u8, + 86u8, 63u8, 10u8, 138u8, 177u8, 39u8, 107u8, 75u8, 57u8, 192u8, 154u8, + 244u8, 150u8, 206u8, 162u8, 162u8, 81u8, 169u8, 69u8, 132u8, 106u8, + ], + ) + } + #[doc = "Nominate on behalf of the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the holder of the pool token."] + #[doc = ""] + #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"] + #[doc = "account."] + pub fn nominate( + &self, + pool_id: ::core::primitive::u32, + validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "nominate", + types::Nominate { + pool_id, + validators, + }, + [ + 118u8, 80u8, 137u8, 47u8, 102u8, 9u8, 20u8, 136u8, 76u8, 164u8, 161u8, + 114u8, 33u8, 159u8, 204u8, 49u8, 233u8, 199u8, 246u8, 67u8, 144u8, + 169u8, 211u8, 67u8, 12u8, 68u8, 198u8, 149u8, 87u8, 62u8, 226u8, 72u8, + ], + ) + } + #[doc = "Update configurations for the nomination pools. Callable only by"] + #[doc = "[`Config::ForceOrigin`]."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `min_join_bond` - Set [`MinJoinBond`]."] + #[doc = "* `min_create_bond` - Set [`MinCreateBond`]."] + #[doc = "* `global_max_commission` - Set [`GlobalMaxCommission`]."] + pub fn set_configs( + &self, + min_join_bond: runtime_types::pallet_nomination_pools::types::ConfigOp< + ::core::primitive::u128, + >, + min_create_bond: runtime_types::pallet_nomination_pools::types::ConfigOp< + ::core::primitive::u128, + >, + global_max_commission: runtime_types::pallet_nomination_pools::types::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + required_payout_count: runtime_types::pallet_nomination_pools::types::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "set_configs", + types::SetConfigs { + min_join_bond, + min_create_bond, + global_max_commission, + required_payout_count, + }, + [ + 101u8, 18u8, 236u8, 31u8, 242u8, 117u8, 44u8, 93u8, 127u8, 235u8, + 229u8, 123u8, 235u8, 86u8, 64u8, 209u8, 198u8, 151u8, 14u8, 69u8, 40u8, + 36u8, 40u8, 137u8, 64u8, 116u8, 242u8, 153u8, 68u8, 237u8, 70u8, 150u8, + ], + ) + } + #[doc = "Chill on behalf of the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the pool token holder, same as"] + #[doc = "[`Pallet::nominate`]."] + #[doc = ""] + #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"] + #[doc = "account."] + pub fn chill( + &self, + pool_id: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "chill", + types::Chill { pool_id }, + [ + 65u8, 206u8, 54u8, 53u8, 37u8, 97u8, 161u8, 104u8, 62u8, 9u8, 93u8, + 236u8, 61u8, 185u8, 204u8, 245u8, 234u8, 218u8, 213u8, 40u8, 154u8, + 29u8, 244u8, 19u8, 207u8, 172u8, 142u8, 221u8, 38u8, 70u8, 39u8, 10u8, + ], + ) + } + #[doc = "Destroy the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the account holding the pool token"] + #[doc = "of the given pool_id."] + pub fn destroy( + &self, + pool_id: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "destroy", + types::Destroy { pool_id }, + [ + 112u8, 126u8, 66u8, 95u8, 58u8, 91u8, 230u8, 33u8, 153u8, 97u8, 31u8, + 34u8, 175u8, 25u8, 191u8, 187u8, 48u8, 71u8, 64u8, 40u8, 155u8, 95u8, + 78u8, 91u8, 96u8, 43u8, 121u8, 167u8, 144u8, 199u8, 15u8, 228u8, + ], + ) + } + #[doc = "Pays rewards to `validator_stash` and also distributes rewards to the reward accounts of"] + #[doc = "the pools nominating it. The appropriate bonus is also calculated and stored in the"] + #[doc = "bonus account."] + #[doc = ""] + #[doc = "This should be called once per era per validator. It is a permissionless call. It also"] + #[doc = "processes rewards for the previous era if [`Self::process_payouts`] was not called."] + #[doc = ""] + #[doc = "## Bonus Calculation"] + #[doc = ""] + #[doc = "1. Minimum duration and max duration are found for all pools nominating"] + #[doc = " `validator_stash`"] + #[doc = "2. [`Config::BonusPercentage`] is set aside from rewards for bonus"] + #[doc = "3. Normalized weight is calculated and then scaled according to the total bonus. See"] + #[doc = " `functions::calculate_real_weight`."] + #[doc = "4. The scaled weight is offset according to [`Config::BaseBonusRewardPercentage`] so"] + #[doc = " that all pools at least get the minimum weight"] + #[doc = "5. Final calculation is done in [`traits::Bonus::calculate_bonus`] and then transferred"] + #[doc = " to the bonus account"] + pub fn payout_rewards( + &self, + validator_stash: ::subxt::utils::AccountId32, + era: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "payout_rewards", + types::PayoutRewards { + validator_stash, + era, + }, + [ + 136u8, 61u8, 222u8, 219u8, 245u8, 206u8, 122u8, 120u8, 45u8, 108u8, + 235u8, 110u8, 208u8, 168u8, 100u8, 251u8, 88u8, 22u8, 70u8, 214u8, + 151u8, 18u8, 247u8, 195u8, 224u8, 38u8, 238u8, 202u8, 126u8, 131u8, + 47u8, 117u8, + ], + ) + } + #[doc = "Processes the rewards for all pools that were distributed in [`Self::payout_rewards`]."] + #[doc = "It will only succeed if it is called on the same era that payouts were made. It uses the"] + #[doc = "[`EraPayoutInfo`] storage to verify this. This extrinsic is permissionless."] + #[doc = ""] + #[doc = "The following is done for each pool:"] + #[doc = "1. If the pool has reached the end of its cycle, it cycles the pool."] + #[doc = "2. Sends bonus for the current era from the bonus account to the rewards account."] + #[doc = "3. Sends reward commission to the depositor."] + #[doc = "4. It bonds the pool's reward balance."] + #[doc = ""] + #[doc = "It is not required to call this extrinsic. If it is not called, the rewards will be"] + #[doc = "processed when `payout_rewards` is called in the next era."] + pub fn process_payouts( + &self, + pool_count: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "process_payouts", + types::ProcessPayouts { pool_count }, + [ + 244u8, 109u8, 87u8, 32u8, 133u8, 162u8, 18u8, 146u8, 254u8, 239u8, + 181u8, 62u8, 20u8, 241u8, 116u8, 243u8, 192u8, 62u8, 167u8, 203u8, + 41u8, 252u8, 219u8, 73u8, 55u8, 176u8, 205u8, 53u8, 199u8, 152u8, + 251u8, 104u8, + ], + ) + } + #[doc = "Mutate the nomination pool data."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the account holding the pool token"] + #[doc = "of the given pool_id."] + pub fn mutate( + &self, + pool_id: ::core::primitive::u32, + mutation: runtime_types::pallet_nomination_pools::types::PoolMutation< + ::core::primitive::u32, + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "mutate", + types::Mutate { pool_id, mutation }, + [ + 18u8, 116u8, 206u8, 60u8, 245u8, 178u8, 49u8, 178u8, 41u8, 141u8, + 105u8, 179u8, 66u8, 94u8, 49u8, 183u8, 148u8, 56u8, 50u8, 192u8, 193u8, + 106u8, 116u8, 221u8, 43u8, 127u8, 52u8, 25u8, 101u8, 134u8, 34u8, 48u8, + ], + ) + } + #[doc = "Unbonds the deposit"] + #[doc = ""] + #[doc = "This call is permissionless but certain conditions must be met before the deposit can"] + #[doc = "be unbonded:"] + #[doc = ""] + #[doc = "- Pool must be in [`PoolState::Destroying`] mode"] + #[doc = "- Deposit points must be the only points in the pool"] + #[doc = "- [`UnbondingMembers`] must be empty"] + #[doc = ""] + #[doc = "This will unbond the deposit from the pool."] + pub fn unbond_deposit( + &self, + pool_id: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "unbond_deposit", + types::UnbondDeposit { pool_id }, + [ + 108u8, 198u8, 48u8, 31u8, 159u8, 58u8, 189u8, 206u8, 13u8, 165u8, 73u8, + 248u8, 43u8, 73u8, 197u8, 106u8, 46u8, 228u8, 109u8, 23u8, 156u8, + 169u8, 22u8, 137u8, 114u8, 39u8, 99u8, 189u8, 213u8, 39u8, 133u8, + 172u8, + ], + ) + } + #[doc = "Withdraws the deposit"] + #[doc = ""] + #[doc = "This call is permissionless and should be called after the deposit has been unbonded."] + pub fn withdraw_deposit( + &self, + pool_id: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "withdraw_deposit", + types::WithdrawDeposit { pool_id }, + [ + 22u8, 220u8, 113u8, 187u8, 17u8, 87u8, 74u8, 224u8, 207u8, 97u8, 173u8, + 230u8, 23u8, 126u8, 254u8, 243u8, 115u8, 215u8, 87u8, 200u8, 147u8, + 70u8, 180u8, 9u8, 109u8, 127u8, 251u8, 246u8, 113u8, 97u8, 246u8, + 214u8, + ], + ) + } + #[doc = "Transfers `amount` from the pool's free balance to `destination`. Only callable by"] + #[doc = "[`Config::ForceOrigin`]."] + pub fn withdraw_free_balance( + &self, + pool_id: ::core::primitive::u32, + destination: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "withdraw_free_balance", + types::WithdrawFreeBalance { + pool_id, + destination, + amount, + }, + [ + 178u8, 197u8, 222u8, 46u8, 116u8, 84u8, 199u8, 233u8, 23u8, 99u8, + 174u8, 200u8, 201u8, 19u8, 84u8, 120u8, 194u8, 133u8, 65u8, 109u8, + 36u8, 53u8, 8u8, 36u8, 217u8, 172u8, 45u8, 161u8, 142u8, 51u8, 57u8, + 61u8, + ], + ) + } + #[doc = "Set the annual inflation rate and collator payout cut"] + #[doc = ""] + #[doc = "Callable only by [`Config::ForceOrigin`]"] + pub fn set_staking_info( + &self, + info: runtime_types::pallet_nomination_pools::types::StakingInfo, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "set_staking_info", + types::SetStakingInfo { info }, + [ + 250u8, 251u8, 247u8, 16u8, 178u8, 162u8, 243u8, 114u8, 197u8, 205u8, + 233u8, 72u8, 72u8, 220u8, 205u8, 60u8, 124u8, 175u8, 164u8, 234u8, + 123u8, 224u8, 24u8, 141u8, 108u8, 107u8, 28u8, 205u8, 226u8, 236u8, + 129u8, 57u8, + ], + ) + } + #[doc = "Calculate and prepare early bird bonus if it is ready to be queued."] + #[doc = ""] + #[doc = "Callable by any signed origin after [`Config::EarlyBirdBonusDistributionBlock`]."] + #[doc = ""] + #[doc = "## Details"] + #[doc = ""] + #[doc = "1. Calculates the normalized weights for each pool by calling"] + #[doc = " [`Pallet::early_bird_normalized_weight`]. Factors for the weight are each pool's"] + #[doc = " total points and the creation date."] + #[doc = "2. Each pool's weight is multiplied by the total reward to determine each pool's reward."] + #[doc = "3. The rewards are stored in [`EarlyBirdBonusInfo`] and can be distributed by calling"] + #[doc = " [`Self::distribute_early_bird_bonus`]."] + pub fn queue_early_bird_bonus( + &self, + pool_count: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "queue_early_bird_bonus", + types::QueueEarlyBirdBonus { pool_count }, + [ + 45u8, 217u8, 254u8, 108u8, 197u8, 229u8, 97u8, 14u8, 126u8, 203u8, + 57u8, 42u8, 136u8, 70u8, 13u8, 58u8, 122u8, 102u8, 76u8, 141u8, 106u8, + 12u8, 121u8, 1u8, 127u8, 28u8, 60u8, 108u8, 91u8, 15u8, 17u8, 241u8, + ], + ) + } + #[doc = "Distribute early bird bonus to pools. The `transfer_count` parameter is the max number"] + #[doc = "of transfers to be made in this call. If there are less items in the queue, it will end"] + #[doc = "early."] + #[doc = ""] + #[doc = "Callable by any signed origin after the bonus has been queued."] + pub fn distribute_early_bird_bonus( + &self, + transfer_count: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "distribute_early_bird_bonus", + types::DistributeEarlyBirdBonus { transfer_count }, + [ + 106u8, 53u8, 36u8, 112u8, 73u8, 35u8, 170u8, 252u8, 177u8, 112u8, + 113u8, 143u8, 221u8, 61u8, 208u8, 241u8, 184u8, 232u8, 208u8, 96u8, + 98u8, 234u8, 193u8, 104u8, 221u8, 197u8, 128u8, 58u8, 181u8, 244u8, + 64u8, 118u8, + ], + ) + } + } + } + #[doc = "Events of this pallet."] + pub type Event = runtime_types::pallet_nomination_pools::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A pool has been created."] + pub struct Created { + pub creator: ::subxt::utils::AccountId32, + pub pool_id: ::core::primitive::u32, + pub capacity: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Created { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Created"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A member has became bonded in a pool."] + pub struct Bonded { + pub member: ::subxt::utils::AccountId32, + pub pool_id: ::core::primitive::u32, + pub bonded: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Bonded { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Bonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A member has unbonded from their pool."] + pub struct Unbonded { + pub member: ::subxt::utils::AccountId32, + pub pool_id: ::core::primitive::u32, + pub balance: ::core::primitive::u128, + pub points: ::core::primitive::u128, + pub era: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Unbonded { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Unbonded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A member has withdrawn from their pool."] + #[doc = ""] + #[doc = "The given number of `points` have been dissolved in return of `balance`."] + #[doc = ""] + #[doc = "Similar to `Unbonded` event, in the absence of slashing, the ratio of point to balance"] + #[doc = "will be 1."] + pub struct Withdrawn { + pub member: ::subxt::utils::AccountId32, + pub pool_id: ::core::primitive::u32, + pub balance: ::core::primitive::u128, + pub points: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Withdrawn { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Withdrawn"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A pool has been destroyed."] + pub struct Destroyed { + pub pool_id: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Destroyed { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Destroyed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The state of a pool has changed"] + pub struct StateChanged { + pub pool_id: ::core::primitive::u32, + pub new_state: runtime_types::pallet_nomination_pools::types::PoolState, + } + impl ::subxt::events::StaticEvent for StateChanged { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "StateChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The active balance of pool `pool_id` has been slashed to `balance`."] + pub struct PoolSlashed { + pub pool_id: ::core::primitive::u32, + pub balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for PoolSlashed { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "PoolSlashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`."] + pub struct UnbondingPoolSlashed { + pub pool_id: ::core::primitive::u32, + pub era: ::core::primitive::u32, + pub balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for UnbondingPoolSlashed { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "UnbondingPoolSlashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A pool's commission rate has been changed."] + pub struct CommissionUpdated { + pub pool_id: ::core::primitive::u32, + pub current: + ::core::option::Option, + } + impl ::subxt::events::StaticEvent for CommissionUpdated { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "CommissionUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "This event happens once per era on the previous era that rewards are paid out for. It"] + #[doc = "pays commission, distributes bonus, and reinvests rewards."] + pub struct EraRewardsProcessed { + pub pool_id: ::core::primitive::u32, + pub era: ::core::primitive::u32, + pub commission: ::core::option::Option< + runtime_types::pallet_nomination_pools::types::CommissionPayment< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + pub bonus: ::core::primitive::u128, + pub reinvested: ::core::primitive::u128, + pub bonus_cycle_ended: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for EraRewardsProcessed { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "EraRewardsProcessed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Rewards were paid to a pool"] + pub struct RewardPaid { + pub pool_id: ::core::primitive::u32, + pub era: ::core::primitive::u32, + pub validator_stash: ::subxt::utils::AccountId32, + pub reward: ::core::primitive::u128, + pub bonus: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for RewardPaid { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "RewardPaid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Pool has been mutated."] + pub struct PoolMutated { + pub pool_id: ::core::primitive::u32, + pub mutation: runtime_types::pallet_nomination_pools::types::PoolMutation< + ::core::primitive::u32, + ::core::primitive::u128, + >, + } + impl ::subxt::events::StaticEvent for PoolMutated { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "PoolMutated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A nomination took place"] + pub struct Nominated { + pub pool_id: ::core::primitive::u32, + pub validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + impl ::subxt::events::StaticEvent for Nominated { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "Nominated"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct EarlyBirdBonusQueued { + pub total_amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for EarlyBirdBonusQueued { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "EarlyBirdBonusQueued"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The early bird bonus has been distributed"] + pub struct EarlyBirdBonusDistributed { + pub pool_id: ::core::primitive::u32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for EarlyBirdBonusDistributed { + const PALLET: &'static str = "NominationPools"; + const EVENT: &'static str = "EarlyBirdBonusDistributed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Minimum amount to bond to join a pool."] + pub fn min_join_bond( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "MinJoinBond", + vec![], + [ + 64u8, 180u8, 71u8, 185u8, 81u8, 46u8, 155u8, 26u8, 251u8, 84u8, 108u8, + 80u8, 128u8, 44u8, 163u8, 118u8, 107u8, 79u8, 250u8, 211u8, 194u8, + 71u8, 87u8, 16u8, 247u8, 9u8, 76u8, 95u8, 103u8, 227u8, 180u8, 231u8, + ], + ) + } + #[doc = " Minimum bond required to create a pool."] + #[doc = ""] + #[doc = " This is the amount that the pool creator must put as their initial stake in the pool, as an"] + #[doc = " indication of \"skin in the game\"."] + #[doc = ""] + #[doc = " This is the value that will always exist in the staking ledger of the pool bonded account"] + #[doc = " while all other accounts leave."] + pub fn min_create_bond( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "MinCreateBond", + vec![], + [ + 210u8, 67u8, 92u8, 230u8, 231u8, 105u8, 54u8, 249u8, 154u8, 192u8, + 29u8, 217u8, 233u8, 79u8, 170u8, 126u8, 133u8, 98u8, 253u8, 153u8, + 248u8, 189u8, 63u8, 107u8, 170u8, 224u8, 12u8, 42u8, 198u8, 185u8, + 85u8, 46u8, + ], + ) + } + #[doc = " Pool Members who are Unbonding."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn unbonding_members_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_nomination_pools::types::PoolMember, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "UnbondingMembers", + vec![], + [ + 124u8, 77u8, 157u8, 87u8, 209u8, 117u8, 169u8, 243u8, 200u8, 240u8, + 128u8, 220u8, 163u8, 240u8, 135u8, 215u8, 59u8, 171u8, 57u8, 21u8, + 215u8, 245u8, 117u8, 171u8, 135u8, 118u8, 179u8, 229u8, 87u8, 32u8, + 148u8, 222u8, + ], + ) + } + #[doc = " Pool Members who are Unbonding."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn unbonding_members_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_nomination_pools::types::PoolMember, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "UnbondingMembers", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 124u8, 77u8, 157u8, 87u8, 209u8, 117u8, 169u8, 243u8, 200u8, 240u8, + 128u8, 220u8, 163u8, 240u8, 135u8, 215u8, 59u8, 171u8, 57u8, 21u8, + 215u8, 245u8, 117u8, 171u8, 135u8, 118u8, 179u8, 229u8, 87u8, 32u8, + 148u8, 222u8, + ], + ) + } + #[doc = " Pool Members who are Unbonding."] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn unbonding_members( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_nomination_pools::types::PoolMember, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "UnbondingMembers", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 124u8, 77u8, 157u8, 87u8, 209u8, 117u8, 169u8, 243u8, 200u8, 240u8, + 128u8, 220u8, 163u8, 240u8, 135u8, 215u8, 59u8, 171u8, 57u8, 21u8, + 215u8, 245u8, 117u8, 171u8, 135u8, 118u8, 179u8, 229u8, 87u8, 32u8, + 148u8, 222u8, + ], + ) + } + #[doc = " Storage for bonded pools."] + pub fn bonded_pools_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_nomination_pools::types::BondedPoolInner, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "BondedPools", + vec![], + [ + 120u8, 45u8, 15u8, 251u8, 251u8, 241u8, 68u8, 75u8, 129u8, 73u8, 101u8, + 116u8, 164u8, 204u8, 58u8, 244u8, 46u8, 140u8, 242u8, 148u8, 217u8, + 29u8, 254u8, 216u8, 236u8, 123u8, 74u8, 120u8, 78u8, 74u8, 66u8, 226u8, + ], + ) + } + #[doc = " Storage for bonded pools."] + pub fn bonded_pools( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_nomination_pools::types::BondedPoolInner, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "BondedPools", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 120u8, 45u8, 15u8, 251u8, 251u8, 241u8, 68u8, 75u8, 129u8, 73u8, 101u8, + 116u8, 164u8, 204u8, 58u8, 244u8, 46u8, 140u8, 242u8, 148u8, 217u8, + 29u8, 254u8, 216u8, 236u8, 123u8, 74u8, 120u8, 78u8, 74u8, 66u8, 226u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_bonded_pools( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "CounterForBondedPools", + vec![], + [ + 198u8, 6u8, 213u8, 92u8, 4u8, 114u8, 164u8, 244u8, 51u8, 55u8, 157u8, + 20u8, 224u8, 183u8, 40u8, 236u8, 115u8, 86u8, 171u8, 207u8, 31u8, + 111u8, 0u8, 210u8, 48u8, 198u8, 243u8, 153u8, 5u8, 216u8, 107u8, 113u8, + ], + ) + } + #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a bonded pool,"] + #[doc = " hence the name sub-pools. Keyed by the bonded pools account."] + pub fn sub_pools_storage_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_nomination_pools::types::SubPools, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "SubPoolsStorage", + vec![], + [ + 43u8, 35u8, 94u8, 197u8, 201u8, 86u8, 21u8, 118u8, 230u8, 10u8, 66u8, + 180u8, 104u8, 146u8, 250u8, 207u8, 159u8, 153u8, 203u8, 58u8, 20u8, + 247u8, 102u8, 155u8, 47u8, 58u8, 136u8, 150u8, 167u8, 83u8, 81u8, 44u8, + ], + ) + } + #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a bonded pool,"] + #[doc = " hence the name sub-pools. Keyed by the bonded pools account."] + pub fn sub_pools_storage( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_nomination_pools::types::SubPools, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "SubPoolsStorage", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 43u8, 35u8, 94u8, 197u8, 201u8, 86u8, 21u8, 118u8, 230u8, 10u8, 66u8, + 180u8, 104u8, 146u8, 250u8, 207u8, 159u8, 153u8, 203u8, 58u8, 20u8, + 247u8, 102u8, 155u8, 47u8, 58u8, 136u8, 150u8, 167u8, 83u8, 81u8, 44u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_sub_pools_storage( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "CounterForSubPoolsStorage", + vec![], + [ + 137u8, 162u8, 32u8, 44u8, 163u8, 30u8, 54u8, 158u8, 169u8, 118u8, + 196u8, 101u8, 78u8, 28u8, 184u8, 78u8, 185u8, 225u8, 226u8, 207u8, + 14u8, 119u8, 0u8, 116u8, 140u8, 141u8, 116u8, 106u8, 71u8, 161u8, + 200u8, 228u8, + ], + ) + } + #[doc = " The next pool id that will be used in [`create`](Pallet::create). Increments by one with"] + #[doc = " each pool created."] + pub fn next_pool_id( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "NextPoolId", + vec![], + [ + 30u8, 97u8, 209u8, 99u8, 136u8, 248u8, 152u8, 111u8, 140u8, 167u8, + 187u8, 87u8, 94u8, 45u8, 50u8, 249u8, 211u8, 136u8, 37u8, 7u8, 116u8, + 225u8, 30u8, 16u8, 254u8, 133u8, 111u8, 15u8, 99u8, 45u8, 161u8, 137u8, + ], + ) + } + #[doc = " A reverse lookup from the pool's account id to its id."] + #[doc = ""] + #[doc = " This is only used for slashing. In all other instances, the pool id is used, and the"] + #[doc = " accounts are deterministically derived from it."] + pub fn reverse_pool_id_lookup_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "ReversePoolIdLookup", + vec![], + [ + 76u8, 76u8, 150u8, 33u8, 64u8, 81u8, 90u8, 75u8, 212u8, 221u8, 59u8, + 83u8, 178u8, 45u8, 86u8, 206u8, 196u8, 221u8, 117u8, 94u8, 229u8, + 160u8, 52u8, 54u8, 11u8, 64u8, 0u8, 103u8, 85u8, 86u8, 5u8, 71u8, + ], + ) + } + #[doc = " A reverse lookup from the pool's account id to its id."] + #[doc = ""] + #[doc = " This is only used for slashing. In all other instances, the pool id is used, and the"] + #[doc = " accounts are deterministically derived from it."] + pub fn reverse_pool_id_lookup( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "ReversePoolIdLookup", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 76u8, 76u8, 150u8, 33u8, 64u8, 81u8, 90u8, 75u8, 212u8, 221u8, 59u8, + 83u8, 178u8, 45u8, 86u8, 206u8, 196u8, 221u8, 117u8, 94u8, 229u8, + 160u8, 52u8, 54u8, 11u8, 64u8, 0u8, 103u8, 85u8, 86u8, 5u8, 71u8, + ], + ) + } + #[doc = "Counter for the related counted storage map"] + pub fn counter_for_reverse_pool_id_lookup( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "CounterForReversePoolIdLookup", + vec![], + [ + 135u8, 72u8, 203u8, 197u8, 101u8, 135u8, 114u8, 202u8, 122u8, 231u8, + 128u8, 17u8, 81u8, 70u8, 22u8, 146u8, 100u8, 138u8, 16u8, 74u8, 31u8, + 250u8, 110u8, 184u8, 250u8, 75u8, 249u8, 71u8, 171u8, 77u8, 95u8, + 251u8, + ], + ) + } + #[doc = " A reverse lookup from the token_id to pool_id."] + #[doc = ""] + #[doc = " This is used for making sure the same token is not used to create multiple pools"] + pub fn used_pool_token_ids_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "UsedPoolTokenIds", + vec![], + [ + 83u8, 86u8, 247u8, 219u8, 46u8, 223u8, 64u8, 175u8, 191u8, 209u8, + 246u8, 43u8, 151u8, 236u8, 65u8, 202u8, 210u8, 67u8, 206u8, 185u8, + 229u8, 206u8, 59u8, 234u8, 190u8, 16u8, 25u8, 111u8, 75u8, 189u8, 99u8, + 27u8, + ], + ) + } + #[doc = " A reverse lookup from the token_id to pool_id."] + #[doc = ""] + #[doc = " This is used for making sure the same token is not used to create multiple pools"] + pub fn used_pool_token_ids( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u128>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "UsedPoolTokenIds", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 83u8, 86u8, 247u8, 219u8, 46u8, 223u8, 64u8, 175u8, 191u8, 209u8, + 246u8, 43u8, 151u8, 236u8, 65u8, 202u8, 210u8, 67u8, 206u8, 185u8, + 229u8, 206u8, 59u8, 234u8, 190u8, 16u8, 25u8, 111u8, 75u8, 189u8, 99u8, + 27u8, + ], + ) + } + #[doc = " The maximum commission that can be charged by a pool. Used on commission payouts to bound"] + #[doc = " pool commissions that are > `GlobalMaxCommission`, necessary if a future"] + pub fn global_max_commission( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "GlobalMaxCommission", + vec![], + [ + 2u8, 112u8, 8u8, 116u8, 114u8, 97u8, 250u8, 106u8, 170u8, 215u8, 218u8, + 217u8, 80u8, 235u8, 149u8, 81u8, 85u8, 185u8, 201u8, 127u8, 107u8, + 251u8, 191u8, 231u8, 142u8, 74u8, 8u8, 70u8, 151u8, 238u8, 117u8, + 173u8, + ], + ) + } + #[doc = " The general staking parameters"] + pub fn staking_information( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_nomination_pools::types::StakingInfo, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "StakingInformation", + vec![], + [ + 211u8, 0u8, 103u8, 187u8, 133u8, 230u8, 41u8, 79u8, 31u8, 22u8, 172u8, + 65u8, 13u8, 176u8, 102u8, 115u8, 25u8, 195u8, 30u8, 235u8, 172u8, + 210u8, 17u8, 116u8, 193u8, 209u8, 185u8, 142u8, 13u8, 167u8, 41u8, + 101u8, + ], + ) + } + #[doc = " The queue of bonuses that should be distributed to the pools"] + pub fn early_bird_bonus_info( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_nomination_pools::types::EarlyBirdInfo< + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "EarlyBirdBonusInfo", + vec![], + [ + 29u8, 242u8, 141u8, 229u8, 46u8, 127u8, 117u8, 241u8, 103u8, 162u8, + 198u8, 170u8, 102u8, 214u8, 245u8, 97u8, 146u8, 43u8, 73u8, 73u8, + 240u8, 61u8, 21u8, 111u8, 28u8, 157u8, 99u8, 145u8, 112u8, 198u8, + 177u8, 161u8, + ], + ) + } + #[doc = " Tracks payout information for an era"] + pub fn era_payout_info( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_nomination_pools::types::EraPayout, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "EraPayoutInfo", + vec![], + [ + 27u8, 128u8, 169u8, 192u8, 37u8, 232u8, 56u8, 254u8, 195u8, 126u8, + 122u8, 122u8, 153u8, 232u8, 46u8, 193u8, 83u8, 25u8, 137u8, 194u8, + 192u8, 3u8, 209u8, 1u8, 200u8, 161u8, 11u8, 128u8, 143u8, 243u8, 220u8, + 232u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The nomination pool's pallet id."] + pub fn pallet_id( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "NominationPools", + "PalletId", + [ + 56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8, + 161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8, + 129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8, + ], + ) + } + #[doc = " The pool ID for system account holding the collator rewards."] + pub fn collator_reward_pool( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "NominationPools", + "CollatorRewardPool", + [ + 56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8, + 161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8, + 129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8, + ], + ) + } + #[doc = " The maximum pool points-to-balance ratio that an `open` pool can have."] + #[doc = ""] + #[doc = " This is important in the event slashing takes place and the pool's points-to-balance"] + #[doc = " ratio becomes disproportional."] + #[doc = ""] + #[doc = " Moreover, this relates to the `RewardCounter` type as well, as the arithmetic operations"] + #[doc = " are a function of number of points, and by setting this value to e.g. 10, you ensure"] + #[doc = " that the total number of points in the system are at most 10 times the total_issuance of"] + #[doc = " the chain, in the absolute worse case."] + #[doc = ""] + #[doc = " For a value of 10, the threshold would be a pool points-to-balance ratio of 10:1."] + #[doc = " Such a scenario would also be the equivalent of the pool being 90% slashed."] + pub fn max_points_to_balance( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u8> { + ::subxt::constants::Address::new_static( + "NominationPools", + "MaxPointsToBalance", + [ + 141u8, 130u8, 11u8, 35u8, 226u8, 114u8, 92u8, 179u8, 168u8, 110u8, + 28u8, 91u8, 221u8, 64u8, 4u8, 148u8, 201u8, 193u8, 185u8, 66u8, 226u8, + 114u8, 97u8, 79u8, 62u8, 212u8, 202u8, 114u8, 237u8, 228u8, 183u8, + 165u8, + ], + ) + } + #[doc = " The amount of eras a `SubPools::with_era` pool can exist before it gets merged into the"] + #[doc = " `SubPools::no_era` pool. In other words, this is the amount of eras a member will be"] + #[doc = " able to withdraw from an unbonding pool which is guaranteed to have the correct ratio of"] + #[doc = " points to balance; once the `with_era` pool is merged into the `no_era` pool, the ratio"] + #[doc = " can become skewed due to some slashed ratio getting merged in at some point."] + pub fn post_unbonding_pools_window( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "NominationPools", + "PostUnbondingPoolsWindow", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of simultaneous unbonding chunks that can exist per member."] + pub fn max_unbonding(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "NominationPools", + "MaxUnbonding", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Min duration of a pool's bonus cycle in eras"] + pub fn min_duration(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "NominationPools", + "MinDuration", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Max duration of a pool's bonus cycle in eras"] + pub fn max_duration(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "NominationPools", + "MaxDuration", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The collection id that is used for pool NFTs"] + pub fn pool_collection_id( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "NominationPools", + "PoolCollectionId", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The collection id that is used for sENJ tokens"] + pub fn staked_enj_collection_id( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "NominationPools", + "StakedEnjCollectionId", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The owner of the sENJ collection"] + pub fn staked_enj_collection_owner( + &self, + ) -> ::subxt::constants::Address<::subxt::utils::AccountId32> { + ::subxt::constants::Address::new_static( + "NominationPools", + "StakedEnjCollectionOwner", + [ + 115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8, + 155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8, + 204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8, + 135u8, + ], + ) + } + #[doc = " The percentage of each pool's rewards that goes to the bonus"] + pub fn bonus_percentage( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "NominationPools", + "BonusPercentage", + [ + 65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8, + 114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8, + 200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8, + ], + ) + } + #[doc = " Share of bonus reward that is distributed to everyone regardless of their weight"] + pub fn base_bonus_reward_percentage( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "NominationPools", + "BaseBonusRewardPercentage", + [ + 65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8, + 114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8, + 200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8, + ], + ) + } + #[doc = " The account that will receive the deposit and commission if the pool's token is burned."] + #[doc = " It also receives the leftover bonus if a pool is destroyed."] + pub fn unclaimed_balance_receiver( + &self, + ) -> ::subxt::constants::Address<::subxt::utils::AccountId32> { + ::subxt::constants::Address::new_static( + "NominationPools", + "UnclaimedBalanceReceiver", + [ + 115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8, + 155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8, + 204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8, + 135u8, + ], + ) + } + #[doc = " The number of eras its allowed to mutate the pools capacity"] + pub fn capacity_mutation_period( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "NominationPools", + "CapacityMutationPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The block number after which the early bird bonus can be distributed"] + pub fn early_bird_bonus_distribution_block( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "NominationPools", + "EarlyBirdBonusDistributionBlock", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of items in the early bird bonus queue"] + pub fn max_early_bird_bonus_queue_items( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "NominationPools", + "MaxEarlyBirdBonusQueueItems", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The account id that holds early bird bonus"] + pub fn early_bird_bonus_account( + &self, + ) -> ::subxt::constants::Address<::subxt::utils::AccountId32> { + ::subxt::constants::Address::new_static( + "NominationPools", + "EarlyBirdBonusAccount", + [ + 115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8, + 155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8, + 204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8, + 135u8, + ], + ) + } + #[doc = " The global maximum pool capacity"] + pub fn global_max_capacity( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "NominationPools", + "GlobalMaxCapacity", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The default maximum pool capacity"] + pub fn default_max_capacity( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "NominationPools", + "DefaultMaxCapacity", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The max attribute key length"] + pub fn attribute_key_max_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "NominationPools", + "AttributeKeyMaxLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The max attribute value length"] + pub fn attribute_value_max_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "NominationPools", + "AttributeValueMaxLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Max pool capacity attribute key"] + pub fn max_capacity_attribute_key( + &self, + ) -> ::subxt::constants::Address< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + > { + ::subxt::constants::Address::new_static( + "NominationPools", + "MaxCapacityAttributeKey", + [ + 111u8, 193u8, 190u8, 101u8, 134u8, 90u8, 189u8, 162u8, 149u8, 131u8, + 26u8, 156u8, 242u8, 7u8, 95u8, 140u8, 189u8, 46u8, 231u8, 178u8, 140u8, + 33u8, 222u8, 55u8, 229u8, 12u8, 32u8, 142u8, 69u8, 195u8, 205u8, 193u8, + ], + ) + } + } + } + } + pub mod stake_exchange { + use super::root_mod; + use super::runtime_types; + #[doc = "Pallet's error type."] + pub type Error = runtime_types::pallet_stake_exchange::pallet::Error; + #[doc = "The pallet's extrinsics."] + pub type Call = runtime_types::pallet_stake_exchange::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CreateOffer { + pub offer: runtime_types::pallet_stake_exchange::types::CreateOffer< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + } + impl ::subxt::blocks::StaticExtrinsic for CreateOffer { + const PALLET: &'static str = "StakeExchange"; + const CALL: &'static str = "create_offer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelOffer { + #[codec(compact)] + pub offer_id: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for CancelOffer { + const PALLET: &'static str = "StakeExchange"; + const CALL: &'static str = "cancel_offer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ConfigureLiquidityAccount { + pub config: runtime_types::pallet_stake_exchange::types::LiquidityAccountConfig< + ::core::primitive::u128, + runtime_types::enjin_runtime::MaxFilteredTokenCount, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ConfigureLiquidityAccount { + const PALLET: &'static str = "StakeExchange"; + const CALL: &'static str = "configure_liquidity_account"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WithdrawLiquidity { + #[codec(compact)] + pub offer_id: ::core::primitive::u128, + #[codec(compact)] + pub amount: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for WithdrawLiquidity { + const PALLET: &'static str = "StakeExchange"; + const CALL: &'static str = "withdraw_liquidity"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddLiquidity { + #[codec(compact)] + pub offer_id: ::core::primitive::u128, + #[codec(compact)] + pub amount: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for AddLiquidity { + const PALLET: &'static str = "StakeExchange"; + const CALL: &'static str = "add_liquidity"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Buy { + #[codec(compact)] + pub offer_id: ::core::primitive::u128, + #[codec(compact)] + pub amount: ::core::primitive::u128, + #[codec(compact)] + pub token_id: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for Buy { + const PALLET: &'static str = "StakeExchange"; + const CALL: &'static str = "buy"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Place a new offer with the given parameters"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::CallerNotOfferCreator`] if the caller account does not match offer account."] + #[doc = "- [`Error::ZeroOffer`] if offer amount is zero."] + #[doc = "- [`Error::ZeroRate`] if rate amount is zero."] + #[doc = "- [`Error::Overflow`] if arithmetic overflow occurs"] + pub fn create_offer( + &self, + offer: runtime_types::pallet_stake_exchange::types::CreateOffer< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "StakeExchange", + "create_offer", + types::CreateOffer { offer }, + [ + 130u8, 30u8, 162u8, 219u8, 219u8, 240u8, 179u8, 224u8, 186u8, 156u8, + 175u8, 59u8, 120u8, 12u8, 202u8, 73u8, 57u8, 142u8, 178u8, 209u8, + 223u8, 243u8, 139u8, 60u8, 13u8, 90u8, 112u8, 215u8, 27u8, 145u8, + 223u8, 128u8, + ], + ) + } + #[doc = "Cancel an existing offer with `offer_id`"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::CallerNotOfferCreator`] if the caller account does not match offer account."] + #[doc = "- [`Error::OfferNotFound`] if the `offer_id` does not exist"] + pub fn cancel_offer( + &self, + offer_id: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "StakeExchange", + "cancel_offer", + types::CancelOffer { offer_id }, + [ + 68u8, 213u8, 139u8, 13u8, 75u8, 0u8, 10u8, 74u8, 226u8, 144u8, 120u8, + 233u8, 91u8, 231u8, 92u8, 94u8, 127u8, 134u8, 126u8, 205u8, 228u8, + 149u8, 42u8, 157u8, 18u8, 82u8, 108u8, 213u8, 57u8, 64u8, 107u8, 122u8, + ], + ) + } + #[doc = "Set the liquidity config for the caller account"] + pub fn configure_liquidity_account( + &self, + config: runtime_types::pallet_stake_exchange::types::LiquidityAccountConfig< + ::core::primitive::u128, + runtime_types::enjin_runtime::MaxFilteredTokenCount, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "StakeExchange", + "configure_liquidity_account", + types::ConfigureLiquidityAccount { config }, + [ + 49u8, 128u8, 5u8, 224u8, 68u8, 207u8, 14u8, 56u8, 50u8, 133u8, 59u8, + 191u8, 70u8, 231u8, 188u8, 34u8, 106u8, 188u8, 252u8, 123u8, 92u8, + 130u8, 9u8, 169u8, 126u8, 42u8, 156u8, 182u8, 22u8, 150u8, 198u8, 21u8, + ], + ) + } + #[doc = "Withdraw liquidity from a current active offer"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::CallerNotOfferCreator`] if the caller account does not match offer account."] + #[doc = "- [`Error::OfferNotFound`] if the offerId does not exist"] + pub fn withdraw_liquidity( + &self, + offer_id: ::core::primitive::u128, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "StakeExchange", + "withdraw_liquidity", + types::WithdrawLiquidity { offer_id, amount }, + [ + 166u8, 216u8, 242u8, 2u8, 153u8, 135u8, 89u8, 235u8, 46u8, 68u8, 53u8, + 160u8, 208u8, 104u8, 3u8, 79u8, 142u8, 233u8, 182u8, 22u8, 50u8, 63u8, + 101u8, 195u8, 73u8, 219u8, 116u8, 139u8, 41u8, 168u8, 74u8, 112u8, + ], + ) + } + #[doc = "Add liquidity to a current active offer"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::CallerNotOfferCreator`] if the caller account does not match bidding account."] + #[doc = "- [`Error::OfferNotFound`] if the offerId does not exist"] + pub fn add_liquidity( + &self, + offer_id: ::core::primitive::u128, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "StakeExchange", + "add_liquidity", + types::AddLiquidity { offer_id, amount }, + [ + 17u8, 90u8, 130u8, 113u8, 9u8, 80u8, 108u8, 2u8, 195u8, 92u8, 212u8, + 119u8, 121u8, 105u8, 67u8, 12u8, 174u8, 3u8, 5u8, 225u8, 89u8, 149u8, + 167u8, 14u8, 83u8, 38u8, 103u8, 65u8, 18u8, 85u8, 126u8, 52u8, + ], + ) + } + #[doc = "Buy from a current active offer, returning the native currency by exchanging the staked"] + #[doc = "tokens"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::CallerNotOfferCreator`] if the caller account does not match bidding account."] + #[doc = "- [`Error::TokenRestriction`] if the tokenId is restricted by the LP"] + #[doc = "- [`Error::NotEnoughLiquidity`] if the offer cannot cover the amount requested"] + #[doc = "- [`Error::TransferParamCreationFailed`] if the multitokens transfer failed"] + pub fn buy( + &self, + offer_id: ::core::primitive::u128, + amount: ::core::primitive::u128, + token_id: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "StakeExchange", + "buy", + types::Buy { + offer_id, + amount, + token_id, + }, + [ + 144u8, 108u8, 9u8, 120u8, 109u8, 23u8, 53u8, 192u8, 208u8, 55u8, 61u8, + 146u8, 122u8, 106u8, 143u8, 199u8, 187u8, 47u8, 59u8, 147u8, 79u8, + 150u8, 177u8, 8u8, 238u8, 50u8, 86u8, 217u8, 44u8, 181u8, 217u8, 214u8, + ], + ) + } + } + } + #[doc = "The pallet's event type."] + pub type Event = runtime_types::pallet_stake_exchange::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A offer was placed"] + pub struct OfferCreated { + pub offer_id: ::core::primitive::u128, + pub offer: runtime_types::pallet_stake_exchange::types::Offer< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + } + impl ::subxt::events::StaticEvent for OfferCreated { + const PALLET: &'static str = "StakeExchange"; + const EVENT: &'static str = "OfferCreated"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A offer was cancelled"] + pub struct OfferCancelled { + pub offer_id: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for OfferCancelled { + const PALLET: &'static str = "StakeExchange"; + const EVENT: &'static str = "OfferCancelled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Liquidity config was set for account"] + pub struct LiquidityConfigUpdated { + pub who: ::subxt::utils::AccountId32, + pub config: runtime_types::pallet_stake_exchange::types::LiquidityAccountConfig< + ::core::primitive::u128, + runtime_types::enjin_runtime::MaxFilteredTokenCount, + >, + } + impl ::subxt::events::StaticEvent for LiquidityConfigUpdated { + const PALLET: &'static str = "StakeExchange"; + const EVENT: &'static str = "LiquidityConfigUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Liquidity was withdrawn from a offer"] + pub struct LiquidityWithdrawn { + pub who: ::subxt::utils::AccountId32, + pub offer_id: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for LiquidityWithdrawn { + const PALLET: &'static str = "StakeExchange"; + const EVENT: &'static str = "LiquidityWithdrawn"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Liquidity was added to a offer"] + pub struct LiquidityAdded { + pub who: ::subxt::utils::AccountId32, + pub offer_id: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for LiquidityAdded { + const PALLET: &'static str = "StakeExchange"; + const EVENT: &'static str = "LiquidityAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Buy order was completed"] + pub struct BuyOrderCompleted { + pub who: ::subxt::utils::AccountId32, + pub token_id: ::core::primitive::u128, + pub amount: ::core::primitive::u128, + pub rate: runtime_types::sp_arithmetic::per_things::Perbill, + } + impl ::subxt::events::StaticEvent for BuyOrderCompleted { + const PALLET: &'static str = "StakeExchange"; + const EVENT: &'static str = "BuyOrderCompleted"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A offer was completed and removed"] + pub struct OfferCompleted { + pub offer_id: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for OfferCompleted { + const PALLET: &'static str = "StakeExchange"; + const EVENT: &'static str = "OfferCompleted"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Mapping of LP accounts to their configuration"] + pub fn liquidity_configs_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_stake_exchange::types::LiquidityAccountConfig< + ::core::primitive::u128, + runtime_types::enjin_runtime::MaxFilteredTokenCount, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "StakeExchange", + "LiquidityConfigs", + vec![], + [ + 178u8, 179u8, 92u8, 82u8, 57u8, 100u8, 206u8, 233u8, 13u8, 153u8, 47u8, + 21u8, 227u8, 39u8, 87u8, 165u8, 89u8, 91u8, 253u8, 67u8, 200u8, 80u8, + 246u8, 104u8, 45u8, 211u8, 109u8, 233u8, 131u8, 121u8, 148u8, 226u8, + ], + ) + } + #[doc = " Mapping of LP accounts to their configuration"] + pub fn liquidity_configs( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_stake_exchange::types::LiquidityAccountConfig< + ::core::primitive::u128, + runtime_types::enjin_runtime::MaxFilteredTokenCount, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "StakeExchange", + "LiquidityConfigs", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 178u8, 179u8, 92u8, 82u8, 57u8, 100u8, 206u8, 233u8, 13u8, 153u8, 47u8, + 21u8, 227u8, 39u8, 87u8, 165u8, 89u8, 91u8, 253u8, 67u8, 200u8, 80u8, + 246u8, 104u8, 45u8, 211u8, 109u8, 233u8, 131u8, 121u8, 148u8, 226u8, + ], + ) + } + #[doc = " Mapping of LPAccountId to their active offer"] + pub fn offers_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_stake_exchange::types::Offer< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "StakeExchange", + "Offers", + vec![], + [ + 70u8, 16u8, 227u8, 74u8, 9u8, 83u8, 37u8, 98u8, 137u8, 107u8, 181u8, + 27u8, 234u8, 86u8, 63u8, 30u8, 158u8, 37u8, 231u8, 34u8, 89u8, 145u8, + 139u8, 101u8, 61u8, 178u8, 80u8, 94u8, 182u8, 93u8, 90u8, 209u8, + ], + ) + } + #[doc = " Mapping of LPAccountId to their active offer"] + pub fn offers( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u128>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_stake_exchange::types::Offer< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "StakeExchange", + "Offers", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 70u8, 16u8, 227u8, 74u8, 9u8, 83u8, 37u8, 98u8, 137u8, 107u8, 181u8, + 27u8, 234u8, 86u8, 63u8, 30u8, 158u8, 37u8, 231u8, 34u8, 89u8, 145u8, + 139u8, 101u8, 61u8, 178u8, 80u8, 94u8, 182u8, 93u8, 90u8, 209u8, + ], + ) + } + #[doc = " Value to use for Next offer Id"] + pub fn next_offer_id( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "StakeExchange", + "NextOfferId", + vec![], + [ + 199u8, 244u8, 45u8, 188u8, 196u8, 179u8, 86u8, 34u8, 112u8, 178u8, + 98u8, 42u8, 29u8, 1u8, 68u8, 180u8, 91u8, 205u8, 249u8, 232u8, 50u8, + 55u8, 131u8, 88u8, 192u8, 82u8, 203u8, 165u8, 252u8, 193u8, 218u8, 9u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The id used for making reservations with this pallet"] + pub fn reserve_identifier( + &self, + ) -> ::subxt::constants::Address<[::core::primitive::u8; 8usize]> { + ::subxt::constants::Address::new_static( + "StakeExchange", + "ReserveIdentifier", + [ + 157u8, 118u8, 79u8, 88u8, 241u8, 22u8, 185u8, 37u8, 42u8, 20u8, 133u8, + 240u8, 11u8, 25u8, 66u8, 154u8, 84u8, 163u8, 78u8, 92u8, 171u8, 82u8, + 248u8, 76u8, 189u8, 70u8, 142u8, 249u8, 153u8, 84u8, 180u8, 60u8, + ], + ) + } + #[doc = " The maximum number of tokens that can be whitelisted/blacklisted"] + pub fn max_filtered_token_count( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "StakeExchange", + "MaxFilteredTokenCount", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The deposit for creating an offer"] + pub fn offer_deposit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "StakeExchange", + "OfferDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + } + } + } + pub mod utility { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_utility::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_utility::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Batch { + pub calls: ::std::vec::Vec, + } + impl ::subxt::blocks::StaticExtrinsic for Batch { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "batch"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AsDerivative { + pub index: ::core::primitive::u16, + pub call: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for AsDerivative { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "as_derivative"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BatchAll { + pub calls: ::std::vec::Vec, + } + impl ::subxt::blocks::StaticExtrinsic for BatchAll { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "batch_all"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DispatchAs { + pub as_origin: ::std::boxed::Box, + pub call: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for DispatchAs { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "dispatch_as"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceBatch { + pub calls: ::std::vec::Vec, + } + impl ::subxt::blocks::StaticExtrinsic for ForceBatch { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "force_batch"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WithWeight { + pub call: ::std::boxed::Box, + pub weight: runtime_types::sp_weights::weight_v2::Weight, + } + impl ::subxt::blocks::StaticExtrinsic for WithWeight { + const PALLET: &'static str = "Utility"; + const CALL: &'static str = "with_weight"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Send a batch of dispatch calls."] + #[doc = ""] + #[doc = "May be called from any origin except `None`."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] + #[doc = ""] + #[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"] + #[doc = "event is deposited. If a call failed and the batch was interrupted, then the"] + #[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"] + #[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"] + #[doc = "event is deposited."] + pub fn batch( + &self, + calls: ::std::vec::Vec, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Utility", + "batch", + types::Batch { calls }, + [ + 209u8, 253u8, 215u8, 134u8, 127u8, 52u8, 204u8, 40u8, 51u8, 252u8, + 192u8, 96u8, 254u8, 226u8, 62u8, 202u8, 53u8, 26u8, 42u8, 225u8, 179u8, + 138u8, 114u8, 91u8, 131u8, 166u8, 251u8, 224u8, 95u8, 159u8, 59u8, + 127u8, + ], + ) + } + #[doc = "Send a call through an indexed pseudonym of the sender."] + #[doc = ""] + #[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"] + #[doc = "use the same filter as the origin of this call."] + #[doc = ""] + #[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."] + #[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"] + #[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"] + #[doc = "in the Multisig pallet instead."] + #[doc = ""] + #[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + pub fn as_derivative( + &self, + index: ::core::primitive::u16, + call: runtime_types::enjin_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Utility", + "as_derivative", + types::AsDerivative { + index, + call: ::std::boxed::Box::new(call), + }, + [ + 33u8, 219u8, 203u8, 84u8, 64u8, 157u8, 44u8, 22u8, 129u8, 108u8, 166u8, + 136u8, 106u8, 12u8, 119u8, 234u8, 198u8, 16u8, 41u8, 237u8, 189u8, + 221u8, 41u8, 161u8, 31u8, 230u8, 206u8, 241u8, 59u8, 241u8, 85u8, 97u8, + ], + ) + } + #[doc = "Send a batch of dispatch calls and atomically execute them."] + #[doc = "The whole transaction will rollback and fail if any of the calls failed."] + #[doc = ""] + #[doc = "May be called from any origin except `None`."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] + pub fn batch_all( + &self, + calls: ::std::vec::Vec, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Utility", + "batch_all", + types::BatchAll { calls }, + [ + 162u8, 29u8, 101u8, 154u8, 190u8, 63u8, 85u8, 108u8, 57u8, 170u8, + 207u8, 94u8, 130u8, 96u8, 200u8, 60u8, 53u8, 97u8, 102u8, 231u8, 191u8, + 194u8, 75u8, 213u8, 38u8, 196u8, 45u8, 176u8, 104u8, 173u8, 130u8, + 111u8, + ], + ) + } + #[doc = "Dispatches a function call with a provided origin."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + pub fn dispatch_as( + &self, + as_origin: runtime_types::enjin_runtime::OriginCaller, + call: runtime_types::enjin_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Utility", + "dispatch_as", + types::DispatchAs { + as_origin: ::std::boxed::Box::new(as_origin), + call: ::std::boxed::Box::new(call), + }, + [ + 254u8, 216u8, 170u8, 100u8, 177u8, 96u8, 138u8, 224u8, 234u8, 220u8, + 174u8, 251u8, 0u8, 121u8, 170u8, 228u8, 92u8, 33u8, 118u8, 177u8, 88u8, + 155u8, 185u8, 150u8, 162u8, 174u8, 179u8, 150u8, 202u8, 169u8, 132u8, + 203u8, + ], + ) + } + #[doc = "Send a batch of dispatch calls."] + #[doc = "Unlike `batch`, it allows errors and won't interrupt."] + #[doc = ""] + #[doc = "May be called from any origin except `None`."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] + pub fn force_batch( + &self, + calls: ::std::vec::Vec, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Utility", + "force_batch", + types::ForceBatch { calls }, + [ + 57u8, 119u8, 131u8, 13u8, 219u8, 224u8, 252u8, 170u8, 22u8, 87u8, + 201u8, 206u8, 253u8, 211u8, 197u8, 167u8, 239u8, 212u8, 251u8, 43u8, + 50u8, 227u8, 41u8, 24u8, 162u8, 74u8, 96u8, 107u8, 15u8, 235u8, 183u8, + 62u8, + ], + ) + } + #[doc = "Dispatch a function call with a specified weight."] + #[doc = ""] + #[doc = "This function does not check the weight of the call, and instead allows the"] + #[doc = "Root origin to specify the weight of the call."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + pub fn with_weight( + &self, + call: runtime_types::enjin_runtime::RuntimeCall, + weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Utility", + "with_weight", + types::WithWeight { + call: ::std::boxed::Box::new(call), + weight, + }, + [ + 195u8, 168u8, 78u8, 28u8, 9u8, 37u8, 166u8, 159u8, 125u8, 246u8, 246u8, + 144u8, 95u8, 199u8, 189u8, 140u8, 199u8, 49u8, 58u8, 183u8, 120u8, + 120u8, 36u8, 228u8, 65u8, 248u8, 67u8, 107u8, 163u8, 250u8, 42u8, + 173u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_utility::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] + #[doc = "well as the error."] + pub struct BatchInterrupted { + pub index: ::core::primitive::u32, + pub error: runtime_types::sp_runtime::DispatchError, + } + impl ::subxt::events::StaticEvent for BatchInterrupted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchInterrupted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Batch of dispatches completed fully with no error."] + pub struct BatchCompleted; + impl ::subxt::events::StaticEvent for BatchCompleted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchCompleted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Batch of dispatches completed but has errors."] + pub struct BatchCompletedWithErrors; + impl ::subxt::events::StaticEvent for BatchCompletedWithErrors { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "BatchCompletedWithErrors"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A single item within a Batch of dispatches has completed with no error."] + pub struct ItemCompleted; + impl ::subxt::events::StaticEvent for ItemCompleted { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "ItemCompleted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A single item within a Batch of dispatches has completed with error."] + pub struct ItemFailed { + pub error: runtime_types::sp_runtime::DispatchError, + } + impl ::subxt::events::StaticEvent for ItemFailed { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "ItemFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A call was dispatched."] + pub struct DispatchedAs { + pub result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for DispatchedAs { + const PALLET: &'static str = "Utility"; + const EVENT: &'static str = "DispatchedAs"; + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The limit on the number of batched calls."] + pub fn batched_calls_limit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Utility", + "batched_calls_limit", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod multisig { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_multisig::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_multisig::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AsMultiThreshold1 { + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub call: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for AsMultiThreshold1 { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "as_multi_threshold_1"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + pub call: ::std::boxed::Box, + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + impl ::subxt::blocks::StaticExtrinsic for AsMulti { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "as_multi"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ApproveAsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + pub call_hash: [::core::primitive::u8; 32usize], + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + impl ::subxt::blocks::StaticExtrinsic for ApproveAsMulti { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "approve_as_multi"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelAsMulti { + pub threshold: ::core::primitive::u16, + pub other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub call_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::blocks::StaticExtrinsic for CancelAsMulti { + const PALLET: &'static str = "Multisig"; + const CALL: &'static str = "cancel_as_multi"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `other_signatories`: The accounts (other than the sender) who are part of the"] + #[doc = "multi-signature, but do not participate in the approval process."] + #[doc = "- `call`: The call to be executed."] + #[doc = ""] + #[doc = "Result is equivalent to the dispatched result."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."] + pub fn as_multi_threshold_1( + &self, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + call: runtime_types::enjin_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Multisig", + "as_multi_threshold_1", + types::AsMultiThreshold1 { + other_signatories, + call: ::std::boxed::Box::new(call), + }, + [ + 8u8, 251u8, 82u8, 68u8, 115u8, 218u8, 114u8, 182u8, 184u8, 25u8, 22u8, + 128u8, 139u8, 42u8, 37u8, 194u8, 125u8, 97u8, 212u8, 38u8, 233u8, + 149u8, 169u8, 23u8, 173u8, 35u8, 112u8, 99u8, 89u8, 84u8, 134u8, 62u8, + ], + ) + } + #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] + #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] + #[doc = ""] + #[doc = "If there are enough, then dispatch the call."] + #[doc = ""] + #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] + #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] + #[doc = "is cancelled."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] + #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] + #[doc = "transaction index) of the first approval transaction."] + #[doc = "- `call`: The call to be executed."] + #[doc = ""] + #[doc = "NOTE: Unless this is the final approval, you will generally want to use"] + #[doc = "`approve_as_multi` instead, since it only requires a hash of the call."] + #[doc = ""] + #[doc = "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise"] + #[doc = "on success, result is `Ok` and the result from the interior call, if it was executed,"] + #[doc = "may be found in the deposited `MultisigExecuted` event."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(S + Z + Call)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] + #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] + #[doc = "- One event."] + #[doc = "- The weight of the `call`."] + #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] + #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] + pub fn as_multi( + &self, + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + call: runtime_types::enjin_runtime::RuntimeCall, + max_weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Multisig", + "as_multi", + types::AsMulti { + threshold, + other_signatories, + maybe_timepoint, + call: ::std::boxed::Box::new(call), + max_weight, + }, + [ + 249u8, 8u8, 146u8, 108u8, 24u8, 103u8, 230u8, 50u8, 83u8, 59u8, 7u8, + 223u8, 31u8, 69u8, 76u8, 116u8, 169u8, 6u8, 235u8, 112u8, 155u8, 199u8, + 179u8, 46u8, 255u8, 106u8, 149u8, 188u8, 205u8, 183u8, 78u8, 194u8, + ], + ) + } + #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] + #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] + #[doc = ""] + #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] + #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] + #[doc = "is cancelled."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] + #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] + #[doc = "transaction index) of the first approval transaction."] + #[doc = "- `call_hash`: The hash of the call to be executed."] + #[doc = ""] + #[doc = "NOTE: If this is the final approval, you will want to use `as_multi` instead."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(S)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] + #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] + #[doc = "- One event."] + #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] + #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] + pub fn approve_as_multi( + &self, + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + call_hash: [::core::primitive::u8; 32usize], + max_weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Multisig", + "approve_as_multi", + types::ApproveAsMulti { + threshold, + other_signatories, + maybe_timepoint, + call_hash, + max_weight, + }, + [ + 248u8, 46u8, 131u8, 35u8, 204u8, 12u8, 218u8, 150u8, 88u8, 131u8, 89u8, + 13u8, 95u8, 122u8, 87u8, 107u8, 136u8, 154u8, 92u8, 199u8, 108u8, 92u8, + 207u8, 171u8, 113u8, 8u8, 47u8, 248u8, 65u8, 26u8, 203u8, 135u8, + ], + ) + } + #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] + #[doc = "for this operation will be unreserved on success."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `timepoint`: The timepoint (block number and transaction index) of the first approval"] + #[doc = "transaction for this dispatch."] + #[doc = "- `call_hash`: The hash of the call to be executed."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(S)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- One event."] + #[doc = "- I/O: 1 read `O(S)`, one remove."] + #[doc = "- Storage: removes one item."] + pub fn cancel_as_multi( + &self, + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + call_hash: [::core::primitive::u8; 32usize], + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Multisig", + "cancel_as_multi", + types::CancelAsMulti { + threshold, + other_signatories, + timepoint, + call_hash, + }, + [ + 212u8, 179u8, 123u8, 40u8, 209u8, 228u8, 181u8, 0u8, 109u8, 28u8, 27u8, + 48u8, 15u8, 47u8, 203u8, 54u8, 106u8, 114u8, 28u8, 118u8, 101u8, 201u8, + 95u8, 187u8, 46u8, 182u8, 4u8, 30u8, 227u8, 105u8, 14u8, 81u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_multisig::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new multisig operation has begun."] + pub struct NewMultisig { + pub approving: ::subxt::utils::AccountId32, + pub multisig: ::subxt::utils::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for NewMultisig { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "NewMultisig"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A multisig operation has been approved by someone."] + pub struct MultisigApproval { + pub approving: ::subxt::utils::AccountId32, + pub timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub multisig: ::subxt::utils::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for MultisigApproval { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigApproval"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A multisig operation has been executed."] + pub struct MultisigExecuted { + pub approving: ::subxt::utils::AccountId32, + pub timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub multisig: ::subxt::utils::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + pub result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for MultisigExecuted { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigExecuted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A multisig operation has been cancelled."] + pub struct MultisigCancelled { + pub cancelling: ::subxt::utils::AccountId32, + pub timepoint: runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + pub multisig: ::subxt::utils::AccountId32, + pub call_hash: [::core::primitive::u8; 32usize], + } + impl ::subxt::events::StaticEvent for MultisigCancelled { + const PALLET: &'static str = "Multisig"; + const EVENT: &'static str = "MultisigCancelled"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The set of open multisig operations."] + pub fn multisigs_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_multisig::Multisig< + ::core::primitive::u32, + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Multisig", + "Multisigs", + vec![], + [ + 154u8, 109u8, 45u8, 18u8, 155u8, 151u8, 81u8, 28u8, 86u8, 127u8, 189u8, + 151u8, 49u8, 61u8, 12u8, 149u8, 84u8, 61u8, 110u8, 197u8, 200u8, 140u8, + 37u8, 100u8, 14u8, 162u8, 158u8, 161u8, 48u8, 117u8, 102u8, 61u8, + ], + ) + } + #[doc = " The set of open multisig operations."] + pub fn multisigs_iter1( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_multisig::Multisig< + ::core::primitive::u32, + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Multisig", + "Multisigs", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 154u8, 109u8, 45u8, 18u8, 155u8, 151u8, 81u8, 28u8, 86u8, 127u8, 189u8, + 151u8, 49u8, 61u8, 12u8, 149u8, 84u8, 61u8, 110u8, 197u8, 200u8, 140u8, + 37u8, 100u8, 14u8, 162u8, 158u8, 161u8, 48u8, 117u8, 102u8, 61u8, + ], + ) + } + #[doc = " The set of open multisig operations."] + pub fn multisigs( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<[::core::primitive::u8; 32usize]>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_multisig::Multisig< + ::core::primitive::u32, + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Multisig", + "Multisigs", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 154u8, 109u8, 45u8, 18u8, 155u8, 151u8, 81u8, 28u8, 86u8, 127u8, 189u8, + 151u8, 49u8, 61u8, 12u8, 149u8, 84u8, 61u8, 110u8, 197u8, 200u8, 140u8, + 37u8, 100u8, 14u8, 162u8, 158u8, 161u8, 48u8, 117u8, 102u8, 61u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The base amount of currency needed to reserve for creating a multisig execution or to"] + #[doc = " store a dispatch call for later."] + #[doc = ""] + #[doc = " This is held for an additional storage item whose value size is"] + #[doc = " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is"] + #[doc = " `32 + sizeof(AccountId)` bytes."] + pub fn deposit_base(&self) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Multisig", + "DepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of currency needed per unit threshold when creating a multisig execution."] + #[doc = ""] + #[doc = " This is held for adding 32 bytes more into a pre-existing storage value."] + pub fn deposit_factor( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Multisig", + "DepositFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum amount of signatories allowed in the multisig."] + pub fn max_signatories( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Multisig", + "MaxSignatories", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod parachains_origin { + use super::root_mod; + use super::runtime_types; + } + pub mod configuration { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_parachains::configuration::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::configuration::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetValidationUpgradeCooldown { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetValidationUpgradeCooldown { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_validation_upgrade_cooldown"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetValidationUpgradeDelay { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetValidationUpgradeDelay { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_validation_upgrade_delay"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetCodeRetentionPeriod { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetCodeRetentionPeriod { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_code_retention_period"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxCodeSize { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetMaxCodeSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_code_size"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxPovSize { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetMaxPovSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_pov_size"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxHeadDataSize { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetMaxHeadDataSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_head_data_size"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetParathreadCores { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetParathreadCores { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_parathread_cores"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetParathreadRetries { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetParathreadRetries { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_parathread_retries"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetGroupRotationFrequency { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetGroupRotationFrequency { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_group_rotation_frequency"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetChainAvailabilityPeriod { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetChainAvailabilityPeriod { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_chain_availability_period"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetThreadAvailabilityPeriod { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetThreadAvailabilityPeriod { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_thread_availability_period"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetSchedulingLookahead { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetSchedulingLookahead { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_scheduling_lookahead"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxValidatorsPerCore { + pub new: ::core::option::Option<::core::primitive::u32>, + } + impl ::subxt::blocks::StaticExtrinsic for SetMaxValidatorsPerCore { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_validators_per_core"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxValidators { + pub new: ::core::option::Option<::core::primitive::u32>, + } + impl ::subxt::blocks::StaticExtrinsic for SetMaxValidators { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_validators"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetDisputePeriod { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetDisputePeriod { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_dispute_period"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetDisputePostConclusionAcceptancePeriod { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetDisputePostConclusionAcceptancePeriod { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_dispute_post_conclusion_acceptance_period"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetNoShowSlots { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetNoShowSlots { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_no_show_slots"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetNDelayTranches { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetNDelayTranches { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_n_delay_tranches"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetZerothDelayTrancheWidth { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetZerothDelayTrancheWidth { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_zeroth_delay_tranche_width"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetNeededApprovals { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetNeededApprovals { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_needed_approvals"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetRelayVrfModuloSamples { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetRelayVrfModuloSamples { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_relay_vrf_modulo_samples"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxUpwardQueueCount { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetMaxUpwardQueueCount { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_upward_queue_count"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxUpwardQueueSize { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetMaxUpwardQueueSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_upward_queue_size"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxDownwardMessageSize { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetMaxDownwardMessageSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_downward_message_size"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxUpwardMessageSize { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetMaxUpwardMessageSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_upward_message_size"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMaxUpwardMessageNumPerCandidate { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetMaxUpwardMessageNumPerCandidate { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_max_upward_message_num_per_candidate"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpOpenRequestTtl { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpOpenRequestTtl { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_open_request_ttl"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpSenderDeposit { + pub new: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpSenderDeposit { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_sender_deposit"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpRecipientDeposit { + pub new: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpRecipientDeposit { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_recipient_deposit"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpChannelMaxCapacity { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpChannelMaxCapacity { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_channel_max_capacity"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpChannelMaxTotalSize { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpChannelMaxTotalSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_channel_max_total_size"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpMaxParachainInboundChannels { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpMaxParachainInboundChannels { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_max_parachain_inbound_channels"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpMaxParathreadInboundChannels { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpMaxParathreadInboundChannels { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_max_parathread_inbound_channels"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpChannelMaxMessageSize { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpChannelMaxMessageSize { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_channel_max_message_size"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpMaxParachainOutboundChannels { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpMaxParachainOutboundChannels { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_max_parachain_outbound_channels"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpMaxParathreadOutboundChannels { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpMaxParathreadOutboundChannels { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_max_parathread_outbound_channels"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetHrmpMaxMessageNumPerCandidate { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetHrmpMaxMessageNumPerCandidate { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_hrmp_max_message_num_per_candidate"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetPvfCheckingEnabled { + pub new: ::core::primitive::bool, + } + impl ::subxt::blocks::StaticExtrinsic for SetPvfCheckingEnabled { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_pvf_checking_enabled"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetPvfVotingTtl { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetPvfVotingTtl { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_pvf_voting_ttl"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMinimumValidationUpgradeDelay { + pub new: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SetMinimumValidationUpgradeDelay { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_minimum_validation_upgrade_delay"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetBypassConsistencyCheck { + pub new: ::core::primitive::bool, + } + impl ::subxt::blocks::StaticExtrinsic for SetBypassConsistencyCheck { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_bypass_consistency_check"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetAsyncBackingParams { + pub new: runtime_types::polkadot_primitives::vstaging::AsyncBackingParams, + } + impl ::subxt::blocks::StaticExtrinsic for SetAsyncBackingParams { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_async_backing_params"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetExecutorParams { + pub new: + runtime_types::polkadot_primitives::v4::executor_params::ExecutorParams, + } + impl ::subxt::blocks::StaticExtrinsic for SetExecutorParams { + const PALLET: &'static str = "Configuration"; + const CALL: &'static str = "set_executor_params"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Set the validation upgrade cooldown."] + pub fn set_validation_upgrade_cooldown( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_validation_upgrade_cooldown", + types::SetValidationUpgradeCooldown { new }, + [ + 233u8, 224u8, 19u8, 198u8, 27u8, 104u8, 64u8, 248u8, 223u8, 51u8, + 175u8, 162u8, 183u8, 43u8, 108u8, 246u8, 162u8, 210u8, 53u8, 56u8, + 174u8, 203u8, 79u8, 143u8, 13u8, 101u8, 100u8, 11u8, 127u8, 76u8, 71u8, + 228u8, + ], + ) + } + #[doc = "Set the validation upgrade delay."] + pub fn set_validation_upgrade_delay( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_validation_upgrade_delay", + types::SetValidationUpgradeDelay { new }, + [ + 13u8, 139u8, 210u8, 115u8, 20u8, 121u8, 55u8, 118u8, 101u8, 236u8, + 95u8, 79u8, 46u8, 44u8, 129u8, 129u8, 60u8, 198u8, 13u8, 17u8, 115u8, + 187u8, 181u8, 37u8, 75u8, 153u8, 13u8, 196u8, 49u8, 204u8, 26u8, 198u8, + ], + ) + } + #[doc = "Set the acceptance period for an included candidate."] + pub fn set_code_retention_period( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_code_retention_period", + types::SetCodeRetentionPeriod { new }, + [ + 169u8, 77u8, 107u8, 175u8, 172u8, 177u8, 169u8, 194u8, 219u8, 6u8, + 192u8, 40u8, 55u8, 241u8, 128u8, 111u8, 95u8, 67u8, 173u8, 247u8, + 220u8, 66u8, 45u8, 76u8, 108u8, 137u8, 220u8, 194u8, 86u8, 41u8, 245u8, + 226u8, + ], + ) + } + #[doc = "Set the max validation code size for incoming upgrades."] + pub fn set_max_code_size( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_max_code_size", + types::SetMaxCodeSize { new }, + [ + 122u8, 74u8, 244u8, 226u8, 89u8, 175u8, 191u8, 163u8, 34u8, 79u8, + 118u8, 254u8, 236u8, 215u8, 8u8, 182u8, 71u8, 180u8, 224u8, 165u8, + 226u8, 242u8, 124u8, 34u8, 38u8, 27u8, 29u8, 140u8, 187u8, 93u8, 131u8, + 168u8, + ], + ) + } + #[doc = "Set the max POV block size for incoming upgrades."] + pub fn set_max_pov_size( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_max_pov_size", + types::SetMaxPovSize { new }, + [ + 170u8, 106u8, 163u8, 4u8, 27u8, 72u8, 250u8, 59u8, 133u8, 128u8, 177u8, + 209u8, 22u8, 42u8, 230u8, 40u8, 192u8, 198u8, 56u8, 195u8, 31u8, 20u8, + 35u8, 196u8, 119u8, 183u8, 141u8, 38u8, 52u8, 54u8, 31u8, 122u8, + ], + ) + } + #[doc = "Set the max head data size for paras."] + pub fn set_max_head_data_size( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_max_head_data_size", + types::SetMaxHeadDataSize { new }, + [ + 216u8, 146u8, 104u8, 253u8, 123u8, 192u8, 123u8, 82u8, 149u8, 22u8, + 31u8, 107u8, 67u8, 102u8, 163u8, 239u8, 57u8, 183u8, 93u8, 20u8, 126u8, + 39u8, 36u8, 242u8, 252u8, 68u8, 150u8, 121u8, 147u8, 186u8, 39u8, + 181u8, + ], + ) + } + #[doc = "Set the number of parathread execution cores."] + pub fn set_parathread_cores( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_parathread_cores", + types::SetParathreadCores { new }, + [ + 230u8, 175u8, 182u8, 232u8, 5u8, 251u8, 196u8, 197u8, 246u8, 111u8, + 65u8, 165u8, 39u8, 174u8, 17u8, 30u8, 147u8, 116u8, 53u8, 254u8, 243u8, + 53u8, 110u8, 122u8, 211u8, 69u8, 122u8, 225u8, 16u8, 128u8, 250u8, + 172u8, + ], + ) + } + #[doc = "Set the number of retries for a particular parathread."] + pub fn set_parathread_retries( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_parathread_retries", + types::SetParathreadRetries { new }, + [ + 12u8, 100u8, 94u8, 156u8, 161u8, 134u8, 229u8, 28u8, 106u8, 41u8, + 138u8, 162u8, 196u8, 224u8, 56u8, 149u8, 42u8, 141u8, 184u8, 192u8, + 53u8, 9u8, 18u8, 21u8, 143u8, 188u8, 244u8, 254u8, 101u8, 206u8, 102u8, + 187u8, + ], + ) + } + #[doc = "Set the parachain validator-group rotation frequency"] + pub fn set_group_rotation_frequency( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_group_rotation_frequency", + types::SetGroupRotationFrequency { new }, + [ + 33u8, 142u8, 63u8, 205u8, 128u8, 109u8, 157u8, 33u8, 122u8, 91u8, 57u8, + 223u8, 134u8, 80u8, 108u8, 187u8, 147u8, 120u8, 104u8, 170u8, 32u8, + 135u8, 102u8, 38u8, 82u8, 20u8, 123u8, 211u8, 245u8, 91u8, 134u8, 44u8, + ], + ) + } + #[doc = "Set the availability period for parachains."] + pub fn set_chain_availability_period( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_chain_availability_period", + types::SetChainAvailabilityPeriod { new }, + [ + 117u8, 26u8, 125u8, 221u8, 25u8, 252u8, 92u8, 61u8, 28u8, 172u8, 164u8, + 43u8, 55u8, 7u8, 100u8, 219u8, 234u8, 157u8, 180u8, 216u8, 165u8, + 145u8, 1u8, 43u8, 133u8, 203u8, 160u8, 147u8, 46u8, 227u8, 153u8, + 112u8, + ], + ) + } + #[doc = "Set the availability period for parathreads."] + pub fn set_thread_availability_period( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_thread_availability_period", + types::SetThreadAvailabilityPeriod { new }, + [ + 223u8, 248u8, 231u8, 210u8, 234u8, 168u8, 224u8, 226u8, 175u8, 76u8, + 161u8, 222u8, 45u8, 238u8, 232u8, 169u8, 11u8, 210u8, 22u8, 13u8, + 145u8, 61u8, 17u8, 203u8, 132u8, 105u8, 196u8, 18u8, 12u8, 156u8, + 243u8, 231u8, + ], + ) + } + #[doc = "Set the scheduling lookahead, in expected number of blocks at peak throughput."] + pub fn set_scheduling_lookahead( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_scheduling_lookahead", + types::SetSchedulingLookahead { new }, + [ + 176u8, 115u8, 251u8, 197u8, 19u8, 106u8, 253u8, 224u8, 149u8, 96u8, + 238u8, 106u8, 19u8, 19u8, 89u8, 249u8, 186u8, 89u8, 144u8, 116u8, + 251u8, 30u8, 157u8, 237u8, 125u8, 153u8, 86u8, 6u8, 251u8, 170u8, 73u8, + 216u8, + ], + ) + } + #[doc = "Set the maximum number of validators to assign to any core."] + pub fn set_max_validators_per_core( + &self, + new: ::core::option::Option<::core::primitive::u32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_max_validators_per_core", + types::SetMaxValidatorsPerCore { new }, + [ + 152u8, 112u8, 244u8, 133u8, 209u8, 166u8, 55u8, 155u8, 12u8, 216u8, + 62u8, 111u8, 81u8, 52u8, 194u8, 121u8, 172u8, 201u8, 204u8, 139u8, + 198u8, 238u8, 9u8, 49u8, 119u8, 236u8, 46u8, 0u8, 179u8, 234u8, 92u8, + 45u8, + ], + ) + } + #[doc = "Set the maximum number of validators to use in parachain consensus."] + pub fn set_max_validators( + &self, + new: ::core::option::Option<::core::primitive::u32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_max_validators", + types::SetMaxValidators { new }, + [ + 219u8, 76u8, 191u8, 139u8, 250u8, 154u8, 232u8, 176u8, 248u8, 154u8, + 185u8, 89u8, 135u8, 151u8, 183u8, 132u8, 72u8, 63u8, 101u8, 183u8, + 142u8, 169u8, 163u8, 226u8, 24u8, 139u8, 78u8, 155u8, 3u8, 136u8, + 142u8, 137u8, + ], + ) + } + #[doc = "Set the dispute period, in number of sessions to keep for disputes."] + pub fn set_dispute_period( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_dispute_period", + types::SetDisputePeriod { new }, + [ + 104u8, 229u8, 235u8, 207u8, 136u8, 207u8, 181u8, 99u8, 0u8, 84u8, + 200u8, 244u8, 220u8, 52u8, 64u8, 26u8, 232u8, 212u8, 242u8, 190u8, + 67u8, 180u8, 171u8, 200u8, 181u8, 23u8, 32u8, 240u8, 231u8, 217u8, + 23u8, 146u8, + ], + ) + } + #[doc = "Set the dispute post conclusion acceptance period."] + pub fn set_dispute_post_conclusion_acceptance_period( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload + { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_dispute_post_conclusion_acceptance_period", + types::SetDisputePostConclusionAcceptancePeriod { new }, + [ + 251u8, 176u8, 139u8, 76u8, 7u8, 246u8, 198u8, 190u8, 39u8, 249u8, 95u8, + 226u8, 53u8, 186u8, 112u8, 101u8, 229u8, 80u8, 240u8, 185u8, 108u8, + 228u8, 91u8, 103u8, 128u8, 218u8, 231u8, 210u8, 164u8, 197u8, 84u8, + 149u8, + ], + ) + } + #[doc = "Set the no show slots, in number of number of consensus slots."] + #[doc = "Must be at least 1."] + pub fn set_no_show_slots( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_no_show_slots", + types::SetNoShowSlots { new }, + [ + 123u8, 204u8, 253u8, 222u8, 224u8, 215u8, 247u8, 154u8, 225u8, 79u8, + 29u8, 171u8, 107u8, 216u8, 215u8, 14u8, 8u8, 230u8, 49u8, 97u8, 20u8, + 84u8, 70u8, 33u8, 254u8, 63u8, 186u8, 7u8, 184u8, 135u8, 74u8, 139u8, + ], + ) + } + #[doc = "Set the total number of delay tranches."] + pub fn set_n_delay_tranches( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_n_delay_tranches", + types::SetNDelayTranches { new }, + [ + 157u8, 177u8, 251u8, 227u8, 118u8, 250u8, 129u8, 254u8, 33u8, 250u8, + 61u8, 148u8, 189u8, 92u8, 49u8, 119u8, 107u8, 40u8, 255u8, 119u8, + 241u8, 188u8, 109u8, 240u8, 229u8, 169u8, 31u8, 62u8, 174u8, 14u8, + 247u8, 235u8, + ], + ) + } + #[doc = "Set the zeroth delay tranche width."] + pub fn set_zeroth_delay_tranche_width( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_zeroth_delay_tranche_width", + types::SetZerothDelayTrancheWidth { new }, + [ + 30u8, 195u8, 15u8, 51u8, 210u8, 159u8, 254u8, 207u8, 121u8, 172u8, + 107u8, 241u8, 55u8, 100u8, 159u8, 55u8, 76u8, 47u8, 86u8, 93u8, 221u8, + 34u8, 136u8, 97u8, 224u8, 141u8, 46u8, 181u8, 246u8, 137u8, 79u8, 57u8, + ], + ) + } + #[doc = "Set the number of validators needed to approve a block."] + pub fn set_needed_approvals( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_needed_approvals", + types::SetNeededApprovals { new }, + [ + 245u8, 105u8, 16u8, 120u8, 28u8, 231u8, 6u8, 50u8, 143u8, 102u8, 1u8, + 97u8, 224u8, 232u8, 187u8, 164u8, 200u8, 31u8, 129u8, 139u8, 79u8, + 170u8, 14u8, 147u8, 117u8, 13u8, 98u8, 16u8, 64u8, 169u8, 46u8, 41u8, + ], + ) + } + #[doc = "Set the number of samples to do of the `RelayVRFModulo` approval assignment criterion."] + pub fn set_relay_vrf_modulo_samples( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_relay_vrf_modulo_samples", + types::SetRelayVrfModuloSamples { new }, + [ + 96u8, 100u8, 42u8, 61u8, 244u8, 226u8, 135u8, 187u8, 56u8, 193u8, + 247u8, 236u8, 38u8, 40u8, 242u8, 222u8, 176u8, 209u8, 211u8, 217u8, + 178u8, 32u8, 160u8, 56u8, 23u8, 60u8, 222u8, 166u8, 134u8, 72u8, 153u8, + 14u8, + ], + ) + } + #[doc = "Sets the maximum items that can present in a upward dispatch queue at once."] + pub fn set_max_upward_queue_count( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_max_upward_queue_count", + types::SetMaxUpwardQueueCount { new }, + [ + 187u8, 102u8, 178u8, 141u8, 245u8, 8u8, 221u8, 174u8, 128u8, 239u8, + 104u8, 120u8, 202u8, 220u8, 46u8, 27u8, 175u8, 26u8, 1u8, 170u8, 193u8, + 70u8, 176u8, 13u8, 223u8, 57u8, 153u8, 161u8, 228u8, 175u8, 226u8, + 202u8, + ], + ) + } + #[doc = "Sets the maximum total size of items that can present in a upward dispatch queue at once."] + pub fn set_max_upward_queue_size( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_max_upward_queue_size", + types::SetMaxUpwardQueueSize { new }, + [ + 245u8, 234u8, 151u8, 232u8, 49u8, 193u8, 60u8, 21u8, 103u8, 238u8, + 194u8, 73u8, 238u8, 160u8, 48u8, 88u8, 143u8, 197u8, 110u8, 230u8, + 213u8, 149u8, 171u8, 94u8, 77u8, 6u8, 139u8, 191u8, 158u8, 62u8, 181u8, + 32u8, + ], + ) + } + #[doc = "Set the critical downward message size."] + pub fn set_max_downward_message_size( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_max_downward_message_size", + types::SetMaxDownwardMessageSize { new }, + [ + 63u8, 112u8, 231u8, 193u8, 226u8, 6u8, 119u8, 35u8, 60u8, 34u8, 85u8, + 15u8, 168u8, 16u8, 176u8, 116u8, 169u8, 114u8, 42u8, 208u8, 89u8, + 188u8, 22u8, 145u8, 248u8, 87u8, 74u8, 168u8, 0u8, 202u8, 112u8, 13u8, + ], + ) + } + #[doc = "Sets the maximum size of an upward message that can be sent by a candidate."] + pub fn set_max_upward_message_size( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_max_upward_message_size", + types::SetMaxUpwardMessageSize { new }, + [ + 237u8, 108u8, 33u8, 245u8, 65u8, 209u8, 201u8, 97u8, 126u8, 194u8, + 195u8, 8u8, 144u8, 223u8, 148u8, 242u8, 97u8, 214u8, 38u8, 231u8, + 123u8, 143u8, 34u8, 199u8, 100u8, 183u8, 211u8, 111u8, 250u8, 245u8, + 10u8, 38u8, + ], + ) + } + #[doc = "Sets the maximum number of messages that a candidate can contain."] + pub fn set_max_upward_message_num_per_candidate( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload + { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_max_upward_message_num_per_candidate", + types::SetMaxUpwardMessageNumPerCandidate { new }, + [ + 183u8, 121u8, 87u8, 193u8, 8u8, 160u8, 107u8, 80u8, 50u8, 8u8, 75u8, + 185u8, 195u8, 248u8, 75u8, 174u8, 210u8, 108u8, 149u8, 20u8, 66u8, + 153u8, 20u8, 203u8, 92u8, 99u8, 27u8, 69u8, 212u8, 212u8, 35u8, 49u8, + ], + ) + } + #[doc = "Sets the number of sessions after which an HRMP open channel request expires."] + pub fn set_hrmp_open_request_ttl( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_hrmp_open_request_ttl", + types::SetHrmpOpenRequestTtl { new }, + [ + 233u8, 46u8, 165u8, 59u8, 196u8, 77u8, 161u8, 124u8, 252u8, 98u8, 8u8, + 52u8, 80u8, 17u8, 12u8, 50u8, 25u8, 127u8, 143u8, 252u8, 230u8, 10u8, + 193u8, 251u8, 167u8, 73u8, 40u8, 63u8, 203u8, 119u8, 208u8, 254u8, + ], + ) + } + #[doc = "Sets the amount of funds that the sender should provide for opening an HRMP channel."] + pub fn set_hrmp_sender_deposit( + &self, + new: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_hrmp_sender_deposit", + types::SetHrmpSenderDeposit { new }, + [ + 4u8, 141u8, 15u8, 87u8, 237u8, 39u8, 225u8, 108u8, 159u8, 240u8, 121u8, + 212u8, 225u8, 155u8, 168u8, 28u8, 61u8, 119u8, 232u8, 216u8, 194u8, + 172u8, 147u8, 16u8, 50u8, 100u8, 146u8, 146u8, 69u8, 252u8, 94u8, 47u8, + ], + ) + } + #[doc = "Sets the amount of funds that the recipient should provide for accepting opening an HRMP"] + #[doc = "channel."] + pub fn set_hrmp_recipient_deposit( + &self, + new: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_hrmp_recipient_deposit", + types::SetHrmpRecipientDeposit { new }, + [ + 242u8, 193u8, 202u8, 91u8, 69u8, 252u8, 101u8, 52u8, 162u8, 107u8, + 165u8, 69u8, 90u8, 150u8, 62u8, 239u8, 167u8, 2u8, 221u8, 3u8, 231u8, + 252u8, 82u8, 125u8, 212u8, 174u8, 47u8, 216u8, 219u8, 237u8, 242u8, + 144u8, + ], + ) + } + #[doc = "Sets the maximum number of messages allowed in an HRMP channel at once."] + pub fn set_hrmp_channel_max_capacity( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_hrmp_channel_max_capacity", + types::SetHrmpChannelMaxCapacity { new }, + [ + 140u8, 138u8, 197u8, 45u8, 144u8, 102u8, 150u8, 172u8, 110u8, 6u8, + 99u8, 130u8, 62u8, 217u8, 119u8, 110u8, 180u8, 132u8, 102u8, 161u8, + 78u8, 59u8, 209u8, 44u8, 120u8, 183u8, 13u8, 88u8, 89u8, 15u8, 224u8, + 224u8, + ], + ) + } + #[doc = "Sets the maximum total size of messages in bytes allowed in an HRMP channel at once."] + pub fn set_hrmp_channel_max_total_size( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_hrmp_channel_max_total_size", + types::SetHrmpChannelMaxTotalSize { new }, + [ + 149u8, 21u8, 229u8, 107u8, 125u8, 28u8, 17u8, 155u8, 45u8, 230u8, 50u8, + 64u8, 16u8, 171u8, 24u8, 58u8, 246u8, 57u8, 247u8, 20u8, 34u8, 217u8, + 206u8, 157u8, 40u8, 205u8, 187u8, 205u8, 199u8, 24u8, 115u8, 214u8, + ], + ) + } + #[doc = "Sets the maximum number of inbound HRMP channels a parachain is allowed to accept."] + pub fn set_hrmp_max_parachain_inbound_channels( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload + { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_hrmp_max_parachain_inbound_channels", + types::SetHrmpMaxParachainInboundChannels { new }, + [ + 203u8, 10u8, 55u8, 21u8, 21u8, 254u8, 74u8, 97u8, 34u8, 117u8, 160u8, + 183u8, 168u8, 235u8, 11u8, 9u8, 137u8, 141u8, 150u8, 80u8, 32u8, 41u8, + 118u8, 40u8, 28u8, 74u8, 155u8, 7u8, 63u8, 217u8, 39u8, 104u8, + ], + ) + } + #[doc = "Sets the maximum number of inbound HRMP channels a parathread is allowed to accept."] + pub fn set_hrmp_max_parathread_inbound_channels( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload + { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_hrmp_max_parathread_inbound_channels", + types::SetHrmpMaxParathreadInboundChannels { new }, + [ + 229u8, 236u8, 209u8, 63u8, 160u8, 95u8, 117u8, 90u8, 240u8, 144u8, + 238u8, 227u8, 129u8, 77u8, 234u8, 208u8, 217u8, 186u8, 54u8, 49u8, 6u8, + 142u8, 3u8, 0u8, 90u8, 199u8, 237u8, 37u8, 89u8, 201u8, 76u8, 224u8, + ], + ) + } + #[doc = "Sets the maximum size of a message that could ever be put into an HRMP channel."] + pub fn set_hrmp_channel_max_message_size( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_hrmp_channel_max_message_size", + types::SetHrmpChannelMaxMessageSize { new }, + [ + 153u8, 216u8, 55u8, 31u8, 189u8, 173u8, 23u8, 6u8, 213u8, 103u8, 205u8, + 154u8, 115u8, 105u8, 84u8, 133u8, 94u8, 254u8, 47u8, 128u8, 130u8, + 114u8, 227u8, 102u8, 214u8, 146u8, 215u8, 183u8, 179u8, 151u8, 43u8, + 187u8, + ], + ) + } + #[doc = "Sets the maximum number of outbound HRMP channels a parachain is allowed to open."] + pub fn set_hrmp_max_parachain_outbound_channels( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload + { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_hrmp_max_parachain_outbound_channels", + types::SetHrmpMaxParachainOutboundChannels { new }, + [ + 91u8, 100u8, 158u8, 17u8, 123u8, 31u8, 6u8, 92u8, 80u8, 92u8, 83u8, + 195u8, 234u8, 207u8, 55u8, 88u8, 75u8, 81u8, 219u8, 131u8, 234u8, 5u8, + 75u8, 236u8, 57u8, 93u8, 70u8, 145u8, 255u8, 171u8, 25u8, 174u8, + ], + ) + } + #[doc = "Sets the maximum number of outbound HRMP channels a parathread is allowed to open."] + pub fn set_hrmp_max_parathread_outbound_channels( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload + { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_hrmp_max_parathread_outbound_channels", + types::SetHrmpMaxParathreadOutboundChannels { new }, + [ + 147u8, 44u8, 219u8, 160u8, 208u8, 228u8, 97u8, 106u8, 247u8, 254u8, + 48u8, 90u8, 62u8, 151u8, 207u8, 214u8, 98u8, 163u8, 76u8, 175u8, 47u8, + 218u8, 52u8, 88u8, 165u8, 159u8, 169u8, 165u8, 192u8, 163u8, 37u8, + 110u8, + ], + ) + } + #[doc = "Sets the maximum number of outbound HRMP messages can be sent by a candidate."] + pub fn set_hrmp_max_message_num_per_candidate( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_hrmp_max_message_num_per_candidate", + types::SetHrmpMaxMessageNumPerCandidate { new }, + [ + 179u8, 44u8, 231u8, 12u8, 166u8, 160u8, 223u8, 164u8, 218u8, 173u8, + 157u8, 49u8, 16u8, 220u8, 0u8, 224u8, 67u8, 194u8, 210u8, 207u8, 237u8, + 96u8, 96u8, 24u8, 71u8, 237u8, 30u8, 152u8, 105u8, 245u8, 157u8, 218u8, + ], + ) + } + #[doc = "Enable or disable PVF pre-checking. Consult the field documentation prior executing."] + pub fn set_pvf_checking_enabled( + &self, + new: ::core::primitive::bool, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_pvf_checking_enabled", + types::SetPvfCheckingEnabled { new }, + [ + 27u8, 146u8, 204u8, 24u8, 52u8, 183u8, 126u8, 151u8, 243u8, 172u8, + 175u8, 96u8, 36u8, 210u8, 162u8, 142u8, 71u8, 211u8, 51u8, 12u8, 105u8, + 148u8, 181u8, 111u8, 182u8, 161u8, 196u8, 163u8, 99u8, 149u8, 139u8, + 12u8, + ], + ) + } + #[doc = "Set the number of session changes after which a PVF pre-checking voting is rejected."] + pub fn set_pvf_voting_ttl( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_pvf_voting_ttl", + types::SetPvfVotingTtl { new }, + [ + 115u8, 135u8, 76u8, 222u8, 214u8, 80u8, 103u8, 250u8, 194u8, 34u8, + 129u8, 245u8, 216u8, 69u8, 166u8, 247u8, 138u8, 94u8, 135u8, 228u8, + 90u8, 145u8, 2u8, 244u8, 73u8, 178u8, 61u8, 251u8, 21u8, 197u8, 202u8, + 246u8, + ], + ) + } + #[doc = "Sets the minimum delay between announcing the upgrade block for a parachain until the"] + #[doc = "upgrade taking place."] + #[doc = ""] + #[doc = "See the field documentation for information and constraints for the new value."] + pub fn set_minimum_validation_upgrade_delay( + &self, + new: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_minimum_validation_upgrade_delay", + types::SetMinimumValidationUpgradeDelay { new }, + [ + 143u8, 217u8, 201u8, 206u8, 206u8, 244u8, 116u8, 118u8, 13u8, 169u8, + 132u8, 125u8, 253u8, 178u8, 196u8, 12u8, 251u8, 32u8, 201u8, 133u8, + 50u8, 59u8, 37u8, 169u8, 198u8, 112u8, 136u8, 47u8, 205u8, 141u8, + 191u8, 212u8, + ], + ) + } + #[doc = "Setting this to true will disable consistency checks for the configuration setters."] + #[doc = "Use with caution."] + pub fn set_bypass_consistency_check( + &self, + new: ::core::primitive::bool, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_bypass_consistency_check", + types::SetBypassConsistencyCheck { new }, + [ + 11u8, 211u8, 68u8, 221u8, 178u8, 108u8, 101u8, 55u8, 107u8, 135u8, + 203u8, 112u8, 173u8, 161u8, 23u8, 104u8, 95u8, 200u8, 46u8, 231u8, + 114u8, 3u8, 8u8, 89u8, 147u8, 141u8, 55u8, 65u8, 125u8, 45u8, 218u8, + 78u8, + ], + ) + } + #[doc = "Set the asynchronous backing parameters."] + pub fn set_async_backing_params( + &self, + new: runtime_types::polkadot_primitives::vstaging::AsyncBackingParams, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_async_backing_params", + types::SetAsyncBackingParams { new }, + [ + 28u8, 148u8, 243u8, 41u8, 68u8, 91u8, 113u8, 162u8, 126u8, 115u8, + 122u8, 220u8, 126u8, 19u8, 119u8, 236u8, 20u8, 112u8, 181u8, 76u8, + 191u8, 225u8, 44u8, 207u8, 85u8, 246u8, 10u8, 167u8, 132u8, 211u8, + 14u8, 83u8, + ], + ) + } + #[doc = "Set PVF executor parameters."] + pub fn set_executor_params( + &self, + new: runtime_types::polkadot_primitives::v4::executor_params::ExecutorParams, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Configuration", + "set_executor_params", + types::SetExecutorParams { new }, + [ + 219u8, 27u8, 25u8, 162u8, 61u8, 189u8, 61u8, 32u8, 101u8, 139u8, 89u8, + 51u8, 191u8, 223u8, 94u8, 145u8, 109u8, 247u8, 22u8, 64u8, 178u8, 97u8, + 239u8, 0u8, 125u8, 20u8, 62u8, 210u8, 110u8, 79u8, 225u8, 43u8, + ], + ) + } + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The active configuration for the current session."] + pub fn active_config( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::configuration::HostConfiguration< + ::core::primitive::u32, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Configuration", + "ActiveConfig", + vec![], + [ + 205u8, 102u8, 42u8, 9u8, 144u8, 0u8, 31u8, 85u8, 111u8, 44u8, 145u8, + 123u8, 200u8, 195u8, 163u8, 59u8, 202u8, 66u8, 156u8, 196u8, 32u8, + 204u8, 209u8, 201u8, 133u8, 103u8, 66u8, 179u8, 28u8, 41u8, 196u8, + 154u8, + ], + ) + } + #[doc = " Pending configuration changes."] + #[doc = ""] + #[doc = " This is a list of configuration changes, each with a session index at which it should"] + #[doc = " be applied."] + #[doc = ""] + #[doc = " The list is sorted ascending by session index. Also, this list can only contain at most"] + #[doc = " 2 items: for the next session and for the `scheduled_session`."] pub fn pending_configs (& self ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , :: std :: vec :: Vec < (:: core :: primitive :: u32 , runtime_types :: polkadot_runtime_parachains :: configuration :: HostConfiguration < :: core :: primitive :: u32 > ,) > , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes , () >{ + ::subxt::storage::address::Address::new_static( + "Configuration", + "PendingConfigs", + vec![], + [ + 18u8, 179u8, 253u8, 26u8, 153u8, 33u8, 99u8, 167u8, 90u8, 57u8, 97u8, + 114u8, 99u8, 71u8, 69u8, 76u8, 176u8, 90u8, 240u8, 137u8, 231u8, 24u8, + 75u8, 138u8, 149u8, 176u8, 197u8, 96u8, 90u8, 154u8, 109u8, 218u8, + ], + ) + } + #[doc = " If this is set, then the configuration setters will bypass the consistency checks. This"] + #[doc = " is meant to be used only as the last resort."] + pub fn bypass_consistency_check( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::bool, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Configuration", + "BypassConsistencyCheck", + vec![], + [ + 109u8, 201u8, 130u8, 189u8, 167u8, 112u8, 171u8, 180u8, 100u8, 146u8, + 23u8, 174u8, 199u8, 230u8, 185u8, 155u8, 178u8, 45u8, 24u8, 66u8, + 211u8, 234u8, 11u8, 103u8, 148u8, 12u8, 247u8, 101u8, 147u8, 18u8, + 11u8, 89u8, + ], + ) + } + } + } + } + pub mod paras_shared { + use super::root_mod; + use super::runtime_types; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::shared::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + } + pub struct TransactionApi; + impl TransactionApi {} + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The current session index."] + pub fn current_session_index( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParasShared", + "CurrentSessionIndex", + vec![], + [ + 250u8, 164u8, 179u8, 84u8, 199u8, 245u8, 116u8, 48u8, 86u8, 127u8, + 50u8, 117u8, 236u8, 41u8, 107u8, 238u8, 151u8, 236u8, 68u8, 78u8, + 152u8, 5u8, 155u8, 107u8, 69u8, 197u8, 222u8, 94u8, 150u8, 2u8, 31u8, + 191u8, + ], + ) + } + #[doc = " All the validators actively participating in parachain consensus."] + #[doc = " Indices are into the broader validator set."] + pub fn active_validator_indices( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParasShared", + "ActiveValidatorIndices", + vec![], + [ + 80u8, 207u8, 217u8, 195u8, 69u8, 151u8, 27u8, 205u8, 227u8, 89u8, 71u8, + 180u8, 91u8, 116u8, 82u8, 193u8, 108u8, 115u8, 40u8, 247u8, 160u8, + 39u8, 85u8, 99u8, 42u8, 87u8, 54u8, 168u8, 230u8, 201u8, 212u8, 39u8, + ], + ) + } + #[doc = " The parachain attestation keys of the validators actively participating in parachain consensus."] + #[doc = " This should be the same length as `ActiveValidatorIndices`."] + pub fn active_validator_keys( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParasShared", + "ActiveValidatorKeys", + vec![], + [ + 155u8, 151u8, 155u8, 8u8, 23u8, 38u8, 91u8, 12u8, 94u8, 69u8, 228u8, + 185u8, 14u8, 219u8, 215u8, 98u8, 235u8, 222u8, 157u8, 180u8, 230u8, + 121u8, 205u8, 167u8, 156u8, 134u8, 180u8, 213u8, 87u8, 61u8, 174u8, + 222u8, + ], + ) + } + } + } + } + pub mod para_inclusion { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_parachains::inclusion::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::inclusion::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + } + pub struct TransactionApi; + impl TransactionApi {} + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::polkadot_runtime_parachains::inclusion::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A candidate was backed. `[candidate, head_data]`"] + pub struct CandidateBacked( + pub runtime_types::polkadot_primitives::v4::CandidateReceipt<::subxt::utils::H256>, + pub runtime_types::polkadot_parachain::primitives::HeadData, + pub runtime_types::polkadot_primitives::v4::CoreIndex, + pub runtime_types::polkadot_primitives::v4::GroupIndex, + ); + impl ::subxt::events::StaticEvent for CandidateBacked { + const PALLET: &'static str = "ParaInclusion"; + const EVENT: &'static str = "CandidateBacked"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A candidate was included. `[candidate, head_data]`"] + pub struct CandidateIncluded( + pub runtime_types::polkadot_primitives::v4::CandidateReceipt<::subxt::utils::H256>, + pub runtime_types::polkadot_parachain::primitives::HeadData, + pub runtime_types::polkadot_primitives::v4::CoreIndex, + pub runtime_types::polkadot_primitives::v4::GroupIndex, + ); + impl ::subxt::events::StaticEvent for CandidateIncluded { + const PALLET: &'static str = "ParaInclusion"; + const EVENT: &'static str = "CandidateIncluded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A candidate timed out. `[candidate, head_data]`"] + pub struct CandidateTimedOut( + pub runtime_types::polkadot_primitives::v4::CandidateReceipt<::subxt::utils::H256>, + pub runtime_types::polkadot_parachain::primitives::HeadData, + pub runtime_types::polkadot_primitives::v4::CoreIndex, + ); + impl ::subxt::events::StaticEvent for CandidateTimedOut { + const PALLET: &'static str = "ParaInclusion"; + const EVENT: &'static str = "CandidateTimedOut"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some upward messages have been received and will be processed."] + pub struct UpwardMessagesReceived { + pub from: runtime_types::polkadot_parachain::primitives::Id, + pub count: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for UpwardMessagesReceived { + const PALLET: &'static str = "ParaInclusion"; + const EVENT: &'static str = "UpwardMessagesReceived"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The latest bitfield for each validator, referred to by their index in the validator set."] pub fn availability_bitfields_iter (& self ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: polkadot_runtime_parachains :: inclusion :: AvailabilityBitfieldRecord < :: core :: primitive :: u32 > , () , () , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::Address::new_static( + "ParaInclusion", + "AvailabilityBitfields", + vec![], + [ + 163u8, 169u8, 217u8, 160u8, 147u8, 165u8, 186u8, 21u8, 171u8, 177u8, + 74u8, 69u8, 55u8, 205u8, 46u8, 13u8, 253u8, 83u8, 55u8, 190u8, 22u8, + 61u8, 32u8, 209u8, 54u8, 120u8, 187u8, 39u8, 114u8, 70u8, 212u8, 170u8, + ], + ) + } + #[doc = " The latest bitfield for each validator, referred to by their index in the validator set."] pub fn availability_bitfields (& self , _0 : impl :: std :: borrow :: Borrow < runtime_types :: polkadot_primitives :: v4 :: ValidatorIndex > ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: polkadot_runtime_parachains :: inclusion :: AvailabilityBitfieldRecord < :: core :: primitive :: u32 > , :: subxt :: storage :: address :: Yes , () , () >{ + ::subxt::storage::address::Address::new_static( + "ParaInclusion", + "AvailabilityBitfields", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 163u8, 169u8, 217u8, 160u8, 147u8, 165u8, 186u8, 21u8, 171u8, 177u8, + 74u8, 69u8, 55u8, 205u8, 46u8, 13u8, 253u8, 83u8, 55u8, 190u8, 22u8, + 61u8, 32u8, 209u8, 54u8, 120u8, 187u8, 39u8, 114u8, 70u8, 212u8, 170u8, + ], + ) + } + #[doc = " Candidates pending availability by `ParaId`."] pub fn pending_availability_iter (& self ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: polkadot_runtime_parachains :: inclusion :: CandidatePendingAvailability < :: subxt :: utils :: H256 , :: core :: primitive :: u32 > , () , () , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::Address::new_static( + "ParaInclusion", + "PendingAvailability", + vec![], + [ + 164u8, 175u8, 34u8, 182u8, 190u8, 147u8, 42u8, 185u8, 162u8, 130u8, + 33u8, 159u8, 234u8, 242u8, 90u8, 119u8, 2u8, 195u8, 48u8, 150u8, 135u8, + 87u8, 8u8, 142u8, 243u8, 142u8, 57u8, 121u8, 225u8, 218u8, 22u8, 132u8, + ], + ) + } + #[doc = " Candidates pending availability by `ParaId`."] pub fn pending_availability (& self , _0 : impl :: std :: borrow :: Borrow < runtime_types :: polkadot_parachain :: primitives :: Id > ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: polkadot_runtime_parachains :: inclusion :: CandidatePendingAvailability < :: subxt :: utils :: H256 , :: core :: primitive :: u32 > , :: subxt :: storage :: address :: Yes , () , () >{ + ::subxt::storage::address::Address::new_static( + "ParaInclusion", + "PendingAvailability", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 164u8, 175u8, 34u8, 182u8, 190u8, 147u8, 42u8, 185u8, 162u8, 130u8, + 33u8, 159u8, 234u8, 242u8, 90u8, 119u8, 2u8, 195u8, 48u8, 150u8, 135u8, + 87u8, 8u8, 142u8, 243u8, 142u8, 57u8, 121u8, 225u8, 218u8, 22u8, 132u8, + ], + ) + } + #[doc = " The commitments of candidates pending availability, by `ParaId`."] + pub fn pending_availability_commitments_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::CandidateCommitments< + ::core::primitive::u32, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParaInclusion", + "PendingAvailabilityCommitments", + vec![], + [ + 196u8, 210u8, 210u8, 16u8, 246u8, 105u8, 121u8, 178u8, 5u8, 48u8, 40u8, + 183u8, 63u8, 147u8, 48u8, 74u8, 20u8, 83u8, 76u8, 84u8, 41u8, 30u8, + 182u8, 246u8, 164u8, 108u8, 113u8, 16u8, 169u8, 64u8, 97u8, 202u8, + ], + ) + } + #[doc = " The commitments of candidates pending availability, by `ParaId`."] + pub fn pending_availability_commitments( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::CandidateCommitments< + ::core::primitive::u32, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParaInclusion", + "PendingAvailabilityCommitments", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 196u8, 210u8, 210u8, 16u8, 246u8, 105u8, 121u8, 178u8, 5u8, 48u8, 40u8, + 183u8, 63u8, 147u8, 48u8, 74u8, 20u8, 83u8, 76u8, 84u8, 41u8, 30u8, + 182u8, 246u8, 164u8, 108u8, 113u8, 16u8, 169u8, 64u8, 97u8, 202u8, + ], + ) + } + } + } + } + pub mod para_inherent { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_parachains::paras_inherent::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::paras_inherent::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Enter { + pub data: runtime_types::polkadot_primitives::v4::InherentData< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Enter { + const PALLET: &'static str = "ParaInherent"; + const CALL: &'static str = "enter"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Enter the paras inherent. This will process bitfields and backed candidates."] + pub fn enter( + &self, + data: runtime_types::polkadot_primitives::v4::InherentData< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ParaInherent", + "enter", + types::Enter { data }, + [ + 145u8, 120u8, 158u8, 39u8, 139u8, 223u8, 236u8, 209u8, 253u8, 108u8, + 188u8, 21u8, 23u8, 61u8, 25u8, 171u8, 30u8, 203u8, 161u8, 117u8, 90u8, + 55u8, 50u8, 107u8, 26u8, 52u8, 26u8, 158u8, 56u8, 218u8, 186u8, 142u8, + ], + ) + } + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Whether the paras inherent was included within this block."] + #[doc = ""] + #[doc = " The `Option<()>` is effectively a `bool`, but it never hits storage in the `None` variant"] + #[doc = " due to the guarantees of FRAME's storage APIs."] + #[doc = ""] + #[doc = " If this is `None` at the end of the block, we panic and render the block invalid."] + pub fn included( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (), + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParaInherent", + "Included", + vec![], + [ + 108u8, 164u8, 163u8, 34u8, 27u8, 124u8, 202u8, 167u8, 48u8, 130u8, + 155u8, 211u8, 148u8, 130u8, 76u8, 16u8, 5u8, 250u8, 211u8, 174u8, 90u8, + 77u8, 198u8, 153u8, 175u8, 168u8, 131u8, 244u8, 27u8, 93u8, 60u8, 46u8, + ], + ) + } + #[doc = " Scraped on chain data for extracting resolved disputes as well as backing votes."] + pub fn on_chain_votes( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::ScrapedOnChainVotes< + ::subxt::utils::H256, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParaInherent", + "OnChainVotes", + vec![], + [ + 200u8, 210u8, 42u8, 153u8, 85u8, 71u8, 171u8, 108u8, 148u8, 212u8, + 108u8, 61u8, 178u8, 77u8, 129u8, 90u8, 120u8, 218u8, 228u8, 152u8, + 120u8, 226u8, 29u8, 82u8, 239u8, 146u8, 41u8, 164u8, 193u8, 207u8, + 246u8, 115u8, + ], + ) + } + } + } + } + pub mod para_scheduler { + use super::root_mod; + use super::runtime_types; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " All the validator groups. One for each core. Indices are into `ActiveValidators` - not the"] + #[doc = " broader set of Polkadot validators, but instead just the subset used for parachains during"] + #[doc = " this session."] + #[doc = ""] + #[doc = " Bound: The number of cores is the sum of the numbers of parachains and parathread multiplexers."] + #[doc = " Reasonably, 100-1000. The dominant factor is the number of validators: safe upper bound at 10k."] + pub fn validator_groups( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + ::std::vec::Vec, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParaScheduler", + "ValidatorGroups", + vec![], + [ + 129u8, 58u8, 65u8, 112u8, 4u8, 172u8, 167u8, 19u8, 96u8, 154u8, 159u8, + 83u8, 94u8, 125u8, 60u8, 43u8, 60u8, 70u8, 1u8, 58u8, 222u8, 31u8, + 73u8, 53u8, 71u8, 181u8, 49u8, 64u8, 212u8, 90u8, 128u8, 185u8, + ], + ) + } + #[doc = " A queue of upcoming claims and which core they should be mapped onto."] + #[doc = ""] + #[doc = " The number of queued claims is bounded at the `scheduling_lookahead`"] + #[doc = " multiplied by the number of parathread multiplexer cores. Reasonably, 10 * 50 = 500."] + pub fn parathread_queue( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::scheduler::ParathreadClaimQueue, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParaScheduler", + "ParathreadQueue", + vec![], + [ + 66u8, 237u8, 244u8, 120u8, 58u8, 185u8, 225u8, 198u8, 83u8, 7u8, 254u8, + 95u8, 104u8, 128u8, 105u8, 225u8, 117u8, 35u8, 231u8, 64u8, 46u8, + 169u8, 9u8, 35u8, 89u8, 199u8, 239u8, 51u8, 165u8, 115u8, 226u8, 60u8, + ], + ) + } + #[doc = " One entry for each availability core. Entries are `None` if the core is not currently occupied. Can be"] + #[doc = " temporarily `Some` if scheduled but not occupied."] + #[doc = " The i'th parachain belongs to the i'th core, with the remaining cores all being"] + #[doc = " parathread-multiplexers."] + #[doc = ""] + #[doc = " Bounded by the maximum of either of these two values:"] + #[doc = " * The number of parachains and parathread multiplexers"] + #[doc = " * The number of validators divided by `configuration.max_validators_per_core`."] + pub fn availability_cores( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + ::core::option::Option< + runtime_types::polkadot_primitives::v4::CoreOccupied, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParaScheduler", + "AvailabilityCores", + vec![], + [ + 22u8, 238u8, 81u8, 4u8, 74u8, 143u8, 125u8, 245u8, 54u8, 117u8, 128u8, + 142u8, 214u8, 162u8, 106u8, 86u8, 151u8, 45u8, 33u8, 153u8, 164u8, + 182u8, 223u8, 19u8, 44u8, 211u8, 206u8, 95u8, 249u8, 36u8, 188u8, + 129u8, + ], + ) + } + #[doc = " An index used to ensure that only one claim on a parathread exists in the queue or is"] + #[doc = " currently being handled by an occupied core."] + #[doc = ""] + #[doc = " Bounded by the number of parathread cores and scheduling lookahead. Reasonably, 10 * 50 = 500."] + pub fn parathread_claim_index( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParaScheduler", + "ParathreadClaimIndex", + vec![], + [ + 40u8, 118u8, 124u8, 168u8, 174u8, 131u8, 61u8, 35u8, 175u8, 100u8, + 69u8, 184u8, 191u8, 17u8, 151u8, 219u8, 81u8, 160u8, 199u8, 33u8, + 227u8, 20u8, 48u8, 90u8, 61u8, 157u8, 136u8, 60u8, 25u8, 45u8, 81u8, + 208u8, + ], + ) + } + #[doc = " The block number where the session start occurred. Used to track how many group rotations have occurred."] + #[doc = ""] + #[doc = " Note that in the context of parachains modules the session change is signaled during"] + #[doc = " the block and enacted at the end of the block (at the finalization stage, to be exact)."] + #[doc = " Thus for all intents and purposes the effect of the session change is observed at the"] + #[doc = " block following the session change, block number of which we save in this storage value."] + pub fn session_start_block( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParaScheduler", + "SessionStartBlock", + vec![], + [ + 185u8, 76u8, 120u8, 75u8, 154u8, 31u8, 33u8, 243u8, 16u8, 77u8, 100u8, + 249u8, 21u8, 44u8, 199u8, 195u8, 37u8, 9u8, 218u8, 148u8, 222u8, 90u8, + 113u8, 34u8, 152u8, 215u8, 114u8, 134u8, 81u8, 139u8, 164u8, 71u8, + ], + ) + } + #[doc = " Currently scheduled cores - free but up to be occupied."] + #[doc = ""] + #[doc = " Bounded by the number of cores: one for each parachain and parathread multiplexer."] + #[doc = ""] + #[doc = " The value contained here will not be valid after the end of a block. Runtime APIs should be used to determine scheduled cores/"] + #[doc = " for the upcoming block."] + pub fn scheduled( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + runtime_types::polkadot_runtime_parachains::scheduler::CoreAssignment, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParaScheduler", + "Scheduled", + vec![], + [ + 180u8, 21u8, 56u8, 68u8, 56u8, 82u8, 50u8, 7u8, 71u8, 167u8, 6u8, 2u8, + 235u8, 39u8, 78u8, 23u8, 173u8, 129u8, 112u8, 131u8, 35u8, 147u8, 80u8, + 173u8, 47u8, 108u8, 170u8, 247u8, 213u8, 71u8, 247u8, 151u8, + ], + ) + } + } + } + } + pub mod paras { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_parachains::paras::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::paras::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetCurrentCode { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSetCurrentCode { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "force_set_current_code"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetCurrentHead { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub new_head: runtime_types::polkadot_parachain::primitives::HeadData, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSetCurrentHead { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "force_set_current_head"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceScheduleCodeUpgrade { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + pub relay_parent_number: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ForceScheduleCodeUpgrade { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "force_schedule_code_upgrade"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceNoteNewHead { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub new_head: runtime_types::polkadot_parachain::primitives::HeadData, + } + impl ::subxt::blocks::StaticExtrinsic for ForceNoteNewHead { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "force_note_new_head"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceQueueAction { + pub para: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for ForceQueueAction { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "force_queue_action"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddTrustedValidationCode { + pub validation_code: + runtime_types::polkadot_parachain::primitives::ValidationCode, + } + impl ::subxt::blocks::StaticExtrinsic for AddTrustedValidationCode { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "add_trusted_validation_code"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PokeUnusedValidationCode { + pub validation_code_hash: + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + } + impl ::subxt::blocks::StaticExtrinsic for PokeUnusedValidationCode { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "poke_unused_validation_code"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct IncludePvfCheckStatement { + pub stmt: runtime_types::polkadot_primitives::v4::PvfCheckStatement, + pub signature: runtime_types::polkadot_primitives::v4::validator_app::Signature, + } + impl ::subxt::blocks::StaticExtrinsic for IncludePvfCheckStatement { + const PALLET: &'static str = "Paras"; + const CALL: &'static str = "include_pvf_check_statement"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Set the storage for the parachain validation code immediately."] + pub fn force_set_current_code( + &self, + para: runtime_types::polkadot_parachain::primitives::Id, + new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Paras", + "force_set_current_code", + types::ForceSetCurrentCode { para, new_code }, + [ + 204u8, 159u8, 184u8, 235u8, 65u8, 225u8, 223u8, 130u8, 139u8, 140u8, + 219u8, 58u8, 142u8, 253u8, 236u8, 239u8, 148u8, 190u8, 27u8, 234u8, + 165u8, 125u8, 129u8, 235u8, 98u8, 33u8, 172u8, 71u8, 90u8, 41u8, 182u8, + 80u8, + ], + ) + } + #[doc = "Set the storage for the current parachain head data immediately."] + pub fn force_set_current_head( + &self, + para: runtime_types::polkadot_parachain::primitives::Id, + new_head: runtime_types::polkadot_parachain::primitives::HeadData, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Paras", + "force_set_current_head", + types::ForceSetCurrentHead { para, new_head }, + [ + 184u8, 247u8, 184u8, 248u8, 89u8, 64u8, 18u8, 193u8, 254u8, 71u8, + 220u8, 195u8, 124u8, 212u8, 178u8, 169u8, 155u8, 189u8, 11u8, 135u8, + 247u8, 39u8, 253u8, 196u8, 111u8, 242u8, 189u8, 91u8, 226u8, 219u8, + 232u8, 238u8, + ], + ) + } + #[doc = "Schedule an upgrade as if it was scheduled in the given relay parent block."] + pub fn force_schedule_code_upgrade( + &self, + para: runtime_types::polkadot_parachain::primitives::Id, + new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + relay_parent_number: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Paras", + "force_schedule_code_upgrade", + types::ForceScheduleCodeUpgrade { + para, + new_code, + relay_parent_number, + }, + [ + 131u8, 179u8, 138u8, 151u8, 167u8, 191u8, 2u8, 68u8, 85u8, 111u8, + 166u8, 65u8, 67u8, 52u8, 201u8, 41u8, 132u8, 128u8, 35u8, 177u8, 91u8, + 185u8, 114u8, 2u8, 123u8, 133u8, 164u8, 121u8, 170u8, 243u8, 223u8, + 61u8, + ], + ) + } + #[doc = "Note a new block head for para within the context of the current block."] + pub fn force_note_new_head( + &self, + para: runtime_types::polkadot_parachain::primitives::Id, + new_head: runtime_types::polkadot_parachain::primitives::HeadData, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Paras", + "force_note_new_head", + types::ForceNoteNewHead { para, new_head }, + [ + 215u8, 12u8, 228u8, 208u8, 7u8, 24u8, 207u8, 60u8, 183u8, 241u8, 212u8, + 203u8, 139u8, 149u8, 9u8, 236u8, 77u8, 15u8, 242u8, 70u8, 62u8, 204u8, + 187u8, 91u8, 110u8, 73u8, 210u8, 2u8, 8u8, 118u8, 182u8, 171u8, + ], + ) + } + #[doc = "Put a parachain directly into the next session's action queue."] + #[doc = "We can't queue it any sooner than this without going into the"] + #[doc = "initializer..."] + pub fn force_queue_action( + &self, + para: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Paras", + "force_queue_action", + types::ForceQueueAction { para }, + [ + 112u8, 247u8, 239u8, 8u8, 91u8, 23u8, 111u8, 84u8, 179u8, 61u8, 235u8, + 49u8, 140u8, 110u8, 40u8, 226u8, 150u8, 253u8, 146u8, 193u8, 136u8, + 133u8, 100u8, 127u8, 38u8, 165u8, 159u8, 17u8, 205u8, 190u8, 6u8, + 117u8, + ], + ) + } + #[doc = "Adds the validation code to the storage."] + #[doc = ""] + #[doc = "The code will not be added if it is already present. Additionally, if PVF pre-checking"] + #[doc = "is running for that code, it will be instantly accepted."] + #[doc = ""] + #[doc = "Otherwise, the code will be added into the storage. Note that the code will be added"] + #[doc = "into storage with reference count 0. This is to account the fact that there are no users"] + #[doc = "for this code yet. The caller will have to make sure that this code eventually gets"] + #[doc = "used by some parachain or removed from the storage to avoid storage leaks. For the latter"] + #[doc = "prefer to use the `poke_unused_validation_code` dispatchable to raw storage manipulation."] + #[doc = ""] + #[doc = "This function is mainly meant to be used for upgrading parachains that do not follow"] + #[doc = "the go-ahead signal while the PVF pre-checking feature is enabled."] + pub fn add_trusted_validation_code( + &self, + validation_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Paras", + "add_trusted_validation_code", + types::AddTrustedValidationCode { validation_code }, + [ + 196u8, 123u8, 133u8, 223u8, 3u8, 205u8, 127u8, 23u8, 82u8, 201u8, + 107u8, 47u8, 23u8, 75u8, 139u8, 198u8, 178u8, 171u8, 160u8, 61u8, + 132u8, 250u8, 76u8, 110u8, 3u8, 144u8, 90u8, 253u8, 89u8, 141u8, 162u8, + 135u8, + ], + ) + } + #[doc = "Remove the validation code from the storage iff the reference count is 0."] + #[doc = ""] + #[doc = "This is better than removing the storage directly, because it will not remove the code"] + #[doc = "that was suddenly got used by some parachain while this dispatchable was pending"] + #[doc = "dispatching."] + pub fn poke_unused_validation_code( + &self, + validation_code_hash : runtime_types :: polkadot_parachain :: primitives :: ValidationCodeHash, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Paras", + "poke_unused_validation_code", + types::PokeUnusedValidationCode { + validation_code_hash, + }, + [ + 180u8, 53u8, 213u8, 27u8, 150u8, 195u8, 50u8, 1u8, 62u8, 246u8, 244u8, + 229u8, 115u8, 202u8, 55u8, 140u8, 108u8, 28u8, 245u8, 66u8, 165u8, + 128u8, 105u8, 221u8, 7u8, 87u8, 242u8, 19u8, 88u8, 132u8, 36u8, 32u8, + ], + ) + } + #[doc = "Includes a statement for a PVF pre-checking vote. Potentially, finalizes the vote and"] + #[doc = "enacts the results if that was the last vote before achieving the supermajority."] + pub fn include_pvf_check_statement( + &self, + stmt: runtime_types::polkadot_primitives::v4::PvfCheckStatement, + signature: runtime_types::polkadot_primitives::v4::validator_app::Signature, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Paras", + "include_pvf_check_statement", + types::IncludePvfCheckStatement { stmt, signature }, + [ + 104u8, 113u8, 121u8, 186u8, 41u8, 70u8, 254u8, 44u8, 207u8, 94u8, 61u8, + 148u8, 106u8, 240u8, 165u8, 223u8, 231u8, 190u8, 157u8, 97u8, 55u8, + 90u8, 229u8, 112u8, 129u8, 224u8, 29u8, 180u8, 242u8, 203u8, 195u8, + 19u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::polkadot_runtime_parachains::paras::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Current code has been updated for a Para. `para_id`"] + pub struct CurrentCodeUpdated(pub runtime_types::polkadot_parachain::primitives::Id); + impl ::subxt::events::StaticEvent for CurrentCodeUpdated { + const PALLET: &'static str = "Paras"; + const EVENT: &'static str = "CurrentCodeUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Current head has been updated for a Para. `para_id`"] + pub struct CurrentHeadUpdated(pub runtime_types::polkadot_parachain::primitives::Id); + impl ::subxt::events::StaticEvent for CurrentHeadUpdated { + const PALLET: &'static str = "Paras"; + const EVENT: &'static str = "CurrentHeadUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A code upgrade has been scheduled for a Para. `para_id`"] + pub struct CodeUpgradeScheduled(pub runtime_types::polkadot_parachain::primitives::Id); + impl ::subxt::events::StaticEvent for CodeUpgradeScheduled { + const PALLET: &'static str = "Paras"; + const EVENT: &'static str = "CodeUpgradeScheduled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new head has been noted for a Para. `para_id`"] + pub struct NewHeadNoted(pub runtime_types::polkadot_parachain::primitives::Id); + impl ::subxt::events::StaticEvent for NewHeadNoted { + const PALLET: &'static str = "Paras"; + const EVENT: &'static str = "NewHeadNoted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A para has been queued to execute pending actions. `para_id`"] + pub struct ActionQueued( + pub runtime_types::polkadot_parachain::primitives::Id, + pub ::core::primitive::u32, + ); + impl ::subxt::events::StaticEvent for ActionQueued { + const PALLET: &'static str = "Paras"; + const EVENT: &'static str = "ActionQueued"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The given para either initiated or subscribed to a PVF check for the given validation"] + #[doc = "code. `code_hash` `para_id`"] + pub struct PvfCheckStarted( + pub runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + pub runtime_types::polkadot_parachain::primitives::Id, + ); + impl ::subxt::events::StaticEvent for PvfCheckStarted { + const PALLET: &'static str = "Paras"; + const EVENT: &'static str = "PvfCheckStarted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The given validation code was accepted by the PVF pre-checking vote."] + #[doc = "`code_hash` `para_id`"] + pub struct PvfCheckAccepted( + pub runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + pub runtime_types::polkadot_parachain::primitives::Id, + ); + impl ::subxt::events::StaticEvent for PvfCheckAccepted { + const PALLET: &'static str = "Paras"; + const EVENT: &'static str = "PvfCheckAccepted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The given validation code was rejected by the PVF pre-checking vote."] + #[doc = "`code_hash` `para_id`"] + pub struct PvfCheckRejected( + pub runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + pub runtime_types::polkadot_parachain::primitives::Id, + ); + impl ::subxt::events::StaticEvent for PvfCheckRejected { + const PALLET: &'static str = "Paras"; + const EVENT: &'static str = "PvfCheckRejected"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " All currently active PVF pre-checking votes."] + #[doc = ""] + #[doc = " Invariant:"] + #[doc = " - There are no PVF pre-checking votes that exists in list but not in the set and vice versa."] + pub fn pvf_active_vote_map_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::paras::PvfCheckActiveVoteState< + ::core::primitive::u32, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "PvfActiveVoteMap", + vec![], + [ + 216u8, 212u8, 234u8, 214u8, 209u8, 164u8, 99u8, 74u8, 18u8, 189u8, + 61u8, 178u8, 189u8, 246u8, 208u8, 50u8, 53u8, 183u8, 200u8, 146u8, + 19u8, 120u8, 209u8, 118u8, 129u8, 115u8, 248u8, 7u8, 188u8, 78u8, + 186u8, 181u8, + ], + ) + } + #[doc = " All currently active PVF pre-checking votes."] + #[doc = ""] + #[doc = " Invariant:"] + #[doc = " - There are no PVF pre-checking votes that exists in list but not in the set and vice versa."] + pub fn pvf_active_vote_map( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::paras::PvfCheckActiveVoteState< + ::core::primitive::u32, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "PvfActiveVoteMap", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 216u8, 212u8, 234u8, 214u8, 209u8, 164u8, 99u8, 74u8, 18u8, 189u8, + 61u8, 178u8, 189u8, 246u8, 208u8, 50u8, 53u8, 183u8, 200u8, 146u8, + 19u8, 120u8, 209u8, 118u8, 129u8, 115u8, 248u8, 7u8, 188u8, 78u8, + 186u8, 181u8, + ], + ) + } + #[doc = " The list of all currently active PVF votes. Auxiliary to `PvfActiveVoteMap`."] + pub fn pvf_active_vote_list( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "PvfActiveVoteList", + vec![], + [ + 172u8, 215u8, 137u8, 191u8, 52u8, 104u8, 106u8, 118u8, 134u8, 82u8, + 137u8, 6u8, 175u8, 158u8, 58u8, 230u8, 231u8, 152u8, 195u8, 17u8, 51u8, + 133u8, 10u8, 205u8, 212u8, 6u8, 24u8, 59u8, 114u8, 222u8, 96u8, 42u8, + ], + ) + } + #[doc = " All parachains. Ordered ascending by `ParaId`. Parathreads are not included."] + #[doc = ""] + #[doc = " Consider using the [`ParachainsCache`] type of modifying."] + pub fn parachains( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "Parachains", + vec![], + [ + 242u8, 228u8, 175u8, 107u8, 242u8, 39u8, 52u8, 181u8, 32u8, 171u8, + 21u8, 169u8, 204u8, 19u8, 21u8, 217u8, 121u8, 239u8, 218u8, 252u8, + 80u8, 188u8, 119u8, 157u8, 235u8, 218u8, 221u8, 113u8, 0u8, 108u8, + 245u8, 210u8, + ], + ) + } + #[doc = " The current lifecycle of a all known Para IDs."] + pub fn para_lifecycles_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::paras::ParaLifecycle, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "ParaLifecycles", + vec![], + [ + 2u8, 203u8, 32u8, 194u8, 76u8, 227u8, 250u8, 9u8, 168u8, 201u8, 171u8, + 180u8, 18u8, 169u8, 206u8, 183u8, 48u8, 189u8, 204u8, 192u8, 237u8, + 233u8, 156u8, 255u8, 102u8, 22u8, 101u8, 110u8, 194u8, 55u8, 118u8, + 81u8, + ], + ) + } + #[doc = " The current lifecycle of a all known Para IDs."] + pub fn para_lifecycles( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::paras::ParaLifecycle, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "ParaLifecycles", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 2u8, 203u8, 32u8, 194u8, 76u8, 227u8, 250u8, 9u8, 168u8, 201u8, 171u8, + 180u8, 18u8, 169u8, 206u8, 183u8, 48u8, 189u8, 204u8, 192u8, 237u8, + 233u8, 156u8, 255u8, 102u8, 22u8, 101u8, 110u8, 194u8, 55u8, 118u8, + 81u8, + ], + ) + } + #[doc = " The head-data of every registered para."] + pub fn heads_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain::primitives::HeadData, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "Heads", + vec![], + [ + 222u8, 116u8, 180u8, 190u8, 172u8, 192u8, 174u8, 132u8, 225u8, 180u8, + 119u8, 90u8, 5u8, 39u8, 92u8, 230u8, 116u8, 202u8, 92u8, 99u8, 135u8, + 201u8, 10u8, 58u8, 55u8, 211u8, 209u8, 86u8, 93u8, 133u8, 99u8, 139u8, + ], + ) + } + #[doc = " The head-data of every registered para."] + pub fn heads( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain::primitives::HeadData, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "Heads", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 222u8, 116u8, 180u8, 190u8, 172u8, 192u8, 174u8, 132u8, 225u8, 180u8, + 119u8, 90u8, 5u8, 39u8, 92u8, 230u8, 116u8, 202u8, 92u8, 99u8, 135u8, + 201u8, 10u8, 58u8, 55u8, 211u8, 209u8, 86u8, 93u8, 133u8, 99u8, 139u8, + ], + ) + } + #[doc = " The validation code hash of every live para."] + #[doc = ""] + #[doc = " Corresponding code can be retrieved with [`CodeByHash`]."] + pub fn current_code_hash_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "CurrentCodeHash", + vec![], + [ + 251u8, 100u8, 30u8, 46u8, 191u8, 60u8, 45u8, 221u8, 218u8, 20u8, 154u8, + 233u8, 211u8, 198u8, 151u8, 195u8, 99u8, 210u8, 126u8, 165u8, 240u8, + 129u8, 183u8, 252u8, 104u8, 119u8, 38u8, 155u8, 150u8, 198u8, 127u8, + 103u8, + ], + ) + } + #[doc = " The validation code hash of every live para."] + #[doc = ""] + #[doc = " Corresponding code can be retrieved with [`CodeByHash`]."] + pub fn current_code_hash( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "CurrentCodeHash", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 251u8, 100u8, 30u8, 46u8, 191u8, 60u8, 45u8, 221u8, 218u8, 20u8, 154u8, + 233u8, 211u8, 198u8, 151u8, 195u8, 99u8, 210u8, 126u8, 165u8, 240u8, + 129u8, 183u8, 252u8, 104u8, 119u8, 38u8, 155u8, 150u8, 198u8, 127u8, + 103u8, + ], + ) + } + #[doc = " Actual past code hash, indicated by the para id as well as the block number at which it"] + #[doc = " became outdated."] + #[doc = ""] + #[doc = " Corresponding code can be retrieved with [`CodeByHash`]."] + pub fn past_code_hash_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "PastCodeHash", + vec![], + [ + 73u8, 209u8, 188u8, 36u8, 127u8, 42u8, 171u8, 136u8, 29u8, 126u8, + 220u8, 209u8, 230u8, 22u8, 12u8, 63u8, 8u8, 102u8, 45u8, 158u8, 178u8, + 232u8, 8u8, 6u8, 71u8, 188u8, 140u8, 41u8, 10u8, 215u8, 22u8, 153u8, + ], + ) + } + #[doc = " Actual past code hash, indicated by the para id as well as the block number at which it"] + #[doc = " became outdated."] + #[doc = ""] + #[doc = " Corresponding code can be retrieved with [`CodeByHash`]."] + pub fn past_code_hash_iter1( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "PastCodeHash", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 73u8, 209u8, 188u8, 36u8, 127u8, 42u8, 171u8, 136u8, 29u8, 126u8, + 220u8, 209u8, 230u8, 22u8, 12u8, 63u8, 8u8, 102u8, 45u8, 158u8, 178u8, + 232u8, 8u8, 6u8, 71u8, 188u8, 140u8, 41u8, 10u8, 215u8, 22u8, 153u8, + ], + ) + } + #[doc = " Actual past code hash, indicated by the para id as well as the block number at which it"] + #[doc = " became outdated."] + #[doc = ""] + #[doc = " Corresponding code can be retrieved with [`CodeByHash`]."] + pub fn past_code_hash( + &self, + _0: impl ::std::borrow::Borrow, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "PastCodeHash", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 73u8, 209u8, 188u8, 36u8, 127u8, 42u8, 171u8, 136u8, 29u8, 126u8, + 220u8, 209u8, 230u8, 22u8, 12u8, 63u8, 8u8, 102u8, 45u8, 158u8, 178u8, + 232u8, 8u8, 6u8, 71u8, 188u8, 140u8, 41u8, 10u8, 215u8, 22u8, 153u8, + ], + ) + } + #[doc = " Past code of parachains. The parachains themselves may not be registered anymore,"] + #[doc = " but we also keep their code on-chain for the same amount of time as outdated code"] + #[doc = " to keep it available for approval checkers."] + pub fn past_code_meta_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::paras::ParaPastCodeMeta< + ::core::primitive::u32, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "PastCodeMeta", + vec![], + [ + 233u8, 47u8, 137u8, 174u8, 98u8, 64u8, 11u8, 75u8, 93u8, 222u8, 78u8, + 58u8, 66u8, 245u8, 151u8, 39u8, 144u8, 36u8, 84u8, 176u8, 239u8, 183u8, + 197u8, 176u8, 158u8, 139u8, 121u8, 189u8, 29u8, 244u8, 229u8, 73u8, + ], + ) + } + #[doc = " Past code of parachains. The parachains themselves may not be registered anymore,"] + #[doc = " but we also keep their code on-chain for the same amount of time as outdated code"] + #[doc = " to keep it available for approval checkers."] + pub fn past_code_meta( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::paras::ParaPastCodeMeta< + ::core::primitive::u32, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "PastCodeMeta", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 233u8, 47u8, 137u8, 174u8, 98u8, 64u8, 11u8, 75u8, 93u8, 222u8, 78u8, + 58u8, 66u8, 245u8, 151u8, 39u8, 144u8, 36u8, 84u8, 176u8, 239u8, 183u8, + 197u8, 176u8, 158u8, 139u8, 121u8, 189u8, 29u8, 244u8, 229u8, 73u8, + ], + ) + } + #[doc = " Which paras have past code that needs pruning and the relay-chain block at which the code was replaced."] + #[doc = " Note that this is the actual height of the included block, not the expected height at which the"] + #[doc = " code upgrade would be applied, although they may be equal."] + #[doc = " This is to ensure the entire acceptance period is covered, not an offset acceptance period starting"] + #[doc = " from the time at which the parachain perceives a code upgrade as having occurred."] + #[doc = " Multiple entries for a single para are permitted. Ordered ascending by block number."] + pub fn past_code_pruning( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<( + runtime_types::polkadot_parachain::primitives::Id, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "PastCodePruning", + vec![], + [ + 67u8, 190u8, 51u8, 133u8, 173u8, 24u8, 151u8, 111u8, 108u8, 152u8, + 106u8, 18u8, 29u8, 80u8, 104u8, 120u8, 91u8, 138u8, 209u8, 49u8, 255u8, + 211u8, 53u8, 195u8, 61u8, 188u8, 183u8, 53u8, 37u8, 230u8, 53u8, 183u8, + ], + ) + } + #[doc = " The block number at which the planned code change is expected for a para."] + #[doc = " The change will be applied after the first parablock for this ID included which executes"] + #[doc = " in the context of a relay chain block with a number >= `expected_at`."] + pub fn future_code_upgrades_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "FutureCodeUpgrades", + vec![], + [ + 163u8, 168u8, 23u8, 138u8, 198u8, 70u8, 135u8, 221u8, 167u8, 187u8, + 15u8, 144u8, 228u8, 8u8, 138u8, 125u8, 101u8, 154u8, 11u8, 74u8, 173u8, + 167u8, 17u8, 97u8, 240u8, 6u8, 20u8, 161u8, 25u8, 111u8, 242u8, 9u8, + ], + ) + } + #[doc = " The block number at which the planned code change is expected for a para."] + #[doc = " The change will be applied after the first parablock for this ID included which executes"] + #[doc = " in the context of a relay chain block with a number >= `expected_at`."] + pub fn future_code_upgrades( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "FutureCodeUpgrades", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 163u8, 168u8, 23u8, 138u8, 198u8, 70u8, 135u8, 221u8, 167u8, 187u8, + 15u8, 144u8, 228u8, 8u8, 138u8, 125u8, 101u8, 154u8, 11u8, 74u8, 173u8, + 167u8, 17u8, 97u8, 240u8, 6u8, 20u8, 161u8, 25u8, 111u8, 242u8, 9u8, + ], + ) + } + #[doc = " The actual future code hash of a para."] + #[doc = ""] + #[doc = " Corresponding code can be retrieved with [`CodeByHash`]."] + pub fn future_code_hash_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "FutureCodeHash", + vec![], + [ + 62u8, 238u8, 183u8, 12u8, 197u8, 119u8, 163u8, 239u8, 192u8, 228u8, + 110u8, 58u8, 128u8, 223u8, 32u8, 137u8, 109u8, 127u8, 41u8, 83u8, 91u8, + 98u8, 156u8, 118u8, 96u8, 147u8, 16u8, 31u8, 5u8, 92u8, 227u8, 230u8, + ], + ) + } + #[doc = " The actual future code hash of a para."] + #[doc = ""] + #[doc = " Corresponding code can be retrieved with [`CodeByHash`]."] + pub fn future_code_hash( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "FutureCodeHash", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 62u8, 238u8, 183u8, 12u8, 197u8, 119u8, 163u8, 239u8, 192u8, 228u8, + 110u8, 58u8, 128u8, 223u8, 32u8, 137u8, 109u8, 127u8, 41u8, 83u8, 91u8, + 98u8, 156u8, 118u8, 96u8, 147u8, 16u8, 31u8, 5u8, 92u8, 227u8, 230u8, + ], + ) + } + #[doc = " This is used by the relay-chain to communicate to a parachain a go-ahead with in the upgrade procedure."] + #[doc = ""] + #[doc = " This value is absent when there are no upgrades scheduled or during the time the relay chain"] + #[doc = " performs the checks. It is set at the first relay-chain block when the corresponding parachain"] + #[doc = " can switch its upgrade function. As soon as the parachain's block is included, the value"] + #[doc = " gets reset to `None`."] + #[doc = ""] + #[doc = " NOTE that this field is used by parachains via merkle storage proofs, therefore changing"] + #[doc = " the format will require migration of parachains."] + pub fn upgrade_go_ahead_signal_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::UpgradeGoAhead, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "UpgradeGoAheadSignal", + vec![], + [ + 41u8, 80u8, 120u8, 6u8, 98u8, 85u8, 36u8, 37u8, 170u8, 189u8, 56u8, + 127u8, 155u8, 180u8, 112u8, 195u8, 135u8, 214u8, 235u8, 87u8, 197u8, + 247u8, 125u8, 26u8, 232u8, 82u8, 250u8, 90u8, 126u8, 106u8, 62u8, + 217u8, + ], + ) + } + #[doc = " This is used by the relay-chain to communicate to a parachain a go-ahead with in the upgrade procedure."] + #[doc = ""] + #[doc = " This value is absent when there are no upgrades scheduled or during the time the relay chain"] + #[doc = " performs the checks. It is set at the first relay-chain block when the corresponding parachain"] + #[doc = " can switch its upgrade function. As soon as the parachain's block is included, the value"] + #[doc = " gets reset to `None`."] + #[doc = ""] + #[doc = " NOTE that this field is used by parachains via merkle storage proofs, therefore changing"] + #[doc = " the format will require migration of parachains."] + pub fn upgrade_go_ahead_signal( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::UpgradeGoAhead, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "UpgradeGoAheadSignal", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 41u8, 80u8, 120u8, 6u8, 98u8, 85u8, 36u8, 37u8, 170u8, 189u8, 56u8, + 127u8, 155u8, 180u8, 112u8, 195u8, 135u8, 214u8, 235u8, 87u8, 197u8, + 247u8, 125u8, 26u8, 232u8, 82u8, 250u8, 90u8, 126u8, 106u8, 62u8, + 217u8, + ], + ) + } + #[doc = " This is used by the relay-chain to communicate that there are restrictions for performing"] + #[doc = " an upgrade for this parachain."] + #[doc = ""] + #[doc = " This may be a because the parachain waits for the upgrade cooldown to expire. Another"] + #[doc = " potential use case is when we want to perform some maintenance (such as storage migration)"] + #[doc = " we could restrict upgrades to make the process simpler."] + #[doc = ""] + #[doc = " NOTE that this field is used by parachains via merkle storage proofs, therefore changing"] + #[doc = " the format will require migration of parachains."] + pub fn upgrade_restriction_signal_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::UpgradeRestriction, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "UpgradeRestrictionSignal", + vec![], + [ + 158u8, 105u8, 62u8, 252u8, 149u8, 145u8, 34u8, 92u8, 119u8, 204u8, + 46u8, 96u8, 117u8, 183u8, 134u8, 20u8, 172u8, 243u8, 145u8, 113u8, + 74u8, 119u8, 96u8, 107u8, 129u8, 109u8, 96u8, 143u8, 77u8, 14u8, 56u8, + 117u8, + ], + ) + } + #[doc = " This is used by the relay-chain to communicate that there are restrictions for performing"] + #[doc = " an upgrade for this parachain."] + #[doc = ""] + #[doc = " This may be a because the parachain waits for the upgrade cooldown to expire. Another"] + #[doc = " potential use case is when we want to perform some maintenance (such as storage migration)"] + #[doc = " we could restrict upgrades to make the process simpler."] + #[doc = ""] + #[doc = " NOTE that this field is used by parachains via merkle storage proofs, therefore changing"] + #[doc = " the format will require migration of parachains."] + pub fn upgrade_restriction_signal( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::UpgradeRestriction, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "UpgradeRestrictionSignal", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 158u8, 105u8, 62u8, 252u8, 149u8, 145u8, 34u8, 92u8, 119u8, 204u8, + 46u8, 96u8, 117u8, 183u8, 134u8, 20u8, 172u8, 243u8, 145u8, 113u8, + 74u8, 119u8, 96u8, 107u8, 129u8, 109u8, 96u8, 143u8, 77u8, 14u8, 56u8, + 117u8, + ], + ) + } + #[doc = " The list of parachains that are awaiting for their upgrade restriction to cooldown."] + #[doc = ""] + #[doc = " Ordered ascending by block number."] + pub fn upgrade_cooldowns( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<( + runtime_types::polkadot_parachain::primitives::Id, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "UpgradeCooldowns", + vec![], + [ + 180u8, 197u8, 115u8, 209u8, 126u8, 120u8, 133u8, 54u8, 232u8, 192u8, + 47u8, 17u8, 21u8, 8u8, 231u8, 67u8, 1u8, 89u8, 127u8, 38u8, 179u8, + 190u8, 169u8, 110u8, 20u8, 92u8, 139u8, 227u8, 26u8, 59u8, 245u8, + 174u8, + ], + ) + } + #[doc = " The list of upcoming code upgrades. Each item is a pair of which para performs a code"] + #[doc = " upgrade and at which relay-chain block it is expected at."] + #[doc = ""] + #[doc = " Ordered ascending by block number."] + pub fn upcoming_upgrades( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<( + runtime_types::polkadot_parachain::primitives::Id, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "UpcomingUpgrades", + vec![], + [ + 38u8, 195u8, 15u8, 56u8, 225u8, 199u8, 105u8, 84u8, 128u8, 51u8, 44u8, + 248u8, 237u8, 32u8, 36u8, 72u8, 77u8, 137u8, 124u8, 88u8, 242u8, 185u8, + 50u8, 148u8, 216u8, 156u8, 209u8, 101u8, 207u8, 127u8, 66u8, 95u8, + ], + ) + } + #[doc = " The actions to perform during the start of a specific session index."] + pub fn actions_queue_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "ActionsQueue", + vec![], + [ + 13u8, 25u8, 129u8, 203u8, 95u8, 206u8, 254u8, 240u8, 170u8, 209u8, + 55u8, 117u8, 70u8, 220u8, 139u8, 102u8, 9u8, 229u8, 139u8, 120u8, 67u8, + 246u8, 214u8, 59u8, 81u8, 116u8, 54u8, 67u8, 129u8, 32u8, 67u8, 92u8, + ], + ) + } + #[doc = " The actions to perform during the start of a specific session index."] + pub fn actions_queue( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "ActionsQueue", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 13u8, 25u8, 129u8, 203u8, 95u8, 206u8, 254u8, 240u8, 170u8, 209u8, + 55u8, 117u8, 70u8, 220u8, 139u8, 102u8, 9u8, 229u8, 139u8, 120u8, 67u8, + 246u8, 214u8, 59u8, 81u8, 116u8, 54u8, 67u8, 129u8, 32u8, 67u8, 92u8, + ], + ) + } + #[doc = " Upcoming paras instantiation arguments."] + #[doc = ""] + #[doc = " NOTE that after PVF pre-checking is enabled the para genesis arg will have it's code set"] + #[doc = " to empty. Instead, the code will be saved into the storage right away via `CodeByHash`."] + pub fn upcoming_paras_genesis_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::paras::ParaGenesisArgs, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "UpcomingParasGenesis", + vec![], + [ + 215u8, 121u8, 106u8, 13u8, 102u8, 47u8, 129u8, 221u8, 153u8, 91u8, + 23u8, 94u8, 11u8, 39u8, 19u8, 180u8, 136u8, 136u8, 254u8, 152u8, 250u8, + 150u8, 40u8, 87u8, 135u8, 121u8, 219u8, 151u8, 111u8, 35u8, 43u8, + 195u8, + ], + ) + } + #[doc = " Upcoming paras instantiation arguments."] + #[doc = ""] + #[doc = " NOTE that after PVF pre-checking is enabled the para genesis arg will have it's code set"] + #[doc = " to empty. Instead, the code will be saved into the storage right away via `CodeByHash`."] + pub fn upcoming_paras_genesis( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::paras::ParaGenesisArgs, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "UpcomingParasGenesis", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 215u8, 121u8, 106u8, 13u8, 102u8, 47u8, 129u8, 221u8, 153u8, 91u8, + 23u8, 94u8, 11u8, 39u8, 19u8, 180u8, 136u8, 136u8, 254u8, 152u8, 250u8, + 150u8, 40u8, 87u8, 135u8, 121u8, 219u8, 151u8, 111u8, 35u8, 43u8, + 195u8, + ], + ) + } + #[doc = " The number of reference on the validation code in [`CodeByHash`] storage."] + pub fn code_by_hash_refs_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "CodeByHashRefs", + vec![], + [ + 47u8, 50u8, 103u8, 161u8, 130u8, 252u8, 157u8, 35u8, 174u8, 37u8, + 102u8, 60u8, 195u8, 30u8, 164u8, 203u8, 67u8, 129u8, 107u8, 181u8, + 166u8, 205u8, 230u8, 91u8, 36u8, 187u8, 253u8, 150u8, 39u8, 168u8, + 223u8, 16u8, + ], + ) + } + #[doc = " The number of reference on the validation code in [`CodeByHash`] storage."] + pub fn code_by_hash_refs( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "CodeByHashRefs", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 47u8, 50u8, 103u8, 161u8, 130u8, 252u8, 157u8, 35u8, 174u8, 37u8, + 102u8, 60u8, 195u8, 30u8, 164u8, 203u8, 67u8, 129u8, 107u8, 181u8, + 166u8, 205u8, 230u8, 91u8, 36u8, 187u8, 253u8, 150u8, 39u8, 168u8, + 223u8, 16u8, + ], + ) + } + #[doc = " Validation code stored by its hash."] + #[doc = ""] + #[doc = " This storage is consistent with [`FutureCodeHash`], [`CurrentCodeHash`] and"] + #[doc = " [`PastCodeHash`]."] + pub fn code_by_hash_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain::primitives::ValidationCode, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "CodeByHash", + vec![], + [ + 155u8, 102u8, 73u8, 180u8, 127u8, 211u8, 181u8, 44u8, 56u8, 235u8, + 49u8, 4u8, 25u8, 213u8, 116u8, 200u8, 232u8, 203u8, 190u8, 90u8, 93u8, + 6u8, 57u8, 227u8, 240u8, 92u8, 157u8, 129u8, 3u8, 148u8, 45u8, 143u8, + ], + ) + } + #[doc = " Validation code stored by its hash."] + #[doc = ""] + #[doc = " This storage is consistent with [`FutureCodeHash`], [`CurrentCodeHash`] and"] + #[doc = " [`PastCodeHash`]."] + pub fn code_by_hash( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain::primitives::ValidationCode, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Paras", + "CodeByHash", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 155u8, 102u8, 73u8, 180u8, 127u8, 211u8, 181u8, 44u8, 56u8, 235u8, + 49u8, 4u8, 25u8, 213u8, 116u8, 200u8, 232u8, 203u8, 190u8, 90u8, 93u8, + 6u8, 57u8, 227u8, 240u8, 92u8, 157u8, 129u8, 3u8, 148u8, 45u8, 143u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + pub fn unsigned_priority( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u64> { + ::subxt::constants::Address::new_static( + "Paras", + "UnsignedPriority", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } + } + } + } + pub mod initializer { + use super::root_mod; + use super::runtime_types; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::initializer::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceApprove { + pub up_to: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ForceApprove { + const PALLET: &'static str = "Initializer"; + const CALL: &'static str = "force_approve"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Issue a signal to the consensus engine to forcibly act as though all parachain"] + #[doc = "blocks in all relay chain blocks up to and including the given number in the current"] + #[doc = "chain are valid and should be finalized."] + pub fn force_approve( + &self, + up_to: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Initializer", + "force_approve", + types::ForceApprove { up_to }, + [ + 232u8, 166u8, 27u8, 229u8, 157u8, 240u8, 18u8, 137u8, 5u8, 159u8, + 179u8, 239u8, 218u8, 41u8, 181u8, 42u8, 159u8, 243u8, 246u8, 214u8, + 227u8, 77u8, 58u8, 70u8, 241u8, 114u8, 175u8, 124u8, 77u8, 102u8, + 105u8, 199u8, + ], + ) + } + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Whether the parachains modules have been initialized within this block."] + #[doc = ""] + #[doc = " Semantically a `bool`, but this guarantees it should never hit the trie,"] + #[doc = " as this is cleared in `on_finalize` and Frame optimizes `None` values to be empty values."] + #[doc = ""] + #[doc = " As a `bool`, `set(false)` and `remove()` both lead to the next `get()` being false, but one of"] + #[doc = " them writes to the trie and one does not. This confusion makes `Option<()>` more suitable for"] + #[doc = " the semantics of this variable."] + pub fn has_initialized( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (), + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Initializer", + "HasInitialized", + vec![], + [ + 156u8, 208u8, 212u8, 86u8, 105u8, 148u8, 252u8, 11u8, 140u8, 67u8, + 231u8, 86u8, 1u8, 147u8, 178u8, 79u8, 27u8, 249u8, 137u8, 103u8, 178u8, + 50u8, 114u8, 157u8, 239u8, 86u8, 89u8, 233u8, 86u8, 58u8, 37u8, 67u8, + ], + ) + } + #[doc = " Buffered session changes along with the block number at which they should be applied."] + #[doc = ""] + #[doc = " Typically this will be empty or one element long. Apart from that this item never hits"] + #[doc = " the storage."] + #[doc = ""] + #[doc = " However this is a `Vec` regardless to handle various edge cases that may occur at runtime"] + #[doc = " upgrade boundaries or if governance intervenes."] pub fn buffered_session_changes (& self ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , :: std :: vec :: Vec < runtime_types :: polkadot_runtime_parachains :: initializer :: BufferedSessionChange > , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes , () >{ + ::subxt::storage::address::Address::new_static( + "Initializer", + "BufferedSessionChanges", + vec![], + [ + 99u8, 153u8, 100u8, 11u8, 28u8, 62u8, 163u8, 239u8, 177u8, 55u8, 151u8, + 242u8, 227u8, 59u8, 176u8, 10u8, 227u8, 51u8, 252u8, 191u8, 233u8, + 36u8, 1u8, 131u8, 255u8, 56u8, 6u8, 65u8, 5u8, 185u8, 114u8, 139u8, + ], + ) + } + } + } + } + pub mod dmp { + use super::root_mod; + use super::runtime_types; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The downward messages addressed for a certain para."] + pub fn downward_message_queues_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + runtime_types::polkadot_core_primitives::InboundDownwardMessage< + ::core::primitive::u32, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Dmp", + "DownwardMessageQueues", + vec![], + [ + 38u8, 183u8, 133u8, 200u8, 199u8, 135u8, 68u8, 232u8, 189u8, 168u8, + 3u8, 219u8, 201u8, 180u8, 156u8, 79u8, 134u8, 164u8, 94u8, 114u8, + 102u8, 25u8, 108u8, 53u8, 219u8, 155u8, 102u8, 100u8, 58u8, 28u8, + 246u8, 20u8, + ], + ) + } + #[doc = " The downward messages addressed for a certain para."] + pub fn downward_message_queues( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + runtime_types::polkadot_core_primitives::InboundDownwardMessage< + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Dmp", + "DownwardMessageQueues", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 38u8, 183u8, 133u8, 200u8, 199u8, 135u8, 68u8, 232u8, 189u8, 168u8, + 3u8, 219u8, 201u8, 180u8, 156u8, 79u8, 134u8, 164u8, 94u8, 114u8, + 102u8, 25u8, 108u8, 53u8, 219u8, 155u8, 102u8, 100u8, 58u8, 28u8, + 246u8, 20u8, + ], + ) + } + #[doc = " A mapping that stores the downward message queue MQC head for each para."] + #[doc = ""] + #[doc = " Each link in this chain has a form:"] + #[doc = " `(prev_head, B, H(M))`, where"] + #[doc = " - `prev_head`: is the previous head hash or zero if none."] + #[doc = " - `B`: is the relay-chain block number in which a message was appended."] + #[doc = " - `H(M)`: is the hash of the message being appended."] + pub fn downward_message_queue_heads_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Dmp", + "DownwardMessageQueueHeads", + vec![], + [ + 135u8, 165u8, 240u8, 0u8, 25u8, 110u8, 9u8, 108u8, 251u8, 225u8, 109u8, + 184u8, 90u8, 132u8, 9u8, 151u8, 12u8, 118u8, 153u8, 212u8, 140u8, + 205u8, 94u8, 98u8, 110u8, 167u8, 155u8, 43u8, 61u8, 35u8, 52u8, 56u8, + ], + ) + } + #[doc = " A mapping that stores the downward message queue MQC head for each para."] + #[doc = ""] + #[doc = " Each link in this chain has a form:"] + #[doc = " `(prev_head, B, H(M))`, where"] + #[doc = " - `prev_head`: is the previous head hash or zero if none."] + #[doc = " - `B`: is the relay-chain block number in which a message was appended."] + #[doc = " - `H(M)`: is the hash of the message being appended."] + pub fn downward_message_queue_heads( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Dmp", + "DownwardMessageQueueHeads", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 135u8, 165u8, 240u8, 0u8, 25u8, 110u8, 9u8, 108u8, 251u8, 225u8, 109u8, + 184u8, 90u8, 132u8, 9u8, 151u8, 12u8, 118u8, 153u8, 212u8, 140u8, + 205u8, 94u8, 98u8, 110u8, 167u8, 155u8, 43u8, 61u8, 35u8, 52u8, 56u8, + ], + ) + } + #[doc = " The number to multiply the base delivery fee by."] + pub fn delivery_fee_factor_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_arithmetic::fixed_point::FixedU128, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Dmp", + "DeliveryFeeFactor", + vec![], + [ + 43u8, 5u8, 63u8, 235u8, 115u8, 155u8, 130u8, 27u8, 75u8, 216u8, 177u8, + 135u8, 203u8, 147u8, 167u8, 95u8, 208u8, 188u8, 25u8, 14u8, 84u8, 63u8, + 116u8, 41u8, 148u8, 110u8, 115u8, 215u8, 196u8, 36u8, 75u8, 102u8, + ], + ) + } + #[doc = " The number to multiply the base delivery fee by."] + pub fn delivery_fee_factor( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_arithmetic::fixed_point::FixedU128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Dmp", + "DeliveryFeeFactor", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 43u8, 5u8, 63u8, 235u8, 115u8, 155u8, 130u8, 27u8, 75u8, 216u8, 177u8, + 135u8, 203u8, 147u8, 167u8, 95u8, 208u8, 188u8, 25u8, 14u8, 84u8, 63u8, + 116u8, 41u8, 148u8, 110u8, 115u8, 215u8, 196u8, 36u8, 75u8, 102u8, + ], + ) + } + } + } + } + pub mod hrmp { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_parachains::hrmp::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::hrmp::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HrmpInitOpenChannel { + pub recipient: runtime_types::polkadot_parachain::primitives::Id, + pub proposed_max_capacity: ::core::primitive::u32, + pub proposed_max_message_size: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for HrmpInitOpenChannel { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "hrmp_init_open_channel"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HrmpAcceptOpenChannel { + pub sender: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for HrmpAcceptOpenChannel { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "hrmp_accept_open_channel"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HrmpCloseChannel { + pub channel_id: runtime_types::polkadot_parachain::primitives::HrmpChannelId, + } + impl ::subxt::blocks::StaticExtrinsic for HrmpCloseChannel { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "hrmp_close_channel"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceCleanHrmp { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub inbound: ::core::primitive::u32, + pub outbound: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ForceCleanHrmp { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "force_clean_hrmp"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceProcessHrmpOpen { + pub channels: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ForceProcessHrmpOpen { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "force_process_hrmp_open"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceProcessHrmpClose { + pub channels: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ForceProcessHrmpClose { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "force_process_hrmp_close"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HrmpCancelOpenRequest { + pub channel_id: runtime_types::polkadot_parachain::primitives::HrmpChannelId, + pub open_requests: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for HrmpCancelOpenRequest { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "hrmp_cancel_open_request"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceOpenHrmpChannel { + pub sender: runtime_types::polkadot_parachain::primitives::Id, + pub recipient: runtime_types::polkadot_parachain::primitives::Id, + pub max_capacity: ::core::primitive::u32, + pub max_message_size: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ForceOpenHrmpChannel { + const PALLET: &'static str = "Hrmp"; + const CALL: &'static str = "force_open_hrmp_channel"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Initiate opening a channel from a parachain to a given recipient with given channel"] + #[doc = "parameters."] + #[doc = ""] + #[doc = "- `proposed_max_capacity` - specifies how many messages can be in the channel at once."] + #[doc = "- `proposed_max_message_size` - specifies the maximum size of the messages."] + #[doc = ""] + #[doc = "These numbers are a subject to the relay-chain configuration limits."] + #[doc = ""] + #[doc = "The channel can be opened only after the recipient confirms it and only on a session"] + #[doc = "change."] + pub fn hrmp_init_open_channel( + &self, + recipient: runtime_types::polkadot_parachain::primitives::Id, + proposed_max_capacity: ::core::primitive::u32, + proposed_max_message_size: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Hrmp", + "hrmp_init_open_channel", + types::HrmpInitOpenChannel { + recipient, + proposed_max_capacity, + proposed_max_message_size, + }, + [ + 89u8, 39u8, 43u8, 191u8, 235u8, 40u8, 253u8, 129u8, 174u8, 108u8, 26u8, + 206u8, 7u8, 146u8, 206u8, 56u8, 53u8, 104u8, 138u8, 203u8, 108u8, + 195u8, 190u8, 231u8, 223u8, 33u8, 32u8, 157u8, 148u8, 235u8, 67u8, + 82u8, + ], + ) + } + #[doc = "Accept a pending open channel request from the given sender."] + #[doc = ""] + #[doc = "The channel will be opened only on the next session boundary."] + pub fn hrmp_accept_open_channel( + &self, + sender: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Hrmp", + "hrmp_accept_open_channel", + types::HrmpAcceptOpenChannel { sender }, + [ + 133u8, 77u8, 88u8, 40u8, 47u8, 81u8, 95u8, 206u8, 165u8, 41u8, 191u8, + 241u8, 130u8, 244u8, 70u8, 227u8, 69u8, 80u8, 130u8, 126u8, 34u8, 69u8, + 214u8, 81u8, 7u8, 199u8, 249u8, 162u8, 234u8, 233u8, 195u8, 156u8, + ], + ) + } + #[doc = "Initiate unilateral closing of a channel. The origin must be either the sender or the"] + #[doc = "recipient in the channel being closed."] + #[doc = ""] + #[doc = "The closure can only happen on a session change."] + pub fn hrmp_close_channel( + &self, + channel_id: runtime_types::polkadot_parachain::primitives::HrmpChannelId, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Hrmp", + "hrmp_close_channel", + types::HrmpCloseChannel { channel_id }, + [ + 174u8, 225u8, 93u8, 69u8, 133u8, 145u8, 156u8, 94u8, 185u8, 254u8, + 60u8, 209u8, 232u8, 79u8, 237u8, 173u8, 180u8, 45u8, 117u8, 165u8, + 202u8, 195u8, 84u8, 68u8, 241u8, 164u8, 151u8, 216u8, 96u8, 20u8, 7u8, + 45u8, + ], + ) + } + #[doc = "This extrinsic triggers the cleanup of all the HRMP storage items that"] + #[doc = "a para may have. Normally this happens once per session, but this allows"] + #[doc = "you to trigger the cleanup immediately for a specific parachain."] + #[doc = ""] + #[doc = "Origin must be Root."] + #[doc = ""] + #[doc = "Number of inbound and outbound channels for `para` must be provided as witness data of weighing."] + pub fn force_clean_hrmp( + &self, + para: runtime_types::polkadot_parachain::primitives::Id, + inbound: ::core::primitive::u32, + outbound: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Hrmp", + "force_clean_hrmp", + types::ForceCleanHrmp { + para, + inbound, + outbound, + }, + [ + 0u8, 31u8, 178u8, 86u8, 30u8, 161u8, 50u8, 113u8, 51u8, 212u8, 175u8, + 144u8, 43u8, 127u8, 10u8, 168u8, 127u8, 39u8, 101u8, 67u8, 96u8, 29u8, + 117u8, 79u8, 184u8, 228u8, 182u8, 53u8, 55u8, 142u8, 225u8, 212u8, + ], + ) + } + #[doc = "Force process HRMP open channel requests."] + #[doc = ""] + #[doc = "If there are pending HRMP open channel requests, you can use this"] + #[doc = "function process all of those requests immediately."] + #[doc = ""] + #[doc = "Total number of opening channels must be provided as witness data of weighing."] + pub fn force_process_hrmp_open( + &self, + channels: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Hrmp", + "force_process_hrmp_open", + types::ForceProcessHrmpOpen { channels }, + [ + 66u8, 138u8, 220u8, 119u8, 251u8, 148u8, 72u8, 167u8, 49u8, 156u8, + 227u8, 174u8, 153u8, 145u8, 190u8, 195u8, 192u8, 183u8, 41u8, 213u8, + 134u8, 8u8, 114u8, 30u8, 191u8, 81u8, 208u8, 54u8, 120u8, 36u8, 195u8, + 246u8, + ], + ) + } + #[doc = "Force process HRMP close channel requests."] + #[doc = ""] + #[doc = "If there are pending HRMP close channel requests, you can use this"] + #[doc = "function process all of those requests immediately."] + #[doc = ""] + #[doc = "Total number of closing channels must be provided as witness data of weighing."] + pub fn force_process_hrmp_close( + &self, + channels: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Hrmp", + "force_process_hrmp_close", + types::ForceProcessHrmpClose { channels }, + [ + 22u8, 60u8, 113u8, 94u8, 199u8, 101u8, 204u8, 34u8, 158u8, 77u8, 228u8, + 29u8, 180u8, 249u8, 46u8, 103u8, 206u8, 155u8, 164u8, 229u8, 70u8, + 189u8, 218u8, 171u8, 173u8, 22u8, 210u8, 73u8, 232u8, 99u8, 225u8, + 176u8, + ], + ) + } + #[doc = "This cancels a pending open channel request. It can be canceled by either of the sender"] + #[doc = "or the recipient for that request. The origin must be either of those."] + #[doc = ""] + #[doc = "The cancellation happens immediately. It is not possible to cancel the request if it is"] + #[doc = "already accepted."] + #[doc = ""] + #[doc = "Total number of open requests (i.e. `HrmpOpenChannelRequestsList`) must be provided as"] + #[doc = "witness data."] + pub fn hrmp_cancel_open_request( + &self, + channel_id: runtime_types::polkadot_parachain::primitives::HrmpChannelId, + open_requests: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Hrmp", + "hrmp_cancel_open_request", + types::HrmpCancelOpenRequest { + channel_id, + open_requests, + }, + [ + 10u8, 192u8, 79u8, 120u8, 6u8, 88u8, 139u8, 75u8, 87u8, 32u8, 125u8, + 47u8, 178u8, 132u8, 156u8, 232u8, 28u8, 123u8, 74u8, 10u8, 180u8, 90u8, + 145u8, 123u8, 40u8, 89u8, 235u8, 25u8, 237u8, 137u8, 114u8, 173u8, + ], + ) + } + #[doc = "Open a channel from a `sender` to a `recipient` `ParaId` using the Root origin. Although"] + #[doc = "opened by Root, the `max_capacity` and `max_message_size` are still subject to the Relay"] + #[doc = "Chain's configured limits."] + #[doc = ""] + #[doc = "Expected use is when one of the `ParaId`s involved in the channel is governed by the"] + #[doc = "Relay Chain, e.g. a common good parachain."] + pub fn force_open_hrmp_channel( + &self, + sender: runtime_types::polkadot_parachain::primitives::Id, + recipient: runtime_types::polkadot_parachain::primitives::Id, + max_capacity: ::core::primitive::u32, + max_message_size: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Hrmp", + "force_open_hrmp_channel", + types::ForceOpenHrmpChannel { + sender, + recipient, + max_capacity, + max_message_size, + }, + [ + 37u8, 251u8, 1u8, 201u8, 129u8, 217u8, 193u8, 179u8, 98u8, 153u8, + 226u8, 139u8, 107u8, 222u8, 3u8, 76u8, 104u8, 248u8, 31u8, 241u8, 90u8, + 189u8, 56u8, 92u8, 118u8, 68u8, 177u8, 70u8, 5u8, 44u8, 234u8, 27u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::polkadot_runtime_parachains::hrmp::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Open HRMP channel requested."] + #[doc = "`[sender, recipient, proposed_max_capacity, proposed_max_message_size]`"] + pub struct OpenChannelRequested( + pub runtime_types::polkadot_parachain::primitives::Id, + pub runtime_types::polkadot_parachain::primitives::Id, + pub ::core::primitive::u32, + pub ::core::primitive::u32, + ); + impl ::subxt::events::StaticEvent for OpenChannelRequested { + const PALLET: &'static str = "Hrmp"; + const EVENT: &'static str = "OpenChannelRequested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An HRMP channel request sent by the receiver was canceled by either party."] + #[doc = "`[by_parachain, channel_id]`"] + pub struct OpenChannelCanceled( + pub runtime_types::polkadot_parachain::primitives::Id, + pub runtime_types::polkadot_parachain::primitives::HrmpChannelId, + ); + impl ::subxt::events::StaticEvent for OpenChannelCanceled { + const PALLET: &'static str = "Hrmp"; + const EVENT: &'static str = "OpenChannelCanceled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Open HRMP channel accepted. `[sender, recipient]`"] + pub struct OpenChannelAccepted( + pub runtime_types::polkadot_parachain::primitives::Id, + pub runtime_types::polkadot_parachain::primitives::Id, + ); + impl ::subxt::events::StaticEvent for OpenChannelAccepted { + const PALLET: &'static str = "Hrmp"; + const EVENT: &'static str = "OpenChannelAccepted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "HRMP channel closed. `[by_parachain, channel_id]`"] + pub struct ChannelClosed( + pub runtime_types::polkadot_parachain::primitives::Id, + pub runtime_types::polkadot_parachain::primitives::HrmpChannelId, + ); + impl ::subxt::events::StaticEvent for ChannelClosed { + const PALLET: &'static str = "Hrmp"; + const EVENT: &'static str = "ChannelClosed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An HRMP channel was opened via Root origin."] + #[doc = "`[sender, recipient, proposed_max_capacity, proposed_max_message_size]`"] + pub struct HrmpChannelForceOpened( + pub runtime_types::polkadot_parachain::primitives::Id, + pub runtime_types::polkadot_parachain::primitives::Id, + pub ::core::primitive::u32, + pub ::core::primitive::u32, + ); + impl ::subxt::events::StaticEvent for HrmpChannelForceOpened { + const PALLET: &'static str = "Hrmp"; + const EVENT: &'static str = "HrmpChannelForceOpened"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The set of pending HRMP open channel requests."] + #[doc = ""] + #[doc = " The set is accompanied by a list for iteration."] + #[doc = ""] + #[doc = " Invariant:"] + #[doc = " - There are no channels that exists in list but not in the set and vice versa."] + pub fn hrmp_open_channel_requests_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::hrmp::HrmpOpenChannelRequest, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpOpenChannelRequests", + vec![], + [ + 164u8, 97u8, 52u8, 242u8, 255u8, 67u8, 248u8, 170u8, 204u8, 92u8, 81u8, + 144u8, 11u8, 63u8, 145u8, 167u8, 8u8, 174u8, 221u8, 147u8, 125u8, + 144u8, 243u8, 33u8, 235u8, 104u8, 240u8, 99u8, 96u8, 211u8, 163u8, + 121u8, + ], + ) + } + #[doc = " The set of pending HRMP open channel requests."] + #[doc = ""] + #[doc = " The set is accompanied by a list for iteration."] + #[doc = ""] + #[doc = " Invariant:"] + #[doc = " - There are no channels that exists in list but not in the set and vice versa."] + pub fn hrmp_open_channel_requests( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::polkadot_parachain::primitives::HrmpChannelId, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::hrmp::HrmpOpenChannelRequest, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpOpenChannelRequests", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 164u8, 97u8, 52u8, 242u8, 255u8, 67u8, 248u8, 170u8, 204u8, 92u8, 81u8, + 144u8, 11u8, 63u8, 145u8, 167u8, 8u8, 174u8, 221u8, 147u8, 125u8, + 144u8, 243u8, 33u8, 235u8, 104u8, 240u8, 99u8, 96u8, 211u8, 163u8, + 121u8, + ], + ) + } + pub fn hrmp_open_channel_requests_list( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpOpenChannelRequestsList", + vec![], + [ + 45u8, 190u8, 124u8, 26u8, 37u8, 249u8, 140u8, 254u8, 101u8, 249u8, + 27u8, 117u8, 218u8, 3u8, 126u8, 114u8, 143u8, 65u8, 122u8, 246u8, + 237u8, 173u8, 145u8, 175u8, 133u8, 119u8, 127u8, 81u8, 59u8, 206u8, + 159u8, 39u8, + ], + ) + } + #[doc = " This mapping tracks how many open channel requests are initiated by a given sender para."] + #[doc = " Invariant: `HrmpOpenChannelRequests` should contain the same number of items that has"] + #[doc = " `(X, _)` as the number of `HrmpOpenChannelRequestCount` for `X`."] + pub fn hrmp_open_channel_request_count_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpOpenChannelRequestCount", + vec![], + [ + 136u8, 72u8, 56u8, 31u8, 229u8, 99u8, 241u8, 14u8, 159u8, 243u8, 179u8, + 222u8, 252u8, 56u8, 63u8, 24u8, 204u8, 130u8, 47u8, 161u8, 133u8, + 227u8, 237u8, 146u8, 239u8, 46u8, 127u8, 113u8, 190u8, 230u8, 61u8, + 182u8, + ], + ) + } + #[doc = " This mapping tracks how many open channel requests are initiated by a given sender para."] + #[doc = " Invariant: `HrmpOpenChannelRequests` should contain the same number of items that has"] + #[doc = " `(X, _)` as the number of `HrmpOpenChannelRequestCount` for `X`."] + pub fn hrmp_open_channel_request_count( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpOpenChannelRequestCount", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 136u8, 72u8, 56u8, 31u8, 229u8, 99u8, 241u8, 14u8, 159u8, 243u8, 179u8, + 222u8, 252u8, 56u8, 63u8, 24u8, 204u8, 130u8, 47u8, 161u8, 133u8, + 227u8, 237u8, 146u8, 239u8, 46u8, 127u8, 113u8, 190u8, 230u8, 61u8, + 182u8, + ], + ) + } + #[doc = " This mapping tracks how many open channel requests were accepted by a given recipient para."] + #[doc = " Invariant: `HrmpOpenChannelRequests` should contain the same number of items `(_, X)` with"] + #[doc = " `confirmed` set to true, as the number of `HrmpAcceptedChannelRequestCount` for `X`."] + pub fn hrmp_accepted_channel_request_count_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpAcceptedChannelRequestCount", + vec![], + [ + 29u8, 100u8, 52u8, 28u8, 180u8, 84u8, 132u8, 120u8, 117u8, 172u8, + 169u8, 40u8, 237u8, 92u8, 89u8, 87u8, 230u8, 148u8, 140u8, 226u8, 60u8, + 169u8, 100u8, 162u8, 139u8, 205u8, 180u8, 92u8, 0u8, 110u8, 55u8, + 158u8, + ], + ) + } + #[doc = " This mapping tracks how many open channel requests were accepted by a given recipient para."] + #[doc = " Invariant: `HrmpOpenChannelRequests` should contain the same number of items `(_, X)` with"] + #[doc = " `confirmed` set to true, as the number of `HrmpAcceptedChannelRequestCount` for `X`."] + pub fn hrmp_accepted_channel_request_count( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpAcceptedChannelRequestCount", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 29u8, 100u8, 52u8, 28u8, 180u8, 84u8, 132u8, 120u8, 117u8, 172u8, + 169u8, 40u8, 237u8, 92u8, 89u8, 87u8, 230u8, 148u8, 140u8, 226u8, 60u8, + 169u8, 100u8, 162u8, 139u8, 205u8, 180u8, 92u8, 0u8, 110u8, 55u8, + 158u8, + ], + ) + } + #[doc = " A set of pending HRMP close channel requests that are going to be closed during the session"] + #[doc = " change. Used for checking if a given channel is registered for closure."] + #[doc = ""] + #[doc = " The set is accompanied by a list for iteration."] + #[doc = ""] + #[doc = " Invariant:"] + #[doc = " - There are no channels that exists in list but not in the set and vice versa."] + pub fn hrmp_close_channel_requests_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (), + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpCloseChannelRequests", + vec![], + [ + 155u8, 13u8, 73u8, 166u8, 58u8, 67u8, 138u8, 58u8, 215u8, 172u8, 241u8, + 168u8, 57u8, 4u8, 230u8, 248u8, 31u8, 183u8, 227u8, 224u8, 139u8, + 172u8, 229u8, 228u8, 16u8, 120u8, 124u8, 81u8, 213u8, 253u8, 102u8, + 226u8, + ], + ) + } + #[doc = " A set of pending HRMP close channel requests that are going to be closed during the session"] + #[doc = " change. Used for checking if a given channel is registered for closure."] + #[doc = ""] + #[doc = " The set is accompanied by a list for iteration."] + #[doc = ""] + #[doc = " Invariant:"] + #[doc = " - There are no channels that exists in list but not in the set and vice versa."] + pub fn hrmp_close_channel_requests( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::polkadot_parachain::primitives::HrmpChannelId, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (), + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpCloseChannelRequests", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 155u8, 13u8, 73u8, 166u8, 58u8, 67u8, 138u8, 58u8, 215u8, 172u8, 241u8, + 168u8, 57u8, 4u8, 230u8, 248u8, 31u8, 183u8, 227u8, 224u8, 139u8, + 172u8, 229u8, 228u8, 16u8, 120u8, 124u8, 81u8, 213u8, 253u8, 102u8, + 226u8, + ], + ) + } + pub fn hrmp_close_channel_requests_list( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpCloseChannelRequestsList", + vec![], + [ + 78u8, 194u8, 214u8, 232u8, 91u8, 72u8, 109u8, 113u8, 88u8, 86u8, 136u8, + 26u8, 226u8, 30u8, 11u8, 188u8, 57u8, 77u8, 169u8, 64u8, 14u8, 187u8, + 27u8, 127u8, 76u8, 99u8, 114u8, 73u8, 221u8, 23u8, 208u8, 69u8, + ], + ) + } + #[doc = " The HRMP watermark associated with each para."] + #[doc = " Invariant:"] + #[doc = " - each para `P` used here as a key should satisfy `Paras::is_valid_para(P)` within a session."] + pub fn hrmp_watermarks_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpWatermarks", + vec![], + [ + 245u8, 104u8, 137u8, 120u8, 131u8, 7u8, 178u8, 85u8, 96u8, 124u8, + 241u8, 2u8, 86u8, 63u8, 116u8, 77u8, 217u8, 235u8, 162u8, 38u8, 104u8, + 248u8, 121u8, 1u8, 111u8, 191u8, 191u8, 115u8, 65u8, 67u8, 2u8, 238u8, + ], + ) + } + #[doc = " The HRMP watermark associated with each para."] + #[doc = " Invariant:"] + #[doc = " - each para `P` used here as a key should satisfy `Paras::is_valid_para(P)` within a session."] + pub fn hrmp_watermarks( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpWatermarks", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 245u8, 104u8, 137u8, 120u8, 131u8, 7u8, 178u8, 85u8, 96u8, 124u8, + 241u8, 2u8, 86u8, 63u8, 116u8, 77u8, 217u8, 235u8, 162u8, 38u8, 104u8, + 248u8, 121u8, 1u8, 111u8, 191u8, 191u8, 115u8, 65u8, 67u8, 2u8, 238u8, + ], + ) + } + #[doc = " HRMP channel data associated with each para."] + #[doc = " Invariant:"] + #[doc = " - each participant in the channel should satisfy `Paras::is_valid_para(P)` within a session."] + pub fn hrmp_channels_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::hrmp::HrmpChannel, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpChannels", + vec![], + [ + 174u8, 90u8, 72u8, 93u8, 43u8, 140u8, 181u8, 170u8, 138u8, 171u8, + 179u8, 156u8, 33u8, 87u8, 63u8, 1u8, 131u8, 59u8, 230u8, 14u8, 40u8, + 240u8, 186u8, 66u8, 191u8, 130u8, 48u8, 218u8, 225u8, 22u8, 33u8, + 122u8, + ], + ) + } + #[doc = " HRMP channel data associated with each para."] + #[doc = " Invariant:"] + #[doc = " - each participant in the channel should satisfy `Paras::is_valid_para(P)` within a session."] + pub fn hrmp_channels( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::polkadot_parachain::primitives::HrmpChannelId, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::hrmp::HrmpChannel, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpChannels", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 174u8, 90u8, 72u8, 93u8, 43u8, 140u8, 181u8, 170u8, 138u8, 171u8, + 179u8, 156u8, 33u8, 87u8, 63u8, 1u8, 131u8, 59u8, 230u8, 14u8, 40u8, + 240u8, 186u8, 66u8, 191u8, 130u8, 48u8, 218u8, 225u8, 22u8, 33u8, + 122u8, + ], + ) + } + #[doc = " Ingress/egress indexes allow to find all the senders and receivers given the opposite side."] + #[doc = " I.e."] + #[doc = ""] + #[doc = " (a) ingress index allows to find all the senders for a given recipient."] + #[doc = " (b) egress index allows to find all the recipients for a given sender."] + #[doc = ""] + #[doc = " Invariants:"] + #[doc = " - for each ingress index entry for `P` each item `I` in the index should present in"] + #[doc = " `HrmpChannels` as `(I, P)`."] + #[doc = " - for each egress index entry for `P` each item `E` in the index should present in"] + #[doc = " `HrmpChannels` as `(P, E)`."] + #[doc = " - there should be no other dangling channels in `HrmpChannels`."] + #[doc = " - the vectors are sorted."] + pub fn hrmp_ingress_channels_index_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpIngressChannelsIndex", + vec![], + [ + 125u8, 229u8, 102u8, 230u8, 74u8, 109u8, 173u8, 67u8, 176u8, 169u8, + 57u8, 24u8, 75u8, 129u8, 246u8, 198u8, 63u8, 49u8, 56u8, 102u8, 149u8, + 139u8, 138u8, 207u8, 150u8, 220u8, 29u8, 208u8, 203u8, 0u8, 93u8, + 105u8, + ], + ) + } + #[doc = " Ingress/egress indexes allow to find all the senders and receivers given the opposite side."] + #[doc = " I.e."] + #[doc = ""] + #[doc = " (a) ingress index allows to find all the senders for a given recipient."] + #[doc = " (b) egress index allows to find all the recipients for a given sender."] + #[doc = ""] + #[doc = " Invariants:"] + #[doc = " - for each ingress index entry for `P` each item `I` in the index should present in"] + #[doc = " `HrmpChannels` as `(I, P)`."] + #[doc = " - for each egress index entry for `P` each item `E` in the index should present in"] + #[doc = " `HrmpChannels` as `(P, E)`."] + #[doc = " - there should be no other dangling channels in `HrmpChannels`."] + #[doc = " - the vectors are sorted."] + pub fn hrmp_ingress_channels_index( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpIngressChannelsIndex", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 125u8, 229u8, 102u8, 230u8, 74u8, 109u8, 173u8, 67u8, 176u8, 169u8, + 57u8, 24u8, 75u8, 129u8, 246u8, 198u8, 63u8, 49u8, 56u8, 102u8, 149u8, + 139u8, 138u8, 207u8, 150u8, 220u8, 29u8, 208u8, 203u8, 0u8, 93u8, + 105u8, + ], + ) + } + pub fn hrmp_egress_channels_index_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpEgressChannelsIndex", + vec![], + [ + 237u8, 183u8, 188u8, 57u8, 20u8, 238u8, 166u8, 7u8, 94u8, 155u8, 22u8, + 9u8, 173u8, 209u8, 210u8, 17u8, 160u8, 79u8, 243u8, 4u8, 245u8, 240u8, + 65u8, 195u8, 116u8, 98u8, 206u8, 104u8, 53u8, 64u8, 241u8, 41u8, + ], + ) + } + pub fn hrmp_egress_channels_index( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpEgressChannelsIndex", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 237u8, 183u8, 188u8, 57u8, 20u8, 238u8, 166u8, 7u8, 94u8, 155u8, 22u8, + 9u8, 173u8, 209u8, 210u8, 17u8, 160u8, 79u8, 243u8, 4u8, 245u8, 240u8, + 65u8, 195u8, 116u8, 98u8, 206u8, 104u8, 53u8, 64u8, 241u8, 41u8, + ], + ) + } + #[doc = " Storage for the messages for each channel."] + #[doc = " Invariant: cannot be non-empty if the corresponding channel in `HrmpChannels` is `None`."] + pub fn hrmp_channel_contents_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + runtime_types::polkadot_core_primitives::InboundHrmpMessage< + ::core::primitive::u32, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpChannelContents", + vec![], + [ + 55u8, 16u8, 135u8, 69u8, 54u8, 180u8, 246u8, 124u8, 104u8, 92u8, 45u8, + 18u8, 223u8, 145u8, 43u8, 190u8, 121u8, 59u8, 35u8, 195u8, 234u8, + 219u8, 30u8, 246u8, 168u8, 187u8, 45u8, 171u8, 254u8, 204u8, 60u8, + 121u8, + ], + ) + } + #[doc = " Storage for the messages for each channel."] + #[doc = " Invariant: cannot be non-empty if the corresponding channel in `HrmpChannels` is `None`."] + pub fn hrmp_channel_contents( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::polkadot_parachain::primitives::HrmpChannelId, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + runtime_types::polkadot_core_primitives::InboundHrmpMessage< + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpChannelContents", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 55u8, 16u8, 135u8, 69u8, 54u8, 180u8, 246u8, 124u8, 104u8, 92u8, 45u8, + 18u8, 223u8, 145u8, 43u8, 190u8, 121u8, 59u8, 35u8, 195u8, 234u8, + 219u8, 30u8, 246u8, 168u8, 187u8, 45u8, 171u8, 254u8, 204u8, 60u8, + 121u8, + ], + ) + } + #[doc = " Maintains a mapping that can be used to answer the question: What paras sent a message at"] + #[doc = " the given block number for a given receiver. Invariants:"] + #[doc = " - The inner `Vec` is never empty."] + #[doc = " - The inner `Vec` cannot store two same `ParaId`."] + #[doc = " - The outer vector is sorted ascending by block number and cannot store two items with the"] + #[doc = " same block number."] + pub fn hrmp_channel_digests_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<( + ::core::primitive::u32, + ::std::vec::Vec, + )>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpChannelDigests", + vec![], + [ + 90u8, 90u8, 139u8, 78u8, 47u8, 2u8, 104u8, 211u8, 42u8, 246u8, 193u8, + 210u8, 142u8, 223u8, 17u8, 136u8, 3u8, 182u8, 25u8, 56u8, 72u8, 72u8, + 162u8, 131u8, 36u8, 34u8, 162u8, 176u8, 159u8, 113u8, 7u8, 207u8, + ], + ) + } + #[doc = " Maintains a mapping that can be used to answer the question: What paras sent a message at"] + #[doc = " the given block number for a given receiver. Invariants:"] + #[doc = " - The inner `Vec` is never empty."] + #[doc = " - The inner `Vec` cannot store two same `ParaId`."] + #[doc = " - The outer vector is sorted ascending by block number and cannot store two items with the"] + #[doc = " same block number."] + pub fn hrmp_channel_digests( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<( + ::core::primitive::u32, + ::std::vec::Vec, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Hrmp", + "HrmpChannelDigests", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 90u8, 90u8, 139u8, 78u8, 47u8, 2u8, 104u8, 211u8, 42u8, 246u8, 193u8, + 210u8, 142u8, 223u8, 17u8, 136u8, 3u8, 182u8, 25u8, 56u8, 72u8, 72u8, + 162u8, 131u8, 36u8, 34u8, 162u8, 176u8, 159u8, 113u8, 7u8, 207u8, + ], + ) + } + } + } + } + pub mod para_session_info { + use super::root_mod; + use super::runtime_types; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Assignment keys for the current session."] + #[doc = " Note that this API is private due to it being prone to 'off-by-one' at session boundaries."] + #[doc = " When in doubt, use `Sessions` API instead."] + pub fn assignment_keys_unsafe( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParaSessionInfo", + "AssignmentKeysUnsafe", + vec![], + [ + 51u8, 155u8, 91u8, 101u8, 118u8, 243u8, 134u8, 138u8, 147u8, 59u8, + 195u8, 186u8, 54u8, 187u8, 36u8, 14u8, 91u8, 141u8, 60u8, 139u8, 28u8, + 74u8, 111u8, 232u8, 198u8, 229u8, 61u8, 63u8, 72u8, 214u8, 152u8, 2u8, + ], + ) + } + #[doc = " The earliest session for which previous session info is stored."] + pub fn earliest_stored_session( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParaSessionInfo", + "EarliestStoredSession", + vec![], + [ + 139u8, 176u8, 46u8, 139u8, 217u8, 35u8, 62u8, 91u8, 183u8, 7u8, 114u8, + 226u8, 60u8, 237u8, 105u8, 73u8, 20u8, 216u8, 194u8, 205u8, 178u8, + 237u8, 84u8, 66u8, 181u8, 29u8, 31u8, 218u8, 48u8, 60u8, 198u8, 86u8, + ], + ) + } + #[doc = " Session information in a rolling window."] + #[doc = " Should have an entry in range `EarliestStoredSession..=CurrentSessionIndex`."] + #[doc = " Does not have any entries before the session index in the first session change notification."] + pub fn sessions_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::SessionInfo, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParaSessionInfo", + "Sessions", + vec![], + [ + 254u8, 40u8, 169u8, 18u8, 252u8, 203u8, 49u8, 182u8, 123u8, 19u8, + 241u8, 150u8, 227u8, 153u8, 108u8, 109u8, 66u8, 129u8, 157u8, 27u8, + 130u8, 215u8, 105u8, 18u8, 163u8, 72u8, 182u8, 243u8, 31u8, 157u8, + 103u8, 111u8, + ], + ) + } + #[doc = " Session information in a rolling window."] + #[doc = " Should have an entry in range `EarliestStoredSession..=CurrentSessionIndex`."] + #[doc = " Does not have any entries before the session index in the first session change notification."] + pub fn sessions( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::SessionInfo, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParaSessionInfo", + "Sessions", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 254u8, 40u8, 169u8, 18u8, 252u8, 203u8, 49u8, 182u8, 123u8, 19u8, + 241u8, 150u8, 227u8, 153u8, 108u8, 109u8, 66u8, 129u8, 157u8, 27u8, + 130u8, 215u8, 105u8, 18u8, 163u8, 72u8, 182u8, 243u8, 31u8, 157u8, + 103u8, 111u8, + ], + ) + } + #[doc = " The validator account keys of the validators actively participating in parachain consensus."] + pub fn account_keys_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::subxt::utils::AccountId32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParaSessionInfo", + "AccountKeys", + vec![], + [ + 30u8, 98u8, 58u8, 140u8, 96u8, 231u8, 205u8, 111u8, 194u8, 100u8, + 185u8, 242u8, 210u8, 143u8, 110u8, 144u8, 170u8, 187u8, 62u8, 196u8, + 73u8, 88u8, 118u8, 168u8, 117u8, 116u8, 153u8, 229u8, 108u8, 46u8, + 154u8, 220u8, + ], + ) + } + #[doc = " The validator account keys of the validators actively participating in parachain consensus."] + pub fn account_keys( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParaSessionInfo", + "AccountKeys", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 30u8, 98u8, 58u8, 140u8, 96u8, 231u8, 205u8, 111u8, 194u8, 100u8, + 185u8, 242u8, 210u8, 143u8, 110u8, 144u8, 170u8, 187u8, 62u8, 196u8, + 73u8, 88u8, 118u8, 168u8, 117u8, 116u8, 153u8, 229u8, 108u8, 46u8, + 154u8, 220u8, + ], + ) + } + #[doc = " Executor parameter set for a given session index"] + pub fn session_executor_params_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::executor_params::ExecutorParams, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParaSessionInfo", + "SessionExecutorParams", + vec![], + [ + 102u8, 51u8, 28u8, 199u8, 238u8, 229u8, 99u8, 38u8, 116u8, 154u8, + 250u8, 136u8, 240u8, 122u8, 82u8, 13u8, 139u8, 160u8, 149u8, 218u8, + 162u8, 130u8, 109u8, 251u8, 10u8, 109u8, 200u8, 158u8, 32u8, 157u8, + 84u8, 234u8, + ], + ) + } + #[doc = " Executor parameter set for a given session index"] + pub fn session_executor_params( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::executor_params::ExecutorParams, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParaSessionInfo", + "SessionExecutorParams", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 102u8, 51u8, 28u8, 199u8, 238u8, 229u8, 99u8, 38u8, 116u8, 154u8, + 250u8, 136u8, 240u8, 122u8, 82u8, 13u8, 139u8, 160u8, 149u8, 218u8, + 162u8, 130u8, 109u8, 251u8, 10u8, 109u8, 200u8, 158u8, 32u8, 157u8, + 84u8, 234u8, + ], + ) + } + } + } + } + pub mod paras_disputes { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_parachains::disputes::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_parachains::disputes::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceUnfreeze; + impl ::subxt::blocks::StaticExtrinsic for ForceUnfreeze { + const PALLET: &'static str = "ParasDisputes"; + const CALL: &'static str = "force_unfreeze"; + } + } + pub struct TransactionApi; + impl TransactionApi { + pub fn force_unfreeze(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ParasDisputes", + "force_unfreeze", + types::ForceUnfreeze {}, + [ + 148u8, 19u8, 139u8, 154u8, 111u8, 166u8, 74u8, 136u8, 127u8, 157u8, + 20u8, 47u8, 220u8, 108u8, 152u8, 108u8, 24u8, 232u8, 11u8, 53u8, 26u8, + 4u8, 23u8, 58u8, 195u8, 61u8, 159u8, 6u8, 139u8, 7u8, 197u8, 88u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::polkadot_runtime_parachains::disputes::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A dispute has been initiated. \\[candidate hash, dispute location\\]"] + pub struct DisputeInitiated( + pub runtime_types::polkadot_core_primitives::CandidateHash, + pub runtime_types::polkadot_runtime_parachains::disputes::DisputeLocation, + ); + impl ::subxt::events::StaticEvent for DisputeInitiated { + const PALLET: &'static str = "ParasDisputes"; + const EVENT: &'static str = "DisputeInitiated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A dispute has concluded for or against a candidate."] + #[doc = "`\\[para id, candidate hash, dispute result\\]`"] + pub struct DisputeConcluded( + pub runtime_types::polkadot_core_primitives::CandidateHash, + pub runtime_types::polkadot_runtime_parachains::disputes::DisputeResult, + ); + impl ::subxt::events::StaticEvent for DisputeConcluded { + const PALLET: &'static str = "ParasDisputes"; + const EVENT: &'static str = "DisputeConcluded"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A dispute has concluded with supermajority against a candidate."] + #[doc = "Block authors should no longer build on top of this head and should"] + #[doc = "instead revert the block at the given height. This should be the"] + #[doc = "number of the child of the last known valid block in the chain."] + pub struct Revert(pub ::core::primitive::u32); + impl ::subxt::events::StaticEvent for Revert { + const PALLET: &'static str = "ParasDisputes"; + const EVENT: &'static str = "Revert"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The last pruned session, if any. All data stored by this module"] + #[doc = " references sessions."] + pub fn last_pruned_session( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParasDisputes", + "LastPrunedSession", + vec![], + [ + 98u8, 107u8, 200u8, 158u8, 182u8, 120u8, 24u8, 242u8, 24u8, 163u8, + 237u8, 72u8, 153u8, 19u8, 38u8, 85u8, 239u8, 208u8, 194u8, 22u8, 173u8, + 100u8, 219u8, 10u8, 194u8, 42u8, 120u8, 146u8, 225u8, 62u8, 80u8, + 229u8, + ], + ) + } + #[doc = " All ongoing or concluded disputes for the last several sessions."] + pub fn disputes_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::DisputeState<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParasDisputes", + "Disputes", + vec![], + [ + 38u8, 237u8, 141u8, 222u8, 135u8, 82u8, 210u8, 166u8, 192u8, 122u8, + 175u8, 96u8, 91u8, 1u8, 225u8, 182u8, 128u8, 4u8, 159u8, 56u8, 180u8, + 176u8, 157u8, 20u8, 105u8, 202u8, 192u8, 213u8, 164u8, 24u8, 227u8, + 15u8, + ], + ) + } + #[doc = " All ongoing or concluded disputes for the last several sessions."] + pub fn disputes_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::DisputeState<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParasDisputes", + "Disputes", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 38u8, 237u8, 141u8, 222u8, 135u8, 82u8, 210u8, 166u8, 192u8, 122u8, + 175u8, 96u8, 91u8, 1u8, 225u8, 182u8, 128u8, 4u8, 159u8, 56u8, 180u8, + 176u8, 157u8, 20u8, 105u8, 202u8, 192u8, 213u8, 164u8, 24u8, 227u8, + 15u8, + ], + ) + } + #[doc = " All ongoing or concluded disputes for the last several sessions."] + pub fn disputes( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow< + runtime_types::polkadot_core_primitives::CandidateHash, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_primitives::v4::DisputeState<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParasDisputes", + "Disputes", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 38u8, 237u8, 141u8, 222u8, 135u8, 82u8, 210u8, 166u8, 192u8, 122u8, + 175u8, 96u8, 91u8, 1u8, 225u8, 182u8, 128u8, 4u8, 159u8, 56u8, 180u8, + 176u8, 157u8, 20u8, 105u8, 202u8, 192u8, 213u8, 164u8, 24u8, 227u8, + 15u8, + ], + ) + } + #[doc = " Backing votes stored for each dispute."] + #[doc = " This storage is used for slashing."] + pub fn backers_on_disputes_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParasDisputes", + "BackersOnDisputes", + vec![], + [ + 136u8, 171u8, 20u8, 204u8, 135u8, 153u8, 144u8, 241u8, 46u8, 193u8, + 65u8, 22u8, 116u8, 161u8, 144u8, 186u8, 31u8, 194u8, 202u8, 225u8, + 14u8, 137u8, 240u8, 243u8, 119u8, 144u8, 102u8, 245u8, 133u8, 126u8, + 103u8, 32u8, + ], + ) + } + #[doc = " Backing votes stored for each dispute."] + #[doc = " This storage is used for slashing."] + pub fn backers_on_disputes_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParasDisputes", + "BackersOnDisputes", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 136u8, 171u8, 20u8, 204u8, 135u8, 153u8, 144u8, 241u8, 46u8, 193u8, + 65u8, 22u8, 116u8, 161u8, 144u8, 186u8, 31u8, 194u8, 202u8, 225u8, + 14u8, 137u8, 240u8, 243u8, 119u8, 144u8, 102u8, 245u8, 133u8, 126u8, + 103u8, 32u8, + ], + ) + } + #[doc = " Backing votes stored for each dispute."] + #[doc = " This storage is used for slashing."] + pub fn backers_on_disputes( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow< + runtime_types::polkadot_core_primitives::CandidateHash, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParasDisputes", + "BackersOnDisputes", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 136u8, 171u8, 20u8, 204u8, 135u8, 153u8, 144u8, 241u8, 46u8, 193u8, + 65u8, 22u8, 116u8, 161u8, 144u8, 186u8, 31u8, 194u8, 202u8, 225u8, + 14u8, 137u8, 240u8, 243u8, 119u8, 144u8, 102u8, 245u8, 133u8, 126u8, + 103u8, 32u8, + ], + ) + } + #[doc = " All included blocks on the chain, as well as the block number in this chain that"] + #[doc = " should be reverted back to if the candidate is disputed and determined to be invalid."] + pub fn included_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParasDisputes", + "Included", + vec![], + [ + 47u8, 105u8, 189u8, 233u8, 206u8, 153u8, 162u8, 217u8, 141u8, 118u8, + 31u8, 85u8, 87u8, 53u8, 100u8, 187u8, 31u8, 245u8, 50u8, 171u8, 4u8, + 203u8, 163u8, 109u8, 212u8, 162u8, 86u8, 124u8, 172u8, 157u8, 165u8, + 21u8, + ], + ) + } + #[doc = " All included blocks on the chain, as well as the block number in this chain that"] + #[doc = " should be reverted back to if the candidate is disputed and determined to be invalid."] + pub fn included_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParasDisputes", + "Included", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 47u8, 105u8, 189u8, 233u8, 206u8, 153u8, 162u8, 217u8, 141u8, 118u8, + 31u8, 85u8, 87u8, 53u8, 100u8, 187u8, 31u8, 245u8, 50u8, 171u8, 4u8, + 203u8, 163u8, 109u8, 212u8, 162u8, 86u8, 124u8, 172u8, 157u8, 165u8, + 21u8, + ], + ) + } + #[doc = " All included blocks on the chain, as well as the block number in this chain that"] + #[doc = " should be reverted back to if the candidate is disputed and determined to be invalid."] + pub fn included( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow< + runtime_types::polkadot_core_primitives::CandidateHash, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParasDisputes", + "Included", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 47u8, 105u8, 189u8, 233u8, 206u8, 153u8, 162u8, 217u8, 141u8, 118u8, + 31u8, 85u8, 87u8, 53u8, 100u8, 187u8, 31u8, 245u8, 50u8, 171u8, 4u8, + 203u8, 163u8, 109u8, 212u8, 162u8, 86u8, 124u8, 172u8, 157u8, 165u8, + 21u8, + ], + ) + } + #[doc = " Whether the chain is frozen. Starts as `None`. When this is `Some`,"] + #[doc = " the chain will not accept any new parachain blocks for backing or inclusion,"] + #[doc = " and its value indicates the last valid block number in the chain."] + #[doc = " It can only be set back to `None` by governance intervention."] + pub fn frozen( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::option::Option<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ParasDisputes", + "Frozen", + vec![], + [ + 245u8, 136u8, 43u8, 156u8, 7u8, 74u8, 31u8, 190u8, 184u8, 119u8, 182u8, + 66u8, 18u8, 136u8, 30u8, 248u8, 24u8, 121u8, 26u8, 177u8, 169u8, 208u8, + 218u8, 208u8, 80u8, 116u8, 31u8, 144u8, 49u8, 201u8, 198u8, 197u8, + ], + ) + } + } + } + } + pub mod paras_slashing { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = + runtime_types::polkadot_runtime_parachains::disputes::slashing::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = + runtime_types::polkadot_runtime_parachains::disputes::slashing::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReportDisputeLostUnsigned { pub dispute_proof : :: std :: boxed :: Box < runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: DisputeProof > , pub key_owner_proof : runtime_types :: sp_session :: MembershipProof , } + impl ::subxt::blocks::StaticExtrinsic for ReportDisputeLostUnsigned { + const PALLET: &'static str = "ParasSlashing"; + const CALL: &'static str = "report_dispute_lost_unsigned"; + } + } + pub struct TransactionApi; + impl TransactionApi { + pub fn report_dispute_lost_unsigned( + &self, + dispute_proof : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: DisputeProof, + key_owner_proof: runtime_types::sp_session::MembershipProof, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ParasSlashing", + "report_dispute_lost_unsigned", + types::ReportDisputeLostUnsigned { + dispute_proof: ::std::boxed::Box::new(dispute_proof), + key_owner_proof, + }, + [ + 57u8, 99u8, 246u8, 126u8, 203u8, 239u8, 64u8, 182u8, 167u8, 204u8, + 96u8, 221u8, 126u8, 94u8, 254u8, 210u8, 18u8, 182u8, 207u8, 32u8, + 250u8, 249u8, 116u8, 156u8, 210u8, 63u8, 254u8, 74u8, 86u8, 101u8, + 28u8, 229u8, + ], + ) + } + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Validators pending dispute slashes."] + pub fn unapplied_slashes_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::disputes::slashing::PendingSlashes, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParasSlashing", + "UnappliedSlashes", + vec![], + [ + 114u8, 171u8, 137u8, 142u8, 180u8, 125u8, 226u8, 240u8, 99u8, 181u8, + 68u8, 221u8, 91u8, 124u8, 172u8, 93u8, 103u8, 12u8, 95u8, 43u8, 67u8, + 59u8, 29u8, 133u8, 140u8, 17u8, 141u8, 228u8, 145u8, 201u8, 82u8, + 126u8, + ], + ) + } + #[doc = " Validators pending dispute slashes."] + pub fn unapplied_slashes_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::disputes::slashing::PendingSlashes, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParasSlashing", + "UnappliedSlashes", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 114u8, 171u8, 137u8, 142u8, 180u8, 125u8, 226u8, 240u8, 99u8, 181u8, + 68u8, 221u8, 91u8, 124u8, 172u8, 93u8, 103u8, 12u8, 95u8, 43u8, 67u8, + 59u8, 29u8, 133u8, 140u8, 17u8, 141u8, 228u8, 145u8, 201u8, 82u8, + 126u8, + ], + ) + } + #[doc = " Validators pending dispute slashes."] + pub fn unapplied_slashes( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow< + runtime_types::polkadot_core_primitives::CandidateHash, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::disputes::slashing::PendingSlashes, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParasSlashing", + "UnappliedSlashes", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 114u8, 171u8, 137u8, 142u8, 180u8, 125u8, 226u8, 240u8, 99u8, 181u8, + 68u8, 221u8, 91u8, 124u8, 172u8, 93u8, 103u8, 12u8, 95u8, 43u8, 67u8, + 59u8, 29u8, 133u8, 140u8, 17u8, 141u8, 228u8, 145u8, 201u8, 82u8, + 126u8, + ], + ) + } + #[doc = " `ValidatorSetCount` per session."] + pub fn validator_set_counts_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ParasSlashing", + "ValidatorSetCounts", + vec![], + [ + 195u8, 220u8, 79u8, 140u8, 114u8, 80u8, 241u8, 103u8, 4u8, 7u8, 53u8, + 100u8, 16u8, 78u8, 104u8, 171u8, 134u8, 110u8, 158u8, 191u8, 37u8, + 94u8, 211u8, 26u8, 17u8, 70u8, 50u8, 34u8, 70u8, 234u8, 186u8, 69u8, + ], + ) + } + #[doc = " `ValidatorSetCount` per session."] + pub fn validator_set_counts( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ParasSlashing", + "ValidatorSetCounts", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 195u8, 220u8, 79u8, 140u8, 114u8, 80u8, 241u8, 103u8, 4u8, 7u8, 53u8, + 100u8, 16u8, 78u8, 104u8, 171u8, 134u8, 110u8, 158u8, 191u8, 37u8, + 94u8, 211u8, 26u8, 17u8, 70u8, 50u8, 34u8, 70u8, 234u8, 186u8, 69u8, + ], + ) + } + } + } + } + pub mod registrar { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_common::paras_registrar::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_common::paras_registrar::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Register { + pub id: runtime_types::polkadot_parachain::primitives::Id, + pub genesis_head: runtime_types::polkadot_parachain::primitives::HeadData, + pub validation_code: + runtime_types::polkadot_parachain::primitives::ValidationCode, + } + impl ::subxt::blocks::StaticExtrinsic for Register { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "register"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceRegister { + pub who: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + pub id: runtime_types::polkadot_parachain::primitives::Id, + pub genesis_head: runtime_types::polkadot_parachain::primitives::HeadData, + pub validation_code: + runtime_types::polkadot_parachain::primitives::ValidationCode, + } + impl ::subxt::blocks::StaticExtrinsic for ForceRegister { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "force_register"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Deregister { + pub id: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for Deregister { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "deregister"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Swap { + pub id: runtime_types::polkadot_parachain::primitives::Id, + pub other: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for Swap { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "swap"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveLock { + pub para: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveLock { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "remove_lock"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Reserve; + impl ::subxt::blocks::StaticExtrinsic for Reserve { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "reserve"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddLock { + pub para: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for AddLock { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "add_lock"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ScheduleCodeUpgrade { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + } + impl ::subxt::blocks::StaticExtrinsic for ScheduleCodeUpgrade { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "schedule_code_upgrade"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetCurrentHead { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub new_head: runtime_types::polkadot_parachain::primitives::HeadData, + } + impl ::subxt::blocks::StaticExtrinsic for SetCurrentHead { + const PALLET: &'static str = "Registrar"; + const CALL: &'static str = "set_current_head"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Register head data and validation code for a reserved Para Id."] + #[doc = ""] + #[doc = "## Arguments"] + #[doc = "- `origin`: Must be called by a `Signed` origin."] + #[doc = "- `id`: The para ID. Must be owned/managed by the `origin` signing account."] + #[doc = "- `genesis_head`: The genesis head data of the parachain/thread."] + #[doc = "- `validation_code`: The initial validation code of the parachain/thread."] + #[doc = ""] + #[doc = "## Deposits/Fees"] + #[doc = "The origin signed account must reserve a corresponding deposit for the registration. Anything already"] + #[doc = "reserved previously for this para ID is accounted for."] + #[doc = ""] + #[doc = "## Events"] + #[doc = "The `Registered` event is emitted in case of success."] + pub fn register( + &self, + id: runtime_types::polkadot_parachain::primitives::Id, + genesis_head: runtime_types::polkadot_parachain::primitives::HeadData, + validation_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Registrar", + "register", + types::Register { + id, + genesis_head, + validation_code, + }, + [ + 208u8, 1u8, 38u8, 95u8, 53u8, 67u8, 148u8, 138u8, 189u8, 212u8, 250u8, + 160u8, 99u8, 220u8, 231u8, 55u8, 220u8, 21u8, 188u8, 81u8, 162u8, + 219u8, 93u8, 136u8, 255u8, 22u8, 5u8, 147u8, 40u8, 46u8, 141u8, 77u8, + ], + ) + } + #[doc = "Force the registration of a Para Id on the relay chain."] + #[doc = ""] + #[doc = "This function must be called by a Root origin."] + #[doc = ""] + #[doc = "The deposit taken can be specified for this registration. Any `ParaId`"] + #[doc = "can be registered, including sub-1000 IDs which are System Parachains."] + pub fn force_register( + &self, + who: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + id: runtime_types::polkadot_parachain::primitives::Id, + genesis_head: runtime_types::polkadot_parachain::primitives::HeadData, + validation_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Registrar", + "force_register", + types::ForceRegister { + who, + deposit, + id, + genesis_head, + validation_code, + }, + [ + 73u8, 118u8, 161u8, 95u8, 234u8, 106u8, 174u8, 143u8, 34u8, 235u8, + 140u8, 166u8, 210u8, 101u8, 53u8, 191u8, 194u8, 17u8, 189u8, 187u8, + 86u8, 91u8, 112u8, 248u8, 109u8, 208u8, 37u8, 70u8, 26u8, 195u8, 90u8, + 207u8, + ], + ) + } + #[doc = "Deregister a Para Id, freeing all data and returning any deposit."] + #[doc = ""] + #[doc = "The caller must be Root, the `para` owner, or the `para` itself. The para must be a parathread."] + pub fn deregister( + &self, + id: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Registrar", + "deregister", + types::Deregister { id }, + [ + 212u8, 38u8, 98u8, 234u8, 146u8, 188u8, 71u8, 244u8, 238u8, 255u8, 3u8, + 89u8, 52u8, 242u8, 126u8, 187u8, 185u8, 193u8, 174u8, 187u8, 196u8, + 3u8, 66u8, 77u8, 173u8, 115u8, 52u8, 210u8, 69u8, 221u8, 109u8, 112u8, + ], + ) + } + #[doc = "Swap a parachain with another parachain or parathread."] + #[doc = ""] + #[doc = "The origin must be Root, the `para` owner, or the `para` itself."] + #[doc = ""] + #[doc = "The swap will happen only if there is already an opposite swap pending. If there is not,"] + #[doc = "the swap will be stored in the pending swaps map, ready for a later confirmatory swap."] + #[doc = ""] + #[doc = "The `ParaId`s remain mapped to the same head data and code so external code can rely on"] + #[doc = "`ParaId` to be a long-term identifier of a notional \"parachain\". However, their"] + #[doc = "scheduling info (i.e. whether they're a parathread or parachain), auction information"] + #[doc = "and the auction deposit are switched."] + pub fn swap( + &self, + id: runtime_types::polkadot_parachain::primitives::Id, + other: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Registrar", + "swap", + types::Swap { id, other }, + [ + 235u8, 169u8, 16u8, 199u8, 107u8, 54u8, 35u8, 160u8, 219u8, 156u8, + 177u8, 205u8, 83u8, 45u8, 30u8, 233u8, 8u8, 143u8, 27u8, 123u8, 156u8, + 65u8, 128u8, 233u8, 218u8, 230u8, 98u8, 206u8, 231u8, 95u8, 224u8, + 35u8, + ], + ) + } + #[doc = "Remove a manager lock from a para. This will allow the manager of a"] + #[doc = "previously locked para to deregister or swap a para without using governance."] + #[doc = ""] + #[doc = "Can only be called by the Root origin or the parachain."] + pub fn remove_lock( + &self, + para: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Registrar", + "remove_lock", + types::RemoveLock { para }, + [ + 239u8, 207u8, 248u8, 246u8, 244u8, 128u8, 113u8, 114u8, 6u8, 232u8, + 218u8, 123u8, 241u8, 190u8, 255u8, 48u8, 26u8, 248u8, 33u8, 86u8, 87u8, + 219u8, 65u8, 104u8, 66u8, 68u8, 34u8, 201u8, 43u8, 159u8, 141u8, 100u8, + ], + ) + } + #[doc = "Reserve a Para Id on the relay chain."] + #[doc = ""] + #[doc = "This function will reserve a new Para Id to be owned/managed by the origin account."] + #[doc = "The origin account is able to register head data and validation code using `register` to create"] + #[doc = "a parathread. Using the Slots pallet, a parathread can then be upgraded to get a parachain slot."] + #[doc = ""] + #[doc = "## Arguments"] + #[doc = "- `origin`: Must be called by a `Signed` origin. Becomes the manager/owner of the new para ID."] + #[doc = ""] + #[doc = "## Deposits/Fees"] + #[doc = "The origin must reserve a deposit of `ParaDeposit` for the registration."] + #[doc = ""] + #[doc = "## Events"] + #[doc = "The `Reserved` event is emitted in case of success, which provides the ID reserved for use."] + pub fn reserve(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Registrar", + "reserve", + types::Reserve {}, + [ + 50u8, 72u8, 218u8, 145u8, 224u8, 93u8, 219u8, 220u8, 121u8, 35u8, + 104u8, 11u8, 139u8, 114u8, 171u8, 101u8, 40u8, 13u8, 33u8, 39u8, 245u8, + 146u8, 138u8, 159u8, 245u8, 236u8, 26u8, 0u8, 20u8, 243u8, 128u8, 81u8, + ], + ) + } + #[doc = "Add a manager lock from a para. This will prevent the manager of a"] + #[doc = "para to deregister or swap a para."] + #[doc = ""] + #[doc = "Can be called by Root, the parachain, or the parachain manager if the parachain is unlocked."] + pub fn add_lock( + &self, + para: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Registrar", + "add_lock", + types::AddLock { para }, + [ + 158u8, 27u8, 55u8, 53u8, 71u8, 221u8, 37u8, 73u8, 23u8, 165u8, 129u8, + 17u8, 167u8, 79u8, 112u8, 35u8, 231u8, 8u8, 241u8, 151u8, 207u8, 235u8, + 224u8, 104u8, 102u8, 108u8, 10u8, 244u8, 33u8, 67u8, 45u8, 13u8, + ], + ) + } + #[doc = "Schedule a parachain upgrade."] + #[doc = ""] + #[doc = "Can be called by Root, the parachain, or the parachain manager if the parachain is unlocked."] + pub fn schedule_code_upgrade( + &self, + para: runtime_types::polkadot_parachain::primitives::Id, + new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Registrar", + "schedule_code_upgrade", + types::ScheduleCodeUpgrade { para, new_code }, + [ + 234u8, 22u8, 133u8, 175u8, 218u8, 250u8, 119u8, 175u8, 23u8, 250u8, + 175u8, 48u8, 247u8, 208u8, 235u8, 167u8, 24u8, 248u8, 247u8, 236u8, + 239u8, 9u8, 78u8, 195u8, 146u8, 172u8, 41u8, 105u8, 183u8, 253u8, 1u8, + 170u8, + ], + ) + } + #[doc = "Set the parachain's current head."] + #[doc = ""] + #[doc = "Can be called by Root, the parachain, or the parachain manager if the parachain is unlocked."] + pub fn set_current_head( + &self, + para: runtime_types::polkadot_parachain::primitives::Id, + new_head: runtime_types::polkadot_parachain::primitives::HeadData, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Registrar", + "set_current_head", + types::SetCurrentHead { para, new_head }, + [ + 201u8, 49u8, 104u8, 135u8, 80u8, 233u8, 154u8, 193u8, 143u8, 209u8, + 10u8, 209u8, 234u8, 252u8, 142u8, 216u8, 220u8, 249u8, 23u8, 252u8, + 73u8, 169u8, 204u8, 242u8, 59u8, 19u8, 18u8, 35u8, 115u8, 209u8, 79u8, + 112u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::polkadot_runtime_common::paras_registrar::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Registered { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub manager: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Registered { + const PALLET: &'static str = "Registrar"; + const EVENT: &'static str = "Registered"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Deregistered { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::events::StaticEvent for Deregistered { + const PALLET: &'static str = "Registrar"; + const EVENT: &'static str = "Deregistered"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Reserved { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub who: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Reserved { + const PALLET: &'static str = "Registrar"; + const EVENT: &'static str = "Reserved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Swapped { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub other_id: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::events::StaticEvent for Swapped { + const PALLET: &'static str = "Registrar"; + const EVENT: &'static str = "Swapped"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Pending swap operations."] + pub fn pending_swap_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain::primitives::Id, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Registrar", + "PendingSwap", + vec![], + [ + 75u8, 6u8, 68u8, 43u8, 108u8, 147u8, 220u8, 90u8, 190u8, 86u8, 209u8, + 141u8, 9u8, 254u8, 103u8, 10u8, 94u8, 187u8, 155u8, 249u8, 140u8, + 167u8, 248u8, 196u8, 67u8, 169u8, 186u8, 192u8, 139u8, 188u8, 48u8, + 221u8, + ], + ) + } + #[doc = " Pending swap operations."] + pub fn pending_swap( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain::primitives::Id, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Registrar", + "PendingSwap", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 75u8, 6u8, 68u8, 43u8, 108u8, 147u8, 220u8, 90u8, 190u8, 86u8, 209u8, + 141u8, 9u8, 254u8, 103u8, 10u8, 94u8, 187u8, 155u8, 249u8, 140u8, + 167u8, 248u8, 196u8, 67u8, 169u8, 186u8, 192u8, 139u8, 188u8, 48u8, + 221u8, + ], + ) + } + #[doc = " Amount held on deposit for each para and the original depositor."] + #[doc = ""] + #[doc = " The given account ID is responsible for registering the code and initial head data, but may only do"] + #[doc = " so if it isn't yet registered. (After that, it's up to governance to do so.)"] + pub fn paras_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_common::paras_registrar::ParaInfo< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Registrar", + "Paras", + vec![], + [ + 187u8, 63u8, 130u8, 102u8, 222u8, 144u8, 126u8, 130u8, 82u8, 22u8, + 64u8, 237u8, 229u8, 91u8, 66u8, 52u8, 9u8, 40u8, 254u8, 60u8, 55u8, + 42u8, 144u8, 254u8, 102u8, 21u8, 86u8, 136u8, 49u8, 156u8, 94u8, 163u8, + ], + ) + } + #[doc = " Amount held on deposit for each para and the original depositor."] + #[doc = ""] + #[doc = " The given account ID is responsible for registering the code and initial head data, but may only do"] + #[doc = " so if it isn't yet registered. (After that, it's up to governance to do so.)"] + pub fn paras( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_common::paras_registrar::ParaInfo< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Registrar", + "Paras", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 187u8, 63u8, 130u8, 102u8, 222u8, 144u8, 126u8, 130u8, 82u8, 22u8, + 64u8, 237u8, 229u8, 91u8, 66u8, 52u8, 9u8, 40u8, 254u8, 60u8, 55u8, + 42u8, 144u8, 254u8, 102u8, 21u8, 86u8, 136u8, 49u8, 156u8, 94u8, 163u8, + ], + ) + } + #[doc = " The next free `ParaId`."] + pub fn next_free_para_id( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_parachain::primitives::Id, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Registrar", + "NextFreeParaId", + vec![], + [ + 52u8, 14u8, 56u8, 196u8, 79u8, 221u8, 32u8, 14u8, 154u8, 247u8, 94u8, + 219u8, 11u8, 11u8, 104u8, 137u8, 167u8, 195u8, 180u8, 101u8, 35u8, + 235u8, 67u8, 144u8, 128u8, 209u8, 189u8, 227u8, 177u8, 74u8, 42u8, + 15u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The deposit to be paid to run a parathread."] + #[doc = " This should include the cost for storing the genesis head and validation code."] + pub fn para_deposit(&self) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Registrar", + "ParaDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The deposit to be paid per byte stored on chain."] + pub fn data_deposit_per_byte( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Registrar", + "DataDepositPerByte", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + } + } + } + pub mod slots { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_common::slots::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_common::slots::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceLease { + pub para: runtime_types::polkadot_parachain::primitives::Id, + pub leaser: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + pub period_begin: ::core::primitive::u32, + pub period_count: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ForceLease { + const PALLET: &'static str = "Slots"; + const CALL: &'static str = "force_lease"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClearAllLeases { + pub para: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for ClearAllLeases { + const PALLET: &'static str = "Slots"; + const CALL: &'static str = "clear_all_leases"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TriggerOnboard { + pub para: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for TriggerOnboard { + const PALLET: &'static str = "Slots"; + const CALL: &'static str = "trigger_onboard"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Just a connect into the `lease_out` call, in case Root wants to force some lease to happen"] + #[doc = "independently of any other on-chain mechanism to use it."] + #[doc = ""] + #[doc = "The dispatch origin for this call must match `T::ForceOrigin`."] + pub fn force_lease( + &self, + para: runtime_types::polkadot_parachain::primitives::Id, + leaser: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + period_begin: ::core::primitive::u32, + period_count: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Slots", + "force_lease", + types::ForceLease { + para, + leaser, + amount, + period_begin, + period_count, + }, + [ + 27u8, 203u8, 227u8, 16u8, 65u8, 135u8, 140u8, 244u8, 218u8, 231u8, + 78u8, 190u8, 169u8, 156u8, 233u8, 31u8, 20u8, 119u8, 158u8, 34u8, + 130u8, 51u8, 38u8, 176u8, 142u8, 139u8, 152u8, 139u8, 26u8, 184u8, + 238u8, 227u8, + ], + ) + } + #[doc = "Clear all leases for a Para Id, refunding any deposits back to the original owners."] + #[doc = ""] + #[doc = "The dispatch origin for this call must match `T::ForceOrigin`."] + pub fn clear_all_leases( + &self, + para: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Slots", + "clear_all_leases", + types::ClearAllLeases { para }, + [ + 201u8, 71u8, 106u8, 50u8, 65u8, 107u8, 191u8, 41u8, 52u8, 106u8, 51u8, + 87u8, 19u8, 199u8, 244u8, 93u8, 104u8, 148u8, 116u8, 198u8, 169u8, + 137u8, 28u8, 78u8, 54u8, 230u8, 161u8, 16u8, 79u8, 248u8, 28u8, 183u8, + ], + ) + } + #[doc = "Try to onboard a parachain that has a lease for the current lease period."] + #[doc = ""] + #[doc = "This function can be useful if there was some state issue with a para that should"] + #[doc = "have onboarded, but was unable to. As long as they have a lease period, we can"] + #[doc = "let them onboard from here."] + #[doc = ""] + #[doc = "Origin must be signed, but can be called by anyone."] + pub fn trigger_onboard( + &self, + para: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Slots", + "trigger_onboard", + types::TriggerOnboard { para }, + [ + 192u8, 239u8, 65u8, 186u8, 200u8, 27u8, 23u8, 235u8, 2u8, 229u8, 230u8, + 192u8, 240u8, 51u8, 62u8, 80u8, 253u8, 105u8, 178u8, 134u8, 252u8, 2u8, + 153u8, 29u8, 235u8, 249u8, 92u8, 246u8, 136u8, 169u8, 109u8, 4u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::polkadot_runtime_common::slots::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new `[lease_period]` is beginning."] + pub struct NewLeasePeriod { + pub lease_period: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for NewLeasePeriod { + const PALLET: &'static str = "Slots"; + const EVENT: &'static str = "NewLeasePeriod"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A para has won the right to a continuous set of lease periods as a parachain."] + #[doc = "First balance is any extra amount reserved on top of the para's existing deposit."] + #[doc = "Second balance is the total amount reserved."] + pub struct Leased { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub leaser: ::subxt::utils::AccountId32, + pub period_begin: ::core::primitive::u32, + pub period_count: ::core::primitive::u32, + pub extra_reserved: ::core::primitive::u128, + pub total_amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Leased { + const PALLET: &'static str = "Slots"; + const EVENT: &'static str = "Leased"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Amounts held on deposit for each (possibly future) leased parachain."] + #[doc = ""] + #[doc = " The actual amount locked on its behalf by any account at any time is the maximum of the second values"] + #[doc = " of the items in this list whose first value is the account."] + #[doc = ""] + #[doc = " The first item in the list is the amount locked for the current Lease Period. Following"] + #[doc = " items are for the subsequent lease periods."] + #[doc = ""] + #[doc = " The default value (an empty list) implies that the parachain no longer exists (or never"] + #[doc = " existed) as far as this pallet is concerned."] + #[doc = ""] + #[doc = " If a parachain doesn't exist *yet* but is scheduled to exist in the future, then it"] + #[doc = " will be left-padded with one or more `None`s to denote the fact that nothing is held on"] + #[doc = " deposit for the non-existent chain currently, but is held at some point in the future."] + #[doc = ""] + #[doc = " It is illegal for a `None` value to trail in the list."] + pub fn leases_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + ::core::option::Option<( + ::subxt::utils::AccountId32, + ::core::primitive::u128, + )>, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Slots", + "Leases", + vec![], + [ + 233u8, 226u8, 181u8, 160u8, 216u8, 86u8, 238u8, 229u8, 31u8, 67u8, + 200u8, 188u8, 134u8, 22u8, 88u8, 147u8, 204u8, 11u8, 34u8, 244u8, + 234u8, 77u8, 184u8, 171u8, 147u8, 228u8, 254u8, 11u8, 40u8, 162u8, + 177u8, 196u8, + ], + ) + } + #[doc = " Amounts held on deposit for each (possibly future) leased parachain."] + #[doc = ""] + #[doc = " The actual amount locked on its behalf by any account at any time is the maximum of the second values"] + #[doc = " of the items in this list whose first value is the account."] + #[doc = ""] + #[doc = " The first item in the list is the amount locked for the current Lease Period. Following"] + #[doc = " items are for the subsequent lease periods."] + #[doc = ""] + #[doc = " The default value (an empty list) implies that the parachain no longer exists (or never"] + #[doc = " existed) as far as this pallet is concerned."] + #[doc = ""] + #[doc = " If a parachain doesn't exist *yet* but is scheduled to exist in the future, then it"] + #[doc = " will be left-padded with one or more `None`s to denote the fact that nothing is held on"] + #[doc = " deposit for the non-existent chain currently, but is held at some point in the future."] + #[doc = ""] + #[doc = " It is illegal for a `None` value to trail in the list."] + pub fn leases( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec< + ::core::option::Option<( + ::subxt::utils::AccountId32, + ::core::primitive::u128, + )>, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Slots", + "Leases", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 233u8, 226u8, 181u8, 160u8, 216u8, 86u8, 238u8, 229u8, 31u8, 67u8, + 200u8, 188u8, 134u8, 22u8, 88u8, 147u8, 204u8, 11u8, 34u8, 244u8, + 234u8, 77u8, 184u8, 171u8, 147u8, 228u8, 254u8, 11u8, 40u8, 162u8, + 177u8, 196u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The number of blocks over which a single period lasts."] + pub fn lease_period(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Slots", + "LeasePeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The number of blocks to offset each lease period by."] + pub fn lease_offset(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Slots", + "LeaseOffset", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod auctions { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_common::auctions::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_common::auctions::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct NewAuction { + #[codec(compact)] + pub duration: ::core::primitive::u32, + #[codec(compact)] + pub lease_period_index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for NewAuction { + const PALLET: &'static str = "Auctions"; + const CALL: &'static str = "new_auction"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Bid { + #[codec(compact)] + pub para: runtime_types::polkadot_parachain::primitives::Id, + #[codec(compact)] + pub auction_index: ::core::primitive::u32, + #[codec(compact)] + pub first_slot: ::core::primitive::u32, + #[codec(compact)] + pub last_slot: ::core::primitive::u32, + #[codec(compact)] + pub amount: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for Bid { + const PALLET: &'static str = "Auctions"; + const CALL: &'static str = "bid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelAuction; + impl ::subxt::blocks::StaticExtrinsic for CancelAuction { + const PALLET: &'static str = "Auctions"; + const CALL: &'static str = "cancel_auction"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Create a new auction."] + #[doc = ""] + #[doc = "This can only happen when there isn't already an auction in progress and may only be"] + #[doc = "called by the root origin. Accepts the `duration` of this auction and the"] + #[doc = "`lease_period_index` of the initial lease period of the four that are to be auctioned."] + pub fn new_auction( + &self, + duration: ::core::primitive::u32, + lease_period_index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Auctions", + "new_auction", + types::NewAuction { + duration, + lease_period_index, + }, + [ + 116u8, 2u8, 215u8, 191u8, 69u8, 99u8, 218u8, 198u8, 71u8, 228u8, 88u8, + 144u8, 139u8, 206u8, 214u8, 58u8, 106u8, 117u8, 138u8, 115u8, 109u8, + 253u8, 210u8, 135u8, 189u8, 190u8, 86u8, 189u8, 8u8, 168u8, 142u8, + 181u8, + ], + ) + } + #[doc = "Make a new bid from an account (including a parachain account) for deploying a new"] + #[doc = "parachain."] + #[doc = ""] + #[doc = "Multiple simultaneous bids from the same bidder are allowed only as long as all active"] + #[doc = "bids overlap each other (i.e. are mutually exclusive). Bids cannot be redacted."] + #[doc = ""] + #[doc = "- `sub` is the sub-bidder ID, allowing for multiple competing bids to be made by (and"] + #[doc = "funded by) the same account."] + #[doc = "- `auction_index` is the index of the auction to bid on. Should just be the present"] + #[doc = "value of `AuctionCounter`."] + #[doc = "- `first_slot` is the first lease period index of the range to bid on. This is the"] + #[doc = "absolute lease period index value, not an auction-specific offset."] + #[doc = "- `last_slot` is the last lease period index of the range to bid on. This is the"] + #[doc = "absolute lease period index value, not an auction-specific offset."] + #[doc = "- `amount` is the amount to bid to be held as deposit for the parachain should the"] + #[doc = "bid win. This amount is held throughout the range."] + pub fn bid( + &self, + para: runtime_types::polkadot_parachain::primitives::Id, + auction_index: ::core::primitive::u32, + first_slot: ::core::primitive::u32, + last_slot: ::core::primitive::u32, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Auctions", + "bid", + types::Bid { + para, + auction_index, + first_slot, + last_slot, + amount, + }, + [ + 203u8, 71u8, 160u8, 55u8, 95u8, 152u8, 111u8, 30u8, 86u8, 113u8, 213u8, + 217u8, 140u8, 9u8, 138u8, 150u8, 90u8, 229u8, 17u8, 95u8, 141u8, 150u8, + 183u8, 171u8, 45u8, 110u8, 47u8, 91u8, 159u8, 91u8, 214u8, 132u8, + ], + ) + } + #[doc = "Cancel an in-progress auction."] + #[doc = ""] + #[doc = "Can only be called by Root origin."] + pub fn cancel_auction(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Auctions", + "cancel_auction", + types::CancelAuction {}, + [ + 122u8, 231u8, 136u8, 184u8, 194u8, 4u8, 244u8, 62u8, 253u8, 134u8, 9u8, + 240u8, 75u8, 227u8, 74u8, 195u8, 113u8, 247u8, 127u8, 17u8, 90u8, + 228u8, 251u8, 88u8, 4u8, 29u8, 254u8, 71u8, 177u8, 103u8, 66u8, 224u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::polkadot_runtime_common::auctions::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An auction started. Provides its index and the block number where it will begin to"] + #[doc = "close and the first lease period of the quadruplet that is auctioned."] + pub struct AuctionStarted { + pub auction_index: ::core::primitive::u32, + pub lease_period: ::core::primitive::u32, + pub ending: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for AuctionStarted { + const PALLET: &'static str = "Auctions"; + const EVENT: &'static str = "AuctionStarted"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An auction ended. All funds become unreserved."] + pub struct AuctionClosed { + pub auction_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for AuctionClosed { + const PALLET: &'static str = "Auctions"; + const EVENT: &'static str = "AuctionClosed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Funds were reserved for a winning bid. First balance is the extra amount reserved."] + #[doc = "Second is the total."] + pub struct Reserved { + pub bidder: ::subxt::utils::AccountId32, + pub extra_reserved: ::core::primitive::u128, + pub total_amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Reserved { + const PALLET: &'static str = "Auctions"; + const EVENT: &'static str = "Reserved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Funds were unreserved since bidder is no longer active. `[bidder, amount]`"] + pub struct Unreserved { + pub bidder: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Unreserved { + const PALLET: &'static str = "Auctions"; + const EVENT: &'static str = "Unreserved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Someone attempted to lease the same slot twice for a parachain. The amount is held in reserve"] + #[doc = "but no parachain slot has been leased."] + pub struct ReserveConfiscated { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub leaser: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for ReserveConfiscated { + const PALLET: &'static str = "Auctions"; + const EVENT: &'static str = "ReserveConfiscated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new bid has been accepted as the current winner."] + pub struct BidAccepted { + pub bidder: ::subxt::utils::AccountId32, + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub amount: ::core::primitive::u128, + pub first_slot: ::core::primitive::u32, + pub last_slot: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for BidAccepted { + const PALLET: &'static str = "Auctions"; + const EVENT: &'static str = "BidAccepted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The winning offset was chosen for an auction. This will map into the `Winning` storage map."] + pub struct WinningOffset { + pub auction_index: ::core::primitive::u32, + pub block_number: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for WinningOffset { + const PALLET: &'static str = "Auctions"; + const EVENT: &'static str = "WinningOffset"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Number of auctions started so far."] + pub fn auction_counter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Auctions", + "AuctionCounter", + vec![], + [ + 110u8, 243u8, 85u8, 4u8, 127u8, 111u8, 101u8, 167u8, 72u8, 129u8, + 201u8, 250u8, 88u8, 9u8, 79u8, 14u8, 152u8, 132u8, 0u8, 204u8, 112u8, + 248u8, 91u8, 254u8, 30u8, 22u8, 62u8, 180u8, 188u8, 204u8, 29u8, 103u8, + ], + ) + } + #[doc = " Information relating to the current auction, if there is one."] + #[doc = ""] + #[doc = " The first item in the tuple is the lease period index that the first of the four"] + #[doc = " contiguous lease periods on auction is for. The second is the block number when the"] + #[doc = " auction will \"begin to end\", i.e. the first block of the Ending Period of the auction."] + pub fn auction_info( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (::core::primitive::u32, ::core::primitive::u32), + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Auctions", + "AuctionInfo", + vec![], + [ + 116u8, 81u8, 223u8, 26u8, 151u8, 103u8, 209u8, 182u8, 169u8, 173u8, + 220u8, 234u8, 88u8, 191u8, 255u8, 75u8, 148u8, 75u8, 167u8, 37u8, 6u8, + 14u8, 224u8, 193u8, 92u8, 82u8, 205u8, 172u8, 209u8, 83u8, 3u8, 77u8, + ], + ) + } + #[doc = " Amounts currently reserved in the accounts of the bidders currently winning"] + #[doc = " (sub-)ranges."] + pub fn reserved_amounts_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Auctions", + "ReservedAmounts", + vec![], + [ + 77u8, 44u8, 116u8, 36u8, 189u8, 213u8, 126u8, 32u8, 42u8, 131u8, 108u8, + 41u8, 147u8, 40u8, 247u8, 245u8, 161u8, 42u8, 152u8, 195u8, 28u8, + 142u8, 231u8, 209u8, 113u8, 11u8, 240u8, 37u8, 112u8, 38u8, 239u8, + 245u8, + ], + ) + } + #[doc = " Amounts currently reserved in the accounts of the bidders currently winning"] + #[doc = " (sub-)ranges."] + pub fn reserved_amounts_iter1( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Auctions", + "ReservedAmounts", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 77u8, 44u8, 116u8, 36u8, 189u8, 213u8, 126u8, 32u8, 42u8, 131u8, 108u8, + 41u8, 147u8, 40u8, 247u8, 245u8, 161u8, 42u8, 152u8, 195u8, 28u8, + 142u8, 231u8, 209u8, 113u8, 11u8, 240u8, 37u8, 112u8, 38u8, 239u8, + 245u8, + ], + ) + } + #[doc = " Amounts currently reserved in the accounts of the bidders currently winning"] + #[doc = " (sub-)ranges."] + pub fn reserved_amounts( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Auctions", + "ReservedAmounts", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 77u8, 44u8, 116u8, 36u8, 189u8, 213u8, 126u8, 32u8, 42u8, 131u8, 108u8, + 41u8, 147u8, 40u8, 247u8, 245u8, 161u8, 42u8, 152u8, 195u8, 28u8, + 142u8, 231u8, 209u8, 113u8, 11u8, 240u8, 37u8, 112u8, 38u8, 239u8, + 245u8, + ], + ) + } + #[doc = " The winning bids for each of the 10 ranges at each sample in the final Ending Period of"] + #[doc = " the current auction. The map's key is the 0-based index into the Sample Size. The"] + #[doc = " first sample of the ending period is 0; the last is `Sample Size - 1`."] + pub fn winning_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + [::core::option::Option<( + ::subxt::utils::AccountId32, + runtime_types::polkadot_parachain::primitives::Id, + ::core::primitive::u128, + )>; 36usize], + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Auctions", + "Winning", + vec![], + [ + 8u8, 136u8, 174u8, 152u8, 223u8, 1u8, 143u8, 45u8, 213u8, 5u8, 239u8, + 163u8, 152u8, 99u8, 197u8, 109u8, 194u8, 140u8, 246u8, 10u8, 40u8, + 22u8, 0u8, 122u8, 20u8, 132u8, 141u8, 157u8, 56u8, 211u8, 5u8, 104u8, + ], + ) + } + #[doc = " The winning bids for each of the 10 ranges at each sample in the final Ending Period of"] + #[doc = " the current auction. The map's key is the 0-based index into the Sample Size. The"] + #[doc = " first sample of the ending period is 0; the last is `Sample Size - 1`."] + pub fn winning( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + [::core::option::Option<( + ::subxt::utils::AccountId32, + runtime_types::polkadot_parachain::primitives::Id, + ::core::primitive::u128, + )>; 36usize], + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Auctions", + "Winning", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 8u8, 136u8, 174u8, 152u8, 223u8, 1u8, 143u8, 45u8, 213u8, 5u8, 239u8, + 163u8, 152u8, 99u8, 197u8, 109u8, 194u8, 140u8, 246u8, 10u8, 40u8, + 22u8, 0u8, 122u8, 20u8, 132u8, 141u8, 157u8, 56u8, 211u8, 5u8, 104u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The number of blocks over which an auction may be retroactively ended."] + pub fn ending_period(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Auctions", + "EndingPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The length of each sample to take during the ending period."] + #[doc = ""] + #[doc = " `EndingPeriod` / `SampleLength` = Total # of Samples"] + pub fn sample_length(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Auctions", + "SampleLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + pub fn slot_range_count( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Auctions", + "SlotRangeCount", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + pub fn lease_periods_per_slot( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Auctions", + "LeasePeriodsPerSlot", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod crowdloan { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_common::crowdloan::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_common::crowdloan::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Create { + #[codec(compact)] + pub index: runtime_types::polkadot_parachain::primitives::Id, + #[codec(compact)] + pub cap: ::core::primitive::u128, + #[codec(compact)] + pub first_period: ::core::primitive::u32, + #[codec(compact)] + pub last_period: ::core::primitive::u32, + #[codec(compact)] + pub end: ::core::primitive::u32, + pub verifier: ::core::option::Option, + } + impl ::subxt::blocks::StaticExtrinsic for Create { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "create"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Contribute { + #[codec(compact)] + pub index: runtime_types::polkadot_parachain::primitives::Id, + #[codec(compact)] + pub value: ::core::primitive::u128, + pub signature: + ::core::option::Option, + } + impl ::subxt::blocks::StaticExtrinsic for Contribute { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "contribute"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Withdraw { + pub who: ::subxt::utils::AccountId32, + #[codec(compact)] + pub index: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for Withdraw { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "withdraw"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Refund { + #[codec(compact)] + pub index: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for Refund { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "refund"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Dissolve { + #[codec(compact)] + pub index: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for Dissolve { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "dissolve"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Edit { + #[codec(compact)] + pub index: runtime_types::polkadot_parachain::primitives::Id, + #[codec(compact)] + pub cap: ::core::primitive::u128, + #[codec(compact)] + pub first_period: ::core::primitive::u32, + #[codec(compact)] + pub last_period: ::core::primitive::u32, + #[codec(compact)] + pub end: ::core::primitive::u32, + pub verifier: ::core::option::Option, + } + impl ::subxt::blocks::StaticExtrinsic for Edit { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "edit"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddMemo { + pub index: runtime_types::polkadot_parachain::primitives::Id, + pub memo: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for AddMemo { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "add_memo"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Poke { + pub index: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for Poke { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "poke"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ContributeAll { + #[codec(compact)] + pub index: runtime_types::polkadot_parachain::primitives::Id, + pub signature: + ::core::option::Option, + } + impl ::subxt::blocks::StaticExtrinsic for ContributeAll { + const PALLET: &'static str = "Crowdloan"; + const CALL: &'static str = "contribute_all"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Create a new crowdloaning campaign for a parachain slot with the given lease period range."] + #[doc = ""] + #[doc = "This applies a lock to your parachain configuration, ensuring that it cannot be changed"] + #[doc = "by the parachain manager."] + pub fn create( + &self, + index: runtime_types::polkadot_parachain::primitives::Id, + cap: ::core::primitive::u128, + first_period: ::core::primitive::u32, + last_period: ::core::primitive::u32, + end: ::core::primitive::u32, + verifier: ::core::option::Option, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Crowdloan", + "create", + types::Create { + index, + cap, + first_period, + last_period, + end, + verifier, + }, + [ + 236u8, 3u8, 248u8, 168u8, 136u8, 216u8, 20u8, 58u8, 179u8, 13u8, 184u8, + 73u8, 105u8, 35u8, 167u8, 66u8, 117u8, 195u8, 41u8, 41u8, 117u8, 176u8, + 65u8, 18u8, 225u8, 66u8, 2u8, 61u8, 212u8, 92u8, 117u8, 90u8, + ], + ) + } + #[doc = "Contribute to a crowd sale. This will transfer some balance over to fund a parachain"] + #[doc = "slot. It will be withdrawable when the crowdloan has ended and the funds are unused."] + pub fn contribute( + &self, + index: runtime_types::polkadot_parachain::primitives::Id, + value: ::core::primitive::u128, + signature: ::core::option::Option, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Crowdloan", + "contribute", + types::Contribute { + index, + value, + signature, + }, + [ + 186u8, 247u8, 240u8, 7u8, 12u8, 239u8, 39u8, 191u8, 150u8, 219u8, + 137u8, 122u8, 214u8, 61u8, 62u8, 180u8, 229u8, 181u8, 105u8, 190u8, + 228u8, 55u8, 242u8, 70u8, 91u8, 118u8, 143u8, 233u8, 186u8, 231u8, + 207u8, 106u8, + ], + ) + } + #[doc = "Withdraw full balance of a specific contributor."] + #[doc = ""] + #[doc = "Origin must be signed, but can come from anyone."] + #[doc = ""] + #[doc = "The fund must be either in, or ready for, retirement. For a fund to be *in* retirement, then the retirement"] + #[doc = "flag must be set. For a fund to be ready for retirement, then:"] + #[doc = "- it must not already be in retirement;"] + #[doc = "- the amount of raised funds must be bigger than the _free_ balance of the account;"] + #[doc = "- and either:"] + #[doc = " - the block number must be at least `end`; or"] + #[doc = " - the current lease period must be greater than the fund's `last_period`."] + #[doc = ""] + #[doc = "In this case, the fund's retirement flag is set and its `end` is reset to the current block"] + #[doc = "number."] + #[doc = ""] + #[doc = "- `who`: The account whose contribution should be withdrawn."] + #[doc = "- `index`: The parachain to whose crowdloan the contribution was made."] + pub fn withdraw( + &self, + who: ::subxt::utils::AccountId32, + index: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Crowdloan", + "withdraw", + types::Withdraw { who, index }, + [ + 148u8, 23u8, 138u8, 161u8, 248u8, 235u8, 138u8, 156u8, 209u8, 236u8, + 235u8, 81u8, 207u8, 212u8, 232u8, 126u8, 221u8, 46u8, 34u8, 39u8, 44u8, + 42u8, 75u8, 134u8, 12u8, 247u8, 84u8, 203u8, 48u8, 133u8, 72u8, 254u8, + ], + ) + } + #[doc = "Automatically refund contributors of an ended crowdloan."] + #[doc = "Due to weight restrictions, this function may need to be called multiple"] + #[doc = "times to fully refund all users. We will refund `RemoveKeysLimit` users at a time."] + #[doc = ""] + #[doc = "Origin must be signed, but can come from anyone."] + pub fn refund( + &self, + index: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Crowdloan", + "refund", + types::Refund { index }, + [ + 245u8, 75u8, 215u8, 28u8, 141u8, 138u8, 201u8, 125u8, 21u8, 214u8, + 57u8, 23u8, 33u8, 41u8, 57u8, 227u8, 119u8, 212u8, 234u8, 227u8, 230u8, + 144u8, 249u8, 100u8, 198u8, 125u8, 106u8, 253u8, 93u8, 177u8, 247u8, + 5u8, + ], + ) + } + #[doc = "Remove a fund after the retirement period has ended and all funds have been returned."] + pub fn dissolve( + &self, + index: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Crowdloan", + "dissolve", + types::Dissolve { index }, + [ + 60u8, 225u8, 93u8, 234u8, 160u8, 90u8, 185u8, 188u8, 163u8, 72u8, + 241u8, 46u8, 62u8, 176u8, 236u8, 175u8, 147u8, 95u8, 45u8, 235u8, + 253u8, 76u8, 127u8, 190u8, 149u8, 54u8, 108u8, 78u8, 149u8, 161u8, + 39u8, 14u8, + ], + ) + } + #[doc = "Edit the configuration for an in-progress crowdloan."] + #[doc = ""] + #[doc = "Can only be called by Root origin."] + pub fn edit( + &self, + index: runtime_types::polkadot_parachain::primitives::Id, + cap: ::core::primitive::u128, + first_period: ::core::primitive::u32, + last_period: ::core::primitive::u32, + end: ::core::primitive::u32, + verifier: ::core::option::Option, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Crowdloan", + "edit", + types::Edit { + index, + cap, + first_period, + last_period, + end, + verifier, + }, + [ + 126u8, 29u8, 232u8, 93u8, 94u8, 23u8, 47u8, 217u8, 62u8, 2u8, 161u8, + 31u8, 156u8, 229u8, 109u8, 45u8, 97u8, 101u8, 189u8, 139u8, 40u8, + 238u8, 150u8, 94u8, 145u8, 77u8, 26u8, 153u8, 217u8, 171u8, 48u8, + 195u8, + ], + ) + } + #[doc = "Add an optional memo to an existing crowdloan contribution."] + #[doc = ""] + #[doc = "Origin must be Signed, and the user must have contributed to the crowdloan."] + pub fn add_memo( + &self, + index: runtime_types::polkadot_parachain::primitives::Id, + memo: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Crowdloan", + "add_memo", + types::AddMemo { index, memo }, + [ + 190u8, 99u8, 225u8, 54u8, 136u8, 238u8, 210u8, 44u8, 103u8, 198u8, + 225u8, 254u8, 245u8, 12u8, 238u8, 112u8, 143u8, 169u8, 8u8, 193u8, + 29u8, 0u8, 159u8, 25u8, 112u8, 237u8, 194u8, 17u8, 111u8, 192u8, 219u8, + 50u8, + ], + ) + } + #[doc = "Poke the fund into `NewRaise`"] + #[doc = ""] + #[doc = "Origin must be Signed, and the fund has non-zero raise."] + pub fn poke( + &self, + index: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Crowdloan", + "poke", + types::Poke { index }, + [ + 180u8, 81u8, 211u8, 12u8, 54u8, 204u8, 105u8, 118u8, 139u8, 209u8, + 182u8, 227u8, 174u8, 192u8, 64u8, 200u8, 212u8, 101u8, 3u8, 252u8, + 195u8, 110u8, 182u8, 121u8, 218u8, 193u8, 87u8, 38u8, 212u8, 151u8, + 213u8, 56u8, + ], + ) + } + #[doc = "Contribute your entire balance to a crowd sale. This will transfer the entire balance of a user over to fund a parachain"] + #[doc = "slot. It will be withdrawable when the crowdloan has ended and the funds are unused."] + pub fn contribute_all( + &self, + index: runtime_types::polkadot_parachain::primitives::Id, + signature: ::core::option::Option, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Crowdloan", + "contribute_all", + types::ContributeAll { index, signature }, + [ + 233u8, 62u8, 129u8, 168u8, 161u8, 163u8, 78u8, 92u8, 191u8, 239u8, + 61u8, 2u8, 198u8, 246u8, 246u8, 81u8, 32u8, 131u8, 118u8, 170u8, 72u8, + 87u8, 17u8, 26u8, 55u8, 10u8, 146u8, 184u8, 213u8, 200u8, 252u8, 50u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::polkadot_runtime_common::crowdloan::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Create a new crowdloaning campaign."] + pub struct Created { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::events::StaticEvent for Created { + const PALLET: &'static str = "Crowdloan"; + const EVENT: &'static str = "Created"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contributed to a crowd sale."] + pub struct Contributed { + pub who: ::subxt::utils::AccountId32, + pub fund_index: runtime_types::polkadot_parachain::primitives::Id, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Contributed { + const PALLET: &'static str = "Crowdloan"; + const EVENT: &'static str = "Contributed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Withdrew full balance of a contributor."] + pub struct Withdrew { + pub who: ::subxt::utils::AccountId32, + pub fund_index: runtime_types::polkadot_parachain::primitives::Id, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Withdrew { + const PALLET: &'static str = "Crowdloan"; + const EVENT: &'static str = "Withdrew"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The loans in a fund have been partially dissolved, i.e. there are some left"] + #[doc = "over child keys that still need to be killed."] + pub struct PartiallyRefunded { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::events::StaticEvent for PartiallyRefunded { + const PALLET: &'static str = "Crowdloan"; + const EVENT: &'static str = "PartiallyRefunded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "All loans in a fund have been refunded."] + pub struct AllRefunded { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::events::StaticEvent for AllRefunded { + const PALLET: &'static str = "Crowdloan"; + const EVENT: &'static str = "AllRefunded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Fund is dissolved."] + pub struct Dissolved { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::events::StaticEvent for Dissolved { + const PALLET: &'static str = "Crowdloan"; + const EVENT: &'static str = "Dissolved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The result of trying to submit a new bid to the Slots pallet."] + pub struct HandleBidResult { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for HandleBidResult { + const PALLET: &'static str = "Crowdloan"; + const EVENT: &'static str = "HandleBidResult"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The configuration to a crowdloan has been edited."] + pub struct Edited { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::events::StaticEvent for Edited { + const PALLET: &'static str = "Crowdloan"; + const EVENT: &'static str = "Edited"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A memo has been updated."] + pub struct MemoUpdated { + pub who: ::subxt::utils::AccountId32, + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub memo: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::events::StaticEvent for MemoUpdated { + const PALLET: &'static str = "Crowdloan"; + const EVENT: &'static str = "MemoUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A parachain has been moved to `NewRaise`"] + pub struct AddedToNewRaise { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::events::StaticEvent for AddedToNewRaise { + const PALLET: &'static str = "Crowdloan"; + const EVENT: &'static str = "AddedToNewRaise"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Info on all of the funds."] + pub fn funds_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_common::crowdloan::FundInfo< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u32, + ::core::primitive::u32, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Crowdloan", + "Funds", + vec![], + [ + 191u8, 255u8, 37u8, 49u8, 246u8, 246u8, 168u8, 178u8, 73u8, 238u8, + 49u8, 76u8, 66u8, 246u8, 207u8, 12u8, 76u8, 233u8, 31u8, 218u8, 132u8, + 236u8, 237u8, 210u8, 116u8, 159u8, 191u8, 89u8, 212u8, 167u8, 61u8, + 41u8, + ], + ) + } + #[doc = " Info on all of the funds."] + pub fn funds( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_common::crowdloan::FundInfo< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u32, + ::core::primitive::u32, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Crowdloan", + "Funds", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 191u8, 255u8, 37u8, 49u8, 246u8, 246u8, 168u8, 178u8, 73u8, 238u8, + 49u8, 76u8, 66u8, 246u8, 207u8, 12u8, 76u8, 233u8, 31u8, 218u8, 132u8, + 236u8, 237u8, 210u8, 116u8, 159u8, 191u8, 89u8, 212u8, 167u8, 61u8, + 41u8, + ], + ) + } + #[doc = " The funds that have had additional contributions during the last block. This is used"] + #[doc = " in order to determine which funds should submit new or updated bids."] + pub fn new_raise( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Crowdloan", + "NewRaise", + vec![], + [ + 251u8, 31u8, 237u8, 22u8, 90u8, 248u8, 39u8, 66u8, 93u8, 81u8, 209u8, + 209u8, 194u8, 42u8, 109u8, 208u8, 56u8, 75u8, 45u8, 247u8, 253u8, + 165u8, 22u8, 184u8, 49u8, 49u8, 62u8, 126u8, 254u8, 146u8, 190u8, + 174u8, + ], + ) + } + #[doc = " The number of auctions that have entered into their ending period so far."] + pub fn endings_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Crowdloan", + "EndingsCount", + vec![], + [ + 106u8, 22u8, 229u8, 157u8, 118u8, 195u8, 11u8, 42u8, 5u8, 50u8, 44u8, + 183u8, 72u8, 167u8, 95u8, 243u8, 234u8, 5u8, 200u8, 253u8, 127u8, + 154u8, 23u8, 55u8, 202u8, 221u8, 82u8, 19u8, 201u8, 154u8, 248u8, 29u8, + ], + ) + } + #[doc = " Tracker for the next available fund index"] + pub fn next_fund_index( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Crowdloan", + "NextFundIndex", + vec![], + [ + 192u8, 21u8, 229u8, 234u8, 152u8, 224u8, 149u8, 44u8, 41u8, 9u8, 191u8, + 128u8, 118u8, 11u8, 117u8, 245u8, 170u8, 116u8, 77u8, 216u8, 175u8, + 115u8, 13u8, 85u8, 240u8, 170u8, 156u8, 201u8, 25u8, 96u8, 103u8, + 207u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " `PalletId` for the crowdloan pallet. An appropriate value could be `PalletId(*b\"py/cfund\")`"] + pub fn pallet_id( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "Crowdloan", + "PalletId", + [ + 56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8, + 161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8, + 129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8, + ], + ) + } + #[doc = " The minimum amount that may be contributed into a crowdloan. Should almost certainly be at"] + #[doc = " least `ExistentialDeposit`."] + pub fn min_contribution( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Crowdloan", + "MinContribution", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Max number of storage keys to remove per extrinsic call."] + pub fn remove_keys_limit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Crowdloan", + "RemoveKeysLimit", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod xcm_pallet { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_xcm::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_xcm::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Send { + pub dest: ::std::boxed::Box, + pub message: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for Send { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "send"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TeleportAssets { + pub dest: ::std::boxed::Box, + pub beneficiary: ::std::boxed::Box, + pub assets: ::std::boxed::Box, + pub fee_asset_item: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for TeleportAssets { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "teleport_assets"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReserveTransferAssets { + pub dest: ::std::boxed::Box, + pub beneficiary: ::std::boxed::Box, + pub assets: ::std::boxed::Box, + pub fee_asset_item: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ReserveTransferAssets { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "reserve_transfer_assets"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Execute { + pub message: ::std::boxed::Box, + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + impl ::subxt::blocks::StaticExtrinsic for Execute { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "execute"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceXcmVersion { + pub location: + ::std::boxed::Box, + pub xcm_version: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for ForceXcmVersion { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "force_xcm_version"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceDefaultXcmVersion { + pub maybe_xcm_version: ::core::option::Option<::core::primitive::u32>, + } + impl ::subxt::blocks::StaticExtrinsic for ForceDefaultXcmVersion { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "force_default_xcm_version"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSubscribeVersionNotify { + pub location: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSubscribeVersionNotify { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "force_subscribe_version_notify"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceUnsubscribeVersionNotify { + pub location: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for ForceUnsubscribeVersionNotify { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "force_unsubscribe_version_notify"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct LimitedReserveTransferAssets { + pub dest: ::std::boxed::Box, + pub beneficiary: ::std::boxed::Box, + pub assets: ::std::boxed::Box, + pub fee_asset_item: ::core::primitive::u32, + pub weight_limit: runtime_types::xcm::v3::WeightLimit, + } + impl ::subxt::blocks::StaticExtrinsic for LimitedReserveTransferAssets { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "limited_reserve_transfer_assets"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct LimitedTeleportAssets { + pub dest: ::std::boxed::Box, + pub beneficiary: ::std::boxed::Box, + pub assets: ::std::boxed::Box, + pub fee_asset_item: ::core::primitive::u32, + pub weight_limit: runtime_types::xcm::v3::WeightLimit, + } + impl ::subxt::blocks::StaticExtrinsic for LimitedTeleportAssets { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "limited_teleport_assets"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSuspension { + pub suspended: ::core::primitive::bool, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSuspension { + const PALLET: &'static str = "XcmPallet"; + const CALL: &'static str = "force_suspension"; + } + } + pub struct TransactionApi; + impl TransactionApi { + pub fn send( + &self, + dest: runtime_types::xcm::VersionedMultiLocation, + message: runtime_types::xcm::VersionedXcm, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmPallet", + "send", + types::Send { + dest: ::std::boxed::Box::new(dest), + message: ::std::boxed::Box::new(message), + }, + [ + 147u8, 255u8, 86u8, 82u8, 17u8, 159u8, 225u8, 145u8, 220u8, 89u8, 71u8, + 23u8, 193u8, 249u8, 12u8, 70u8, 19u8, 140u8, 232u8, 97u8, 12u8, 220u8, + 113u8, 65u8, 4u8, 255u8, 138u8, 10u8, 231u8, 122u8, 67u8, 105u8, + ], + ) + } + #[doc = "Teleport some assets from the local chain to some destination chain."] + #[doc = ""] + #[doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] + #[doc = "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,"] + #[doc = "with all fees taken as needed from the asset."] + #[doc = ""] + #[doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] + #[doc = "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send"] + #[doc = " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain."] + #[doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be"] + #[doc = " an `AccountId32` value."] + #[doc = "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the"] + #[doc = " `dest` side. May not be empty."] + #[doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] + #[doc = " fees."] + pub fn teleport_assets( + &self, + dest: runtime_types::xcm::VersionedMultiLocation, + beneficiary: runtime_types::xcm::VersionedMultiLocation, + assets: runtime_types::xcm::VersionedMultiAssets, + fee_asset_item: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmPallet", + "teleport_assets", + types::TeleportAssets { + dest: ::std::boxed::Box::new(dest), + beneficiary: ::std::boxed::Box::new(beneficiary), + assets: ::std::boxed::Box::new(assets), + fee_asset_item, + }, + [ + 56u8, 144u8, 237u8, 60u8, 157u8, 5u8, 7u8, 129u8, 41u8, 149u8, 160u8, + 100u8, 233u8, 102u8, 181u8, 140u8, 115u8, 213u8, 29u8, 132u8, 16u8, + 30u8, 23u8, 82u8, 140u8, 134u8, 37u8, 87u8, 3u8, 99u8, 172u8, 42u8, + ], + ) + } + #[doc = "Transfer some assets from the local chain to the sovereign account of a destination"] + #[doc = "chain and forward a notification XCM."] + #[doc = ""] + #[doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] + #[doc = "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,"] + #[doc = "with all fees taken as needed from the asset."] + #[doc = ""] + #[doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] + #[doc = "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send"] + #[doc = " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain."] + #[doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be"] + #[doc = " an `AccountId32` value."] + #[doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the"] + #[doc = " `dest` side."] + #[doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] + #[doc = " fees."] + pub fn reserve_transfer_assets( + &self, + dest: runtime_types::xcm::VersionedMultiLocation, + beneficiary: runtime_types::xcm::VersionedMultiLocation, + assets: runtime_types::xcm::VersionedMultiAssets, + fee_asset_item: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmPallet", + "reserve_transfer_assets", + types::ReserveTransferAssets { + dest: ::std::boxed::Box::new(dest), + beneficiary: ::std::boxed::Box::new(beneficiary), + assets: ::std::boxed::Box::new(assets), + fee_asset_item, + }, + [ + 21u8, 167u8, 44u8, 22u8, 210u8, 73u8, 148u8, 7u8, 91u8, 108u8, 148u8, + 205u8, 170u8, 243u8, 142u8, 224u8, 205u8, 119u8, 252u8, 22u8, 203u8, + 32u8, 73u8, 200u8, 178u8, 14u8, 167u8, 147u8, 166u8, 55u8, 14u8, 231u8, + ], + ) + } + #[doc = "Execute an XCM message from a local, signed, origin."] + #[doc = ""] + #[doc = "An event is deposited indicating whether `msg` could be executed completely or only"] + #[doc = "partially."] + #[doc = ""] + #[doc = "No more than `max_weight` will be used in its attempted execution. If this is less than the"] + #[doc = "maximum amount of weight that the message could take to be executed, then no execution"] + #[doc = "attempt will be made."] + #[doc = ""] + #[doc = "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully"] + #[doc = "to completion; only that *some* of it was executed."] + pub fn execute( + &self, + message: runtime_types::xcm::VersionedXcm2, + max_weight: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmPallet", + "execute", + types::Execute { + message: ::std::boxed::Box::new(message), + max_weight, + }, + [ + 15u8, 97u8, 86u8, 111u8, 105u8, 116u8, 109u8, 206u8, 70u8, 8u8, 57u8, + 232u8, 133u8, 132u8, 30u8, 219u8, 34u8, 69u8, 0u8, 213u8, 98u8, 241u8, + 186u8, 93u8, 216u8, 39u8, 73u8, 24u8, 193u8, 87u8, 92u8, 31u8, + ], + ) + } + #[doc = "Extoll that a particular destination can be communicated with through a particular"] + #[doc = "version of XCM."] + #[doc = ""] + #[doc = "- `origin`: Must be an origin specified by AdminOrigin."] + #[doc = "- `location`: The destination that is being described."] + #[doc = "- `xcm_version`: The latest version of XCM that `location` supports."] + pub fn force_xcm_version( + &self, + location: runtime_types::xcm::v3::multilocation::MultiLocation, + xcm_version: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmPallet", + "force_xcm_version", + types::ForceXcmVersion { + location: ::std::boxed::Box::new(location), + xcm_version, + }, + [ + 84u8, 212u8, 64u8, 161u8, 17u8, 129u8, 213u8, 129u8, 79u8, 86u8, 117u8, + 246u8, 93u8, 1u8, 161u8, 23u8, 35u8, 171u8, 163u8, 200u8, 69u8, 157u8, + 71u8, 8u8, 225u8, 149u8, 254u8, 124u8, 38u8, 250u8, 164u8, 218u8, + ], + ) + } + #[doc = "Set a safe XCM version (the version that XCM should be encoded with if the most recent"] + #[doc = "version a destination can accept is unknown)."] + #[doc = ""] + #[doc = "- `origin`: Must be an origin specified by AdminOrigin."] + #[doc = "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable."] + pub fn force_default_xcm_version( + &self, + maybe_xcm_version: ::core::option::Option<::core::primitive::u32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmPallet", + "force_default_xcm_version", + types::ForceDefaultXcmVersion { maybe_xcm_version }, + [ + 43u8, 114u8, 102u8, 104u8, 209u8, 234u8, 108u8, 173u8, 109u8, 188u8, + 94u8, 214u8, 136u8, 43u8, 153u8, 75u8, 161u8, 192u8, 76u8, 12u8, 221u8, + 237u8, 158u8, 247u8, 41u8, 193u8, 35u8, 174u8, 183u8, 207u8, 79u8, + 213u8, + ], + ) + } + #[doc = "Ask a location to notify us regarding their XCM version and any changes to it."] + #[doc = ""] + #[doc = "- `origin`: Must be an origin specified by AdminOrigin."] + #[doc = "- `location`: The location to which we should subscribe for XCM version notifications."] + pub fn force_subscribe_version_notify( + &self, + location: runtime_types::xcm::VersionedMultiLocation, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmPallet", + "force_subscribe_version_notify", + types::ForceSubscribeVersionNotify { + location: ::std::boxed::Box::new(location), + }, + [ + 112u8, 254u8, 138u8, 12u8, 203u8, 176u8, 251u8, 167u8, 223u8, 0u8, + 71u8, 148u8, 19u8, 179u8, 47u8, 96u8, 188u8, 189u8, 14u8, 172u8, 1u8, + 1u8, 192u8, 107u8, 137u8, 158u8, 22u8, 9u8, 138u8, 241u8, 32u8, 47u8, + ], + ) + } + #[doc = "Require that a particular destination should no longer notify us regarding any XCM"] + #[doc = "version changes."] + #[doc = ""] + #[doc = "- `origin`: Must be an origin specified by AdminOrigin."] + #[doc = "- `location`: The location to which we are currently subscribed for XCM version"] + #[doc = " notifications which we no longer desire."] + pub fn force_unsubscribe_version_notify( + &self, + location: runtime_types::xcm::VersionedMultiLocation, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmPallet", + "force_unsubscribe_version_notify", + types::ForceUnsubscribeVersionNotify { + location: ::std::boxed::Box::new(location), + }, + [ + 205u8, 143u8, 230u8, 143u8, 166u8, 184u8, 53u8, 252u8, 118u8, 184u8, + 209u8, 227u8, 225u8, 184u8, 254u8, 244u8, 101u8, 56u8, 27u8, 128u8, + 40u8, 159u8, 178u8, 62u8, 63u8, 164u8, 59u8, 236u8, 1u8, 168u8, 202u8, + 42u8, + ], + ) + } + #[doc = "Transfer some assets from the local chain to the sovereign account of a destination"] + #[doc = "chain and forward a notification XCM."] + #[doc = ""] + #[doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] + #[doc = "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight"] + #[doc = "is needed than `weight_limit`, then the operation will fail and the assets send may be"] + #[doc = "at risk."] + #[doc = ""] + #[doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] + #[doc = "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send"] + #[doc = " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain."] + #[doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be"] + #[doc = " an `AccountId32` value."] + #[doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the"] + #[doc = " `dest` side."] + #[doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] + #[doc = " fees."] + #[doc = "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase."] + pub fn limited_reserve_transfer_assets( + &self, + dest: runtime_types::xcm::VersionedMultiLocation, + beneficiary: runtime_types::xcm::VersionedMultiLocation, + assets: runtime_types::xcm::VersionedMultiAssets, + fee_asset_item: ::core::primitive::u32, + weight_limit: runtime_types::xcm::v3::WeightLimit, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmPallet", + "limited_reserve_transfer_assets", + types::LimitedReserveTransferAssets { + dest: ::std::boxed::Box::new(dest), + beneficiary: ::std::boxed::Box::new(beneficiary), + assets: ::std::boxed::Box::new(assets), + fee_asset_item, + weight_limit, + }, + [ + 10u8, 139u8, 165u8, 239u8, 92u8, 178u8, 169u8, 62u8, 166u8, 236u8, + 50u8, 12u8, 196u8, 3u8, 233u8, 209u8, 3u8, 159u8, 184u8, 234u8, 171u8, + 46u8, 145u8, 134u8, 241u8, 155u8, 221u8, 173u8, 166u8, 94u8, 147u8, + 88u8, + ], + ) + } + #[doc = "Teleport some assets from the local chain to some destination chain."] + #[doc = ""] + #[doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] + #[doc = "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight"] + #[doc = "is needed than `weight_limit`, then the operation will fail and the assets send may be"] + #[doc = "at risk."] + #[doc = ""] + #[doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] + #[doc = "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send"] + #[doc = " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain."] + #[doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be"] + #[doc = " an `AccountId32` value."] + #[doc = "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the"] + #[doc = " `dest` side. May not be empty."] + #[doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] + #[doc = " fees."] + #[doc = "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase."] + pub fn limited_teleport_assets( + &self, + dest: runtime_types::xcm::VersionedMultiLocation, + beneficiary: runtime_types::xcm::VersionedMultiLocation, + assets: runtime_types::xcm::VersionedMultiAssets, + fee_asset_item: ::core::primitive::u32, + weight_limit: runtime_types::xcm::v3::WeightLimit, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmPallet", + "limited_teleport_assets", + types::LimitedTeleportAssets { + dest: ::std::boxed::Box::new(dest), + beneficiary: ::std::boxed::Box::new(beneficiary), + assets: ::std::boxed::Box::new(assets), + fee_asset_item, + weight_limit, + }, + [ + 156u8, 205u8, 105u8, 18u8, 120u8, 130u8, 144u8, 67u8, 152u8, 188u8, + 109u8, 121u8, 4u8, 240u8, 123u8, 112u8, 72u8, 153u8, 2u8, 111u8, 183u8, + 170u8, 199u8, 82u8, 33u8, 117u8, 43u8, 133u8, 208u8, 44u8, 118u8, + 107u8, + ], + ) + } + #[doc = "Set or unset the global suspension state of the XCM executor."] + #[doc = ""] + #[doc = "- `origin`: Must be an origin specified by AdminOrigin."] + #[doc = "- `suspended`: `true` to suspend, `false` to resume."] + pub fn force_suspension( + &self, + suspended: ::core::primitive::bool, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "XcmPallet", + "force_suspension", + types::ForceSuspension { suspended }, + [ + 78u8, 125u8, 93u8, 55u8, 129u8, 44u8, 36u8, 227u8, 75u8, 46u8, 68u8, + 202u8, 81u8, 127u8, 111u8, 92u8, 149u8, 38u8, 225u8, 185u8, 183u8, + 154u8, 89u8, 159u8, 79u8, 10u8, 229u8, 1u8, 226u8, 243u8, 65u8, 238u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_xcm::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Execution of an XCM message was attempted."] + #[doc = ""] + #[doc = "\\[ outcome \\]"] + pub struct Attempted(pub runtime_types::xcm::v3::traits::Outcome); + impl ::subxt::events::StaticEvent for Attempted { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "Attempted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A XCM message was sent."] + #[doc = ""] + #[doc = "\\[ origin, destination, message \\]"] + pub struct Sent( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub runtime_types::xcm::v3::Xcm, + ); + impl ::subxt::events::StaticEvent for Sent { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "Sent"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Query response received which does not match a registered query. This may be because a"] + #[doc = "matching query was never registered, it may be because it is a duplicate response, or"] + #[doc = "because the query timed out."] + #[doc = ""] + #[doc = "\\[ origin location, id \\]"] + pub struct UnexpectedResponse( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub ::core::primitive::u64, + ); + impl ::subxt::events::StaticEvent for UnexpectedResponse { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "UnexpectedResponse"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Query response has been received and is ready for taking with `take_response`. There is"] + #[doc = "no registered notification call."] + #[doc = ""] + #[doc = "\\[ id, response \\]"] + pub struct ResponseReady( + pub ::core::primitive::u64, + pub runtime_types::xcm::v3::Response, + ); + impl ::subxt::events::StaticEvent for ResponseReady { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "ResponseReady"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Query response has been received and query is removed. The registered notification has"] + #[doc = "been dispatched and executed successfully."] + #[doc = ""] + #[doc = "\\[ id, pallet index, call index \\]"] + pub struct Notified( + pub ::core::primitive::u64, + pub ::core::primitive::u8, + pub ::core::primitive::u8, + ); + impl ::subxt::events::StaticEvent for Notified { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "Notified"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Query response has been received and query is removed. The registered notification could"] + #[doc = "not be dispatched because the dispatch weight is greater than the maximum weight"] + #[doc = "originally budgeted by this runtime for the query result."] + #[doc = ""] + #[doc = "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]"] + pub struct NotifyOverweight( + pub ::core::primitive::u64, + pub ::core::primitive::u8, + pub ::core::primitive::u8, + pub runtime_types::sp_weights::weight_v2::Weight, + pub runtime_types::sp_weights::weight_v2::Weight, + ); + impl ::subxt::events::StaticEvent for NotifyOverweight { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "NotifyOverweight"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Query response has been received and query is removed. There was a general error with"] + #[doc = "dispatching the notification call."] + #[doc = ""] + #[doc = "\\[ id, pallet index, call index \\]"] + pub struct NotifyDispatchError( + pub ::core::primitive::u64, + pub ::core::primitive::u8, + pub ::core::primitive::u8, + ); + impl ::subxt::events::StaticEvent for NotifyDispatchError { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "NotifyDispatchError"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Query response has been received and query is removed. The dispatch was unable to be"] + #[doc = "decoded into a `Call`; this might be due to dispatch function having a signature which"] + #[doc = "is not `(origin, QueryId, Response)`."] + #[doc = ""] + #[doc = "\\[ id, pallet index, call index \\]"] + pub struct NotifyDecodeFailed( + pub ::core::primitive::u64, + pub ::core::primitive::u8, + pub ::core::primitive::u8, + ); + impl ::subxt::events::StaticEvent for NotifyDecodeFailed { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "NotifyDecodeFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Expected query response has been received but the origin location of the response does"] + #[doc = "not match that expected. The query remains registered for a later, valid, response to"] + #[doc = "be received and acted upon."] + #[doc = ""] + #[doc = "\\[ origin location, id, expected location \\]"] + pub struct InvalidResponder( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub ::core::primitive::u64, + pub ::core::option::Option, + ); + impl ::subxt::events::StaticEvent for InvalidResponder { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "InvalidResponder"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Expected query response has been received but the expected origin location placed in"] + #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] + #[doc = ""] + #[doc = "This is unexpected (since a location placed in storage in a previously executing"] + #[doc = "runtime should be readable prior to query timeout) and dangerous since the possibly"] + #[doc = "valid response will be dropped. Manual governance intervention is probably going to be"] + #[doc = "needed."] + #[doc = ""] + #[doc = "\\[ origin location, id \\]"] + pub struct InvalidResponderVersion( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub ::core::primitive::u64, + ); + impl ::subxt::events::StaticEvent for InvalidResponderVersion { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "InvalidResponderVersion"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Received query response has been read and removed."] + #[doc = ""] + #[doc = "\\[ id \\]"] + pub struct ResponseTaken(pub ::core::primitive::u64); + impl ::subxt::events::StaticEvent for ResponseTaken { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "ResponseTaken"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some assets have been placed in an asset trap."] + #[doc = ""] + #[doc = "\\[ hash, origin, assets \\]"] + pub struct AssetsTrapped( + pub ::subxt::utils::H256, + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub runtime_types::xcm::VersionedMultiAssets, + ); + impl ::subxt::events::StaticEvent for AssetsTrapped { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "AssetsTrapped"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An XCM version change notification message has been attempted to be sent."] + #[doc = ""] + #[doc = "The cost of sending it (borne by the chain) is included."] + #[doc = ""] + #[doc = "\\[ destination, result, cost \\]"] + pub struct VersionChangeNotified( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub ::core::primitive::u32, + pub runtime_types::xcm::v3::multiasset::MultiAssets, + ); + impl ::subxt::events::StaticEvent for VersionChangeNotified { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "VersionChangeNotified"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The supported version of a location has been changed. This might be through an"] + #[doc = "automatic notification or a manual intervention."] + #[doc = ""] + #[doc = "\\[ location, XCM version \\]"] + pub struct SupportedVersionChanged( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub ::core::primitive::u32, + ); + impl ::subxt::events::StaticEvent for SupportedVersionChanged { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "SupportedVersionChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A given location which had a version change subscription was dropped owing to an error"] + #[doc = "sending the notification to it."] + #[doc = ""] + #[doc = "\\[ location, query ID, error \\]"] + pub struct NotifyTargetSendFail( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub ::core::primitive::u64, + pub runtime_types::xcm::v3::traits::Error, + ); + impl ::subxt::events::StaticEvent for NotifyTargetSendFail { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "NotifyTargetSendFail"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A given location which had a version change subscription was dropped owing to an error"] + #[doc = "migrating the location to our new XCM format."] + #[doc = ""] + #[doc = "\\[ location, query ID \\]"] + pub struct NotifyTargetMigrationFail( + pub runtime_types::xcm::VersionedMultiLocation, + pub ::core::primitive::u64, + ); + impl ::subxt::events::StaticEvent for NotifyTargetMigrationFail { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "NotifyTargetMigrationFail"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Expected query response has been received but the expected querier location placed in"] + #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] + #[doc = ""] + #[doc = "This is unexpected (since a location placed in storage in a previously executing"] + #[doc = "runtime should be readable prior to query timeout) and dangerous since the possibly"] + #[doc = "valid response will be dropped. Manual governance intervention is probably going to be"] + #[doc = "needed."] + #[doc = ""] + #[doc = "\\[ origin location, id \\]"] + pub struct InvalidQuerierVersion( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub ::core::primitive::u64, + ); + impl ::subxt::events::StaticEvent for InvalidQuerierVersion { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "InvalidQuerierVersion"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Expected query response has been received but the querier location of the response does"] + #[doc = "not match the expected. The query remains registered for a later, valid, response to"] + #[doc = "be received and acted upon."] + #[doc = ""] + #[doc = "\\[ origin location, id, expected querier, maybe actual querier \\]"] + pub struct InvalidQuerier( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub ::core::primitive::u64, + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub ::core::option::Option, + ); + impl ::subxt::events::StaticEvent for InvalidQuerier { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "InvalidQuerier"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A remote has requested XCM version change notification from us and we have honored it."] + #[doc = "A version information message is sent to them and its cost is included."] + #[doc = ""] + #[doc = "\\[ destination location, cost \\]"] + pub struct VersionNotifyStarted( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multiasset::MultiAssets, + ); + impl ::subxt::events::StaticEvent for VersionNotifyStarted { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "VersionNotifyStarted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "We have requested that a remote chain sends us XCM version change notifications."] + #[doc = ""] + #[doc = "\\[ destination location, cost \\]"] + pub struct VersionNotifyRequested( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multiasset::MultiAssets, + ); + impl ::subxt::events::StaticEvent for VersionNotifyRequested { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "VersionNotifyRequested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "We have requested that a remote chain stops sending us XCM version change notifications."] + #[doc = ""] + #[doc = "\\[ destination location, cost \\]"] + pub struct VersionNotifyUnrequested( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multiasset::MultiAssets, + ); + impl ::subxt::events::StaticEvent for VersionNotifyUnrequested { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "VersionNotifyUnrequested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Fees were paid from a location for an operation (often for using `SendXcm`)."] + #[doc = ""] + #[doc = "\\[ paying location, fees \\]"] + pub struct FeesPaid( + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub runtime_types::xcm::v3::multiasset::MultiAssets, + ); + impl ::subxt::events::StaticEvent for FeesPaid { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "FeesPaid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some assets have been claimed from an asset trap"] + #[doc = ""] + #[doc = "\\[ hash, origin, assets \\]"] + pub struct AssetsClaimed( + pub ::subxt::utils::H256, + pub runtime_types::xcm::v3::multilocation::MultiLocation, + pub runtime_types::xcm::VersionedMultiAssets, + ); + impl ::subxt::events::StaticEvent for AssetsClaimed { + const PALLET: &'static str = "XcmPallet"; + const EVENT: &'static str = "AssetsClaimed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The latest available query index."] + pub fn query_counter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u64, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "QueryCounter", + vec![], + [ + 216u8, 73u8, 160u8, 232u8, 60u8, 245u8, 218u8, 219u8, 152u8, 68u8, + 146u8, 219u8, 255u8, 7u8, 86u8, 112u8, 83u8, 49u8, 94u8, 173u8, 64u8, + 203u8, 147u8, 226u8, 236u8, 39u8, 129u8, 106u8, 209u8, 113u8, 150u8, + 50u8, + ], + ) + } + #[doc = " The ongoing queries."] + pub fn queries_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::QueryStatus<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "Queries", + vec![], + [ + 119u8, 5u8, 12u8, 91u8, 117u8, 240u8, 52u8, 192u8, 135u8, 139u8, 220u8, + 78u8, 207u8, 199u8, 71u8, 163u8, 100u8, 17u8, 6u8, 65u8, 200u8, 245u8, + 191u8, 82u8, 232u8, 128u8, 126u8, 70u8, 39u8, 63u8, 148u8, 219u8, + ], + ) + } + #[doc = " The ongoing queries."] + pub fn queries( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u64>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::QueryStatus<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "Queries", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 119u8, 5u8, 12u8, 91u8, 117u8, 240u8, 52u8, 192u8, 135u8, 139u8, 220u8, + 78u8, 207u8, 199u8, 71u8, 163u8, 100u8, 17u8, 6u8, 65u8, 200u8, 245u8, + 191u8, 82u8, 232u8, 128u8, 126u8, 70u8, 39u8, 63u8, 148u8, 219u8, + ], + ) + } + #[doc = " The existing asset traps."] + #[doc = ""] + #[doc = " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of"] + #[doc = " times this pair has been trapped (usually just 1 if it exists at all)."] + pub fn asset_traps_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "AssetTraps", + vec![], + [ + 148u8, 41u8, 254u8, 134u8, 61u8, 172u8, 126u8, 146u8, 78u8, 178u8, + 50u8, 77u8, 226u8, 8u8, 200u8, 78u8, 77u8, 91u8, 26u8, 133u8, 104u8, + 126u8, 28u8, 28u8, 202u8, 62u8, 87u8, 183u8, 231u8, 191u8, 5u8, 181u8, + ], + ) + } + #[doc = " The existing asset traps."] + #[doc = ""] + #[doc = " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of"] + #[doc = " times this pair has been trapped (usually just 1 if it exists at all)."] + pub fn asset_traps( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "AssetTraps", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 148u8, 41u8, 254u8, 134u8, 61u8, 172u8, 126u8, 146u8, 78u8, 178u8, + 50u8, 77u8, 226u8, 8u8, 200u8, 78u8, 77u8, 91u8, 26u8, 133u8, 104u8, + 126u8, 28u8, 28u8, 202u8, 62u8, 87u8, 183u8, 231u8, 191u8, 5u8, 181u8, + ], + ) + } + #[doc = " Default version to encode XCM when latest version of destination is unknown. If `None`,"] + #[doc = " then the destinations whose XCM version is unknown are considered unreachable."] + pub fn safe_xcm_version( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "SafeXcmVersion", + vec![], + [ + 187u8, 8u8, 74u8, 126u8, 80u8, 215u8, 177u8, 60u8, 223u8, 123u8, 196u8, + 155u8, 166u8, 66u8, 25u8, 164u8, 191u8, 66u8, 116u8, 131u8, 116u8, + 188u8, 224u8, 122u8, 75u8, 195u8, 246u8, 188u8, 83u8, 134u8, 49u8, + 143u8, + ], + ) + } + #[doc = " The Latest versions that we know various locations support."] + pub fn supported_version_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "SupportedVersion", + vec![], + [ + 144u8, 22u8, 91u8, 30u8, 139u8, 164u8, 95u8, 149u8, 97u8, 247u8, 12u8, + 212u8, 96u8, 16u8, 134u8, 236u8, 74u8, 57u8, 244u8, 169u8, 68u8, 63u8, + 111u8, 86u8, 65u8, 229u8, 104u8, 51u8, 44u8, 100u8, 47u8, 191u8, + ], + ) + } + #[doc = " The Latest versions that we know various locations support."] + pub fn supported_version_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "SupportedVersion", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 144u8, 22u8, 91u8, 30u8, 139u8, 164u8, 95u8, 149u8, 97u8, 247u8, 12u8, + 212u8, 96u8, 16u8, 134u8, 236u8, 74u8, 57u8, 244u8, 169u8, 68u8, 63u8, + 111u8, 86u8, 65u8, 229u8, 104u8, 51u8, 44u8, 100u8, 47u8, 191u8, + ], + ) + } + #[doc = " The Latest versions that we know various locations support."] + pub fn supported_version( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "SupportedVersion", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 144u8, 22u8, 91u8, 30u8, 139u8, 164u8, 95u8, 149u8, 97u8, 247u8, 12u8, + 212u8, 96u8, 16u8, 134u8, 236u8, 74u8, 57u8, 244u8, 169u8, 68u8, 63u8, + 111u8, 86u8, 65u8, 229u8, 104u8, 51u8, 44u8, 100u8, 47u8, 191u8, + ], + ) + } + #[doc = " All locations that we have requested version notifications from."] + pub fn version_notifiers_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u64, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "VersionNotifiers", + vec![], + [ + 49u8, 190u8, 73u8, 67u8, 91u8, 69u8, 121u8, 206u8, 25u8, 82u8, 29u8, + 170u8, 157u8, 201u8, 168u8, 93u8, 181u8, 55u8, 226u8, 142u8, 136u8, + 46u8, 117u8, 208u8, 130u8, 90u8, 129u8, 39u8, 151u8, 92u8, 118u8, 75u8, + ], + ) + } + #[doc = " All locations that we have requested version notifications from."] + pub fn version_notifiers_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u64, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "VersionNotifiers", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 49u8, 190u8, 73u8, 67u8, 91u8, 69u8, 121u8, 206u8, 25u8, 82u8, 29u8, + 170u8, 157u8, 201u8, 168u8, 93u8, 181u8, 55u8, 226u8, 142u8, 136u8, + 46u8, 117u8, 208u8, 130u8, 90u8, 129u8, 39u8, 151u8, 92u8, 118u8, 75u8, + ], + ) + } + #[doc = " All locations that we have requested version notifications from."] + pub fn version_notifiers( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u64, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "VersionNotifiers", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 49u8, 190u8, 73u8, 67u8, 91u8, 69u8, 121u8, 206u8, 25u8, 82u8, 29u8, + 170u8, 157u8, 201u8, 168u8, 93u8, 181u8, 55u8, 226u8, 142u8, 136u8, + 46u8, 117u8, 208u8, 130u8, 90u8, 129u8, 39u8, 151u8, 92u8, 118u8, 75u8, + ], + ) + } + #[doc = " The target locations that are subscribed to our version changes, as well as the most recent"] + #[doc = " of our versions we informed them of."] + pub fn version_notify_targets_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + ::core::primitive::u64, + runtime_types::sp_weights::weight_v2::Weight, + ::core::primitive::u32, + ), + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "VersionNotifyTargets", + vec![], + [ + 1u8, 195u8, 40u8, 83u8, 216u8, 175u8, 241u8, 95u8, 42u8, 7u8, 85u8, + 253u8, 223u8, 241u8, 195u8, 41u8, 41u8, 21u8, 17u8, 171u8, 216u8, + 150u8, 39u8, 165u8, 215u8, 194u8, 201u8, 225u8, 179u8, 12u8, 52u8, + 173u8, + ], + ) + } + #[doc = " The target locations that are subscribed to our version changes, as well as the most recent"] + #[doc = " of our versions we informed them of."] + pub fn version_notify_targets_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + ::core::primitive::u64, + runtime_types::sp_weights::weight_v2::Weight, + ::core::primitive::u32, + ), + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "VersionNotifyTargets", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 1u8, 195u8, 40u8, 83u8, 216u8, 175u8, 241u8, 95u8, 42u8, 7u8, 85u8, + 253u8, 223u8, 241u8, 195u8, 41u8, 41u8, 21u8, 17u8, 171u8, 216u8, + 150u8, 39u8, 165u8, 215u8, 194u8, 201u8, 225u8, 179u8, 12u8, 52u8, + 173u8, + ], + ) + } + #[doc = " The target locations that are subscribed to our version changes, as well as the most recent"] + #[doc = " of our versions we informed them of."] + pub fn version_notify_targets( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + ::core::primitive::u64, + runtime_types::sp_weights::weight_v2::Weight, + ::core::primitive::u32, + ), + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "VersionNotifyTargets", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 1u8, 195u8, 40u8, 83u8, 216u8, 175u8, 241u8, 95u8, 42u8, 7u8, 85u8, + 253u8, 223u8, 241u8, 195u8, 41u8, 41u8, 21u8, 17u8, 171u8, 216u8, + 150u8, 39u8, 165u8, 215u8, 194u8, 201u8, 225u8, 179u8, 12u8, 52u8, + 173u8, + ], + ) + } + #[doc = " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and"] + #[doc = " the `u32` counter is the number of times that a send to the destination has been attempted,"] + #[doc = " which is used as a prioritization."] + pub fn version_discovery_queue( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + runtime_types::xcm::VersionedMultiLocation, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "VersionDiscoveryQueue", + vec![], + [ + 110u8, 87u8, 102u8, 193u8, 125u8, 129u8, 0u8, 221u8, 218u8, 229u8, + 101u8, 94u8, 74u8, 229u8, 246u8, 180u8, 113u8, 11u8, 15u8, 159u8, 98u8, + 90u8, 30u8, 112u8, 164u8, 236u8, 151u8, 220u8, 19u8, 83u8, 67u8, 248u8, + ], + ) + } + #[doc = " The current migration's stage, if any."] + pub fn current_migration( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::VersionMigrationStage, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "CurrentMigration", + vec![], + [ + 74u8, 138u8, 181u8, 162u8, 59u8, 251u8, 37u8, 28u8, 232u8, 51u8, 30u8, + 152u8, 252u8, 133u8, 95u8, 195u8, 47u8, 127u8, 21u8, 44u8, 62u8, 143u8, + 170u8, 234u8, 160u8, 37u8, 131u8, 179u8, 57u8, 241u8, 140u8, 124u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on a remote chain."] + pub fn remote_locked_fungibles_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::RemoteLockedFungibleRecord<()>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "RemoteLockedFungibles", + vec![], + [ + 74u8, 249u8, 83u8, 245u8, 44u8, 230u8, 152u8, 82u8, 4u8, 163u8, 230u8, + 121u8, 87u8, 143u8, 184u8, 12u8, 117u8, 112u8, 131u8, 160u8, 232u8, + 62u8, 175u8, 15u8, 81u8, 198u8, 182u8, 255u8, 37u8, 81u8, 6u8, 57u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on a remote chain."] + pub fn remote_locked_fungibles_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::RemoteLockedFungibleRecord<()>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "RemoteLockedFungibles", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 74u8, 249u8, 83u8, 245u8, 44u8, 230u8, 152u8, 82u8, 4u8, 163u8, 230u8, + 121u8, 87u8, 143u8, 184u8, 12u8, 117u8, 112u8, 131u8, 160u8, 232u8, + 62u8, 175u8, 15u8, 81u8, 198u8, 182u8, 255u8, 37u8, 81u8, 6u8, 57u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on a remote chain."] + pub fn remote_locked_fungibles_iter2( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::RemoteLockedFungibleRecord<()>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "RemoteLockedFungibles", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 74u8, 249u8, 83u8, 245u8, 44u8, 230u8, 152u8, 82u8, 4u8, 163u8, 230u8, + 121u8, 87u8, 143u8, 184u8, 12u8, 117u8, 112u8, 131u8, 160u8, 232u8, + 62u8, 175u8, 15u8, 81u8, 198u8, 182u8, 255u8, 37u8, 81u8, 6u8, 57u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on a remote chain."] + pub fn remote_locked_fungibles( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _2: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_xcm::pallet::RemoteLockedFungibleRecord<()>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "RemoteLockedFungibles", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_2.borrow()), + ], + [ + 74u8, 249u8, 83u8, 245u8, 44u8, 230u8, 152u8, 82u8, 4u8, 163u8, 230u8, + 121u8, 87u8, 143u8, 184u8, 12u8, 117u8, 112u8, 131u8, 160u8, 232u8, + 62u8, 175u8, 15u8, 81u8, 198u8, 182u8, 255u8, 37u8, 81u8, 6u8, 57u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on this chain."] + pub fn locked_fungibles_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u128, + runtime_types::xcm::VersionedMultiLocation, + )>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "LockedFungibles", + vec![], + [ + 110u8, 220u8, 127u8, 176u8, 219u8, 23u8, 132u8, 36u8, 224u8, 187u8, + 25u8, 103u8, 126u8, 99u8, 34u8, 105u8, 57u8, 182u8, 162u8, 69u8, 24u8, + 67u8, 221u8, 103u8, 79u8, 139u8, 187u8, 162u8, 113u8, 109u8, 163u8, + 35u8, + ], + ) + } + #[doc = " Fungible assets which we know are locked on this chain."] + pub fn locked_fungibles( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u128, + runtime_types::xcm::VersionedMultiLocation, + )>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "LockedFungibles", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 110u8, 220u8, 127u8, 176u8, 219u8, 23u8, 132u8, 36u8, 224u8, 187u8, + 25u8, 103u8, 126u8, 99u8, 34u8, 105u8, 57u8, 182u8, 162u8, 69u8, 24u8, + 67u8, 221u8, 103u8, 79u8, 139u8, 187u8, 162u8, 113u8, 109u8, 163u8, + 35u8, + ], + ) + } + #[doc = " Global suspension state of the XCM executor."] + pub fn xcm_execution_suspended( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::bool, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "XcmPallet", + "XcmExecutionSuspended", + vec![], + [ + 182u8, 54u8, 69u8, 68u8, 78u8, 76u8, 103u8, 79u8, 47u8, 136u8, 99u8, + 104u8, 128u8, 129u8, 249u8, 54u8, 214u8, 136u8, 97u8, 48u8, 178u8, + 42u8, 26u8, 27u8, 82u8, 24u8, 33u8, 77u8, 33u8, 27u8, 20u8, 127u8, + ], + ) + } + } + } + } + pub mod message_queue { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_message_queue::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_message_queue::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReapPage { pub message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , pub page_index : :: core :: primitive :: u32 , } + impl ::subxt::blocks::StaticExtrinsic for ReapPage { + const PALLET: &'static str = "MessageQueue"; + const CALL: &'static str = "reap_page"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExecuteOverweight { pub message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , pub page : :: core :: primitive :: u32 , pub index : :: core :: primitive :: u32 , pub weight_limit : runtime_types :: sp_weights :: weight_v2 :: Weight , } + impl ::subxt::blocks::StaticExtrinsic for ExecuteOverweight { + const PALLET: &'static str = "MessageQueue"; + const CALL: &'static str = "execute_overweight"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Remove a page which has no more messages remaining to be processed or is stale."] + pub fn reap_page( + &self, + message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin, + page_index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MessageQueue", + "reap_page", + types::ReapPage { + message_origin, + page_index, + }, + [ + 217u8, 3u8, 106u8, 158u8, 151u8, 194u8, 234u8, 4u8, 254u8, 4u8, 200u8, + 201u8, 107u8, 140u8, 220u8, 201u8, 245u8, 14u8, 23u8, 156u8, 41u8, + 106u8, 39u8, 90u8, 214u8, 1u8, 183u8, 45u8, 3u8, 83u8, 242u8, 30u8, + ], + ) + } + #[doc = "Execute an overweight message."] + #[doc = ""] + #[doc = "Temporary processing errors will be propagated whereas permanent errors are treated"] + #[doc = "as success condition."] + #[doc = ""] + #[doc = "- `origin`: Must be `Signed`."] + #[doc = "- `message_origin`: The origin from which the message to be executed arrived."] + #[doc = "- `page`: The page in the queue in which the message to be executed is sitting."] + #[doc = "- `index`: The index into the queue of the message to be executed."] + #[doc = "- `weight_limit`: The maximum amount of weight allowed to be consumed in the execution"] + #[doc = " of the message."] + #[doc = ""] + #[doc = "Benchmark complexity considerations: O(index + weight_limit)."] + pub fn execute_overweight( + &self, + message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin, + page: ::core::primitive::u32, + index: ::core::primitive::u32, + weight_limit: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MessageQueue", + "execute_overweight", + types::ExecuteOverweight { + message_origin, + page, + index, + weight_limit, + }, + [ + 101u8, 2u8, 86u8, 225u8, 217u8, 229u8, 143u8, 214u8, 146u8, 190u8, + 182u8, 102u8, 251u8, 18u8, 179u8, 187u8, 113u8, 29u8, 182u8, 24u8, + 34u8, 179u8, 64u8, 249u8, 139u8, 76u8, 50u8, 238u8, 132u8, 167u8, + 115u8, 141u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_message_queue::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Message discarded due to an error in the `MessageProcessor` (usually a format error)."] + pub struct ProcessingFailed { + pub id: [::core::primitive::u8; 32usize], + pub origin: + runtime_types::polkadot_runtime_parachains::inclusion::AggregateMessageOrigin, + pub error: runtime_types::frame_support::traits::messages::ProcessMessageError, + } + impl ::subxt::events::StaticEvent for ProcessingFailed { + const PALLET: &'static str = "MessageQueue"; + const EVENT: &'static str = "ProcessingFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Message is processed."] + pub struct Processed { + pub id: [::core::primitive::u8; 32usize], + pub origin: + runtime_types::polkadot_runtime_parachains::inclusion::AggregateMessageOrigin, + pub weight_used: runtime_types::sp_weights::weight_v2::Weight, + pub success: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for Processed { + const PALLET: &'static str = "MessageQueue"; + const EVENT: &'static str = "Processed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Message placed in overweight queue."] + pub struct OverweightEnqueued { + pub id: [::core::primitive::u8; 32usize], + pub origin: + runtime_types::polkadot_runtime_parachains::inclusion::AggregateMessageOrigin, + pub page_index: ::core::primitive::u32, + pub message_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for OverweightEnqueued { + const PALLET: &'static str = "MessageQueue"; + const EVENT: &'static str = "OverweightEnqueued"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "This page was reaped."] + pub struct PageReaped { + pub origin: + runtime_types::polkadot_runtime_parachains::inclusion::AggregateMessageOrigin, + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for PageReaped { + const PALLET: &'static str = "MessageQueue"; + const EVENT: &'static str = "PageReaped"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The index of the first and last (non-empty) pages."] pub fn book_state_for_iter (& self ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: pallet_message_queue :: BookState < runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin > , () , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::Address::new_static( + "MessageQueue", + "BookStateFor", + vec![], + [ + 32u8, 61u8, 161u8, 81u8, 134u8, 136u8, 252u8, 113u8, 204u8, 115u8, + 206u8, 180u8, 33u8, 185u8, 137u8, 155u8, 178u8, 189u8, 234u8, 201u8, + 31u8, 230u8, 156u8, 72u8, 37u8, 56u8, 152u8, 91u8, 50u8, 82u8, 191u8, + 2u8, + ], + ) + } + #[doc = " The index of the first and last (non-empty) pages."] pub fn book_state_for (& self , _0 : impl :: std :: borrow :: Borrow < runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin > ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: pallet_message_queue :: BookState < runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin > , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes , () >{ + ::subxt::storage::address::Address::new_static( + "MessageQueue", + "BookStateFor", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 32u8, 61u8, 161u8, 81u8, 134u8, 136u8, 252u8, 113u8, 204u8, 115u8, + 206u8, 180u8, 33u8, 185u8, 137u8, 155u8, 178u8, 189u8, 234u8, 201u8, + 31u8, 230u8, 156u8, 72u8, 37u8, 56u8, 152u8, 91u8, 50u8, 82u8, 191u8, + 2u8, + ], + ) + } + #[doc = " The origin at which we should begin servicing."] + pub fn service_head( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_parachains::inclusion::AggregateMessageOrigin, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "MessageQueue", + "ServiceHead", + vec![], + [ + 17u8, 130u8, 229u8, 193u8, 127u8, 237u8, 60u8, 232u8, 99u8, 109u8, + 102u8, 228u8, 124u8, 103u8, 24u8, 188u8, 151u8, 121u8, 55u8, 97u8, + 85u8, 63u8, 131u8, 60u8, 99u8, 12u8, 88u8, 230u8, 86u8, 50u8, 12u8, + 75u8, + ], + ) + } + #[doc = " The map of page indices to pages."] + pub fn pages_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_message_queue::Page<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MessageQueue", + "Pages", + vec![], + [ + 56u8, 181u8, 157u8, 16u8, 157u8, 123u8, 106u8, 93u8, 199u8, 208u8, + 153u8, 53u8, 168u8, 188u8, 124u8, 77u8, 140u8, 163u8, 113u8, 16u8, + 232u8, 47u8, 10u8, 185u8, 113u8, 230u8, 47u8, 91u8, 253u8, 196u8, 95u8, + 102u8, + ], + ) + } + #[doc = " The map of page indices to pages."] + pub fn pages_iter1( + &self, + _0 : impl :: std :: borrow :: Borrow < runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_message_queue::Page<::core::primitive::u32>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MessageQueue", + "Pages", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 56u8, 181u8, 157u8, 16u8, 157u8, 123u8, 106u8, 93u8, 199u8, 208u8, + 153u8, 53u8, 168u8, 188u8, 124u8, 77u8, 140u8, 163u8, 113u8, 16u8, + 232u8, 47u8, 10u8, 185u8, 113u8, 230u8, 47u8, 91u8, 253u8, 196u8, 95u8, + 102u8, + ], + ) + } + #[doc = " The map of page indices to pages."] + pub fn pages( + &self, + _0 : impl :: std :: borrow :: Borrow < runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin >, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_message_queue::Page<::core::primitive::u32>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "MessageQueue", + "Pages", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 56u8, 181u8, 157u8, 16u8, 157u8, 123u8, 106u8, 93u8, 199u8, 208u8, + 153u8, 53u8, 168u8, 188u8, 124u8, 77u8, 140u8, 163u8, 113u8, 16u8, + 232u8, 47u8, 10u8, 185u8, 113u8, 230u8, 47u8, 91u8, 253u8, 196u8, 95u8, + 102u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The size of the page; this implies the maximum message size which can be sent."] + #[doc = ""] + #[doc = " A good value depends on the expected message sizes, their weights, the weight that is"] + #[doc = " available for processing them and the maximal needed message size. The maximal message"] + #[doc = " size is slightly lower than this as defined by [`MaxMessageLenOf`]."] + pub fn heap_size(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MessageQueue", + "HeapSize", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of stale pages (i.e. of overweight messages) allowed before culling"] + #[doc = " can happen. Once there are more stale pages than this, then historical pages may be"] + #[doc = " dropped, even if they contain unprocessed overweight messages."] + pub fn max_stale(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MessageQueue", + "MaxStale", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The amount of weight (if any) which should be provided to the message queue for"] + #[doc = " servicing enqueued items."] + #[doc = ""] + #[doc = " This may be legitimately `None` in the case that you will call"] + #[doc = " `ServiceQueues::service_queues` manually."] + pub fn service_weight( + &self, + ) -> ::subxt::constants::Address< + ::core::option::Option, + > { + ::subxt::constants::Address::new_static( + "MessageQueue", + "ServiceWeight", + [ + 204u8, 140u8, 63u8, 167u8, 49u8, 8u8, 148u8, 163u8, 190u8, 224u8, 15u8, + 103u8, 86u8, 153u8, 248u8, 117u8, 223u8, 117u8, 210u8, 80u8, 205u8, + 155u8, 40u8, 11u8, 59u8, 63u8, 129u8, 156u8, 17u8, 83u8, 177u8, 250u8, + ], + ) + } + } + } + } + pub mod paras_sudo_wrapper { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_common::paras_sudo_wrapper::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_common::paras_sudo_wrapper::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SudoScheduleParaInitialize { + pub id: runtime_types::polkadot_parachain::primitives::Id, + pub genesis: runtime_types::polkadot_runtime_parachains::paras::ParaGenesisArgs, + } + impl ::subxt::blocks::StaticExtrinsic for SudoScheduleParaInitialize { + const PALLET: &'static str = "ParasSudoWrapper"; + const CALL: &'static str = "sudo_schedule_para_initialize"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SudoScheduleParaCleanup { + pub id: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for SudoScheduleParaCleanup { + const PALLET: &'static str = "ParasSudoWrapper"; + const CALL: &'static str = "sudo_schedule_para_cleanup"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SudoScheduleParathreadUpgrade { + pub id: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for SudoScheduleParathreadUpgrade { + const PALLET: &'static str = "ParasSudoWrapper"; + const CALL: &'static str = "sudo_schedule_parathread_upgrade"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SudoScheduleParachainDowngrade { + pub id: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for SudoScheduleParachainDowngrade { + const PALLET: &'static str = "ParasSudoWrapper"; + const CALL: &'static str = "sudo_schedule_parachain_downgrade"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SudoQueueDownwardXcm { + pub id: runtime_types::polkadot_parachain::primitives::Id, + pub xcm: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for SudoQueueDownwardXcm { + const PALLET: &'static str = "ParasSudoWrapper"; + const CALL: &'static str = "sudo_queue_downward_xcm"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SudoEstablishHrmpChannel { + pub sender: runtime_types::polkadot_parachain::primitives::Id, + pub recipient: runtime_types::polkadot_parachain::primitives::Id, + pub max_capacity: ::core::primitive::u32, + pub max_message_size: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for SudoEstablishHrmpChannel { + const PALLET: &'static str = "ParasSudoWrapper"; + const CALL: &'static str = "sudo_establish_hrmp_channel"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Schedule a para to be initialized at the start of the next session."] + pub fn sudo_schedule_para_initialize( + &self, + id: runtime_types::polkadot_parachain::primitives::Id, + genesis: runtime_types::polkadot_runtime_parachains::paras::ParaGenesisArgs, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ParasSudoWrapper", + "sudo_schedule_para_initialize", + types::SudoScheduleParaInitialize { id, genesis }, + [ + 91u8, 145u8, 184u8, 83u8, 85u8, 168u8, 43u8, 14u8, 18u8, 86u8, 4u8, + 120u8, 148u8, 107u8, 139u8, 46u8, 145u8, 126u8, 255u8, 61u8, 83u8, + 140u8, 63u8, 233u8, 0u8, 47u8, 227u8, 194u8, 99u8, 7u8, 61u8, 15u8, + ], + ) + } + #[doc = "Schedule a para to be cleaned up at the start of the next session."] + pub fn sudo_schedule_para_cleanup( + &self, + id: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ParasSudoWrapper", + "sudo_schedule_para_cleanup", + types::SudoScheduleParaCleanup { id }, + [ + 148u8, 0u8, 73u8, 32u8, 33u8, 214u8, 92u8, 82u8, 146u8, 97u8, 39u8, + 220u8, 147u8, 148u8, 83u8, 200u8, 36u8, 197u8, 231u8, 246u8, 159u8, + 175u8, 195u8, 46u8, 68u8, 230u8, 16u8, 240u8, 108u8, 132u8, 0u8, 188u8, + ], + ) + } + #[doc = "Upgrade a parathread to a parachain"] + pub fn sudo_schedule_parathread_upgrade( + &self, + id: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ParasSudoWrapper", + "sudo_schedule_parathread_upgrade", + types::SudoScheduleParathreadUpgrade { id }, + [ + 244u8, 142u8, 128u8, 182u8, 130u8, 88u8, 113u8, 34u8, 92u8, 224u8, + 244u8, 155u8, 83u8, 212u8, 68u8, 87u8, 156u8, 80u8, 26u8, 23u8, 245u8, + 197u8, 167u8, 204u8, 14u8, 198u8, 70u8, 93u8, 227u8, 159u8, 159u8, + 88u8, + ], + ) + } + #[doc = "Downgrade a parachain to a parathread"] + pub fn sudo_schedule_parachain_downgrade( + &self, + id: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ParasSudoWrapper", + "sudo_schedule_parachain_downgrade", + types::SudoScheduleParachainDowngrade { id }, + [ + 152u8, 217u8, 14u8, 138u8, 136u8, 85u8, 79u8, 255u8, 220u8, 85u8, + 248u8, 12u8, 186u8, 250u8, 206u8, 152u8, 115u8, 92u8, 143u8, 8u8, + 171u8, 46u8, 94u8, 232u8, 169u8, 79u8, 150u8, 212u8, 166u8, 191u8, + 188u8, 198u8, + ], + ) + } + #[doc = "Send a downward XCM to the given para."] + #[doc = ""] + #[doc = "The given parachain should exist and the payload should not exceed the preconfigured size"] + #[doc = "`config.max_downward_message_size`."] + pub fn sudo_queue_downward_xcm( + &self, + id: runtime_types::polkadot_parachain::primitives::Id, + xcm: runtime_types::xcm::VersionedXcm, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ParasSudoWrapper", + "sudo_queue_downward_xcm", + types::SudoQueueDownwardXcm { + id, + xcm: ::std::boxed::Box::new(xcm), + }, + [ + 144u8, 179u8, 113u8, 39u8, 46u8, 58u8, 218u8, 220u8, 98u8, 232u8, + 121u8, 119u8, 127u8, 99u8, 52u8, 189u8, 232u8, 28u8, 233u8, 54u8, + 122u8, 206u8, 155u8, 7u8, 88u8, 167u8, 203u8, 251u8, 96u8, 156u8, 23u8, + 54u8, + ], + ) + } + #[doc = "Forcefully establish a channel from the sender to the recipient."] + #[doc = ""] + #[doc = "This is equivalent to sending an `Hrmp::hrmp_init_open_channel` extrinsic followed by"] + #[doc = "`Hrmp::hrmp_accept_open_channel`."] + pub fn sudo_establish_hrmp_channel( + &self, + sender: runtime_types::polkadot_parachain::primitives::Id, + recipient: runtime_types::polkadot_parachain::primitives::Id, + max_capacity: ::core::primitive::u32, + max_message_size: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ParasSudoWrapper", + "sudo_establish_hrmp_channel", + types::SudoEstablishHrmpChannel { + sender, + recipient, + max_capacity, + max_message_size, + }, + [ + 236u8, 105u8, 76u8, 213u8, 11u8, 105u8, 119u8, 48u8, 1u8, 103u8, 239u8, + 156u8, 66u8, 63u8, 135u8, 67u8, 226u8, 150u8, 254u8, 24u8, 169u8, 82u8, + 29u8, 75u8, 102u8, 167u8, 59u8, 66u8, 173u8, 148u8, 202u8, 50u8, + ], + ) + } + } + } + } + pub mod assigned_slots { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::polkadot_runtime_common::assigned_slots::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::polkadot_runtime_common::assigned_slots::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AssignPermParachainSlot { + pub id: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for AssignPermParachainSlot { + const PALLET: &'static str = "AssignedSlots"; + const CALL: &'static str = "assign_perm_parachain_slot"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AssignTempParachainSlot { pub id : runtime_types :: polkadot_parachain :: primitives :: Id , pub lease_period_start : runtime_types :: polkadot_runtime_common :: assigned_slots :: SlotLeasePeriodStart , } + impl ::subxt::blocks::StaticExtrinsic for AssignTempParachainSlot { + const PALLET: &'static str = "AssignedSlots"; + const CALL: &'static str = "assign_temp_parachain_slot"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UnassignParachainSlot { + pub id: runtime_types::polkadot_parachain::primitives::Id, + } + impl ::subxt::blocks::StaticExtrinsic for UnassignParachainSlot { + const PALLET: &'static str = "AssignedSlots"; + const CALL: &'static str = "unassign_parachain_slot"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Assign a permanent parachain slot and immediately create a lease for it."] + pub fn assign_perm_parachain_slot( + &self, + id: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "AssignedSlots", + "assign_perm_parachain_slot", + types::AssignPermParachainSlot { id }, + [ + 174u8, 53u8, 0u8, 157u8, 42u8, 160u8, 60u8, 36u8, 68u8, 7u8, 86u8, + 60u8, 126u8, 71u8, 118u8, 95u8, 139u8, 208u8, 57u8, 118u8, 183u8, + 111u8, 59u8, 37u8, 186u8, 193u8, 92u8, 145u8, 39u8, 21u8, 237u8, 31u8, + ], + ) + } + #[doc = "Assign a temporary parachain slot. The function tries to create a lease for it"] + #[doc = "immediately if `SlotLeasePeriodStart::Current` is specified, and if the number"] + #[doc = "of currently active temporary slots is below `MaxTemporarySlotPerLeasePeriod`."] + pub fn assign_temp_parachain_slot( + &self, + id: runtime_types::polkadot_parachain::primitives::Id, + lease_period_start : runtime_types :: polkadot_runtime_common :: assigned_slots :: SlotLeasePeriodStart, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "AssignedSlots", + "assign_temp_parachain_slot", + types::AssignTempParachainSlot { + id, + lease_period_start, + }, + [ + 226u8, 38u8, 224u8, 199u8, 32u8, 159u8, 245u8, 129u8, 190u8, 103u8, + 103u8, 214u8, 27u8, 215u8, 104u8, 111u8, 132u8, 186u8, 214u8, 25u8, + 110u8, 187u8, 73u8, 179u8, 101u8, 48u8, 60u8, 218u8, 248u8, 28u8, + 202u8, 66u8, + ], + ) + } + #[doc = "Unassign a permanent or temporary parachain slot"] + pub fn unassign_parachain_slot( + &self, + id: runtime_types::polkadot_parachain::primitives::Id, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "AssignedSlots", + "unassign_parachain_slot", + types::UnassignParachainSlot { id }, + [ + 235u8, 6u8, 124u8, 73u8, 72u8, 232u8, 38u8, 233u8, 103u8, 111u8, 249u8, + 235u8, 10u8, 169u8, 92u8, 251u8, 245u8, 151u8, 28u8, 78u8, 125u8, + 113u8, 201u8, 187u8, 24u8, 58u8, 18u8, 177u8, 68u8, 122u8, 167u8, + 143u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::polkadot_runtime_common::assigned_slots::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A para was assigned a permanent parachain slot"] + pub struct PermanentSlotAssigned(pub runtime_types::polkadot_parachain::primitives::Id); + impl ::subxt::events::StaticEvent for PermanentSlotAssigned { + const PALLET: &'static str = "AssignedSlots"; + const EVENT: &'static str = "PermanentSlotAssigned"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A para was assigned a temporary parachain slot"] + pub struct TemporarySlotAssigned(pub runtime_types::polkadot_parachain::primitives::Id); + impl ::subxt::events::StaticEvent for TemporarySlotAssigned { + const PALLET: &'static str = "AssignedSlots"; + const EVENT: &'static str = "TemporarySlotAssigned"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Assigned permanent slots, with their start lease period, and duration."] + pub fn permanent_slots_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (::core::primitive::u32, ::core::primitive::u32), + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "AssignedSlots", + "PermanentSlots", + vec![], + [ + 133u8, 179u8, 221u8, 222u8, 50u8, 75u8, 158u8, 137u8, 167u8, 190u8, + 19u8, 237u8, 201u8, 44u8, 86u8, 64u8, 57u8, 61u8, 96u8, 112u8, 218u8, + 186u8, 176u8, 58u8, 143u8, 61u8, 105u8, 13u8, 103u8, 162u8, 188u8, + 154u8, + ], + ) + } + #[doc = " Assigned permanent slots, with their start lease period, and duration."] + pub fn permanent_slots( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (::core::primitive::u32, ::core::primitive::u32), + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "AssignedSlots", + "PermanentSlots", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 133u8, 179u8, 221u8, 222u8, 50u8, 75u8, 158u8, 137u8, 167u8, 190u8, + 19u8, 237u8, 201u8, 44u8, 86u8, 64u8, 57u8, 61u8, 96u8, 112u8, 218u8, + 186u8, 176u8, 58u8, 143u8, 61u8, 105u8, 13u8, 103u8, 162u8, 188u8, + 154u8, + ], + ) + } + #[doc = " Number of assigned (and active) permanent slots."] + pub fn permanent_slot_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "AssignedSlots", + "PermanentSlotCount", + vec![], + [ + 57u8, 211u8, 19u8, 233u8, 105u8, 201u8, 166u8, 99u8, 53u8, 217u8, 23u8, + 64u8, 216u8, 129u8, 21u8, 36u8, 234u8, 24u8, 57u8, 99u8, 13u8, 205u8, + 201u8, 78u8, 28u8, 96u8, 232u8, 62u8, 91u8, 235u8, 157u8, 213u8, + ], + ) + } + #[doc = " Assigned temporary slots."] + pub fn temporary_slots_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_common::assigned_slots::ParachainTemporarySlot< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "AssignedSlots", + "TemporarySlots", + vec![], + [ + 184u8, 245u8, 181u8, 90u8, 169u8, 232u8, 108u8, 3u8, 153u8, 4u8, 176u8, + 170u8, 230u8, 163u8, 236u8, 111u8, 196u8, 218u8, 154u8, 125u8, 102u8, + 216u8, 195u8, 126u8, 99u8, 90u8, 242u8, 141u8, 214u8, 165u8, 32u8, + 57u8, + ], + ) + } + #[doc = " Assigned temporary slots."] + pub fn temporary_slots( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::polkadot_runtime_common::assigned_slots::ParachainTemporarySlot< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "AssignedSlots", + "TemporarySlots", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 184u8, 245u8, 181u8, 90u8, 169u8, 232u8, 108u8, 3u8, 153u8, 4u8, 176u8, + 170u8, 230u8, 163u8, 236u8, 111u8, 196u8, 218u8, 154u8, 125u8, 102u8, + 216u8, 195u8, 126u8, 99u8, 90u8, 242u8, 141u8, 214u8, 165u8, 32u8, + 57u8, + ], + ) + } + #[doc = " Number of assigned temporary slots."] + pub fn temporary_slot_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "AssignedSlots", + "TemporarySlotCount", + vec![], + [ + 218u8, 236u8, 69u8, 75u8, 224u8, 60u8, 9u8, 197u8, 217u8, 4u8, 210u8, + 55u8, 125u8, 106u8, 239u8, 208u8, 115u8, 105u8, 94u8, 223u8, 219u8, + 27u8, 175u8, 161u8, 120u8, 168u8, 36u8, 239u8, 136u8, 228u8, 7u8, 15u8, + ], + ) + } + #[doc = " Number of active temporary slots in current slot lease period."] + pub fn active_temporary_slot_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "AssignedSlots", + "ActiveTemporarySlotCount", + vec![], + [ + 153u8, 99u8, 232u8, 164u8, 137u8, 10u8, 232u8, 172u8, 78u8, 4u8, 69u8, + 178u8, 245u8, 220u8, 56u8, 251u8, 60u8, 238u8, 127u8, 246u8, 60u8, + 11u8, 240u8, 185u8, 2u8, 194u8, 69u8, 212u8, 173u8, 205u8, 205u8, + 198u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The number of lease periods a permanent parachain slot lasts."] + pub fn permanent_slot_lease_period_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "AssignedSlots", + "PermanentSlotLeasePeriodLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The number of lease periods a temporary parachain slot lasts."] + pub fn temporary_slot_lease_period_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "AssignedSlots", + "TemporarySlotLeasePeriodLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The max number of permanent slots that can be assigned."] + pub fn max_permanent_slots( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "AssignedSlots", + "MaxPermanentSlots", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The max number of temporary slots that can be assigned."] + pub fn max_temporary_slots( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "AssignedSlots", + "MaxTemporarySlots", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The max number of temporary slots to be scheduled per lease periods."] + pub fn max_temporary_slot_per_lease_period( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "AssignedSlots", + "MaxTemporarySlotPerLeasePeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod validator_manager { + use super::root_mod; + use super::runtime_types; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_validator_manager::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RegisterValidators { + pub validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + impl ::subxt::blocks::StaticExtrinsic for RegisterValidators { + const PALLET: &'static str = "ValidatorManager"; + const CALL: &'static str = "register_validators"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DeregisterValidators { + pub validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + impl ::subxt::blocks::StaticExtrinsic for DeregisterValidators { + const PALLET: &'static str = "ValidatorManager"; + const CALL: &'static str = "deregister_validators"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Add new validators to the set."] + #[doc = ""] + #[doc = "The new validators will be active from current session + 2."] + pub fn register_validators( + &self, + validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ValidatorManager", + "register_validators", + types::RegisterValidators { validators }, + [ + 181u8, 41u8, 122u8, 3u8, 39u8, 160u8, 138u8, 83u8, 145u8, 147u8, 107u8, + 151u8, 213u8, 31u8, 237u8, 89u8, 119u8, 154u8, 14u8, 23u8, 238u8, + 247u8, 201u8, 92u8, 68u8, 127u8, 56u8, 178u8, 125u8, 152u8, 17u8, + 147u8, + ], + ) + } + #[doc = "Remove validators from the set."] + #[doc = ""] + #[doc = "The removed validators will be deactivated from current session + 2."] + pub fn deregister_validators( + &self, + validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ValidatorManager", + "deregister_validators", + types::DeregisterValidators { validators }, + [ + 150u8, 134u8, 135u8, 215u8, 121u8, 111u8, 44u8, 52u8, 25u8, 244u8, + 130u8, 47u8, 66u8, 73u8, 243u8, 49u8, 171u8, 143u8, 34u8, 122u8, 55u8, + 234u8, 176u8, 221u8, 106u8, 61u8, 102u8, 234u8, 13u8, 233u8, 211u8, + 214u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_validator_manager::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "New validators were added to the set."] + pub struct ValidatorsRegistered(pub ::std::vec::Vec<::subxt::utils::AccountId32>); + impl ::subxt::events::StaticEvent for ValidatorsRegistered { + const PALLET: &'static str = "ValidatorManager"; + const EVENT: &'static str = "ValidatorsRegistered"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Validators were removed from the set."] + pub struct ValidatorsDeregistered(pub ::std::vec::Vec<::subxt::utils::AccountId32>); + impl ::subxt::events::StaticEvent for ValidatorsDeregistered { + const PALLET: &'static str = "ValidatorManager"; + const EVENT: &'static str = "ValidatorsDeregistered"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Validators that should be retired, because their Parachain was deregistered."] + pub fn validators_to_retire( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ValidatorManager", + "ValidatorsToRetire", + vec![], + [ + 137u8, 92u8, 99u8, 157u8, 254u8, 166u8, 190u8, 64u8, 111u8, 212u8, + 37u8, 90u8, 164u8, 0u8, 31u8, 15u8, 83u8, 21u8, 225u8, 7u8, 57u8, + 104u8, 64u8, 192u8, 58u8, 38u8, 36u8, 133u8, 181u8, 229u8, 200u8, 65u8, + ], + ) + } + #[doc = " Validators that should be added."] + pub fn validators_to_add( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::std::vec::Vec<::subxt::utils::AccountId32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ValidatorManager", + "ValidatorsToAdd", + vec![], + [ + 168u8, 209u8, 123u8, 225u8, 168u8, 62u8, 18u8, 174u8, 164u8, 161u8, + 228u8, 179u8, 251u8, 112u8, 210u8, 173u8, 24u8, 177u8, 111u8, 129u8, + 97u8, 230u8, 231u8, 103u8, 72u8, 104u8, 222u8, 156u8, 190u8, 150u8, + 147u8, 68u8, + ], + ) + } + } + } + } + pub mod multi_tokens { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_multi_tokens::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_multi_tokens::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CreateCollection { + pub descriptor: ::std::boxed::Box< + runtime_types::ep_multi_tokens::collection::DefaultCollectionDescriptor< + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::AttributeKeyValuePair< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for CreateCollection { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "create_collection"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DestroyCollection { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for DestroyCollection { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "destroy_collection"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MutateCollection { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub mutation: ::std::boxed::Box< + runtime_types::ep_multi_tokens::collection::DefaultCollectionMutation< + ::subxt::utils::AccountId32, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + >, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for MutateCollection { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "mutate_collection"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MutateToken { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + #[codec(compact)] + pub token_id: ::core::primitive::u128, + pub mutation: ::std::boxed::Box< + runtime_types::ep_multi_tokens::token::DefaultTokenMutation< + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::ep_multi_tokens::frame::DefaultTokenMetadata< + runtime_types::ep_multi_tokens::frame::DefaultForeignTokenMetadata< + ::core::primitive::u128, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenNameLength, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenSymbolLength, + >, + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + >, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for MutateToken { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "mutate_token"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Mint { + pub recipient: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub params: ::std::boxed::Box< + runtime_types::ep_multi_tokens::policy::mint::DefaultMintParams< + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::AttributeKeyValuePair< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenNameLength, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenSymbolLength, + >, + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Mint { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "mint"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Burn { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub params: runtime_types::ep_multi_tokens::policy::burn::DefaultBurnParams< + ::core::primitive::u128, + ::core::primitive::u128, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Burn { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "burn"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Transfer { + pub recipient: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub params: + runtime_types::ep_multi_tokens::policy::transfer::DefaultTransferParams< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Transfer { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "transfer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Freeze { + pub info: runtime_types::ep_multi_tokens::types::Freeze< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Freeze { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "freeze"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Thaw { + pub info: runtime_types::ep_multi_tokens::types::Freeze< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Thaw { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "thaw"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetAttribute { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::option::Option<::core::primitive::u128>, + pub key: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub value: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + impl ::subxt::blocks::StaticExtrinsic for SetAttribute { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "set_attribute"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveAttribute { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::option::Option<::core::primitive::u128>, + pub key: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveAttribute { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "remove_attribute"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveAllAttributes { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::option::Option<::core::primitive::u128>, + pub attribute_count: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveAllAttributes { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "remove_all_attributes"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BatchTransfer { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub recipients: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::Recipient< + ::subxt::utils::AccountId32, + runtime_types::ep_multi_tokens::policy::transfer::DefaultTransferParams< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for BatchTransfer { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "batch_transfer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BatchMint { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub recipients: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::Recipient< + ::subxt::utils::AccountId32, + runtime_types::ep_multi_tokens::policy::mint::DefaultMintParams< + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::AttributeKeyValuePair< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenNameLength, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenSymbolLength, + >, + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for BatchMint { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "batch_mint"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BatchSetAttribute { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::option::Option<::core::primitive::u128>, + pub attributes: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::AttributeKeyValuePair< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for BatchSetAttribute { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "batch_set_attribute"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ApproveCollection { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub operator: ::subxt::utils::AccountId32, + pub expiration: ::core::option::Option<::core::primitive::u32>, + } + impl ::subxt::blocks::StaticExtrinsic for ApproveCollection { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "approve_collection"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UnapproveCollection { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub operator: ::subxt::utils::AccountId32, + } + impl ::subxt::blocks::StaticExtrinsic for UnapproveCollection { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "unapprove_collection"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ApproveToken { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + #[codec(compact)] + pub token_id: ::core::primitive::u128, + pub operator: ::subxt::utils::AccountId32, + #[codec(compact)] + pub amount: ::core::primitive::u128, + pub expiration: ::core::option::Option<::core::primitive::u32>, + #[codec(compact)] + pub current_amount: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for ApproveToken { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "approve_token"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UnapproveToken { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + #[codec(compact)] + pub token_id: ::core::primitive::u128, + pub operator: ::subxt::utils::AccountId32, + } + impl ::subxt::blocks::StaticExtrinsic for UnapproveToken { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "unapprove_token"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClaimCollections { + pub destination: ::subxt::utils::AccountId32, + pub ethereum_signature: runtime_types::sp_core::ecdsa::Signature, + pub ethereum_address: ::subxt::utils::H160, + } + impl ::subxt::blocks::StaticExtrinsic for ClaimCollections { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "claim_collections"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClaimTokens { + pub destination: ::subxt::utils::AccountId32, + pub ethereum_signature: runtime_types::sp_core::ecdsa::Signature, + pub ethereum_address: ::subxt::utils::H160, + } + impl ::subxt::blocks::StaticExtrinsic for ClaimTokens { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "claim_tokens"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceMutateCollection { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub mutation: ::std::boxed::Box< + runtime_types::ep_multi_tokens::collection::DefaultCollectionMutation< + ::subxt::utils::AccountId32, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + >, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceMutateCollection { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_mutate_collection"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceTransfer { + pub source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub destination: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub params: + runtime_types::ep_multi_tokens::policy::transfer::DefaultTransferParams< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceTransfer { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_transfer"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetCollection { # [codec (compact)] pub collection_id : :: core :: primitive :: u128 , pub value : :: std :: boxed :: Box < :: core :: option :: Option < runtime_types :: ep_multi_tokens :: collection :: Collection < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: DefaultCollectionPolicy < :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > > , runtime_types :: bounded_collections :: bounded_btree_map :: BoundedBTreeMap < runtime_types :: ep_multi_tokens :: token :: AssetId < :: core :: primitive :: u128 , :: core :: primitive :: u128 > , () > > > > , } + impl ::subxt::blocks::StaticExtrinsic for ForceSetCollection { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_set_collection"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetToken { # [codec (compact)] pub collection_id : :: core :: primitive :: u128 , # [codec (compact)] pub token_id : :: core :: primitive :: u128 , pub value : :: std :: boxed :: Box < :: core :: option :: Option < runtime_types :: ep_multi_tokens :: token :: Token < :: core :: primitive :: u128 , :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: ep_multi_tokens :: frame :: DefaultTokenMetadata < runtime_types :: ep_multi_tokens :: frame :: DefaultForeignTokenMetadata < :: core :: primitive :: u128 , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenNameLength > , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenSymbolLength > , runtime_types :: xcm :: v3 :: multilocation :: MultiLocation > > > > > , } + impl ::subxt::blocks::StaticExtrinsic for ForceSetToken { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_set_token"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetAttribute { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::option::Option<::core::primitive::u128>, + pub key: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub value: ::core::option::Option< + runtime_types::ep_multi_tokens::attribute::Attribute< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ::core::primitive::u128, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSetAttribute { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_set_attribute"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetCollectionAccount { # [codec (compact)] pub collection_id : :: core :: primitive :: u128 , pub account_id : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , pub value : :: core :: option :: Option < runtime_types :: pallet_multi_tokens :: features :: collection :: types :: CollectionAccount < :: subxt :: utils :: AccountId32 , :: core :: option :: Option < :: core :: primitive :: u32 > , runtime_types :: enjin_runtime :: MaxOperatorsPerAccount > > , } + impl ::subxt::blocks::StaticExtrinsic for ForceSetCollectionAccount { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_set_collection_account"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetTokenAccount { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + #[codec(compact)] + pub token_id: ::core::primitive::u128, + pub account_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub value: ::core::option::Option< + runtime_types::pallet_multi_tokens::features::token::types::TokenAccount< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::pallet_multi_tokens::features::operator::types::Approval< + ::core::primitive::u128, + ::core::option::Option<::core::primitive::u32>, + >, + runtime_types::enjin_runtime::MaxOperatorsPerAccount, + [::core::primitive::u8; 8usize], + [::core::primitive::u8; 8usize], + runtime_types::enjin_runtime::MaxMultiTokensReserves, + runtime_types::enjin_runtime::MaxMultiTokensLocks, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSetTokenAccount { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_set_token_account"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceCreateCollection { + pub owner: ::subxt::utils::AccountId32, + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub descriptor: ::std::boxed::Box< + runtime_types::ep_multi_tokens::collection::DefaultCollectionDescriptor< + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::AttributeKeyValuePair< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceCreateCollection { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_create_collection"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceMint { + pub caller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub recipient: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub params: ::std::boxed::Box< + runtime_types::ep_multi_tokens::policy::mint::DefaultMintParams< + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::AttributeKeyValuePair< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenNameLength, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenSymbolLength, + >, + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + >, + pub deposit_backer: ::core::option::Option< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceMint { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_mint"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceBurn { + pub caller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub params: runtime_types::ep_multi_tokens::policy::burn::DefaultBurnParams< + ::core::primitive::u128, + ::core::primitive::u128, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceBurn { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_burn"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceApproveCollection { + pub caller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub operator: ::subxt::utils::AccountId32, + pub expiration: ::core::option::Option<::core::primitive::u32>, + } + impl ::subxt::blocks::StaticExtrinsic for ForceApproveCollection { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_approve_collection"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceFreeze { + pub info: runtime_types::ep_multi_tokens::types::Freeze< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceFreeze { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_freeze"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetNextCollectionId { + #[codec(compact)] + pub value: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSetNextCollectionId { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_set_next_collection_id"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetEthereumAccount { + pub address: ::subxt::utils::H160, + pub value: ::core::option::Option< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u128, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSetEthereumAccount { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_set_ethereum_account"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetEthereumCollectionId { + #[codec(compact)] + pub ethereum_collection_id: ::core::primitive::u128, + pub native_collection_id: ::core::option::Option<::core::primitive::u128>, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSetEthereumCollectionId { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_set_ethereum_collection_id"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetUnmintableTokenIds { + #[codec(compact)] + pub collection_id: ::core::primitive::u128, + pub value: ::core::option::Option< + runtime_types::pallet_multi_tokens::features::ethereum::RangeInclusive< + ::core::primitive::u128, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSetUnmintableTokenIds { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_set_unmintable_token_ids"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceCreateEthereumCollection { + pub owner: ::subxt::utils::AccountId32, + #[codec(compact)] + pub native_collection_id: ::core::primitive::u128, + #[codec(compact)] + pub ethereum_collection_id: ::core::primitive::u128, + pub token_range: + runtime_types::pallet_multi_tokens::features::ethereum::RangeInclusive< + ::core::primitive::u128, + >, + pub descriptor: ::std::boxed::Box< + runtime_types::ep_multi_tokens::collection::DefaultCollectionDescriptor< + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::AttributeKeyValuePair< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceCreateEthereumCollection { + const PALLET: &'static str = "MultiTokens"; + const CALL: &'static str = "force_create_ethereum_collection"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Creates a new [`Collection`](ep_multi_tokens::Collection) from `descriptor`"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::DepositReserveFailed`] if the deposit cannot be reserved"] + pub fn create_collection( + &self, + descriptor : runtime_types :: ep_multi_tokens :: collection :: DefaultCollectionDescriptor < :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: token :: AssetId < :: core :: primitive :: u128 , :: core :: primitive :: u128 > > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: batch :: AttributeKeyValuePair < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > > > >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "create_collection", + types::CreateCollection { + descriptor: ::std::boxed::Box::new(descriptor), + }, + [ + 84u8, 220u8, 78u8, 6u8, 43u8, 65u8, 126u8, 108u8, 37u8, 22u8, 229u8, + 251u8, 66u8, 211u8, 54u8, 184u8, 207u8, 154u8, 209u8, 233u8, 153u8, + 182u8, 218u8, 32u8, 102u8, 164u8, 79u8, 212u8, 80u8, 23u8, 161u8, + 249u8, + ], + ) + } + #[doc = "Destroys [`Collection`](ep_multi_tokens::Collection) with `id`. `origin` must be the"] + #[doc = "owner of the [`Collection`](ep_multi_tokens::Collection)."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::NoPermission`] if `origin` is not the owner of the collection."] + #[doc = "- [`Error::CollectionNotFound`] if `Collection` with `id` does not exist."] + #[doc = "- [`Error::DestroyForbiddenByCollectionEvent`] if another pallet is blocking the"] + #[doc = " collection's destruction"] + #[doc = "- [`Error::DestroyForbiddenByRemainingTokens`] if collection still has tokens when"] + #[doc = " destroying"] + #[doc = "- [`Error::DestroyForbiddenByAttributeCount`] if collection still has attributes when"] + #[doc = " destroying"] + #[doc = "current number of collection attributes."] + pub fn destroy_collection( + &self, + collection_id: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "destroy_collection", + types::DestroyCollection { collection_id }, + [ + 105u8, 100u8, 167u8, 237u8, 67u8, 29u8, 194u8, 91u8, 194u8, 121u8, + 206u8, 213u8, 129u8, 146u8, 16u8, 12u8, 54u8, 137u8, 28u8, 215u8, 52u8, + 21u8, 95u8, 29u8, 94u8, 223u8, 54u8, 213u8, 144u8, 208u8, 74u8, 29u8, + ], + ) + } + #[doc = "Modify [`Collection`](ep_multi_tokens::Collection) with `id` by applying `mutation`"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::CollectionNotFound`] if `collection_id` does not exist."] + #[doc = "- [`Error::NoPermission`] if `origin` is not the owner of `collection`."] + pub fn mutate_collection( + &self, + collection_id: ::core::primitive::u128, + mutation: runtime_types::ep_multi_tokens::collection::DefaultCollectionMutation< + ::subxt::utils::AccountId32, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "mutate_collection", + types::MutateCollection { + collection_id, + mutation: ::std::boxed::Box::new(mutation), + }, + [ + 70u8, 220u8, 103u8, 86u8, 205u8, 59u8, 190u8, 86u8, 186u8, 98u8, 206u8, + 13u8, 121u8, 129u8, 74u8, 89u8, 50u8, 140u8, 51u8, 69u8, 9u8, 118u8, + 204u8, 145u8, 180u8, 100u8, 231u8, 173u8, 85u8, 15u8, 101u8, 127u8, + ], + ) + } + #[doc = "Modify [`Token`](ep_multi_tokens::Token) with `token_id` from"] + #[doc = "[`Collection`](ep_multi_tokens::Collection) with `collection_id` by applying `mutation`"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::CurrencyIncompatibleWithCollectionRoyalty`] if token has already been"] + #[doc = " assigned a royalty"] + #[doc = "- [`Error::NoPermission`] if not the collection owner"] + #[doc = "- [`Error::TokenNotFound`] if Token does not exist"] + #[doc = "- [`Error::ConflictingLocation`] if the new location is already occupied"] + pub fn mutate_token( + &self, + collection_id: ::core::primitive::u128, + token_id: ::core::primitive::u128, + mutation: runtime_types::ep_multi_tokens::token::DefaultTokenMutation< + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::ep_multi_tokens::frame::DefaultTokenMetadata< + runtime_types::ep_multi_tokens::frame::DefaultForeignTokenMetadata< + ::core::primitive::u128, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenNameLength, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenSymbolLength, + >, + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "mutate_token", + types::MutateToken { + collection_id, + token_id, + mutation: ::std::boxed::Box::new(mutation), + }, + [ + 216u8, 243u8, 233u8, 191u8, 206u8, 81u8, 186u8, 152u8, 248u8, 35u8, + 139u8, 11u8, 185u8, 145u8, 56u8, 162u8, 246u8, 64u8, 2u8, 177u8, 231u8, + 47u8, 21u8, 112u8, 217u8, 225u8, 225u8, 96u8, 126u8, 154u8, 195u8, + 218u8, + ], + ) + } + #[doc = "`origin` mints to `recipient` for `collection_id` with `params` using the pallet's"] + #[doc = "[`MintPolicy`](traits::CollectionPolicy::Mint)."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::AmountZero`] if `amount == 0`."] + #[doc = "- [`Error::CollectionNotFound`] if `Collection` does not exist."] + #[doc = "- [`Error::TokenNotFound`] if `Token` does not exist."] + #[doc = "- [`Error::TokenAlreadyExists`] if attempting to create a token that already exists"] + #[doc = "- [`Error::NoPermission`] if `caller` is not allowed to mint the `collection`."] + #[doc = "- [`Error::TokenMintCapExceeded`] if the mint policy TokenCap does not allow minting"] + #[doc = "- `MaxTokenCountExceeded` if the mint policy max_token_count is exceeded"] + #[doc = "- [`Error::DepositReserveFailed`] if the issuer does not have sufficient balance for"] + #[doc = " token deposit"] + #[doc = "- [`Error::ConflictingLocation`] if the token is foreign and the location is already"] + #[doc = " mapped to another asset in `AssetIdsByLocation`"] + pub fn mint( + &self, + recipient: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + collection_id: ::core::primitive::u128, + params: runtime_types::ep_multi_tokens::policy::mint::DefaultMintParams< + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::AttributeKeyValuePair< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenNameLength, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenSymbolLength, + >, + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "mint", + types::Mint { + recipient, + collection_id, + params: ::std::boxed::Box::new(params), + }, + [ + 108u8, 2u8, 71u8, 151u8, 48u8, 236u8, 54u8, 88u8, 220u8, 86u8, 152u8, + 141u8, 123u8, 135u8, 123u8, 127u8, 107u8, 190u8, 56u8, 241u8, 121u8, + 247u8, 32u8, 124u8, 238u8, 76u8, 228u8, 70u8, 7u8, 21u8, 41u8, 156u8, + ], + ) + } + #[doc = "Reduces the balance of `owner` by `amount` of `token_id` from `collection_id`."] + #[doc = "It also updates the total supply of `collection_id`."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::CollectionNotFound`] if `collection` does not exist."] + #[doc = "- [`Error::BalanceLow`] if `owner` account does not has enough amount of any token in"] + #[doc = " `tokens` of `collection`."] + #[doc = "- [`Error::DepositUnreserveFailed`] if caller does not have enough reserved balance to"] + #[doc = " unreserve"] + #[doc = "- [`Error::DestroyForbiddenByAttributeCount`] if removing token from storage but the"] + #[doc = " attribute count is greater than zero"] + pub fn burn( + &self, + collection_id: ::core::primitive::u128, + params: runtime_types::ep_multi_tokens::policy::burn::DefaultBurnParams< + ::core::primitive::u128, + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "burn", + types::Burn { + collection_id, + params, + }, + [ + 12u8, 208u8, 217u8, 27u8, 201u8, 229u8, 193u8, 137u8, 64u8, 17u8, 80u8, + 162u8, 212u8, 243u8, 171u8, 80u8, 211u8, 153u8, 113u8, 171u8, 224u8, + 56u8, 163u8, 55u8, 173u8, 91u8, 47u8, 121u8, 65u8, 123u8, 110u8, 53u8, + ], + ) + } + #[doc = "`operator` transfers to `recipient` for `collection_id` with `params`"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::AmountZero`] if `amount == 0`."] + #[doc = "- [`Error::BalanceLow`] if `source` does not own enough amount of `collection`."] + pub fn transfer( + &self, + recipient: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + collection_id: ::core::primitive::u128, + params: runtime_types::ep_multi_tokens::policy::transfer::DefaultTransferParams< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "transfer", + types::Transfer { + recipient, + collection_id, + params, + }, + [ + 214u8, 174u8, 15u8, 27u8, 9u8, 88u8, 1u8, 49u8, 195u8, 143u8, 115u8, + 177u8, 1u8, 171u8, 219u8, 183u8, 25u8, 187u8, 42u8, 135u8, 46u8, 174u8, + 199u8, 255u8, 60u8, 142u8, 36u8, 173u8, 66u8, 194u8, 118u8, 152u8, + ], + ) + } + #[doc = "Freeze collection, token or account"] + pub fn freeze( + &self, + info: runtime_types::ep_multi_tokens::types::Freeze< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "freeze", + types::Freeze { info }, + [ + 156u8, 46u8, 101u8, 135u8, 136u8, 118u8, 15u8, 159u8, 115u8, 213u8, + 182u8, 7u8, 229u8, 202u8, 183u8, 172u8, 33u8, 135u8, 126u8, 59u8, + 200u8, 230u8, 45u8, 74u8, 90u8, 237u8, 118u8, 95u8, 40u8, 207u8, 210u8, + 126u8, + ], + ) + } + #[doc = "Thaw collection, token or account"] + pub fn thaw( + &self, + info: runtime_types::ep_multi_tokens::types::Freeze< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "thaw", + types::Thaw { info }, + [ + 127u8, 192u8, 86u8, 254u8, 206u8, 88u8, 170u8, 190u8, 5u8, 250u8, + 203u8, 250u8, 181u8, 243u8, 17u8, 203u8, 84u8, 14u8, 170u8, 173u8, + 194u8, 150u8, 75u8, 13u8, 15u8, 56u8, 82u8, 128u8, 61u8, 126u8, 24u8, + 73u8, + ], + ) + } + #[doc = "Sets the attribute `key` to `value` for `collection_id`."] + #[doc = "If `token_id` is [`None`], the attribute is added to the collection. If it is [`Some`],"] + #[doc = "the attribute is added to the token."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::InvalidAttributeKey`] if `key.len() == 0`"] + #[doc = "- [`Error::CollectionNotFound`] if `collection_id` does not exist."] + #[doc = "- [`Error::TokenNotFound`] if `token_id` is `Some` and does not exist."] + #[doc = "- [`Error::NoPermission`] if `source` account is not the owner of the collection."] + #[doc = "- [`Error::DepositReserveFailed`] if unable to reserve the deposit for the attribute"] + #[doc = " storage."] + pub fn set_attribute( + &self, + collection_id: ::core::primitive::u128, + token_id: ::core::option::Option<::core::primitive::u128>, + key: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + value: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "set_attribute", + types::SetAttribute { + collection_id, + token_id, + key, + value, + }, + [ + 251u8, 45u8, 7u8, 171u8, 28u8, 47u8, 110u8, 63u8, 30u8, 229u8, 241u8, + 207u8, 38u8, 120u8, 164u8, 173u8, 213u8, 62u8, 75u8, 202u8, 233u8, + 205u8, 58u8, 39u8, 103u8, 13u8, 2u8, 18u8, 185u8, 69u8, 193u8, 87u8, + ], + ) + } + #[doc = "Removes the `key` attribute from the given `collection_id` or `token_id`."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::InvalidAttributeKey`] if `key.len() == 0`"] + #[doc = "- [`Error::CollectionNotFound`] if `collection_id` does not exist."] + #[doc = "- [`Error::TokenNotFound`] if `token_id` is `Some` and does not exist."] + #[doc = "- [`Error::NoPermission`] if `caller` is not the owner of the collection."] + #[doc = "- `Underflow` if an attribute counter underflows"] + pub fn remove_attribute( + &self, + collection_id: ::core::primitive::u128, + token_id: ::core::option::Option<::core::primitive::u128>, + key: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "remove_attribute", + types::RemoveAttribute { + collection_id, + token_id, + key, + }, + [ + 61u8, 54u8, 20u8, 172u8, 168u8, 142u8, 162u8, 218u8, 187u8, 107u8, + 181u8, 81u8, 184u8, 3u8, 60u8, 247u8, 184u8, 255u8, 96u8, 232u8, 207u8, + 115u8, 48u8, 136u8, 238u8, 188u8, 198u8, 215u8, 137u8, 188u8, 7u8, + 98u8, + ], + ) + } + #[doc = "Removes all attributes from the given `collection_id` or `token_id`."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- `InvalidAttributeCount` if `attribute_count` doesn't match the number of attributes"] + #[doc = "- [`Error::CollectionNotFound`] if Collection with `collection_id` does not exist."] + #[doc = "- [`Error::TokenNotFound`] if Token with `token_id` does not exist."] + #[doc = "- [`Error::NoPermission`] if `origin` account is not the owner of the Collection or"] + #[doc = " Token"] + #[doc = "- other errors from `remove_attribute`"] + pub fn remove_all_attributes( + &self, + collection_id: ::core::primitive::u128, + token_id: ::core::option::Option<::core::primitive::u128>, + attribute_count: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "remove_all_attributes", + types::RemoveAllAttributes { + collection_id, + token_id, + attribute_count, + }, + [ + 18u8, 34u8, 228u8, 101u8, 218u8, 156u8, 148u8, 9u8, 86u8, 88u8, 177u8, + 19u8, 225u8, 94u8, 127u8, 205u8, 11u8, 193u8, 205u8, 249u8, 161u8, + 82u8, 171u8, 87u8, 116u8, 45u8, 120u8, 25u8, 228u8, 126u8, 73u8, 85u8, + ], + ) + } + #[doc = "Transfers the specific amount of tokens of `collection` to `recipients` from `origin`"] + #[doc = "account. A single failure will fail all transfers."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::AmountZero`] if `amount == 0`."] + #[doc = "- [`Error::BalanceLow`] if `source` does not own enough amount of `collection`."] + pub fn batch_transfer( + &self, + collection_id: ::core::primitive::u128, + recipients: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::Recipient< + ::subxt::utils::AccountId32, + runtime_types::ep_multi_tokens::policy::transfer::DefaultTransferParams< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "batch_transfer", + types::BatchTransfer { + collection_id, + recipients, + }, + [ + 109u8, 156u8, 229u8, 128u8, 210u8, 41u8, 166u8, 5u8, 12u8, 177u8, 38u8, + 76u8, 73u8, 206u8, 99u8, 52u8, 78u8, 145u8, 39u8, 251u8, 247u8, 72u8, + 37u8, 96u8, 22u8, 235u8, 124u8, 108u8, 9u8, 142u8, 46u8, 36u8, + ], + ) + } + #[doc = "Collection owner mints tokens of `collection_id` to `recipients` consisting of an"] + #[doc = "[`AccountId`](frame_system::Config::AccountId) and [`MintParams`]. A single mint failure"] + #[doc = "will fail all of them in the batch."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::AmountZero`] if `amount == 0`."] + #[doc = "- [`Error::CollectionNotFound`] if `collection` does **not** exist."] + #[doc = "- [`Error::NoPermission`] if `caller` is not allowed to mint the `collection`."] + #[doc = "- [`Error::TokenMintCapExceeded`] if the mint policy TokenCap does not allow minting"] + #[doc = "- [`Error::MaxTokenCountExceeded`] if the mint policy max_token_count is exceeded"] + #[doc = "- [`Error::DepositReserveFailed`] if the issuer does not have sufficient balance for"] + #[doc = " token deposit"] + pub fn batch_mint( + &self, + collection_id: ::core::primitive::u128, + recipients: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::Recipient< + ::subxt::utils::AccountId32, + runtime_types::ep_multi_tokens::policy::mint::DefaultMintParams< + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::AttributeKeyValuePair< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenNameLength, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenSymbolLength, + >, + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "batch_mint", + types::BatchMint { + collection_id, + recipients, + }, + [ + 234u8, 11u8, 228u8, 197u8, 92u8, 235u8, 205u8, 56u8, 82u8, 180u8, + 104u8, 153u8, 76u8, 130u8, 108u8, 31u8, 255u8, 18u8, 39u8, 0u8, 46u8, + 102u8, 57u8, 212u8, 157u8, 160u8, 123u8, 18u8, 83u8, 236u8, 63u8, + 140u8, + ], + ) + } + #[doc = "Collection owner sets `attributes` to `collection_id`"] + #[doc = ""] + #[doc = "If `token_id` is [`None`], the attribute is added to the collection. If it is [`Some`],"] + #[doc = "the attribute is added to the token."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::InvalidAttributeKey`] if `key.len() == 0`"] + #[doc = "- [`Error::CollectionNotFound`] if `collection_id` does not exist."] + #[doc = "- [`Error::TokenNotFound`] if `token_id` is `Some` and does not exist."] + #[doc = "- [`Error::NoPermission`] if `source` account is not the owner of the collection."] + #[doc = "- [`Error::DepositReserveFailed`] if unable to reserve the deposit for the attribute"] + #[doc = " storage."] + pub fn batch_set_attribute( + &self, + collection_id: ::core::primitive::u128, + token_id: ::core::option::Option<::core::primitive::u128>, + attributes: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::AttributeKeyValuePair< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "batch_set_attribute", + types::BatchSetAttribute { + collection_id, + token_id, + attributes, + }, + [ + 107u8, 11u8, 128u8, 187u8, 62u8, 143u8, 238u8, 138u8, 107u8, 41u8, + 197u8, 242u8, 250u8, 171u8, 53u8, 100u8, 203u8, 23u8, 142u8, 128u8, + 22u8, 125u8, 212u8, 106u8, 252u8, 210u8, 247u8, 178u8, 224u8, 211u8, + 125u8, 34u8, + ], + ) + } + #[doc = "Approve the `operator` to manage all of `origin`'s tokens belonging to `collection_id`."] + #[doc = "If an `expiration` is provided, the approval will end when it expires."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::CannotApproveSelf`] if `origin == operator`"] + #[doc = "- [`Error::AlreadyExpired`] if `expiration` is earlier than now"] + #[doc = "- [`Error::CollectionAccountNotFound`] if the collection account does not exist"] + #[doc = "- [`Error::MaxApprovalsExceeded`] if approval count has exceeded the maximum"] + pub fn approve_collection( + &self, + collection_id: ::core::primitive::u128, + operator: ::subxt::utils::AccountId32, + expiration: ::core::option::Option<::core::primitive::u32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "approve_collection", + types::ApproveCollection { + collection_id, + operator, + expiration, + }, + [ + 7u8, 227u8, 111u8, 55u8, 125u8, 218u8, 186u8, 31u8, 168u8, 240u8, + 122u8, 69u8, 184u8, 131u8, 74u8, 22u8, 8u8, 138u8, 81u8, 184u8, 103u8, + 97u8, 60u8, 173u8, 220u8, 220u8, 29u8, 116u8, 208u8, 207u8, 137u8, + 174u8, + ], + ) + } + #[doc = "Unapprove the `operator` to manage all of `origin`'s tokens belonging to `collection`"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::CollectionAccountNotFound`] if the collection account cannot be found"] + pub fn unapprove_collection( + &self, + collection_id: ::core::primitive::u128, + operator: ::subxt::utils::AccountId32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "unapprove_collection", + types::UnapproveCollection { + collection_id, + operator, + }, + [ + 63u8, 121u8, 212u8, 242u8, 83u8, 8u8, 50u8, 128u8, 87u8, 185u8, 117u8, + 228u8, 47u8, 79u8, 189u8, 114u8, 243u8, 230u8, 178u8, 71u8, 29u8, 93u8, + 223u8, 136u8, 120u8, 176u8, 199u8, 69u8, 104u8, 130u8, 82u8, 242u8, + ], + ) + } + #[doc = "Approve `operator` to transfer up to `amount` of `caller`'s balance for `token_id` of"] + #[doc = "`collection_id`. An `expiration` can be provided. `current_amount` must match the"] + #[doc = "current approved amount."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::CannotApproveSelf`] if `origin == operator`"] + #[doc = "- [`Error::CollectionAlreadyApproved`] if `collection_id` is already approved"] + #[doc = "- [`Error::AlreadyExpired`] if `expiration` is earlier than now"] + #[doc = "- [`Error::TokenAccountNotFound`] if the token account does not exist"] + #[doc = "- [`Error::MaxApprovalsExceeded`] if approval count has exceeded the maximum"] + #[doc = "- [`Error::WrongCurrentApprovedAmount`] if `current_amount` does not match the current"] + #[doc = " approval amount"] + pub fn approve_token( + &self, + collection_id: ::core::primitive::u128, + token_id: ::core::primitive::u128, + operator: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + expiration: ::core::option::Option<::core::primitive::u32>, + current_amount: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "approve_token", + types::ApproveToken { + collection_id, + token_id, + operator, + amount, + expiration, + current_amount, + }, + [ + 63u8, 218u8, 252u8, 12u8, 56u8, 35u8, 221u8, 255u8, 34u8, 117u8, 67u8, + 209u8, 118u8, 250u8, 96u8, 96u8, 198u8, 79u8, 138u8, 153u8, 86u8, 55u8, + 97u8, 231u8, 210u8, 233u8, 68u8, 52u8, 11u8, 42u8, 94u8, 73u8, + ], + ) + } + #[doc = "Unapprove `operator` to transfer `origin`'s `token_id` of `collection_id`"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::TokenAccountNotFound`] if the token account does not exist"] + pub fn unapprove_token( + &self, + collection_id: ::core::primitive::u128, + token_id: ::core::primitive::u128, + operator: ::subxt::utils::AccountId32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "unapprove_token", + types::UnapproveToken { + collection_id, + token_id, + operator, + }, + [ + 82u8, 86u8, 116u8, 226u8, 149u8, 167u8, 119u8, 224u8, 154u8, 188u8, + 131u8, 57u8, 129u8, 27u8, 16u8, 116u8, 169u8, 58u8, 221u8, 196u8, + 228u8, 33u8, 244u8, 29u8, 198u8, 89u8, 171u8, 28u8, 188u8, 197u8, 55u8, + 241u8, + ], + ) + } + #[doc = "Transfers ownership of collections to `destination` if the signature matches."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _None_."] + #[doc = ""] + #[doc = "Unsigned Validation:"] + #[doc = "A call to claim is deemed valid if the signature provided matches"] + #[doc = "the expected signed message of:"] + #[doc = ""] + #[doc = "> Ethereum Signed Message:"] + #[doc = "> (configured prefix string)(address)"] + #[doc = ""] + #[doc = "and `address` matches the `destination` account."] + #[doc = ""] + #[doc = "This will always execute with weight of [`Config::MaxClaimableCollectionsPerAccount`]"] + #[doc = "and it will reimburse weight for collections under that number."] + #[doc = ""] + #[doc = "### Parameters:"] + #[doc = "- `destination`: The account that will receive ownership of the collections"] + #[doc = "- `ethereum_signature`: The signature of an ethereum signed message matching the format"] + #[doc = " described above."] + #[doc = "- `ethereum_address` : The Ethereum address from which the message is signed."] + pub fn claim_collections( + &self, + destination: ::subxt::utils::AccountId32, + ethereum_signature: runtime_types::sp_core::ecdsa::Signature, + ethereum_address: ::subxt::utils::H160, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "claim_collections", + types::ClaimCollections { + destination, + ethereum_signature, + ethereum_address, + }, + [ + 143u8, 95u8, 232u8, 200u8, 162u8, 12u8, 50u8, 127u8, 125u8, 0u8, 88u8, + 161u8, 81u8, 155u8, 121u8, 195u8, 30u8, 25u8, 5u8, 228u8, 204u8, 24u8, + 116u8, 176u8, 52u8, 10u8, 200u8, 112u8, 70u8, 92u8, 15u8, 205u8, + ], + ) + } + #[doc = "Transfers balances of tokens to `destination` if the signature matches. Mints tokens if"] + #[doc = "needed."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _None_."] + #[doc = ""] + #[doc = "Unsigned Validation:"] + #[doc = "A call to claim is deemed valid if the signature provided matches"] + #[doc = "the expected signed message of:"] + #[doc = ""] + #[doc = "> Ethereum Signed Message:"] + #[doc = "> (configured prefix string)(address)"] + #[doc = ""] + #[doc = "and `address` matches the `destination` account."] + #[doc = ""] + #[doc = "This will always execute with weight of [`Config::MaxClaimableTokensPerCall`]"] + #[doc = "and it will reimburse weight for tokens under that number."] + #[doc = ""] + #[doc = "### Parameters:"] + #[doc = "- `destination`: The account that will receive token balances"] + #[doc = "- `ethereum_signature`: The signature of an ethereum signed message matching the format"] + #[doc = " described above."] + #[doc = "- `ethereum_address` : The Ethereum address from which the message is signed."] + pub fn claim_tokens( + &self, + destination: ::subxt::utils::AccountId32, + ethereum_signature: runtime_types::sp_core::ecdsa::Signature, + ethereum_address: ::subxt::utils::H160, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "claim_tokens", + types::ClaimTokens { + destination, + ethereum_signature, + ethereum_address, + }, + [ + 139u8, 2u8, 89u8, 57u8, 37u8, 243u8, 30u8, 30u8, 110u8, 222u8, 221u8, + 10u8, 110u8, 140u8, 86u8, 154u8, 207u8, 220u8, 135u8, 0u8, 193u8, + 231u8, 9u8, 29u8, 160u8, 125u8, 73u8, 104u8, 37u8, 92u8, 209u8, 213u8, + ], + ) + } + #[doc = "Exactly as [`mutate_collection`](Self::mutate_collection), except the origin must be"] + #[doc = "root and the `caller` account should be specified."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "Same as [`mutate_collection`](Self::mutate_collection)"] + pub fn force_mutate_collection( + &self, + collection_id: ::core::primitive::u128, + mutation: runtime_types::ep_multi_tokens::collection::DefaultCollectionMutation< + ::subxt::utils::AccountId32, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_mutate_collection", + types::ForceMutateCollection { + collection_id, + mutation: ::std::boxed::Box::new(mutation), + }, + [ + 230u8, 137u8, 14u8, 226u8, 63u8, 145u8, 11u8, 60u8, 20u8, 133u8, 245u8, + 251u8, 251u8, 88u8, 31u8, 154u8, 9u8, 195u8, 93u8, 75u8, 88u8, 99u8, + 165u8, 193u8, 21u8, 88u8, 129u8, 95u8, 64u8, 159u8, 198u8, 85u8, + ], + ) + } + #[doc = "Exactly as [`transfer`](Self::transfer), except the origin must be root and the source"] + #[doc = "account should be specified."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "Same as [`transfer`](Self::transfer)"] + pub fn force_transfer( + &self, + source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + destination: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + collection_id: ::core::primitive::u128, + params: runtime_types::ep_multi_tokens::policy::transfer::DefaultTransferParams< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_transfer", + types::ForceTransfer { + source, + destination, + collection_id, + params, + }, + [ + 145u8, 97u8, 238u8, 54u8, 89u8, 109u8, 241u8, 151u8, 59u8, 48u8, 242u8, + 161u8, 106u8, 165u8, 62u8, 114u8, 223u8, 109u8, 138u8, 27u8, 12u8, + 25u8, 154u8, 104u8, 164u8, 35u8, 102u8, 233u8, 237u8, 59u8, 210u8, 3u8, + ], + ) + } + #[doc = "Set the Collections storage to the given `value`, origin must be root"] + pub fn force_set_collection( + &self, + collection_id: ::core::primitive::u128, + value: ::core::option::Option< + runtime_types::ep_multi_tokens::collection::Collection< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::DefaultCollectionPolicy< + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + >, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + (), + >, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_set_collection", + types::ForceSetCollection { + collection_id, + value: ::std::boxed::Box::new(value), + }, + [ + 4u8, 112u8, 159u8, 98u8, 177u8, 37u8, 79u8, 98u8, 202u8, 236u8, 50u8, + 37u8, 125u8, 225u8, 178u8, 159u8, 252u8, 201u8, 104u8, 242u8, 151u8, + 176u8, 54u8, 243u8, 87u8, 206u8, 79u8, 239u8, 198u8, 7u8, 208u8, 147u8, + ], + ) + } + #[doc = "Set the Tokens storage to the given `value`, origin must be root"] + pub fn force_set_token( + &self, + collection_id: ::core::primitive::u128, + token_id: ::core::primitive::u128, + value: ::core::option::Option< + runtime_types::ep_multi_tokens::token::Token< + ::core::primitive::u128, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::ep_multi_tokens::frame::DefaultTokenMetadata< + runtime_types::ep_multi_tokens::frame::DefaultForeignTokenMetadata< + ::core::primitive::u128, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenNameLength, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenSymbolLength, + >, + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + >, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_set_token", + types::ForceSetToken { + collection_id, + token_id, + value: ::std::boxed::Box::new(value), + }, + [ + 144u8, 91u8, 103u8, 30u8, 209u8, 83u8, 4u8, 211u8, 163u8, 12u8, 7u8, + 215u8, 230u8, 15u8, 7u8, 203u8, 101u8, 112u8, 19u8, 210u8, 139u8, + 223u8, 19u8, 80u8, 207u8, 113u8, 250u8, 66u8, 228u8, 129u8, 20u8, + 115u8, + ], + ) + } + #[doc = "Set the Tokens storage to the given `value`, origin must be root"] + pub fn force_set_attribute( + &self, + collection_id: ::core::primitive::u128, + token_id: ::core::option::Option<::core::primitive::u128>, + key: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + value: ::core::option::Option< + runtime_types::ep_multi_tokens::attribute::Attribute< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ::core::primitive::u128, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_set_attribute", + types::ForceSetAttribute { + collection_id, + token_id, + key, + value, + }, + [ + 123u8, 172u8, 241u8, 41u8, 105u8, 212u8, 42u8, 194u8, 186u8, 192u8, + 136u8, 73u8, 197u8, 104u8, 32u8, 94u8, 95u8, 151u8, 158u8, 255u8, + 174u8, 22u8, 78u8, 23u8, 101u8, 41u8, 0u8, 210u8, 1u8, 126u8, 233u8, + 213u8, + ], + ) + } + #[doc = "Set the CollectionAccounts storage to the given `value`, origin must be root"] + pub fn force_set_collection_account( + &self, + collection_id: ::core::primitive::u128, + account_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + value : :: core :: option :: Option < runtime_types :: pallet_multi_tokens :: features :: collection :: types :: CollectionAccount < :: subxt :: utils :: AccountId32 , :: core :: option :: Option < :: core :: primitive :: u32 > , runtime_types :: enjin_runtime :: MaxOperatorsPerAccount > >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_set_collection_account", + types::ForceSetCollectionAccount { + collection_id, + account_id, + value, + }, + [ + 242u8, 162u8, 250u8, 180u8, 251u8, 112u8, 246u8, 87u8, 59u8, 22u8, + 195u8, 237u8, 2u8, 38u8, 71u8, 187u8, 89u8, 187u8, 224u8, 89u8, 179u8, + 106u8, 89u8, 223u8, 229u8, 140u8, 253u8, 15u8, 228u8, 195u8, 215u8, + 153u8, + ], + ) + } + #[doc = "Set the TokenAccounts storage to the given `value`, origin must be root"] + pub fn force_set_token_account( + &self, + collection_id: ::core::primitive::u128, + token_id: ::core::primitive::u128, + account_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + value: ::core::option::Option< + runtime_types::pallet_multi_tokens::features::token::types::TokenAccount< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::pallet_multi_tokens::features::operator::types::Approval< + ::core::primitive::u128, + ::core::option::Option<::core::primitive::u32>, + >, + runtime_types::enjin_runtime::MaxOperatorsPerAccount, + [::core::primitive::u8; 8usize], + [::core::primitive::u8; 8usize], + runtime_types::enjin_runtime::MaxMultiTokensReserves, + runtime_types::enjin_runtime::MaxMultiTokensLocks, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_set_token_account", + types::ForceSetTokenAccount { + collection_id, + token_id, + account_id, + value, + }, + [ + 218u8, 8u8, 61u8, 217u8, 21u8, 1u8, 103u8, 137u8, 241u8, 118u8, 122u8, + 31u8, 202u8, 217u8, 89u8, 219u8, 93u8, 124u8, 90u8, 24u8, 131u8, 56u8, + 228u8, 128u8, 69u8, 5u8, 222u8, 94u8, 146u8, 69u8, 113u8, 231u8, + ], + ) + } + #[doc = "Creates a new collection from `descriptor` at `collection_id`, origin must be root"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::DepositReserveFailed`] if the deposit cannot be reserved"] + #[doc = "- [`Error::CollectionIdAlreadyInUse`] if the collection id is already in use"] + pub fn force_create_collection( + &self, + owner: ::subxt::utils::AccountId32, + collection_id: ::core::primitive::u128, + descriptor : runtime_types :: ep_multi_tokens :: collection :: DefaultCollectionDescriptor < :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: token :: AssetId < :: core :: primitive :: u128 , :: core :: primitive :: u128 > > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: batch :: AttributeKeyValuePair < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > > > >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_create_collection", + types::ForceCreateCollection { + owner, + collection_id, + descriptor: ::std::boxed::Box::new(descriptor), + }, + [ + 146u8, 91u8, 58u8, 228u8, 167u8, 148u8, 214u8, 142u8, 249u8, 117u8, + 186u8, 36u8, 26u8, 202u8, 179u8, 122u8, 250u8, 107u8, 221u8, 76u8, 1u8, + 142u8, 212u8, 43u8, 24u8, 61u8, 177u8, 159u8, 4u8, 1u8, 143u8, 102u8, + ], + ) + } + #[doc = "Same as [`mint`](Self::mint), but it is callable by"] + #[doc = "[`Config::ForceOrigin`]."] + pub fn force_mint( + &self, + caller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + recipient: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + collection_id: ::core::primitive::u128, + params: runtime_types::ep_multi_tokens::policy::mint::DefaultMintParams< + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::batch::AttributeKeyValuePair< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenNameLength, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenSymbolLength, + >, + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + deposit_backer: ::core::option::Option< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_mint", + types::ForceMint { + caller, + recipient, + collection_id, + params: ::std::boxed::Box::new(params), + deposit_backer, + }, + [ + 1u8, 207u8, 31u8, 56u8, 19u8, 67u8, 236u8, 98u8, 134u8, 237u8, 103u8, + 40u8, 220u8, 136u8, 149u8, 188u8, 222u8, 2u8, 129u8, 14u8, 9u8, 221u8, + 111u8, 145u8, 97u8, 9u8, 99u8, 43u8, 22u8, 101u8, 102u8, 92u8, + ], + ) + } + #[doc = "Same as [`burn`](Self::burn), but it is only callable by"] + #[doc = "[`Config::ForceOrigin`]. Executes the burn by `caller`."] + pub fn force_burn( + &self, + caller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + collection_id: ::core::primitive::u128, + params: runtime_types::ep_multi_tokens::policy::burn::DefaultBurnParams< + ::core::primitive::u128, + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_burn", + types::ForceBurn { + caller, + collection_id, + params, + }, + [ + 200u8, 136u8, 136u8, 154u8, 175u8, 50u8, 183u8, 94u8, 101u8, 199u8, + 183u8, 56u8, 108u8, 6u8, 119u8, 117u8, 171u8, 156u8, 104u8, 29u8, 39u8, + 84u8, 51u8, 215u8, 220u8, 234u8, 193u8, 39u8, 43u8, 167u8, 118u8, + 251u8, + ], + ) + } + #[doc = "Same as [`approve_collection`](Self::approve_collection), but it is callable by"] + #[doc = "[`Config::ForceOrigin`]."] + pub fn force_approve_collection( + &self, + caller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + collection_id: ::core::primitive::u128, + operator: ::subxt::utils::AccountId32, + expiration: ::core::option::Option<::core::primitive::u32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_approve_collection", + types::ForceApproveCollection { + caller, + collection_id, + operator, + expiration, + }, + [ + 114u8, 225u8, 84u8, 77u8, 51u8, 23u8, 20u8, 16u8, 240u8, 68u8, 96u8, + 218u8, 140u8, 116u8, 203u8, 199u8, 179u8, 174u8, 75u8, 79u8, 149u8, + 250u8, 216u8, 103u8, 65u8, 78u8, 239u8, 168u8, 151u8, 52u8, 177u8, + 155u8, + ], + ) + } + #[doc = "Same as [`freeze`](Self::freeze), but it is callable by [`Config::ForceOrigin`]"] + pub fn force_freeze( + &self, + info: runtime_types::ep_multi_tokens::types::Freeze< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_freeze", + types::ForceFreeze { info }, + [ + 183u8, 120u8, 223u8, 15u8, 24u8, 243u8, 143u8, 224u8, 233u8, 204u8, + 176u8, 62u8, 144u8, 92u8, 232u8, 58u8, 249u8, 9u8, 96u8, 43u8, 100u8, + 183u8, 223u8, 76u8, 98u8, 159u8, 111u8, 231u8, 62u8, 169u8, 84u8, + 177u8, + ], + ) + } + #[doc = "Sets [`NextCollectionId`] to `value`. Only callable by [`Config::ForceOrigin`]."] + pub fn force_set_next_collection_id( + &self, + value: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_set_next_collection_id", + types::ForceSetNextCollectionId { value }, + [ + 44u8, 211u8, 204u8, 139u8, 161u8, 92u8, 241u8, 201u8, 148u8, 173u8, + 40u8, 51u8, 121u8, 82u8, 135u8, 40u8, 122u8, 116u8, 64u8, 153u8, 45u8, + 8u8, 2u8, 79u8, 212u8, 141u8, 105u8, 7u8, 212u8, 143u8, 187u8, 93u8, + ], + ) + } + #[doc = "Sets [`ClaimableCollectionIds`] to `value`. Only callable by [`Config::ForceOrigin`]."] + pub fn force_set_ethereum_account( + &self, + address: ::subxt::utils::H160, + value: ::core::option::Option< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u128, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_set_ethereum_account", + types::ForceSetEthereumAccount { address, value }, + [ + 117u8, 78u8, 235u8, 63u8, 12u8, 134u8, 124u8, 233u8, 31u8, 24u8, 38u8, + 34u8, 175u8, 211u8, 77u8, 164u8, 205u8, 89u8, 147u8, 156u8, 67u8, + 193u8, 232u8, 47u8, 142u8, 141u8, 114u8, 240u8, 111u8, 116u8, 249u8, + 225u8, + ], + ) + } + #[doc = "Sets [`NativeCollectionIds`] to `native_collection_id`. Only callable by"] + #[doc = "[`Config::ForceOrigin`]."] + pub fn force_set_ethereum_collection_id( + &self, + ethereum_collection_id: ::core::primitive::u128, + native_collection_id: ::core::option::Option<::core::primitive::u128>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_set_ethereum_collection_id", + types::ForceSetEthereumCollectionId { + ethereum_collection_id, + native_collection_id, + }, + [ + 19u8, 81u8, 75u8, 219u8, 175u8, 113u8, 211u8, 180u8, 196u8, 196u8, + 58u8, 20u8, 170u8, 100u8, 135u8, 97u8, 192u8, 240u8, 140u8, 144u8, + 64u8, 172u8, 177u8, 89u8, 159u8, 68u8, 199u8, 31u8, 115u8, 49u8, 20u8, + 115u8, + ], + ) + } + #[doc = "Sets [`UnmintableTokenIds`] to `value`. Only callable by [`Config::ForceOrigin`]."] + pub fn force_set_unmintable_token_ids( + &self, + collection_id: ::core::primitive::u128, + value: ::core::option::Option< + runtime_types::pallet_multi_tokens::features::ethereum::RangeInclusive< + ::core::primitive::u128, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_set_unmintable_token_ids", + types::ForceSetUnmintableTokenIds { + collection_id, + value, + }, + [ + 107u8, 248u8, 116u8, 35u8, 36u8, 96u8, 216u8, 202u8, 204u8, 108u8, + 179u8, 3u8, 227u8, 211u8, 179u8, 204u8, 115u8, 23u8, 63u8, 81u8, 3u8, + 141u8, 142u8, 219u8, 13u8, 210u8, 152u8, 180u8, 33u8, 17u8, 157u8, + 64u8, + ], + ) + } + #[doc = "Creates a new collection from `descriptor` at `collection_id`, origin must be root"] + #[doc = "It differes from `force_create_collection` since it writes to NativeCollectionId and"] + #[doc = "UnmintableTokenIds"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::DepositReserveFailed`] if the deposit cannot be reserved"] + #[doc = "- [`Error::CollectionIdAlreadyInUse`] if the collection id is already in use"] + pub fn force_create_ethereum_collection( + &self, + owner: ::subxt::utils::AccountId32, + native_collection_id: ::core::primitive::u128, + ethereum_collection_id: ::core::primitive::u128, + token_range : runtime_types :: pallet_multi_tokens :: features :: ethereum :: RangeInclusive < :: core :: primitive :: u128 >, + descriptor : runtime_types :: ep_multi_tokens :: collection :: DefaultCollectionDescriptor < :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: token :: AssetId < :: core :: primitive :: u128 , :: core :: primitive :: u128 > > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: batch :: AttributeKeyValuePair < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > > > >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "MultiTokens", + "force_create_ethereum_collection", + types::ForceCreateEthereumCollection { + owner, + native_collection_id, + ethereum_collection_id, + token_range, + descriptor: ::std::boxed::Box::new(descriptor), + }, + [ + 231u8, 242u8, 19u8, 66u8, 154u8, 103u8, 12u8, 209u8, 86u8, 53u8, 79u8, + 238u8, 52u8, 80u8, 241u8, 131u8, 81u8, 148u8, 252u8, 35u8, 83u8, 170u8, + 170u8, 190u8, 137u8, 142u8, 194u8, 40u8, 174u8, 30u8, 123u8, 60u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_multi_tokens::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new collection was created"] + pub struct CollectionCreated { + pub collection_id: ::core::primitive::u128, + pub owner: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for CollectionCreated { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "CollectionCreated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A collection was destroyed."] + pub struct CollectionDestroyed { + pub collection_id: ::core::primitive::u128, + pub caller: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for CollectionDestroyed { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "CollectionDestroyed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A collection was mutated"] + pub struct CollectionMutated { + pub collection_id: ::core::primitive::u128, + pub mutation: runtime_types::ep_multi_tokens::collection::DefaultCollectionMutation< + ::subxt::utils::AccountId32, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + >, + >, + } + impl ::subxt::events::StaticEvent for CollectionMutated { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "CollectionMutated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Units of a token were minted"] + pub struct Minted { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub issuer: runtime_types::ep_multi_tokens::types::RootOrSigned< + ::subxt::utils::AccountId32, + >, + pub recipient: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Minted { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "Minted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A token was created"] + pub struct TokenCreated { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub issuer: runtime_types::ep_multi_tokens::types::RootOrSigned< + ::subxt::utils::AccountId32, + >, + pub initial_supply: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for TokenCreated { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "TokenCreated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A token was mutated"] + pub struct TokenMutated { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub mutation: runtime_types::ep_multi_tokens::token::DefaultTokenMutation< + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::ep_multi_tokens::frame::DefaultTokenMetadata< + runtime_types::ep_multi_tokens::frame::DefaultForeignTokenMetadata< + ::core::primitive::u128, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenNameLength, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenSymbolLength, + >, + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + >, + >, + } + impl ::subxt::events::StaticEvent for TokenMutated { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "TokenMutated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Units of a token were burned"] + pub struct Burned { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub account_id: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Burned { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "Burned"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A token was destroyed"] + pub struct TokenDestroyed { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub caller: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for TokenDestroyed { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "TokenDestroyed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Units of a token were transferred"] + pub struct Transferred { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub operator: ::subxt::utils::AccountId32, + pub from: ::subxt::utils::AccountId32, + pub to: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Transferred { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "Transferred"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Collection, token or account was frozen"] + pub struct Frozen( + pub runtime_types::ep_multi_tokens::types::Freeze< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >, + ); + impl ::subxt::events::StaticEvent for Frozen { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "Frozen"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Collection, token or account was unfrozen"] + pub struct Thawed( + pub runtime_types::ep_multi_tokens::types::Freeze< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + >, + ); + impl ::subxt::events::StaticEvent for Thawed { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "Thawed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "New attribute has been set"] + pub struct AttributeSet { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::option::Option<::core::primitive::u128>, + pub key: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub value: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + impl ::subxt::events::StaticEvent for AttributeSet { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "AttributeSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An attribute has been removed"] + pub struct AttributeRemoved { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::option::Option<::core::primitive::u128>, + pub key: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + impl ::subxt::events::StaticEvent for AttributeRemoved { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "AttributeRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An approval took place. If `token_id` is `None`, it applies to the whole collection."] + pub struct Approved { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::option::Option<::core::primitive::u128>, + pub owner: ::subxt::utils::AccountId32, + pub operator: ::subxt::utils::AccountId32, + pub amount: ::core::option::Option<::core::primitive::u128>, + pub expiration: ::core::option::Option<::core::primitive::u32>, + } + impl ::subxt::events::StaticEvent for Approved { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "Approved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An unapproval took place. If `token_id` is `None`, it applies to the collection."] + pub struct Unapproved { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::option::Option<::core::primitive::u128>, + pub owner: ::subxt::utils::AccountId32, + pub operator: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Unapproved { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "Unapproved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new collection account was created"] + pub struct CollectionAccountCreated { + pub collection_id: ::core::primitive::u128, + pub account_id: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for CollectionAccountCreated { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "CollectionAccountCreated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new token account was created"] + pub struct TokenAccountCreated { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub account_id: ::subxt::utils::AccountId32, + pub balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for TokenAccountCreated { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "TokenAccountCreated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A collection account was destroyed"] + pub struct CollectionAccountDestroyed { + pub collection_id: ::core::primitive::u128, + pub account_id: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for CollectionAccountDestroyed { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "CollectionAccountDestroyed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A token account was destroyed"] + pub struct TokenAccountDestroyed { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub account_id: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for TokenAccountDestroyed { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "TokenAccountDestroyed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Token units were reserved"] + pub struct Reserved { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub account_id: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + pub reserve_id: ::core::option::Option<[::core::primitive::u8; 8usize]>, + } + impl ::subxt::events::StaticEvent for Reserved { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "Reserved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Token units were unreserved"] + pub struct Unreserved { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub account_id: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + pub reserve_id: ::core::option::Option<[::core::primitive::u8; 8usize]>, + } + impl ::subxt::events::StaticEvent for Unreserved { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "Unreserved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Reserved token units were moved"] + pub struct MovedReserves { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub source: ::subxt::utils::AccountId32, + pub destination: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + pub reserve_id: ::core::option::Option<[::core::primitive::u8; 8usize]>, + } + impl ::subxt::events::StaticEvent for MovedReserves { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "MovedReserves"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Reserved token units were transferred"] + pub struct ReserveRepatriated { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub source: ::subxt::utils::AccountId32, + pub destination: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + pub reserve_id: ::core::option::Option<[::core::primitive::u8; 8usize]>, + } + impl ::subxt::events::StaticEvent for ReserveRepatriated { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "ReserveRepatriated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The balance of an account was set"] + pub struct BalanceSet { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub account_id: ::subxt::utils::AccountId32, + pub balance: ::core::primitive::u128, + pub reserved_balance: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for BalanceSet { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "BalanceSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Token units were withdrawn"] + pub struct Withdraw { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub account_id: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Withdraw { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "Withdraw"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Token units were deposited"] + pub struct Deposit { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub account_id: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Deposit { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "Deposit"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An amount of tokens were slashed from account"] + pub struct Slashed { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub account_id: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Slashed { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "Slashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Collection storage was set to `value`"] + pub struct CollectionUpdated { + pub collection_id: ::core::primitive::u128, + pub value: ::core::option::Option< + runtime_types::ep_multi_tokens::collection::Collection< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::DefaultCollectionPolicy< + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + >, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + (), + >, + >, + >, + } + impl ::subxt::events::StaticEvent for CollectionUpdated { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "CollectionUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Token storage was set to `value`"] + pub struct TokenUpdated { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub value: ::core::option::Option< + runtime_types::ep_multi_tokens::token::Token< + ::core::primitive::u128, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::ep_multi_tokens::frame::DefaultTokenMetadata< + runtime_types::ep_multi_tokens::frame::DefaultForeignTokenMetadata< + ::core::primitive::u128, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenNameLength, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenSymbolLength, + >, + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + >, + >, + >, + } + impl ::subxt::events::StaticEvent for TokenUpdated { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "TokenUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "NextCollectionId storage was set to `collection_id`"] + pub struct NextCollectionIdUpdated { + pub collection_id: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for NextCollectionIdUpdated { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "NextCollectionIdUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "TokenAccount storage was set to `value`"] + pub struct CollectionAccountUpdated { pub collection_id : :: core :: primitive :: u128 , pub account_id : :: subxt :: utils :: AccountId32 , pub value : :: core :: option :: Option < runtime_types :: pallet_multi_tokens :: features :: collection :: types :: CollectionAccount < :: subxt :: utils :: AccountId32 , :: core :: option :: Option < :: core :: primitive :: u32 > , runtime_types :: enjin_runtime :: MaxOperatorsPerAccount > > , } + impl ::subxt::events::StaticEvent for CollectionAccountUpdated { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "CollectionAccountUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "TokenAccount storage was set to `value`"] + pub struct TokenAccountUpdated { + pub collection_id: ::core::primitive::u128, + pub token_id: ::core::primitive::u128, + pub account_id: ::subxt::utils::AccountId32, + pub value: ::core::option::Option< + runtime_types::pallet_multi_tokens::features::token::types::TokenAccount< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::pallet_multi_tokens::features::operator::types::Approval< + ::core::primitive::u128, + ::core::option::Option<::core::primitive::u32>, + >, + runtime_types::enjin_runtime::MaxOperatorsPerAccount, + [::core::primitive::u8; 8usize], + [::core::primitive::u8; 8usize], + runtime_types::enjin_runtime::MaxMultiTokensReserves, + runtime_types::enjin_runtime::MaxMultiTokensLocks, + >, + >, + } + impl ::subxt::events::StaticEvent for TokenAccountUpdated { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "TokenAccountUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Migration stage updated"] + pub struct MigrationStatusUpdated { + pub stage: runtime_types::ep_core::frame::migrations::MigrationStage, + } + impl ::subxt::events::StaticEvent for MigrationStatusUpdated { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "MigrationStatusUpdated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Collections were claimed"] + pub struct ClaimedCollections { + pub account_id: ::subxt::utils::AccountId32, + pub ethereum_address: ::subxt::utils::H160, + pub collection_ids: ::std::vec::Vec< + runtime_types::pallet_multi_tokens::features::claim::CollectionIdPair< + ::core::primitive::u128, + >, + >, + } + impl ::subxt::events::StaticEvent for ClaimedCollections { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "ClaimedCollections"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Tokens were claimed"] + pub struct ClaimedTokens { + pub account_id: ::subxt::utils::AccountId32, + pub ethereum_address: ::subxt::utils::H160, + pub asset_ids: ::std::vec::Vec< + runtime_types::pallet_multi_tokens::features::claim::AssetIdWithEth< + ::core::primitive::u128, + ::core::primitive::u128, + >, + >, + pub more_tokens_remain: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for ClaimedTokens { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "ClaimedTokens"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Claims tokens initiated"] + pub struct ClaimTokensInitiated { + pub account_id: ::subxt::utils::AccountId32, + pub ethereum_address: ::subxt::utils::H160, + } + impl ::subxt::events::StaticEvent for ClaimTokensInitiated { + const PALLET: &'static str = "MultiTokens"; + const EVENT: &'static str = "ClaimTokensInitiated"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Accounts per token"] + pub fn token_accounts_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_multi_tokens::features::token::types::TokenAccount< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::pallet_multi_tokens::features::operator::types::Approval< + ::core::primitive::u128, + ::core::option::Option<::core::primitive::u32>, + >, + runtime_types::enjin_runtime::MaxOperatorsPerAccount, + [::core::primitive::u8; 8usize], + [::core::primitive::u8; 8usize], + runtime_types::enjin_runtime::MaxMultiTokensReserves, + runtime_types::enjin_runtime::MaxMultiTokensLocks, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "TokenAccounts", + vec![], + [ + 56u8, 196u8, 35u8, 152u8, 218u8, 107u8, 9u8, 234u8, 158u8, 42u8, 251u8, + 124u8, 10u8, 253u8, 203u8, 194u8, 213u8, 122u8, 225u8, 209u8, 15u8, + 192u8, 18u8, 70u8, 159u8, 223u8, 54u8, 12u8, 52u8, 53u8, 143u8, 73u8, + ], + ) + } + #[doc = " Accounts per token"] + pub fn token_accounts_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u128>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_multi_tokens::features::token::types::TokenAccount< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::pallet_multi_tokens::features::operator::types::Approval< + ::core::primitive::u128, + ::core::option::Option<::core::primitive::u32>, + >, + runtime_types::enjin_runtime::MaxOperatorsPerAccount, + [::core::primitive::u8; 8usize], + [::core::primitive::u8; 8usize], + runtime_types::enjin_runtime::MaxMultiTokensReserves, + runtime_types::enjin_runtime::MaxMultiTokensLocks, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "TokenAccounts", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 56u8, 196u8, 35u8, 152u8, 218u8, 107u8, 9u8, 234u8, 158u8, 42u8, 251u8, + 124u8, 10u8, 253u8, 203u8, 194u8, 213u8, 122u8, 225u8, 209u8, 15u8, + 192u8, 18u8, 70u8, 159u8, 223u8, 54u8, 12u8, 52u8, 53u8, 143u8, 73u8, + ], + ) + } + #[doc = " Accounts per token"] + pub fn token_accounts_iter2( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u128>, + _1: impl ::std::borrow::Borrow<::core::primitive::u128>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_multi_tokens::features::token::types::TokenAccount< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::pallet_multi_tokens::features::operator::types::Approval< + ::core::primitive::u128, + ::core::option::Option<::core::primitive::u32>, + >, + runtime_types::enjin_runtime::MaxOperatorsPerAccount, + [::core::primitive::u8; 8usize], + [::core::primitive::u8; 8usize], + runtime_types::enjin_runtime::MaxMultiTokensReserves, + runtime_types::enjin_runtime::MaxMultiTokensLocks, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "TokenAccounts", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 56u8, 196u8, 35u8, 152u8, 218u8, 107u8, 9u8, 234u8, 158u8, 42u8, 251u8, + 124u8, 10u8, 253u8, 203u8, 194u8, 213u8, 122u8, 225u8, 209u8, 15u8, + 192u8, 18u8, 70u8, 159u8, 223u8, 54u8, 12u8, 52u8, 53u8, 143u8, 73u8, + ], + ) + } + #[doc = " Accounts per token"] + pub fn token_accounts( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u128>, + _1: impl ::std::borrow::Borrow<::core::primitive::u128>, + _2: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_multi_tokens::features::token::types::TokenAccount< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::pallet_multi_tokens::features::operator::types::Approval< + ::core::primitive::u128, + ::core::option::Option<::core::primitive::u32>, + >, + runtime_types::enjin_runtime::MaxOperatorsPerAccount, + [::core::primitive::u8; 8usize], + [::core::primitive::u8; 8usize], + runtime_types::enjin_runtime::MaxMultiTokensReserves, + runtime_types::enjin_runtime::MaxMultiTokensLocks, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "TokenAccounts", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_2.borrow()), + ], + [ + 56u8, 196u8, 35u8, 152u8, 218u8, 107u8, 9u8, 234u8, 158u8, 42u8, 251u8, + 124u8, 10u8, 253u8, 203u8, 194u8, 213u8, 122u8, 225u8, 209u8, 15u8, + 192u8, 18u8, 70u8, 159u8, 223u8, 54u8, 12u8, 52u8, 53u8, 143u8, 73u8, + ], + ) + } + #[doc = " The collections in existence and their ownership details."] + pub fn collections_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::ep_multi_tokens::collection::Collection< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::DefaultCollectionPolicy< + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + >, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + (), + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "Collections", + vec![], + [ + 107u8, 10u8, 130u8, 186u8, 51u8, 77u8, 183u8, 161u8, 26u8, 23u8, 63u8, + 123u8, 102u8, 71u8, 134u8, 220u8, 168u8, 108u8, 62u8, 127u8, 33u8, + 107u8, 246u8, 210u8, 47u8, 14u8, 129u8, 72u8, 224u8, 68u8, 5u8, 152u8, + ], + ) + } + #[doc = " The collections in existence and their ownership details."] + pub fn collections( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u128>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::ep_multi_tokens::collection::Collection< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::DefaultCollectionPolicy< + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + >, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + (), + >, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "Collections", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 107u8, 10u8, 130u8, 186u8, 51u8, 77u8, 183u8, 161u8, 26u8, 23u8, 63u8, + 123u8, 102u8, 71u8, 134u8, 220u8, 168u8, 108u8, 62u8, 127u8, 33u8, + 107u8, 246u8, 210u8, 47u8, 14u8, 129u8, 72u8, 224u8, 68u8, 5u8, 152u8, + ], + ) + } + #[doc = " Tokens storage"] + pub fn tokens_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::ep_multi_tokens::token::Token< + ::core::primitive::u128, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::ep_multi_tokens::frame::DefaultTokenMetadata< + runtime_types::ep_multi_tokens::frame::DefaultForeignTokenMetadata< + ::core::primitive::u128, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenNameLength, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenSymbolLength, + >, + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "Tokens", + vec![], + [ + 240u8, 40u8, 95u8, 79u8, 245u8, 40u8, 238u8, 11u8, 44u8, 134u8, 226u8, + 209u8, 214u8, 36u8, 190u8, 123u8, 210u8, 192u8, 48u8, 56u8, 145u8, + 223u8, 173u8, 90u8, 70u8, 139u8, 227u8, 44u8, 144u8, 32u8, 58u8, 234u8, + ], + ) + } + #[doc = " Tokens storage"] + pub fn tokens_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u128>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::ep_multi_tokens::token::Token< + ::core::primitive::u128, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::ep_multi_tokens::frame::DefaultTokenMetadata< + runtime_types::ep_multi_tokens::frame::DefaultForeignTokenMetadata< + ::core::primitive::u128, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenNameLength, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenSymbolLength, + >, + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "Tokens", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 240u8, 40u8, 95u8, 79u8, 245u8, 40u8, 238u8, 11u8, 44u8, 134u8, 226u8, + 209u8, 214u8, 36u8, 190u8, 123u8, 210u8, 192u8, 48u8, 56u8, 145u8, + 223u8, 173u8, 90u8, 70u8, 139u8, 227u8, 44u8, 144u8, 32u8, 58u8, 234u8, + ], + ) + } + #[doc = " Tokens storage"] + pub fn tokens( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u128>, + _1: impl ::std::borrow::Borrow<::core::primitive::u128>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::ep_multi_tokens::token::Token< + ::core::primitive::u128, + ::core::primitive::u128, + runtime_types::ep_multi_tokens::policy::market::DefaultRoyalty< + ::subxt::utils::AccountId32, + >, + runtime_types::ep_multi_tokens::frame::DefaultTokenMetadata< + runtime_types::ep_multi_tokens::frame::DefaultForeignTokenMetadata< + ::core::primitive::u128, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenNameLength, + >, + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::ForeignTokenSymbolLength, + >, + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + >, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "Tokens", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 240u8, 40u8, 95u8, 79u8, 245u8, 40u8, 238u8, 11u8, 44u8, 134u8, 226u8, + 209u8, 214u8, 36u8, 190u8, 123u8, 210u8, 192u8, 48u8, 56u8, 145u8, + 223u8, 173u8, 90u8, 70u8, 139u8, 227u8, 44u8, 144u8, 32u8, 58u8, 234u8, + ], + ) + } + #[doc = " Sequencer for collectionID generators."] + pub fn next_collection_id( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "NextCollectionId", + vec![], + [ + 88u8, 167u8, 150u8, 197u8, 194u8, 181u8, 233u8, 77u8, 135u8, 120u8, + 141u8, 254u8, 134u8, 223u8, 171u8, 24u8, 60u8, 16u8, 99u8, 195u8, + 223u8, 148u8, 82u8, 221u8, 18u8, 232u8, 241u8, 248u8, 57u8, 87u8, + 176u8, 167u8, + ], + ) + } + #[doc = " Stores information for an account per collection"] pub fn collection_accounts_iter (& self ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: pallet_multi_tokens :: features :: collection :: types :: CollectionAccount < :: subxt :: utils :: AccountId32 , :: core :: option :: Option < :: core :: primitive :: u32 > , runtime_types :: enjin_runtime :: MaxOperatorsPerAccount > , () , () , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "CollectionAccounts", + vec![], + [ + 208u8, 213u8, 21u8, 43u8, 186u8, 205u8, 26u8, 14u8, 216u8, 40u8, 250u8, + 116u8, 120u8, 241u8, 158u8, 166u8, 52u8, 98u8, 153u8, 225u8, 15u8, + 82u8, 101u8, 205u8, 110u8, 141u8, 135u8, 186u8, 82u8, 239u8, 11u8, + 93u8, + ], + ) + } + #[doc = " Stores information for an account per collection"] pub fn collection_accounts_iter1 (& self , _0 : impl :: std :: borrow :: Borrow < :: core :: primitive :: u128 > ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: pallet_multi_tokens :: features :: collection :: types :: CollectionAccount < :: subxt :: utils :: AccountId32 , :: core :: option :: Option < :: core :: primitive :: u32 > , runtime_types :: enjin_runtime :: MaxOperatorsPerAccount > , () , () , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "CollectionAccounts", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 208u8, 213u8, 21u8, 43u8, 186u8, 205u8, 26u8, 14u8, 216u8, 40u8, 250u8, + 116u8, 120u8, 241u8, 158u8, 166u8, 52u8, 98u8, 153u8, 225u8, 15u8, + 82u8, 101u8, 205u8, 110u8, 141u8, 135u8, 186u8, 82u8, 239u8, 11u8, + 93u8, + ], + ) + } + #[doc = " Stores information for an account per collection"] pub fn collection_accounts (& self , _0 : impl :: std :: borrow :: Borrow < :: core :: primitive :: u128 > , _1 : impl :: std :: borrow :: Borrow < :: subxt :: utils :: AccountId32 > ,) -> :: subxt :: storage :: address :: Address :: < :: subxt :: storage :: address :: StaticStorageMapKey , runtime_types :: pallet_multi_tokens :: features :: collection :: types :: CollectionAccount < :: subxt :: utils :: AccountId32 , :: core :: option :: Option < :: core :: primitive :: u32 > , runtime_types :: enjin_runtime :: MaxOperatorsPerAccount > , :: subxt :: storage :: address :: Yes , () , () >{ + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "CollectionAccounts", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 208u8, 213u8, 21u8, 43u8, 186u8, 205u8, 26u8, 14u8, 216u8, 40u8, 250u8, + 116u8, 120u8, 241u8, 158u8, 166u8, 52u8, 98u8, 153u8, 225u8, 15u8, + 82u8, 101u8, 205u8, 110u8, 141u8, 135u8, 186u8, 82u8, 239u8, 11u8, + 93u8, + ], + ) + } + #[doc = " Metadata of collections and tokens."] + pub fn attributes_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::ep_multi_tokens::attribute::Attribute< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "Attributes", + vec![], + [ + 143u8, 228u8, 150u8, 202u8, 93u8, 226u8, 237u8, 46u8, 64u8, 30u8, + 154u8, 251u8, 191u8, 245u8, 82u8, 231u8, 52u8, 241u8, 189u8, 175u8, + 230u8, 112u8, 127u8, 63u8, 254u8, 221u8, 222u8, 43u8, 84u8, 102u8, + 134u8, 164u8, + ], + ) + } + #[doc = " Metadata of collections and tokens."] + pub fn attributes_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u128>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::ep_multi_tokens::attribute::Attribute< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "Attributes", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 143u8, 228u8, 150u8, 202u8, 93u8, 226u8, 237u8, 46u8, 64u8, 30u8, + 154u8, 251u8, 191u8, 245u8, 82u8, 231u8, 52u8, 241u8, 189u8, 175u8, + 230u8, 112u8, 127u8, 63u8, 254u8, 221u8, 222u8, 43u8, 84u8, 102u8, + 134u8, 164u8, + ], + ) + } + #[doc = " Metadata of collections and tokens."] + pub fn attributes_iter2( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u128>, + _1: impl ::std::borrow::Borrow<::core::option::Option<::core::primitive::u128>>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::ep_multi_tokens::attribute::Attribute< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "Attributes", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 143u8, 228u8, 150u8, 202u8, 93u8, 226u8, 237u8, 46u8, 64u8, 30u8, + 154u8, 251u8, 191u8, 245u8, 82u8, 231u8, 52u8, 241u8, 189u8, 175u8, + 230u8, 112u8, 127u8, 63u8, 254u8, 221u8, 222u8, 43u8, 84u8, 102u8, + 134u8, 164u8, + ], + ) + } + #[doc = " Metadata of collections and tokens."] + pub fn attributes( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u128>, + _1: impl ::std::borrow::Borrow<::core::option::Option<::core::primitive::u128>>, + _2: impl ::std::borrow::Borrow< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::ep_multi_tokens::attribute::Attribute< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "Attributes", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_2.borrow()), + ], + [ + 143u8, 228u8, 150u8, 202u8, 93u8, 226u8, 237u8, 46u8, 64u8, 30u8, + 154u8, 251u8, 191u8, 245u8, 82u8, 231u8, 52u8, 241u8, 189u8, 175u8, + 230u8, 112u8, 127u8, 63u8, 254u8, 221u8, 222u8, 43u8, 84u8, 102u8, + 134u8, 164u8, + ], + ) + } + #[doc = " Map of Locations to AssetIds of Foreign Tokens"] + pub fn asset_ids_by_location_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "AssetIdsByLocation", + vec![], + [ + 77u8, 27u8, 252u8, 238u8, 176u8, 113u8, 119u8, 197u8, 94u8, 251u8, + 197u8, 56u8, 136u8, 210u8, 142u8, 227u8, 228u8, 26u8, 5u8, 232u8, + 208u8, 30u8, 140u8, 200u8, 82u8, 101u8, 13u8, 152u8, 107u8, 64u8, + 148u8, 112u8, + ], + ) + } + #[doc = " Map of Locations to AssetIds of Foreign Tokens"] + pub fn asset_ids_by_location( + &self, + _0: impl ::std::borrow::Borrow, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "AssetIdsByLocation", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 77u8, 27u8, 252u8, 238u8, 176u8, 113u8, 119u8, 197u8, 94u8, 251u8, + 197u8, 56u8, 136u8, 210u8, 142u8, 227u8, 228u8, 26u8, 5u8, 232u8, + 208u8, 30u8, 140u8, 200u8, 82u8, 101u8, 13u8, 152u8, 107u8, 64u8, + 148u8, 112u8, + ], + ) + } + #[doc = " Stores last iterated keys for migrations. Used by multi block migrations"] + #[doc = " to resume from the last iterated key."] + #[doc = ""] + #[doc = " Key is the storage prefix, value is the status of migration and last iterated key, if any."] + #[doc = " i.e `[\"MultiTokens\", \"TokenAccounts\"] -> (collection_id, token_id, account_id)`"] + pub fn migrations_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::ep_core::frame::migrations::Migration< + runtime_types::enjin_runtime::MaxMigrationKeyLength, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "Migrations", + vec![], + [ + 45u8, 128u8, 158u8, 125u8, 55u8, 170u8, 54u8, 85u8, 67u8, 224u8, 8u8, + 101u8, 165u8, 64u8, 46u8, 189u8, 228u8, 95u8, 82u8, 77u8, 134u8, 0u8, + 19u8, 117u8, 208u8, 80u8, 251u8, 67u8, 2u8, 45u8, 233u8, 134u8, + ], + ) + } + #[doc = " Stores last iterated keys for migrations. Used by multi block migrations"] + #[doc = " to resume from the last iterated key."] + #[doc = ""] + #[doc = " Key is the storage prefix, value is the status of migration and last iterated key, if any."] + #[doc = " i.e `[\"MultiTokens\", \"TokenAccounts\"] -> (collection_id, token_id, account_id)`"] + pub fn migrations( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::ep_core::frame::migrations::Migration< + runtime_types::enjin_runtime::MaxMigrationKeyLength, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "Migrations", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 45u8, 128u8, 158u8, 125u8, 55u8, 170u8, 54u8, 85u8, 67u8, 224u8, 8u8, + 101u8, 165u8, 64u8, 46u8, 189u8, 228u8, 95u8, 82u8, 77u8, 134u8, 0u8, + 19u8, 117u8, 208u8, 80u8, 251u8, 67u8, 2u8, 45u8, 233u8, 134u8, + ], + ) + } + #[doc = " Status of the current multi-block migration"] + pub fn migration_status( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::ep_core::frame::migrations::MigrationStage, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "MigrationStatus", + vec![], + [ + 83u8, 140u8, 99u8, 232u8, 195u8, 179u8, 50u8, 247u8, 221u8, 44u8, + 146u8, 167u8, 5u8, 8u8, 151u8, 192u8, 157u8, 193u8, 27u8, 77u8, 249u8, + 218u8, 27u8, 2u8, 141u8, 254u8, 39u8, 34u8, 132u8, 91u8, 69u8, 237u8, + ], + ) + } + #[doc = " Stores data for an ethereum address"] + pub fn claimable_collection_ids_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "ClaimableCollectionIds", + vec![], + [ + 165u8, 158u8, 32u8, 207u8, 114u8, 19u8, 91u8, 149u8, 68u8, 195u8, + 203u8, 243u8, 63u8, 2u8, 226u8, 130u8, 53u8, 235u8, 68u8, 109u8, 46u8, + 93u8, 70u8, 61u8, 245u8, 81u8, 161u8, 205u8, 231u8, 134u8, 157u8, + 119u8, + ], + ) + } + #[doc = " Stores data for an ethereum address"] + pub fn claimable_collection_ids( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H160>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "ClaimableCollectionIds", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 165u8, 158u8, 32u8, 207u8, 114u8, 19u8, 91u8, 149u8, 68u8, 195u8, + 203u8, 243u8, 63u8, 2u8, 226u8, 130u8, 53u8, 235u8, 68u8, 109u8, 46u8, + 93u8, 70u8, 61u8, 245u8, 81u8, 161u8, 205u8, 231u8, 134u8, 157u8, + 119u8, + ], + ) + } + #[doc = " These token ids can only be minted by calling `claim_token`"] + pub fn unmintable_token_ids_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_multi_tokens::features::ethereum::RangeInclusive< + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "UnmintableTokenIds", + vec![], + [ + 246u8, 20u8, 181u8, 182u8, 75u8, 233u8, 79u8, 135u8, 5u8, 210u8, 113u8, + 204u8, 13u8, 190u8, 80u8, 121u8, 125u8, 57u8, 133u8, 102u8, 87u8, 14u8, + 246u8, 135u8, 126u8, 194u8, 18u8, 183u8, 170u8, 221u8, 244u8, 187u8, + ], + ) + } + #[doc = " These token ids can only be minted by calling `claim_token`"] + pub fn unmintable_token_ids( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u128>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_multi_tokens::features::ethereum::RangeInclusive< + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "UnmintableTokenIds", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 246u8, 20u8, 181u8, 182u8, 75u8, 233u8, 79u8, 135u8, 5u8, 210u8, 113u8, + 204u8, 13u8, 190u8, 80u8, 121u8, 125u8, 57u8, 133u8, 102u8, 87u8, 14u8, + 246u8, 135u8, 126u8, 194u8, 18u8, 183u8, 170u8, 221u8, 244u8, 187u8, + ], + ) + } + #[doc = " Map of ethereum collection id to the native collection id"] + pub fn native_collection_ids_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "NativeCollectionIds", + vec![], + [ + 133u8, 178u8, 100u8, 208u8, 79u8, 71u8, 203u8, 61u8, 109u8, 181u8, + 86u8, 102u8, 12u8, 117u8, 237u8, 9u8, 146u8, 99u8, 95u8, 145u8, 228u8, + 173u8, 103u8, 84u8, 227u8, 128u8, 71u8, 218u8, 51u8, 118u8, 255u8, + 155u8, + ], + ) + } + #[doc = " Map of ethereum collection id to the native collection id"] + pub fn native_collection_ids( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u128>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u128, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "MultiTokens", + "NativeCollectionIds", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 133u8, 178u8, 100u8, 208u8, 79u8, 71u8, 203u8, 61u8, 109u8, 181u8, + 86u8, 102u8, 12u8, 117u8, 237u8, 9u8, 146u8, 99u8, 95u8, 145u8, 228u8, + 173u8, 103u8, 84u8, 227u8, 128u8, 71u8, 218u8, 51u8, 118u8, 255u8, + 155u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The base deposit required for setting an attribute"] + pub fn attribute_deposit_base( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "AttributeDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Additional deposit per byte for setting an attribute"] + pub fn attribute_deposit_per_byte( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "AttributeDepositPerByte", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The max number of recipients allowed in a batch transfer"] + pub fn max_recipients_per_batch_transfer( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MaxRecipientsPerBatchTransfer", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The max number of tokens allowed in a batch transfer"] + pub fn max_tokens_per_batch_transfer( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MaxTokensPerBatchTransfer", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The max number of attributes to set in one call"] + pub fn max_batch_attributes_per_call( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MaxBatchAttributesPerCall", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The max number of recipients allowed in a batch mint"] + pub fn max_recipients_per_batch_mint( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MaxRecipientsPerBatchMint", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Amount of [`Balance`](BalanceOf) reserved to create a collection"] + pub fn collection_creation_deposit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "CollectionCreationDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount of [`Balance`](BalanceOf) that must be reserved for a token account to be"] + #[doc = " maintained"] + pub fn token_account_deposit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "TokenAccountDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum length of the idle operation queue"] + pub fn max_idle_operation_queue_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MaxIdleOperationQueueLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum weight of the idle operation queue"] + pub fn max_idle_operation_queue_weight( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MaxIdleOperationQueueWeight", + [ + 149u8, 252u8, 129u8, 80u8, 169u8, 36u8, 79u8, 127u8, 240u8, 156u8, + 56u8, 202u8, 219u8, 86u8, 5u8, 65u8, 245u8, 148u8, 138u8, 243u8, 210u8, + 128u8, 234u8, 216u8, 240u8, 219u8, 123u8, 235u8, 21u8, 158u8, 237u8, + 112u8, + ], + ) + } + #[doc = " The max number of operators a [`TokenAccount`] and an [`CollectionAccount`] can have"] + pub fn max_operators_per_account( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MaxOperatorsPerAccount", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of named reserves that can exist on an account"] + pub fn max_reserves(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MaxReserves", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of locks that can exist on a token account"] + pub fn max_locks(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MaxLocks", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of explicit royalty currencies"] + pub fn max_explicit_royalty_currencies( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MaxExplicitRoyaltyCurrencies", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The [`NativeAssetInfo`](ep_multi_tokens::NativeAssetInfo) for this pallet"] + pub fn native_asset_info( + &self, + ) -> ::subxt::constants::Address< + runtime_types::ep_multi_tokens::types::NativeAssetInfo< + runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + >, + > { + ::subxt::constants::Address::new_static( + "MultiTokens", + "NativeAssetInfo", + [ + 161u8, 104u8, 182u8, 118u8, 148u8, 118u8, 196u8, 223u8, 4u8, 146u8, + 61u8, 219u8, 85u8, 126u8, 70u8, 5u8, 202u8, 52u8, 119u8, 215u8, 246u8, + 234u8, 153u8, 85u8, 110u8, 122u8, 26u8, 59u8, 31u8, 64u8, 152u8, 35u8, + ], + ) + } + #[doc = " The id used for making reservations with this pallet"] + pub fn reserve_identifier( + &self, + ) -> ::subxt::constants::Address<[::core::primitive::u8; 8usize]> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "ReserveIdentifier", + [ + 157u8, 118u8, 79u8, 88u8, 241u8, 22u8, 185u8, 37u8, 42u8, 20u8, 133u8, + 240u8, 11u8, 25u8, 66u8, 154u8, 84u8, 163u8, 78u8, 92u8, 171u8, 82u8, + 248u8, 76u8, 189u8, 70u8, 142u8, 249u8, 153u8, 84u8, 180u8, 60u8, + ], + ) + } + #[doc = " Max length of name stored in [`TokenMetadata`]"] + pub fn token_metadata_max_name_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "TokenMetadataMaxNameLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Max length of symbol stored in [`TokenMetadata`]"] + pub fn token_metadata_max_symbol_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "TokenMetadataMaxSymbolLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Max length for the [`Migrations`] storage"] + pub fn max_migration_key_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MaxMigrationKeyLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Percentage of block weight to consume during migration"] + pub fn migration_weight_limit_percentage( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MigrationWeightLimitPercentage", + [ + 65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8, + 114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8, + 200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8, + ], + ) + } + #[doc = " Bound for the number of extrinsics to pause during multi block migration"] + pub fn max_migration_extrinsic_infos_to_pause( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MaxMigrationExtrinsicInfosToPause", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " List of extrinsics to pause during multi block migration (this pallet is excluded)"] + pub fn migration_extrinsics_infos_to_pause( + &self, + ) -> ::subxt::constants::Address< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::ep_core::frame::types::ExtrinsicInfo< + runtime_types::enjin_runtime::MaxNameLength, + >, + >, + > { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MigrationExtrinsicsInfosToPause", + [ + 110u8, 231u8, 90u8, 105u8, 228u8, 114u8, 144u8, 249u8, 159u8, 154u8, + 19u8, 40u8, 142u8, 160u8, 95u8, 223u8, 193u8, 2u8, 167u8, 192u8, 53u8, + 74u8, 46u8, 196u8, 161u8, 29u8, 237u8, 124u8, 30u8, 73u8, 96u8, 146u8, + ], + ) + } + #[doc = " Max number of collections that can be claimed by an account"] + pub fn max_claimable_collections_per_account( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MaxClaimableCollectionsPerAccount", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The max number of tokens that can be claimed in a single call to `claim_tokens`"] + pub fn max_claimable_tokens_per_call( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "MaxClaimableTokensPerCall", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The prefix of the message used to claim collections"] + pub fn claim_collections_prefix( + &self, + ) -> ::subxt::constants::Address<::std::vec::Vec<::core::primitive::u8>> + { + ::subxt::constants::Address::new_static( + "MultiTokens", + "ClaimCollectionsPrefix", + [ + 64u8, 190u8, 244u8, 122u8, 87u8, 182u8, 217u8, 16u8, 55u8, 223u8, + 128u8, 6u8, 112u8, 30u8, 236u8, 222u8, 153u8, 53u8, 247u8, 102u8, + 196u8, 31u8, 6u8, 186u8, 251u8, 209u8, 114u8, 125u8, 213u8, 222u8, + 240u8, 8u8, + ], + ) + } + #[doc = " The prefix of the message used to claim tokens"] + pub fn claim_tokens_prefix( + &self, + ) -> ::subxt::constants::Address<::std::vec::Vec<::core::primitive::u8>> + { + ::subxt::constants::Address::new_static( + "MultiTokens", + "ClaimTokensPrefix", + [ + 64u8, 190u8, 244u8, 122u8, 87u8, 182u8, 217u8, 16u8, 55u8, 223u8, + 128u8, 6u8, 112u8, 30u8, 236u8, 222u8, 153u8, 53u8, 247u8, 102u8, + 196u8, 31u8, 6u8, 186u8, 251u8, 209u8, 114u8, 125u8, 213u8, 222u8, + 240u8, 8u8, + ], + ) + } + #[doc = " The account id that owns unclaimed collections and tokens. This account also pays"] + #[doc = " deposits if needed when claiming."] + pub fn claims_account_id( + &self, + ) -> ::subxt::constants::Address<::subxt::utils::AccountId32> { + ::subxt::constants::Address::new_static( + "MultiTokens", + "ClaimsAccountId", + [ + 115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8, + 155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8, + 204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8, + 135u8, + ], + ) + } + } + } + } + pub mod fuel_tanks { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_fuel_tanks::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_fuel_tanks::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CreateFuelTank { + pub descriptor: runtime_types::pallet_fuel_tanks::types::FuelTankDescriptor< + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxFuelTankNameLength, + >, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + runtime_types::pallet_fuel_tanks::rules::RuleSetDescriptor< + runtime_types::pallet_fuel_tanks::rules::DispatchRuleDescriptor, + runtime_types::enjin_runtime::MaxRulesPerSet, + >, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_fuel_tanks::rules::AccountRuleDescriptor, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for CreateFuelTank { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "create_fuel_tank"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MutateFuelTank { + pub tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub mutation: runtime_types::pallet_fuel_tanks::impls::DefaultTankMutation< + runtime_types::enjin_runtime::Runtime, + >, + } + impl ::subxt::blocks::StaticExtrinsic for MutateFuelTank { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "mutate_fuel_tank"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddAccount { + pub tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub user_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for AddAccount { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "add_account"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveAccount { + pub tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub user_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveAccount { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "remove_account"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveAccountRuleData { + pub tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub user_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub rule_set_id: ::core::primitive::u32, + pub rule_kind: runtime_types::pallet_fuel_tanks::rules::DispatchRuleKind, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveAccountRuleData { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "remove_account_rule_data"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Dispatch { + pub tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub rule_set_id: ::core::primitive::u32, + pub call: ::std::boxed::Box, + pub settings: ::core::option::Option< + runtime_types::pallet_fuel_tanks::types::DispatchSettings, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Dispatch { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "dispatch"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DispatchAndTouch { + pub tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub rule_set_id: ::core::primitive::u32, + pub call: ::std::boxed::Box, + pub settings: ::core::option::Option< + runtime_types::pallet_fuel_tanks::types::DispatchSettings, + >, + } + impl ::subxt::blocks::StaticExtrinsic for DispatchAndTouch { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "dispatch_and_touch"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ScheduleMutateFreezeState { + pub tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub rule_set_id: ::core::option::Option<::core::primitive::u32>, + pub is_frozen: ::core::primitive::bool, + } + impl ::subxt::blocks::StaticExtrinsic for ScheduleMutateFreezeState { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "schedule_mutate_freeze_state"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InsertRuleSet { + pub tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub rule_set_id: ::core::primitive::u32, + pub rules: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_fuel_tanks::rules::DispatchRuleDescriptor, + >, + } + impl ::subxt::blocks::StaticExtrinsic for InsertRuleSet { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "insert_rule_set"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveRuleSet { + pub tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub rule_set_id: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveRuleSet { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "remove_rule_set"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BatchAddAccount { + pub tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub user_ids: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + } + impl ::subxt::blocks::StaticExtrinsic for BatchAddAccount { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "batch_add_account"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BatchRemoveAccount { + pub tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub user_ids: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + } + impl ::subxt::blocks::StaticExtrinsic for BatchRemoveAccount { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "batch_remove_account"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetConsumption { + pub tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub user_id: ::core::option::Option< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + pub rule_set_id: ::core::primitive::u32, + pub consumption: runtime_types::pallet_fuel_tanks::types::Consumption< + ::core::primitive::u128, + ::core::primitive::u32, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSetConsumption { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "force_set_consumption"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DestroyFuelTank { + pub tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for DestroyFuelTank { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "destroy_fuel_tank"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceCreateFuelTank { + pub owner: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub descriptor: runtime_types::pallet_fuel_tanks::types::FuelTankDescriptor< + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxFuelTankNameLength, + >, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + runtime_types::pallet_fuel_tanks::rules::RuleSetDescriptor< + runtime_types::pallet_fuel_tanks::rules::DispatchRuleDescriptor, + runtime_types::enjin_runtime::MaxRulesPerSet, + >, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_fuel_tanks::rules::AccountRuleDescriptor, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceCreateFuelTank { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "force_create_fuel_tank"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceBatchAddAccount { + pub owner: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub user_ids: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceBatchAddAccount { + const PALLET: &'static str = "FuelTanks"; + const CALL: &'static str = "force_batch_add_account"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Creates a fuel tank, given a descriptor"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankAlreadyExists`] if `tank_id` already exists"] + #[doc = "- [`Error::DuplicateRuleKinds`] if a rule set has multiple rules of the same kind"] + pub fn create_fuel_tank( + &self, + descriptor: runtime_types::pallet_fuel_tanks::types::FuelTankDescriptor< + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxFuelTankNameLength, + >, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + runtime_types::pallet_fuel_tanks::rules::RuleSetDescriptor< + runtime_types::pallet_fuel_tanks::rules::DispatchRuleDescriptor, + runtime_types::enjin_runtime::MaxRulesPerSet, + >, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_fuel_tanks::rules::AccountRuleDescriptor, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "create_fuel_tank", + types::CreateFuelTank { descriptor }, + [ + 78u8, 34u8, 173u8, 167u8, 253u8, 191u8, 226u8, 184u8, 149u8, 65u8, + 239u8, 253u8, 232u8, 48u8, 171u8, 15u8, 229u8, 112u8, 250u8, 88u8, + 99u8, 137u8, 231u8, 112u8, 18u8, 161u8, 164u8, 232u8, 190u8, 234u8, + 119u8, 18u8, + ], + ) + } + #[doc = "Apply `mutation` to fuel tank with `tank_id`."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankNotFound`] if `tank_id` does not exist."] + #[doc = "- [`Error::NoPermission`] if `origin` is not the fuel tank owner"] + pub fn mutate_fuel_tank( + &self, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + mutation: runtime_types::pallet_fuel_tanks::impls::DefaultTankMutation< + runtime_types::enjin_runtime::Runtime, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "mutate_fuel_tank", + types::MutateFuelTank { tank_id, mutation }, + [ + 242u8, 3u8, 103u8, 87u8, 238u8, 9u8, 218u8, 197u8, 212u8, 33u8, 34u8, + 54u8, 134u8, 140u8, 20u8, 176u8, 101u8, 64u8, 28u8, 64u8, 172u8, 97u8, + 17u8, 98u8, 213u8, 90u8, 80u8, 142u8, 179u8, 215u8, 255u8, 81u8, + ], + ) + } + #[doc = "Adds new account for `user_id` to fuel tank at `tank_id`. An account is"] + #[doc = "required to dispatch calls. A deposit is required, and may be paid by"] + #[doc = "the user or the fuel tank, depending on the settings."] + #[doc = ""] + #[doc = "### Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankNotFound`] if fuel tank at `tank_id` does not exist"] + #[doc = "- [`Error::NoPermission`] if `origin` does not have permission to add an account"] + #[doc = "- [`Error::AccountAlreadyExists`] if account at `user_id` already exists"] + pub fn add_account( + &self, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + user_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "add_account", + types::AddAccount { tank_id, user_id }, + [ + 222u8, 27u8, 178u8, 27u8, 43u8, 138u8, 112u8, 91u8, 146u8, 120u8, + 177u8, 154u8, 195u8, 249u8, 94u8, 112u8, 252u8, 109u8, 108u8, 27u8, + 202u8, 245u8, 70u8, 170u8, 76u8, 35u8, 233u8, 58u8, 98u8, 30u8, 21u8, + 100u8, + ], + ) + } + #[doc = "Removes account for `user_id` from fuel tank at `tank_id`. Any deposits"] + #[doc = "are returned."] + #[doc = ""] + #[doc = "### Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankNotFound`] if fuel tank at `tank_id` does not exist"] + #[doc = "- [`Error::NoPermission`] if `origin` does not have permission to add an account"] + #[doc = "- [`Error::AccountNotFound`] if account at `user_id` does not exist"] + pub fn remove_account( + &self, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + user_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "remove_account", + types::RemoveAccount { tank_id, user_id }, + [ + 168u8, 23u8, 67u8, 142u8, 29u8, 14u8, 88u8, 248u8, 215u8, 60u8, 91u8, + 41u8, 214u8, 207u8, 5u8, 147u8, 109u8, 173u8, 76u8, 17u8, 37u8, 28u8, + 238u8, 247u8, 208u8, 96u8, 6u8, 174u8, 118u8, 205u8, 197u8, 94u8, + ], + ) + } + #[doc = "Remove account rule data if it exists. Only callable by the fuel tank's owner. Requires"] + #[doc = "the fuel tank or the rule set to be frozen."] + #[doc = ""] + #[doc = "### Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankNotFound`] if fuel tank for `tank_id` doesn't exist"] + #[doc = "- [`Error::NoPermission`] if called by non-owner"] + #[doc = "- [`Error::AccountNotFound`] if account does not exist for `user_id`"] + #[doc = "- [`Error::RuleSetNotFound`] if rule set does not exist for `rule_set_id`"] + #[doc = "- [`Error::RequiresFrozenTankOrRuleset`] if tank or rule set is not frozen"] + #[doc = "- [`Error::RuleNotFound`] if rule does not exist for `rule_kind`"] + pub fn remove_account_rule_data( + &self, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + user_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + rule_set_id: ::core::primitive::u32, + rule_kind: runtime_types::pallet_fuel_tanks::rules::DispatchRuleKind, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "remove_account_rule_data", + types::RemoveAccountRuleData { + tank_id, + user_id, + rule_set_id, + rule_kind, + }, + [ + 45u8, 119u8, 44u8, 107u8, 130u8, 28u8, 178u8, 107u8, 45u8, 132u8, + 105u8, 110u8, 110u8, 135u8, 70u8, 193u8, 220u8, 164u8, 86u8, 138u8, + 84u8, 247u8, 74u8, 157u8, 116u8, 249u8, 203u8, 139u8, 118u8, 251u8, + 149u8, 123u8, + ], + ) + } + #[doc = "Dispatch a call using the `tank_id` subject to the rules of `rule_set_id`"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::FuelTankNotFound`] if `tank_id` does not exist."] + #[doc = "- [`Error::UsageRestricted`] if caller is not part of ruleset whitelist"] + #[doc = "- [`Error::CallerDoesNotHaveRuleSetTokenBalance`] if caller does not own the tokens to"] + #[doc = " use the ruleset for remaining_fee when `pays_remaining_fee` is true"] + #[doc = "- [`Error::FuelTankOutOfFunds`] if the fuel tank account cannot pay fees"] + pub fn dispatch( + &self, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + rule_set_id: ::core::primitive::u32, + call: runtime_types::enjin_runtime::RuntimeCall, + settings: ::core::option::Option< + runtime_types::pallet_fuel_tanks::types::DispatchSettings, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "dispatch", + types::Dispatch { + tank_id, + rule_set_id, + call: ::std::boxed::Box::new(call), + settings, + }, + [ + 78u8, 128u8, 222u8, 136u8, 95u8, 116u8, 64u8, 60u8, 246u8, 209u8, + 153u8, 174u8, 244u8, 101u8, 26u8, 195u8, 183u8, 7u8, 225u8, 47u8, + 181u8, 65u8, 175u8, 248u8, 226u8, 194u8, 160u8, 168u8, 191u8, 5u8, + 156u8, 129u8, + ], + ) + } + #[doc = "Same as [dispatch](Self::dispatch), but creates an account for `origin` if it does not"] + #[doc = "exist and is allowed by the fuel tank's `user_account_management` settings."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "Returns the same errors as [dispatch](Self::dispatch) and"] + #[doc = "[add_account](Self::add_account)"] + pub fn dispatch_and_touch( + &self, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + rule_set_id: ::core::primitive::u32, + call: runtime_types::enjin_runtime::RuntimeCall, + settings: ::core::option::Option< + runtime_types::pallet_fuel_tanks::types::DispatchSettings, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "dispatch_and_touch", + types::DispatchAndTouch { + tank_id, + rule_set_id, + call: ::std::boxed::Box::new(call), + settings, + }, + [ + 186u8, 99u8, 163u8, 132u8, 199u8, 3u8, 53u8, 92u8, 169u8, 139u8, 27u8, + 92u8, 36u8, 155u8, 46u8, 51u8, 103u8, 185u8, 129u8, 154u8, 72u8, 88u8, + 10u8, 110u8, 56u8, 22u8, 80u8, 195u8, 106u8, 156u8, 217u8, 138u8, + ], + ) + } + #[doc = "Schedule mutating of `is_frozen` state that determines if fuel tank or rule set can be"] + #[doc = "used"] + #[doc = ""] + #[doc = "Additional 1 read and 1 write are added to account for `on_finalize` storage operations"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::FuelTankNotFound`] if `tank_id` does not exist."] + #[doc = "- [`Error::NoPermission`] if caller is not a fuel tank owner"] + #[doc = "- [`Error::FreezeQueueFull`] if the queue is full"] + pub fn schedule_mutate_freeze_state( + &self, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + rule_set_id: ::core::option::Option<::core::primitive::u32>, + is_frozen: ::core::primitive::bool, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "schedule_mutate_freeze_state", + types::ScheduleMutateFreezeState { + tank_id, + rule_set_id, + is_frozen, + }, + [ + 72u8, 78u8, 22u8, 70u8, 203u8, 128u8, 42u8, 253u8, 219u8, 251u8, 129u8, + 112u8, 103u8, 219u8, 27u8, 47u8, 190u8, 62u8, 44u8, 40u8, 66u8, 26u8, + 199u8, 192u8, 118u8, 63u8, 2u8, 7u8, 78u8, 3u8, 4u8, 34u8, + ], + ) + } + #[doc = "Insert a new rule set for `tank_id` and `rule_set_id`. It can be a new rule set"] + #[doc = "or it can replace an existing one. If it is replacing a rule set, a rule that is storing"] + #[doc = "data on any accounts cannot be removed. Use [Self::remove_account_rule_data] to remove"] + #[doc = "the data first. If a rule is being replaced, it will be mutated with the new parameters,"] + #[doc = "and it will maintain any persistent data it already has."] + #[doc = ""] + #[doc = "This is only callable by the fuel tank's owner."] + #[doc = "### Errors"] + #[doc = "- [`Error::FuelTankNotFound`] if `tank_id` does not exist."] + #[doc = "- [`Error::NoPermission`] if caller is not the fuel tank owner"] + #[doc = "- [`Error::RequiresFrozenTankOrRuleset`] if tank or rule set is not frozen"] + #[doc = "- [`Error::CannotRemoveRuleThatIsStoringAccountData`] if removing a rule that is storing"] + #[doc = " account data"] + #[doc = "- [`Error::MaxRuleSetsExceeded`] if max number of rule sets was exceeded"] + #[doc = "- [`Error::DuplicateRuleKinds`] if adding a rule set with multiple rules of the same"] + #[doc = " kind"] + pub fn insert_rule_set( + &self, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + rule_set_id: ::core::primitive::u32, + rules: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_fuel_tanks::rules::DispatchRuleDescriptor, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "insert_rule_set", + types::InsertRuleSet { + tank_id, + rule_set_id, + rules, + }, + [ + 234u8, 63u8, 104u8, 206u8, 11u8, 19u8, 168u8, 109u8, 109u8, 234u8, + 194u8, 116u8, 87u8, 42u8, 164u8, 53u8, 57u8, 238u8, 86u8, 181u8, 81u8, + 12u8, 239u8, 85u8, 174u8, 243u8, 137u8, 81u8, 228u8, 80u8, 190u8, + 240u8, + ], + ) + } + #[doc = "Remove rule set for `tank_id` and `rule_set_id`. A rule that is storing data on"] + #[doc = "any accounts cannot be removed. Use [Self::remove_account_rule_data] to remove the"] + #[doc = "data first. This is only callable by the fuel tank's owner."] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankNotFound`] if `tank_id` does not exist."] + #[doc = "- [`Error::NoPermission`] if caller is not the fuel tank owner"] + #[doc = "- [`Error::RequiresFrozenTankOrRuleset`] if tank or rule set is not frozen"] + #[doc = "- [`Error::CannotRemoveRuleThatIsStoringAccountData`] if removing a rule that is storing"] + #[doc = " account data"] + pub fn remove_rule_set( + &self, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + rule_set_id: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "remove_rule_set", + types::RemoveRuleSet { + tank_id, + rule_set_id, + }, + [ + 20u8, 200u8, 132u8, 52u8, 168u8, 54u8, 108u8, 200u8, 132u8, 67u8, 82u8, + 181u8, 14u8, 82u8, 118u8, 189u8, 112u8, 169u8, 65u8, 132u8, 43u8, 14u8, + 6u8, 66u8, 221u8, 4u8, 162u8, 234u8, 33u8, 189u8, 96u8, 81u8, + ], + ) + } + #[doc = "Similar to add_account but takes a list of"] + #[doc = "[`AccountId`](frame_system::Config::AccountId)s to insert into a fuel tank."] + #[doc = "### Errors"] + #[doc = "- [`Error::FuelTankNotFound`] if fuel tank at `tank_id` does not exist"] + #[doc = "- [`Error::NoPermission`] if `origin` does not have permission to add an account"] + #[doc = "- [`Error::AccountAlreadyExists`] if account at `user_id` already exists"] + pub fn batch_add_account( + &self, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + user_ids: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "batch_add_account", + types::BatchAddAccount { tank_id, user_ids }, + [ + 83u8, 214u8, 43u8, 23u8, 20u8, 136u8, 190u8, 230u8, 245u8, 77u8, 104u8, + 162u8, 180u8, 251u8, 90u8, 69u8, 231u8, 96u8, 55u8, 130u8, 187u8, + 173u8, 93u8, 188u8, 207u8, 76u8, 64u8, 179u8, 197u8, 181u8, 101u8, + 246u8, + ], + ) + } + #[doc = "Similar to remove_account but takes a list of"] + #[doc = "[`AccountId`](frame_system::Config::AccountId)s to remove from a fuel tank."] + #[doc = "### Errors"] + #[doc = "- [`Error::FuelTankNotFound`] if fuel tank at `tank_id` does not exist"] + #[doc = "- [`Error::NoPermission`] if `origin` does not have permission to add an account"] + #[doc = "- [`Error::AccountNotFound`] if account at `user_id` does not exist"] + pub fn batch_remove_account( + &self, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + user_ids: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "batch_remove_account", + types::BatchRemoveAccount { tank_id, user_ids }, + [ + 10u8, 229u8, 57u8, 98u8, 121u8, 79u8, 99u8, 230u8, 41u8, 157u8, 77u8, + 26u8, 167u8, 130u8, 55u8, 131u8, 91u8, 1u8, 216u8, 21u8, 117u8, 78u8, + 116u8, 174u8, 227u8, 198u8, 9u8, 4u8, 81u8, 167u8, 82u8, 236u8, + ], + ) + } + #[doc = "Force set the fuel tank consumption"] + #[doc = "If `user_id` is [`Some`], it sets the consumption for that account."] + #[doc = "If it is [`None`], it sets the consumption on the fuel tank directly."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::AccountNotFound`] if `user_id` is `Some` and account does not exist"] + #[doc = "- [`Error::FuelTankNotFound`] if tank_id does not exist"] + #[doc = "- [`Error::NoPermission`] if caller is not ForceOrigin or fuel tank owner"] + #[doc = "- [`Error::InvalidRuleSet`] if `rule_set_id` does not exist"] + #[doc = "- [`Error::MissingRequiredRule`] if `rule_set_id` does not have the required role"] + pub fn force_set_consumption( + &self, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + user_id: ::core::option::Option< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + rule_set_id: ::core::primitive::u32, + consumption: runtime_types::pallet_fuel_tanks::types::Consumption< + ::core::primitive::u128, + ::core::primitive::u32, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "force_set_consumption", + types::ForceSetConsumption { + tank_id, + user_id, + rule_set_id, + consumption, + }, + [ + 162u8, 66u8, 243u8, 6u8, 101u8, 131u8, 245u8, 78u8, 100u8, 175u8, 62u8, + 153u8, 155u8, 185u8, 127u8, 247u8, 122u8, 143u8, 240u8, 75u8, 215u8, + 15u8, 47u8, 70u8, 145u8, 130u8, 153u8, 185u8, 127u8, 126u8, 168u8, + 198u8, + ], + ) + } + #[doc = "Destroy the fuel tank by scheduling the deletion for `on_finalize` to execute"] + #[doc = "Only callable by owner"] + #[doc = "The fuel tank must be frozen"] + #[doc = "Can only be destroyed if all accounts are removed"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankNotFound`] if tank_id does not exist"] + #[doc = "- [`Error::NoPermission`] if caller is not owner"] + #[doc = "- [`Error::DestroyUnfrozenTank`] if tank is not frozen"] + #[doc = "- [`Error::DestroyWithExistingAccounts`] if there are still accounts on the tank"] + pub fn destroy_fuel_tank( + &self, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "destroy_fuel_tank", + types::DestroyFuelTank { tank_id }, + [ + 5u8, 83u8, 232u8, 61u8, 78u8, 79u8, 219u8, 190u8, 202u8, 184u8, 156u8, + 96u8, 189u8, 214u8, 157u8, 103u8, 27u8, 54u8, 223u8, 159u8, 219u8, + 142u8, 18u8, 211u8, 214u8, 15u8, 77u8, 60u8, 131u8, 137u8, 74u8, 129u8, + ], + ) + } + #[doc = "Force creates a fuel tank"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankAlreadyExists`] if `tank_id` already exists"] + pub fn force_create_fuel_tank( + &self, + owner: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + descriptor: runtime_types::pallet_fuel_tanks::types::FuelTankDescriptor< + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxFuelTankNameLength, + >, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + runtime_types::pallet_fuel_tanks::rules::RuleSetDescriptor< + runtime_types::pallet_fuel_tanks::rules::DispatchRuleDescriptor, + runtime_types::enjin_runtime::MaxRulesPerSet, + >, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_fuel_tanks::rules::AccountRuleDescriptor, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "force_create_fuel_tank", + types::ForceCreateFuelTank { owner, descriptor }, + [ + 212u8, 158u8, 117u8, 242u8, 23u8, 149u8, 58u8, 6u8, 144u8, 156u8, 14u8, + 220u8, 233u8, 62u8, 27u8, 145u8, 49u8, 128u8, 21u8, 161u8, 87u8, 0u8, + 216u8, 222u8, 208u8, 166u8, 202u8, 59u8, 208u8, 156u8, 195u8, 129u8, + ], + ) + } + #[doc = "Sets the account storage for give tank_id and account"] + pub fn force_batch_add_account( + &self, + owner: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + user_ids: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FuelTanks", + "force_batch_add_account", + types::ForceBatchAddAccount { + owner, + tank_id, + user_ids, + }, + [ + 146u8, 232u8, 125u8, 4u8, 229u8, 62u8, 123u8, 26u8, 132u8, 176u8, 92u8, + 254u8, 77u8, 101u8, 172u8, 136u8, 11u8, 217u8, 208u8, 128u8, 251u8, + 51u8, 196u8, 65u8, 234u8, 120u8, 112u8, 95u8, 159u8, 129u8, 177u8, + 11u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_fuel_tanks::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new [`FuelTank`] was created."] + pub struct FuelTankCreated { + pub owner: ::subxt::utils::AccountId32, + pub name: runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxFuelTankNameLength, + >, + pub tank_id: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for FuelTankCreated { + const PALLET: &'static str = "FuelTanks"; + const EVENT: &'static str = "FuelTankCreated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A [`FuelTank`] was mutated"] + pub struct FuelTankMutated { + pub tank_id: ::subxt::utils::AccountId32, + pub mutation: runtime_types::pallet_fuel_tanks::impls::DefaultTankMutation< + runtime_types::enjin_runtime::Runtime, + >, + } + impl ::subxt::events::StaticEvent for FuelTankMutated { + const PALLET: &'static str = "FuelTanks"; + const EVENT: &'static str = "FuelTankMutated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A [`FuelTank`] was destroyed"] + pub struct FuelTankDestroyed { + pub tank_id: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for FuelTankDestroyed { + const PALLET: &'static str = "FuelTanks"; + const EVENT: &'static str = "FuelTankDestroyed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A call was dispatched through a [`FuelTank`]."] + pub struct CallDispatched { + pub caller: ::subxt::utils::AccountId32, + pub tank_id: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for CallDispatched { + const PALLET: &'static str = "FuelTanks"; + const EVENT: &'static str = "CallDispatched"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was added to a [`FuelTank`]"] + pub struct AccountAdded { + pub tank_id: ::subxt::utils::AccountId32, + pub user_id: ::subxt::utils::AccountId32, + pub tank_deposit: ::core::primitive::u128, + pub user_deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for AccountAdded { + const PALLET: &'static str = "FuelTanks"; + const EVENT: &'static str = "AccountAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was removed from a [`FuelTank`]"] + pub struct AccountRemoved { + pub tank_id: ::subxt::utils::AccountId32, + pub user_id: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for AccountRemoved { + const PALLET: &'static str = "FuelTanks"; + const EVENT: &'static str = "AccountRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Account data of [`AccountId`](frame_system::Config::AccountId) was removed from"] + #[doc = "[`RuleSetId`](Config::RuleSetId)"] + pub struct AccountRuleDataRemoved { + pub tank_id: ::subxt::utils::AccountId32, + pub user_id: ::subxt::utils::AccountId32, + pub rule_set_id: ::core::primitive::u32, + pub rule_kind: runtime_types::pallet_fuel_tanks::rules::DispatchRuleKind, + } + impl ::subxt::events::StaticEvent for AccountRuleDataRemoved { + const PALLET: &'static str = "FuelTanks"; + const EVENT: &'static str = "AccountRuleDataRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A new rule set was added to [`FuelTank`]"] + pub struct RuleSetInserted { + pub tank_id: ::subxt::utils::AccountId32, + pub rule_set_id: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for RuleSetInserted { + const PALLET: &'static str = "FuelTanks"; + const EVENT: &'static str = "RuleSetInserted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A rule set was removed from [`FuelTank`]"] + pub struct RuleSetRemoved { + pub tank_id: ::subxt::utils::AccountId32, + pub rule_set_id: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for RuleSetRemoved { + const PALLET: &'static str = "FuelTanks"; + const EVENT: &'static str = "RuleSetRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The freeze state mutation for fuel tank or its rule set was scheduled"] + pub struct MutateFreezeStateScheduled { + pub tank_id: ::subxt::utils::AccountId32, + pub rule_set_id: ::core::option::Option<::core::primitive::u32>, + pub is_frozen: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for MutateFreezeStateScheduled { + const PALLET: &'static str = "FuelTanks"; + const EVENT: &'static str = "MutateFreezeStateScheduled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The freeze state change for fuel tank or its rule set was executed in `on_finalize`"] + pub struct FreezeStateMutated { + pub tank_id: ::subxt::utils::AccountId32, + pub rule_set_id: ::core::option::Option<::core::primitive::u32>, + pub is_frozen: ::core::primitive::bool, + } + impl ::subxt::events::StaticEvent for FreezeStateMutated { + const PALLET: &'static str = "FuelTanks"; + const EVENT: &'static str = "FreezeStateMutated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The freeze state change for fuel tank or its rule set failed in `on_finalize`"] + pub struct ScheduleMutateFreezeStateFailed { + pub tank_id: ::subxt::utils::AccountId32, + pub rule_set_id: ::core::option::Option<::core::primitive::u32>, + pub is_frozen: ::core::primitive::bool, + pub error: runtime_types::sp_runtime::DispatchError, + } + impl ::subxt::events::StaticEvent for ScheduleMutateFreezeStateFailed { + const PALLET: &'static str = "FuelTanks"; + const EVENT: &'static str = "ScheduleMutateFreezeStateFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The dispatch of a call has failed"] + pub struct DispatchFailed { + pub tank_id: ::subxt::utils::AccountId32, + pub caller: ::subxt::utils::AccountId32, + pub error: runtime_types::sp_runtime::DispatchError, + } + impl ::subxt::events::StaticEvent for DispatchFailed { + const PALLET: &'static str = "FuelTanks"; + const EVENT: &'static str = "DispatchFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The consumption for an account was set for a rule set on a [`FuelTank`]"] + pub struct ConsumptionSet { + pub tank_id: ::subxt::utils::AccountId32, + pub user_id: ::core::option::Option<::subxt::utils::AccountId32>, + pub rule_set_id: ::core::primitive::u32, + pub consumption: runtime_types::pallet_fuel_tanks::types::Consumption< + ::core::primitive::u128, + ::core::primitive::u32, + >, + } + impl ::subxt::events::StaticEvent for ConsumptionSet { + const PALLET: &'static str = "FuelTanks"; + const EVENT: &'static str = "ConsumptionSet"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Mapping of Fuel Tanks accounts to their data"] + pub fn tanks_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_fuel_tanks::types::FuelTank< + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxFuelTankNameLength, + >, + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + runtime_types::pallet_fuel_tanks::rules::RuleSet< + runtime_types::pallet_fuel_tanks::rules::DispatchRuleWrapper, + runtime_types::enjin_runtime::MaxRulesPerSet, + >, + >, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + runtime_types::pallet_fuel_tanks::rules::AccountRuleKind, + runtime_types::pallet_fuel_tanks::rules::AccountRuleWrapper, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FuelTanks", + "Tanks", + vec![], + [ + 6u8, 165u8, 137u8, 81u8, 161u8, 0u8, 127u8, 56u8, 69u8, 186u8, 230u8, + 175u8, 75u8, 116u8, 47u8, 253u8, 67u8, 7u8, 52u8, 123u8, 56u8, 242u8, + 18u8, 86u8, 39u8, 105u8, 13u8, 160u8, 152u8, 168u8, 21u8, 165u8, + ], + ) + } + #[doc = " Mapping of Fuel Tanks accounts to their data"] + pub fn tanks( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_fuel_tanks::types::FuelTank< + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxFuelTankNameLength, + >, + ::subxt::utils::AccountId32, + ::core::primitive::u128, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + runtime_types::pallet_fuel_tanks::rules::RuleSet< + runtime_types::pallet_fuel_tanks::rules::DispatchRuleWrapper, + runtime_types::enjin_runtime::MaxRulesPerSet, + >, + >, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + runtime_types::pallet_fuel_tanks::rules::AccountRuleKind, + runtime_types::pallet_fuel_tanks::rules::AccountRuleWrapper, + >, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "FuelTanks", + "Tanks", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 6u8, 165u8, 137u8, 81u8, 161u8, 0u8, 127u8, 56u8, 69u8, 186u8, 230u8, + 175u8, 75u8, 116u8, 47u8, 253u8, 67u8, 7u8, 52u8, 123u8, 56u8, 242u8, + 18u8, 86u8, 39u8, 105u8, 13u8, 160u8, 152u8, 168u8, 21u8, 165u8, + ], + ) + } + #[doc = " Mapping of Fuel Tanks and their user Accounts to account data"] + pub fn accounts_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_fuel_tanks::types::UserAccount< + ::core::primitive::u128, + ::core::primitive::u32, + runtime_types::enjin_runtime::MaxRuleSets, + runtime_types::enjin_runtime::MaxRulesPerSet, + runtime_types::enjin_runtime::MaxAccountRuleDataLength, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FuelTanks", + "Accounts", + vec![], + [ + 218u8, 244u8, 36u8, 231u8, 112u8, 151u8, 230u8, 223u8, 81u8, 34u8, + 160u8, 93u8, 96u8, 167u8, 2u8, 28u8, 246u8, 5u8, 22u8, 87u8, 7u8, 9u8, + 131u8, 211u8, 252u8, 189u8, 113u8, 111u8, 88u8, 159u8, 161u8, 112u8, + ], + ) + } + #[doc = " Mapping of Fuel Tanks and their user Accounts to account data"] + pub fn accounts_iter1( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_fuel_tanks::types::UserAccount< + ::core::primitive::u128, + ::core::primitive::u32, + runtime_types::enjin_runtime::MaxRuleSets, + runtime_types::enjin_runtime::MaxRulesPerSet, + runtime_types::enjin_runtime::MaxAccountRuleDataLength, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FuelTanks", + "Accounts", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 218u8, 244u8, 36u8, 231u8, 112u8, 151u8, 230u8, 223u8, 81u8, 34u8, + 160u8, 93u8, 96u8, 167u8, 2u8, 28u8, 246u8, 5u8, 22u8, 87u8, 7u8, 9u8, + 131u8, 211u8, 252u8, 189u8, 113u8, 111u8, 88u8, 159u8, 161u8, 112u8, + ], + ) + } + #[doc = " Mapping of Fuel Tanks and their user Accounts to account data"] + pub fn accounts( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_fuel_tanks::types::UserAccount< + ::core::primitive::u128, + ::core::primitive::u32, + runtime_types::enjin_runtime::MaxRuleSets, + runtime_types::enjin_runtime::MaxRulesPerSet, + runtime_types::enjin_runtime::MaxAccountRuleDataLength, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "FuelTanks", + "Accounts", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 218u8, 244u8, 36u8, 231u8, 112u8, 151u8, 230u8, 223u8, 81u8, 34u8, + 160u8, 93u8, 96u8, 167u8, 2u8, 28u8, 246u8, 5u8, 22u8, 87u8, 7u8, 9u8, + 131u8, 211u8, 252u8, 189u8, 113u8, 111u8, 88u8, 159u8, 161u8, 112u8, + ], + ) + } + #[doc = " The queue for fuel tank and rule set freezing"] + #[doc = " Composed of (`tank_id`, `rule_set_id`, new `is_frozen` value)"] + pub fn freeze_queue( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_fuel_tanks::types::FreezeQueueItem< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "FuelTanks", + "FreezeQueue", + vec![], + [ + 231u8, 87u8, 159u8, 2u8, 104u8, 174u8, 109u8, 189u8, 219u8, 15u8, + 121u8, 118u8, 34u8, 110u8, 10u8, 99u8, 229u8, 229u8, 121u8, 147u8, + 247u8, 228u8, 211u8, 71u8, 118u8, 31u8, 106u8, 255u8, 109u8, 30u8, + 56u8, 126u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The salt used for address generation"] + pub fn salt(&self) -> ::subxt::constants::Address<[::core::primitive::u8; 8usize]> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "Salt", + [ + 157u8, 118u8, 79u8, 88u8, 241u8, 22u8, 185u8, 37u8, 42u8, 20u8, 133u8, + 240u8, 11u8, 25u8, 66u8, 154u8, 84u8, 163u8, 78u8, 92u8, 171u8, 82u8, + 248u8, 76u8, 189u8, 70u8, 142u8, 249u8, 153u8, 84u8, 180u8, 60u8, + ], + ) + } + #[doc = " The maximum number of whitelisted callers per fuel tank"] + pub fn max_whitelisted_callers( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "MaxWhitelistedCallers", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of rule sets per fuel tank"] + pub fn max_rule_sets(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "MaxRuleSets", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Maximum number of rules in a ruleset"] + pub fn max_rules_per_set( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "MaxRulesPerSet", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Max length of data a rule can store per account"] + pub fn max_account_rule_data_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "MaxAccountRuleDataLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of permitted calls"] + pub fn max_call_filters( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "MaxCallFilters", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Maximum number of whitelisted collections for a fuel tank"] + pub fn max_whitelisted_collections( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "MaxWhitelistedCollections", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of rule sets per fuel tank"] + pub fn max_call_size(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "MaxCallSize", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of fuel tank freeze state mutations that can be queued"] + pub fn max_freeze_queue_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "MaxFreezeQueueLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of user history that can be stored"] + pub fn max_user_history_size( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "MaxUserHistorySize", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of accounts for batch operations"] + pub fn max_batch_accounts( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "MaxBatchAccounts", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum length for fuel tank name"] + pub fn max_fuel_tank_name_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "MaxFuelTankNameLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum length for extrinsics for PermittedExtrinsic rule"] + pub fn max_extrinsic_name_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "MaxExtrinsicNameLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of extrinsics to allow for PermittedExtrinsic rule"] + pub fn max_permitted_extrinsic_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "MaxPermittedExtrinsicLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Deposit for creating a new fuel tank"] + pub fn tank_creation_deposit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "TankCreationDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Deposit for creating an account"] + pub fn account_creation_deposit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "AccountCreationDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The identifier used for currency reserves"] + pub fn reserve_identifier( + &self, + ) -> ::subxt::constants::Address<[::core::primitive::u8; 8usize]> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "ReserveIdentifier", + [ + 157u8, 118u8, 79u8, 88u8, 241u8, 22u8, 185u8, 37u8, 42u8, 20u8, 133u8, + 240u8, 11u8, 25u8, 66u8, 154u8, 84u8, 163u8, 78u8, 92u8, 171u8, 82u8, + 248u8, 76u8, 189u8, 70u8, 142u8, 249u8, 153u8, 84u8, 180u8, 60u8, + ], + ) + } + #[doc = " value of a unit of the independant variable in EFI for the levy discount according to"] + #[doc = " f(x) = (1/2)^x. Cannot be 0."] + pub fn levy_scale(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FuelTanks", + "LevyScale", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The Levy applied to all transactions in Matrix."] + pub fn levy( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "FuelTanks", + "Levy", + [ + 65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8, + 114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8, + 200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8, + ], + ) + } + } + } + } + pub mod extrinsic_pause { + use super::root_mod; + use super::runtime_types; + #[doc = "Pallet's error type."] + pub type Error = runtime_types::pallet_extrinsic_pause::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_extrinsic_pause::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PauseExtrinsic { + pub call: ::std::boxed::Box, + pub pause_only_extrinsic: ::core::primitive::bool, + } + impl ::subxt::blocks::StaticExtrinsic for PauseExtrinsic { + const PALLET: &'static str = "ExtrinsicPause"; + const CALL: &'static str = "pause_extrinsic"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ResumeExtrinsic { + pub call: ::std::boxed::Box, + pub resume_only_extrinsic: ::core::primitive::bool, + } + impl ::subxt::blocks::StaticExtrinsic for ResumeExtrinsic { + const PALLET: &'static str = "ExtrinsicPause"; + const CALL: &'static str = "resume_extrinsic"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Pause execution of extrinsic(s)"] + #[doc = ""] + #[doc = "The values of pallet_name and extrinsic_name are extracted from the `call` parameter."] + #[doc = "Ex : To pause the multi_tokens pallet, the `call` parameter should be of the type"] + #[doc = "`pallet_multi_tokens::Call` If `pause_only_extrinsic` is true, then only the extrinsic"] + #[doc = "is paused, else the entire pallet is paused."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::CannotProcessInput`] if the pallet name or extrinsic name is faulty."] + #[doc = "- [`Error::CannotPauseSelf`] if the pallet name is the same as the name of this pallet."] + pub fn pause_extrinsic( + &self, + call: runtime_types::enjin_runtime::RuntimeCall, + pause_only_extrinsic: ::core::primitive::bool, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ExtrinsicPause", + "pause_extrinsic", + types::PauseExtrinsic { + call: ::std::boxed::Box::new(call), + pause_only_extrinsic, + }, + [ + 129u8, 155u8, 125u8, 54u8, 225u8, 183u8, 1u8, 252u8, 110u8, 154u8, + 78u8, 157u8, 138u8, 61u8, 97u8, 70u8, 29u8, 54u8, 238u8, 95u8, 238u8, + 170u8, 224u8, 58u8, 6u8, 232u8, 10u8, 11u8, 99u8, 220u8, 77u8, 60u8, + ], + ) + } + #[doc = "Resume execution of extrinsic(s)"] + #[doc = ""] + #[doc = "The values of pallet_name and extrinsic_name are extracted from the `call` parameter."] + #[doc = "Ex : To resume the multi_tokens pallet, the `call` parameter should be of the type"] + #[doc = "`pallet_multi_tokens::Call` If `pause_only_extrinsic` is true, then only the extrinsic"] + #[doc = "is resumed, else the entire pallet is resumed."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::CannotProcessInput`] if the pallet name or extrinsic name is faulty."] + pub fn resume_extrinsic( + &self, + call: runtime_types::enjin_runtime::RuntimeCall, + resume_only_extrinsic: ::core::primitive::bool, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ExtrinsicPause", + "resume_extrinsic", + types::ResumeExtrinsic { + call: ::std::boxed::Box::new(call), + resume_only_extrinsic, + }, + [ + 219u8, 176u8, 202u8, 208u8, 220u8, 210u8, 16u8, 12u8, 52u8, 80u8, + 148u8, 93u8, 164u8, 123u8, 228u8, 225u8, 87u8, 151u8, 53u8, 155u8, + 41u8, 74u8, 208u8, 114u8, 147u8, 65u8, 143u8, 139u8, 221u8, 20u8, + 192u8, 108u8, + ], + ) + } + } + } + #[doc = "The pallet's event type."] + pub type Event = runtime_types::pallet_extrinsic_pause::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "All pallet extrinsics are paused."] + pub struct PalletPaused { + pub pallet_name: runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxNameLength, + >, + } + impl ::subxt::events::StaticEvent for PalletPaused { + const PALLET: &'static str = "ExtrinsicPause"; + const EVENT: &'static str = "PalletPaused"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "All pallet extrinsics are resumed."] + pub struct PalletResumed { + pub pallet_name: runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxNameLength, + >, + } + impl ::subxt::events::StaticEvent for PalletResumed { + const PALLET: &'static str = "ExtrinsicPause"; + const EVENT: &'static str = "PalletResumed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Extrinsic is paused."] + pub struct ExtrinsicPaused { + pub pallet_name: runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxNameLength, + >, + pub extrinsic_name: runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxNameLength, + >, + } + impl ::subxt::events::StaticEvent for ExtrinsicPaused { + const PALLET: &'static str = "ExtrinsicPause"; + const EVENT: &'static str = "ExtrinsicPaused"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Extrinsic is resumed"] + pub struct ExtrinsicResumed { + pub pallet_name: runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxNameLength, + >, + pub extrinsic_name: runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxNameLength, + >, + } + impl ::subxt::events::StaticEvent for ExtrinsicResumed { + const PALLET: &'static str = "ExtrinsicPause"; + const EVENT: &'static str = "ExtrinsicResumed"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Paused extrinsics map"] + #[doc = ""] + #[doc = " The key is tuple with the name of the pallet and the extrinsic name and value is"] + #[doc = " an Option<()> which is None if the extrinsic is not paused and Some(()) if it is."] + pub fn paused_extrinsics_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (), + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ExtrinsicPause", + "PausedExtrinsics", + vec![], + [ + 253u8, 70u8, 69u8, 237u8, 47u8, 209u8, 234u8, 230u8, 191u8, 252u8, + 214u8, 251u8, 79u8, 229u8, 224u8, 0u8, 62u8, 210u8, 57u8, 190u8, 18u8, + 120u8, 172u8, 89u8, 93u8, 225u8, 143u8, 51u8, 6u8, 51u8, 18u8, 51u8, + ], + ) + } + #[doc = " Paused extrinsics map"] + #[doc = ""] + #[doc = " The key is tuple with the name of the pallet and the extrinsic name and value is"] + #[doc = " an Option<()> which is None if the extrinsic is not paused and Some(()) if it is."] + pub fn paused_extrinsics( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::ep_core::frame::types::ExtrinsicInfo< + runtime_types::enjin_runtime::MaxNameLength, + >, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (), + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "ExtrinsicPause", + "PausedExtrinsics", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 253u8, 70u8, 69u8, 237u8, 47u8, 209u8, 234u8, 230u8, 191u8, 252u8, + 214u8, 251u8, 79u8, 229u8, 224u8, 0u8, 62u8, 210u8, 57u8, 190u8, 18u8, + 120u8, 172u8, 89u8, 93u8, 225u8, 143u8, 51u8, 6u8, 51u8, 18u8, 51u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " Max number of characters in pallet or extrinsic name."] + pub fn max_name_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ExtrinsicPause", + "MaxNameLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod marketplace { + use super::root_mod; + use super::runtime_types; + #[doc = "The error for this pallet"] + pub type Error = runtime_types::pallet_marketplace::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_marketplace::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CreateListing { + pub make_asset_id: runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + pub take_asset_id: runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + #[codec(compact)] + pub amount: ::core::primitive::u128, + #[codec(compact)] + pub price: ::core::primitive::u128, + pub salt: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub auction_data: ::core::option::Option< + runtime_types::pallet_marketplace::features::auction::AuctionData< + ::core::primitive::u32, + >, + >, + } + impl ::subxt::blocks::StaticExtrinsic for CreateListing { + const PALLET: &'static str = "Marketplace"; + const CALL: &'static str = "create_listing"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelListing { + pub listing_id: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for CancelListing { + const PALLET: &'static str = "Marketplace"; + const CALL: &'static str = "cancel_listing"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FillListing { + pub listing_id: ::subxt::utils::H256, + #[codec(compact)] + pub amount: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for FillListing { + const PALLET: &'static str = "Marketplace"; + const CALL: &'static str = "fill_listing"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PlaceBid { + pub listing_id: ::subxt::utils::H256, + #[codec(compact)] + pub price: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for PlaceBid { + const PALLET: &'static str = "Marketplace"; + const CALL: &'static str = "place_bid"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FinalizeAuction { + pub listing_id: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for FinalizeAuction { + const PALLET: &'static str = "Marketplace"; + const CALL: &'static str = "finalize_auction"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetProtocolFee { + pub protocol_fee: runtime_types::sp_arithmetic::per_things::Perbill, + } + impl ::subxt::blocks::StaticExtrinsic for SetProtocolFee { + const PALLET: &'static str = "Marketplace"; + const CALL: &'static str = "set_protocol_fee"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceCreateListing { + pub seller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub make_asset_id: runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + pub take_asset_id: runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + #[codec(compact)] + pub amount: ::core::primitive::u128, + #[codec(compact)] + pub price: ::core::primitive::u128, + pub salt: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub auction_data: ::core::option::Option< + runtime_types::pallet_marketplace::features::auction::AuctionData< + ::core::primitive::u32, + >, + >, + pub deposit_backer: ::core::option::Option< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForceCreateListing { + const PALLET: &'static str = "Marketplace"; + const CALL: &'static str = "force_create_listing"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForcePlaceBid { + pub bidder: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub listing_id: ::subxt::utils::H256, + #[codec(compact)] + pub price: ::core::primitive::u128, + pub funds_backer: ::core::option::Option< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + } + impl ::subxt::blocks::StaticExtrinsic for ForcePlaceBid { + const PALLET: &'static str = "Marketplace"; + const CALL: &'static str = "force_place_bid"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Places a sell order. Requires `make_asset_id` or `take_asset_id` to be a currency."] + #[doc = "The id for the listing is generated by hashing the encoded bytes of the listing."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "- `make_asset_id`: The id of the asset being sold"] + #[doc = "- `take_asset_id`: The id of the asset being requested"] + #[doc = "- `amount`: The number of units being sold"] + #[doc = "- `price`: The requested price for each unit. If it's an auction, this is the minimum"] + #[doc = " bid"] + #[doc = "- `salt`: Can be used to differentiate listings"] + #[doc = "- `auction_data`: Including this makes the listing an auction"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::InvalidAuctionStart`] if the start is less than the current block +"] + #[doc = " `T::ListingActiveDelay`"] + #[doc = "- [`Error::NoCurrency`] Neither the make or take side is considered a currency"] + #[doc = "- [`Error::ListingForbidden`] if make or take side tokens are not allowed to be listed"] + #[doc = "- [`Error::CurrencyNotAllowedAsRoyalty`] if currency cannot be used as a royalty"] + #[doc = "- [`Error::LowBaseCurrencyBalance`] if base currency balance is too low"] + #[doc = "- [`Error::LowTokenBalance`] token balance is too low for reserve"] + #[doc = "- [`Error::ListingAlreadyExists`] if a listing with the same ID already exists"] + pub fn create_listing( + &self, + make_asset_id: runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + take_asset_id: runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + amount: ::core::primitive::u128, + price: ::core::primitive::u128, + salt: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + auction_data: ::core::option::Option< + runtime_types::pallet_marketplace::features::auction::AuctionData< + ::core::primitive::u32, + >, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Marketplace", + "create_listing", + types::CreateListing { + make_asset_id, + take_asset_id, + amount, + price, + salt, + auction_data, + }, + [ + 249u8, 109u8, 162u8, 163u8, 143u8, 90u8, 50u8, 196u8, 128u8, 236u8, + 91u8, 20u8, 116u8, 106u8, 186u8, 170u8, 209u8, 44u8, 94u8, 218u8, + 220u8, 67u8, 149u8, 33u8, 231u8, 240u8, 34u8, 33u8, 255u8, 134u8, 87u8, + 53u8, + ], + ) + } + #[doc = "Cancels the listing with `listing_id`. Only callable by the seller."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "- `listing_id`: The ID of the listing to cancel"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::ListingNotFound`] if the listing under `listing_id` does not exist"] + #[doc = "- [`Error::NoPermission`] if the listing seller is not the caller, `origin`"] + pub fn cancel_listing( + &self, + listing_id: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Marketplace", + "cancel_listing", + types::CancelListing { listing_id }, + [ + 168u8, 161u8, 108u8, 220u8, 27u8, 130u8, 196u8, 75u8, 22u8, 230u8, + 209u8, 122u8, 3u8, 93u8, 212u8, 63u8, 250u8, 94u8, 217u8, 250u8, 154u8, + 187u8, 120u8, 231u8, 127u8, 65u8, 219u8, 254u8, 112u8, 82u8, 39u8, + 191u8, + ], + ) + } + #[doc = "Fills a fixed price listing. This will execute immediately."] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "- `listing_id`: The id for the listing to buy from"] + #[doc = "- `amount`: The number of units purchased"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::ListingNotFound`] if the listing under `listing_id` does not exist"] + #[doc = "- [`Error::BuyerIsSeller`] if the buyer is the seller of the listing"] + #[doc = "- [`Error::ListingIsWrongType`] if the listing is not under auction"] + #[doc = "- [`Error::InvalidAmount`] if the amount that still needs to be filled is greater than"] + #[doc = " `amount`"] + #[doc = "- [`Error::ListingNotActive`] if the listing has not passed the `ListingActiveDelay` yet"] + #[doc = "- [`Error::TakeValueUnderMinimum`] if the listings `take` value is under the minimum"] + #[doc = " required"] + #[doc = "- [`Error::LowTokenBalance`] if the buyer does not have enough tokens for reserve"] + pub fn fill_listing( + &self, + listing_id: ::subxt::utils::H256, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Marketplace", + "fill_listing", + types::FillListing { listing_id, amount }, + [ + 153u8, 26u8, 135u8, 149u8, 80u8, 58u8, 199u8, 106u8, 47u8, 50u8, 40u8, + 101u8, 190u8, 41u8, 75u8, 170u8, 62u8, 242u8, 192u8, 220u8, 190u8, + 142u8, 130u8, 168u8, 35u8, 11u8, 139u8, 225u8, 100u8, 86u8, 186u8, + 130u8, + ], + ) + } + #[doc = "Places a bid on a listing. The listing must be an auction, and it must be currently"] + #[doc = "active."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "- `listing_id`: The id for the listing to buy from"] + #[doc = "- `price`: The price for a single unit"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::ListingNotFound`] if listing under `listing_id` does not exist"] + #[doc = "- [`Error::BuyerIsSeller`] if the bidder is the seller of the listing"] + #[doc = "- [`Error::InactiveAuction`] if listing operates outside of specified start and end"] + #[doc = " block"] + #[doc = "- [`Error::InvalidPrice`] if price is less than minimum_price for a bid"] + pub fn place_bid( + &self, + listing_id: ::subxt::utils::H256, + price: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Marketplace", + "place_bid", + types::PlaceBid { listing_id, price }, + [ + 121u8, 136u8, 81u8, 41u8, 238u8, 55u8, 55u8, 131u8, 135u8, 237u8, + 158u8, 237u8, 224u8, 208u8, 76u8, 146u8, 100u8, 75u8, 195u8, 70u8, + 190u8, 142u8, 20u8, 150u8, 124u8, 180u8, 81u8, 49u8, 80u8, 203u8, + 135u8, 228u8, + ], + ) + } + #[doc = "Finalize the auction with id: `listing_id`. This will end the auction and transfer"] + #[doc = "funds. It fails if the auction is not over."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "- `listing_id`: The ID for the listing to finalize"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::ListingNotFound`] if listing under `listing_id` does not exist"] + #[doc = "- [`Error::ListingIsWrongType`] if listing is not an auction"] + #[doc = "- [`Error::AuctionNotOver`] if the auction has not finished yet"] + #[doc = "- [`Error::TakeValueUnderMinimum`] if the take value is less than the minimum required"] + pub fn finalize_auction( + &self, + listing_id: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Marketplace", + "finalize_auction", + types::FinalizeAuction { listing_id }, + [ + 213u8, 141u8, 14u8, 209u8, 188u8, 175u8, 132u8, 69u8, 119u8, 4u8, 32u8, + 116u8, 226u8, 106u8, 7u8, 250u8, 197u8, 243u8, 80u8, 175u8, 21u8, + 207u8, 67u8, 211u8, 118u8, 209u8, 60u8, 89u8, 23u8, 216u8, 43u8, 62u8, + ], + ) + } + #[doc = "Change the protocol fee to `protocol_fee`. Fails if `origin` is invalid."] + #[doc = ""] + #[doc = "#Parameters"] + #[doc = ""] + #[doc = "- `protocol_fee`: Percentage of fee to set"] + pub fn set_protocol_fee( + &self, + protocol_fee: runtime_types::sp_arithmetic::per_things::Perbill, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Marketplace", + "set_protocol_fee", + types::SetProtocolFee { protocol_fee }, + [ + 233u8, 47u8, 93u8, 73u8, 97u8, 232u8, 3u8, 181u8, 88u8, 143u8, 110u8, + 42u8, 239u8, 84u8, 103u8, 128u8, 121u8, 20u8, 228u8, 130u8, 250u8, + 125u8, 148u8, 153u8, 40u8, 178u8, 35u8, 84u8, 251u8, 86u8, 15u8, 253u8, + ], + ) + } + #[doc = "Force create a listing. This is only callable by the [`Config::ForceOrigin`]."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "Mostly the same as [`Self::create_listing`], but `deposit_backer` can be included to pay"] + #[doc = "a deposit if `seller` does not have enough."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "Same as [`Self::create_listing`], except `BadOrigin` if the origin is not"] + #[doc = "[`Config::ForceOrigin`]"] + pub fn force_create_listing( + &self, + seller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + make_asset_id: runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + take_asset_id: runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + amount: ::core::primitive::u128, + price: ::core::primitive::u128, + salt: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + auction_data: ::core::option::Option< + runtime_types::pallet_marketplace::features::auction::AuctionData< + ::core::primitive::u32, + >, + >, + deposit_backer: ::core::option::Option< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Marketplace", + "force_create_listing", + types::ForceCreateListing { + seller, + make_asset_id, + take_asset_id, + amount, + price, + salt, + auction_data, + deposit_backer, + }, + [ + 62u8, 106u8, 165u8, 81u8, 190u8, 17u8, 120u8, 168u8, 180u8, 92u8, + 146u8, 169u8, 190u8, 189u8, 153u8, 172u8, 251u8, 225u8, 125u8, 156u8, + 22u8, 61u8, 221u8, 149u8, 52u8, 64u8, 114u8, 178u8, 41u8, 70u8, 230u8, + 255u8, + ], + ) + } + #[doc = "Same as [create_listing](Self::place_bid), but allows specifying the `bidder` and can"] + #[doc = "place a bid in an inactive auction. Only callable by [`Config::ForceOrigin`]. If"] + #[doc = "`funds_backer` is `Some`, it will transfer balance if `bidder` does not have enough."] + pub fn force_place_bid( + &self, + bidder: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + listing_id: ::subxt::utils::H256, + price: ::core::primitive::u128, + funds_backer: ::core::option::Option< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Marketplace", + "force_place_bid", + types::ForcePlaceBid { + bidder, + listing_id, + price, + funds_backer, + }, + [ + 134u8, 161u8, 197u8, 185u8, 134u8, 195u8, 197u8, 27u8, 183u8, 184u8, + 118u8, 30u8, 164u8, 169u8, 18u8, 82u8, 228u8, 154u8, 198u8, 235u8, 5u8, + 117u8, 129u8, 101u8, 220u8, 28u8, 128u8, 124u8, 80u8, 105u8, 41u8, + 161u8, + ], + ) + } + } + } + #[doc = "The Event for this pallet"] + pub type Event = runtime_types::pallet_marketplace::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A listing was created"] + pub struct ListingCreated { + pub listing_id: ::subxt::utils::H256, + pub listing: runtime_types::pallet_marketplace::features::listing::Listing< + ::core::primitive::u128, + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u32, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + } + impl ::subxt::events::StaticEvent for ListingCreated { + const PALLET: &'static str = "Marketplace"; + const EVENT: &'static str = "ListingCreated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A listing was cancelled"] + pub struct ListingCancelled { + pub listing_id: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for ListingCancelled { + const PALLET: &'static str = "Marketplace"; + const EVENT: &'static str = "ListingCancelled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A listing was filled or partially filled"] + pub struct ListingFilled { + pub listing_id: ::subxt::utils::H256, + pub buyer: ::subxt::utils::AccountId32, + pub amount_filled: ::core::primitive::u128, + pub amount_remaining: ::core::primitive::u128, + pub protocol_fee: ::core::primitive::u128, + pub royalty: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for ListingFilled { + const PALLET: &'static str = "Marketplace"; + const EVENT: &'static str = "ListingFilled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A bid was placed"] + pub struct BidPlaced { + pub listing_id: ::subxt::utils::H256, + pub bid: runtime_types::pallet_marketplace::features::auction::Bid< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + } + impl ::subxt::events::StaticEvent for BidPlaced { + const PALLET: &'static str = "Marketplace"; + const EVENT: &'static str = "BidPlaced"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An auction was finalized"] + pub struct AuctionFinalized { + pub listing_id: ::subxt::utils::H256, + pub winning_bid: ::core::option::Option< + runtime_types::pallet_marketplace::features::auction::Bid< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + pub protocol_fee: ::core::primitive::u128, + pub royalty: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for AuctionFinalized { + const PALLET: &'static str = "Marketplace"; + const EVENT: &'static str = "AuctionFinalized"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Protocol fee was set"] + pub struct ProtocolFeeSet { + pub protocol_fee: runtime_types::sp_arithmetic::per_things::Perbill, + } + impl ::subxt::events::StaticEvent for ProtocolFeeSet { + const PALLET: &'static str = "Marketplace"; + const EVENT: &'static str = "ProtocolFeeSet"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Stores information about the marketplace"] + pub fn info( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_marketplace::types::MarketPlaceInfo, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Marketplace", + "Info", + vec![], + [ + 20u8, 11u8, 19u8, 95u8, 183u8, 233u8, 38u8, 27u8, 101u8, 177u8, 134u8, + 213u8, 251u8, 91u8, 116u8, 169u8, 209u8, 191u8, 142u8, 212u8, 212u8, + 65u8, 248u8, 137u8, 39u8, 222u8, 23u8, 25u8, 101u8, 46u8, 171u8, 59u8, + ], + ) + } + #[doc = " Listings by ID"] + pub fn listings_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_marketplace::features::listing::Listing< + ::core::primitive::u128, + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u32, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Marketplace", + "Listings", + vec![], + [ + 118u8, 179u8, 104u8, 232u8, 216u8, 169u8, 144u8, 215u8, 213u8, 120u8, + 175u8, 234u8, 162u8, 109u8, 69u8, 170u8, 242u8, 129u8, 241u8, 142u8, + 0u8, 24u8, 57u8, 175u8, 219u8, 31u8, 121u8, 230u8, 185u8, 193u8, 5u8, + 70u8, + ], + ) + } + #[doc = " Listings by ID"] + pub fn listings( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_marketplace::features::listing::Listing< + ::core::primitive::u128, + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u32, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Marketplace", + "Listings", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 118u8, 179u8, 104u8, 232u8, 216u8, 169u8, 144u8, 215u8, 213u8, 120u8, + 175u8, 234u8, 162u8, 109u8, 69u8, 170u8, 242u8, 129u8, 241u8, 142u8, + 0u8, 24u8, 57u8, 175u8, 219u8, 31u8, 121u8, 230u8, 185u8, 193u8, 5u8, + 70u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The percentage the minimum bid in an auction must increase by"] + pub fn minimum_bid_increase_percentage( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "Marketplace", + "MinimumBidIncreasePercentage", + [ + 65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8, + 114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8, + 200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8, + ], + ) + } + #[doc = " ID used by the pallet for making reservations"] + pub fn reserve_identifier( + &self, + ) -> ::subxt::constants::Address<[::core::primitive::u8; 8usize]> { + ::subxt::constants::Address::new_static( + "Marketplace", + "ReserveIdentifier", + [ + 157u8, 118u8, 79u8, 88u8, 241u8, 22u8, 185u8, 37u8, 42u8, 20u8, 133u8, + 240u8, 11u8, 25u8, 66u8, 154u8, 84u8, 163u8, 78u8, 92u8, 171u8, 82u8, + 248u8, 76u8, 189u8, 70u8, 142u8, 249u8, 153u8, 84u8, 180u8, 60u8, + ], + ) + } + #[doc = " The deposit for creating a listing"] + pub fn listing_deposit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Marketplace", + "ListingDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The delay before a listing is considered active"] + pub fn listing_active_delay( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Marketplace", + "ListingActiveDelay", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The max amount that can be lost due to rounding before failing"] + pub fn max_rounding_error( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Marketplace", + "MaxRoundingError", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Max length of salt used when creating listings and bids"] + pub fn max_salt_length( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Marketplace", + "MaxSaltLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod beefy { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_beefy::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_beefy::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReportEquivocation { + pub equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_beefy::EquivocationProof< + ::core::primitive::u32, + runtime_types::sp_consensus_beefy::crypto::Public, + runtime_types::sp_consensus_beefy::crypto::Signature, + >, + >, + pub key_owner_proof: runtime_types::sp_session::MembershipProof, + } + impl ::subxt::blocks::StaticExtrinsic for ReportEquivocation { + const PALLET: &'static str = "Beefy"; + const CALL: &'static str = "report_equivocation"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReportEquivocationUnsigned { + pub equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_beefy::EquivocationProof< + ::core::primitive::u32, + runtime_types::sp_consensus_beefy::crypto::Public, + runtime_types::sp_consensus_beefy::crypto::Signature, + >, + >, + pub key_owner_proof: runtime_types::sp_session::MembershipProof, + } + impl ::subxt::blocks::StaticExtrinsic for ReportEquivocationUnsigned { + const PALLET: &'static str = "Beefy"; + const CALL: &'static str = "report_equivocation_unsigned"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Report voter equivocation/misbehavior. This method will verify the"] + #[doc = "equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence"] + #[doc = "will be reported."] + pub fn report_equivocation( + &self, + equivocation_proof: runtime_types::sp_consensus_beefy::EquivocationProof< + ::core::primitive::u32, + runtime_types::sp_consensus_beefy::crypto::Public, + runtime_types::sp_consensus_beefy::crypto::Signature, + >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Beefy", + "report_equivocation", + types::ReportEquivocation { + equivocation_proof: ::std::boxed::Box::new(equivocation_proof), + key_owner_proof, + }, + [ + 156u8, 32u8, 92u8, 179u8, 165u8, 93u8, 216u8, 130u8, 121u8, 225u8, + 33u8, 141u8, 255u8, 12u8, 101u8, 136u8, 177u8, 25u8, 23u8, 239u8, 12u8, + 142u8, 88u8, 228u8, 85u8, 171u8, 218u8, 185u8, 146u8, 245u8, 149u8, + 85u8, + ], + ) + } + #[doc = "Report voter equivocation/misbehavior. This method will verify the"] + #[doc = "equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence"] + #[doc = "will be reported."] + #[doc = ""] + #[doc = "This extrinsic must be called unsigned and it is expected that only"] + #[doc = "block authors will call it (validated in `ValidateUnsigned`), as such"] + #[doc = "if the block author is defined it will be defined as the equivocation"] + #[doc = "reporter."] + pub fn report_equivocation_unsigned( + &self, + equivocation_proof: runtime_types::sp_consensus_beefy::EquivocationProof< + ::core::primitive::u32, + runtime_types::sp_consensus_beefy::crypto::Public, + runtime_types::sp_consensus_beefy::crypto::Signature, + >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Beefy", + "report_equivocation_unsigned", + types::ReportEquivocationUnsigned { + equivocation_proof: ::std::boxed::Box::new(equivocation_proof), + key_owner_proof, + }, + [ + 126u8, 201u8, 236u8, 234u8, 107u8, 52u8, 37u8, 115u8, 228u8, 232u8, + 103u8, 193u8, 143u8, 224u8, 79u8, 192u8, 207u8, 204u8, 161u8, 103u8, + 210u8, 131u8, 64u8, 251u8, 48u8, 196u8, 249u8, 148u8, 2u8, 179u8, + 135u8, 121u8, + ], + ) + } + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The current authorities set"] + pub fn authorities( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::sp_consensus_beefy::crypto::Public, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Beefy", + "Authorities", + vec![], + [ + 53u8, 171u8, 94u8, 33u8, 46u8, 83u8, 105u8, 120u8, 123u8, 201u8, 141u8, + 71u8, 131u8, 150u8, 51u8, 121u8, 67u8, 45u8, 249u8, 146u8, 85u8, 113u8, + 23u8, 59u8, 59u8, 41u8, 0u8, 226u8, 98u8, 166u8, 253u8, 59u8, + ], + ) + } + #[doc = " The current validator set id"] + pub fn validator_set_id( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u64, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Beefy", + "ValidatorSetId", + vec![], + [ + 168u8, 84u8, 23u8, 134u8, 153u8, 30u8, 183u8, 176u8, 206u8, 100u8, + 109u8, 86u8, 109u8, 126u8, 146u8, 175u8, 173u8, 1u8, 253u8, 42u8, + 122u8, 207u8, 71u8, 4u8, 145u8, 83u8, 148u8, 29u8, 243u8, 52u8, 29u8, + 78u8, + ], + ) + } + #[doc = " Authorities set scheduled to be used with the next session"] + pub fn next_authorities( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::sp_consensus_beefy::crypto::Public, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Beefy", + "NextAuthorities", + vec![], + [ + 87u8, 180u8, 0u8, 85u8, 209u8, 13u8, 131u8, 103u8, 8u8, 226u8, 42u8, + 72u8, 38u8, 47u8, 190u8, 78u8, 62u8, 4u8, 161u8, 130u8, 87u8, 196u8, + 13u8, 209u8, 205u8, 98u8, 104u8, 91u8, 3u8, 47u8, 82u8, 11u8, + ], + ) + } + #[doc = " A mapping from BEEFY set ID to the index of the *most recent* session for which its"] + #[doc = " members were responsible."] + #[doc = ""] + #[doc = " This is only used for validating equivocation proofs. An equivocation proof must"] + #[doc = " contains a key-ownership proof for a given session, therefore we need a way to tie"] + #[doc = " together sessions and BEEFY set ids, i.e. we need to validate that a validator"] + #[doc = " was the owner of a given key on a given session, and what the active set ID was"] + #[doc = " during that session."] + #[doc = ""] + #[doc = " TWOX-NOTE: `ValidatorSetId` is not under user control."] + pub fn set_id_session_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Beefy", + "SetIdSession", + vec![], + [ + 47u8, 0u8, 239u8, 121u8, 187u8, 213u8, 254u8, 50u8, 238u8, 10u8, 162u8, + 65u8, 189u8, 166u8, 37u8, 74u8, 82u8, 81u8, 160u8, 20u8, 180u8, 253u8, + 238u8, 18u8, 209u8, 203u8, 38u8, 148u8, 16u8, 105u8, 72u8, 169u8, + ], + ) + } + #[doc = " A mapping from BEEFY set ID to the index of the *most recent* session for which its"] + #[doc = " members were responsible."] + #[doc = ""] + #[doc = " This is only used for validating equivocation proofs. An equivocation proof must"] + #[doc = " contains a key-ownership proof for a given session, therefore we need a way to tie"] + #[doc = " together sessions and BEEFY set ids, i.e. we need to validate that a validator"] + #[doc = " was the owner of a given key on a given session, and what the active set ID was"] + #[doc = " during that session."] + #[doc = ""] + #[doc = " TWOX-NOTE: `ValidatorSetId` is not under user control."] + pub fn set_id_session( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u64>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Beefy", + "SetIdSession", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 47u8, 0u8, 239u8, 121u8, 187u8, 213u8, 254u8, 50u8, 238u8, 10u8, 162u8, + 65u8, 189u8, 166u8, 37u8, 74u8, 82u8, 81u8, 160u8, 20u8, 180u8, 253u8, + 238u8, 18u8, 209u8, 203u8, 38u8, 148u8, 16u8, 105u8, 72u8, 169u8, + ], + ) + } + #[doc = " Block number where BEEFY consensus is enabled/started."] + #[doc = " By changing this (through governance or sudo), BEEFY consensus is effectively"] + #[doc = " restarted from the new block number."] + pub fn genesis_block( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::option::Option<::core::primitive::u32>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Beefy", + "GenesisBlock", + vec![], + [ + 198u8, 155u8, 11u8, 240u8, 189u8, 245u8, 159u8, 127u8, 55u8, 33u8, + 48u8, 29u8, 209u8, 119u8, 163u8, 24u8, 28u8, 22u8, 163u8, 163u8, 124u8, + 88u8, 126u8, 4u8, 193u8, 158u8, 29u8, 243u8, 212u8, 4u8, 41u8, 22u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The maximum number of authorities that can be added."] + pub fn max_authorities( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Beefy", + "MaxAuthorities", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The maximum number of entries to keep in the set id to session index mapping."] + #[doc = ""] + #[doc = " Since the `SetIdSession` map is only used for validating equivocations this"] + #[doc = " value should relate to the bonding duration of whatever staking system is"] + #[doc = " being used (if any). If equivocation handling is not enabled then this value"] + #[doc = " can be zero."] + pub fn max_set_id_session_entries( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u64> { + ::subxt::constants::Address::new_static( + "Beefy", + "MaxSetIdSessionEntries", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) + } + } + } + } + pub mod mmr { + use super::root_mod; + use super::runtime_types; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Latest MMR Root hash."] + pub fn root_hash( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Mmr", + "RootHash", + vec![], + [ + 111u8, 206u8, 173u8, 92u8, 67u8, 49u8, 150u8, 113u8, 90u8, 245u8, 38u8, + 254u8, 76u8, 250u8, 167u8, 66u8, 130u8, 129u8, 251u8, 220u8, 172u8, + 229u8, 162u8, 251u8, 36u8, 227u8, 43u8, 189u8, 7u8, 106u8, 23u8, 13u8, + ], + ) + } + #[doc = " Current size of the MMR (number of leaves)."] + pub fn number_of_leaves( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u64, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Mmr", + "NumberOfLeaves", + vec![], + [ + 123u8, 58u8, 149u8, 174u8, 85u8, 45u8, 20u8, 115u8, 241u8, 0u8, 51u8, + 174u8, 234u8, 60u8, 230u8, 59u8, 237u8, 144u8, 170u8, 32u8, 4u8, 0u8, + 34u8, 163u8, 238u8, 205u8, 93u8, 208u8, 53u8, 38u8, 141u8, 195u8, + ], + ) + } + #[doc = " Hashes of the nodes in the MMR."] + #[doc = ""] + #[doc = " Note this collection only contains MMR peaks, the inner nodes (and leaves)"] + #[doc = " are pruned and only stored in the Offchain DB."] + pub fn nodes_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Mmr", + "Nodes", + vec![], + [ + 27u8, 84u8, 41u8, 195u8, 146u8, 81u8, 211u8, 189u8, 63u8, 125u8, 173u8, + 206u8, 69u8, 198u8, 202u8, 213u8, 89u8, 31u8, 89u8, 177u8, 76u8, 154u8, + 249u8, 197u8, 133u8, 78u8, 142u8, 71u8, 183u8, 3u8, 132u8, 25u8, + ], + ) + } + #[doc = " Hashes of the nodes in the MMR."] + #[doc = ""] + #[doc = " Note this collection only contains MMR peaks, the inner nodes (and leaves)"] + #[doc = " are pruned and only stored in the Offchain DB."] + pub fn nodes( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u64>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Mmr", + "Nodes", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 27u8, 84u8, 41u8, 195u8, 146u8, 81u8, 211u8, 189u8, 63u8, 125u8, 173u8, + 206u8, 69u8, 198u8, 202u8, 213u8, 89u8, 31u8, 89u8, 177u8, 76u8, 154u8, + 249u8, 197u8, 133u8, 78u8, 142u8, 71u8, 183u8, 3u8, 132u8, 25u8, + ], + ) + } + } + } + } + pub mod mmr_leaf { + use super::root_mod; + use super::runtime_types; + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Details of current BEEFY authority set."] + pub fn beefy_authorities( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_consensus_beefy::mmr::BeefyAuthoritySet<::subxt::utils::H256>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "MmrLeaf", + "BeefyAuthorities", + vec![], + [ + 48u8, 167u8, 201u8, 190u8, 42u8, 202u8, 83u8, 148u8, 32u8, 147u8, 62u8, + 243u8, 220u8, 73u8, 38u8, 233u8, 253u8, 1u8, 112u8, 140u8, 174u8, 11u8, + 186u8, 105u8, 188u8, 136u8, 49u8, 169u8, 63u8, 107u8, 84u8, 165u8, + ], + ) + } + #[doc = " Details of next BEEFY authority set."] + #[doc = ""] + #[doc = " This storage entry is used as cache for calls to `update_beefy_next_authority_set`."] + pub fn beefy_next_authorities( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_consensus_beefy::mmr::BeefyAuthoritySet<::subxt::utils::H256>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "MmrLeaf", + "BeefyNextAuthorities", + vec![], + [ + 197u8, 238u8, 15u8, 27u8, 122u8, 53u8, 198u8, 78u8, 9u8, 47u8, 72u8, + 51u8, 91u8, 209u8, 54u8, 149u8, 187u8, 203u8, 123u8, 108u8, 61u8, + 218u8, 83u8, 108u8, 101u8, 59u8, 244u8, 64u8, 131u8, 67u8, 26u8, 61u8, + ], + ) + } + } + } + } + pub mod scheduler { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_scheduler::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_scheduler::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Schedule { + pub when: ::core::primitive::u32, + pub maybe_periodic: + ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, + pub priority: ::core::primitive::u8, + pub call: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for Schedule { + const PALLET: &'static str = "Scheduler"; + const CALL: &'static str = "schedule"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Cancel { + pub when: ::core::primitive::u32, + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for Cancel { + const PALLET: &'static str = "Scheduler"; + const CALL: &'static str = "cancel"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ScheduleNamed { + pub id: [::core::primitive::u8; 32usize], + pub when: ::core::primitive::u32, + pub maybe_periodic: + ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, + pub priority: ::core::primitive::u8, + pub call: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for ScheduleNamed { + const PALLET: &'static str = "Scheduler"; + const CALL: &'static str = "schedule_named"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelNamed { + pub id: [::core::primitive::u8; 32usize], + } + impl ::subxt::blocks::StaticExtrinsic for CancelNamed { + const PALLET: &'static str = "Scheduler"; + const CALL: &'static str = "cancel_named"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ScheduleAfter { + pub after: ::core::primitive::u32, + pub maybe_periodic: + ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, + pub priority: ::core::primitive::u8, + pub call: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for ScheduleAfter { + const PALLET: &'static str = "Scheduler"; + const CALL: &'static str = "schedule_after"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ScheduleNamedAfter { + pub id: [::core::primitive::u8; 32usize], + pub after: ::core::primitive::u32, + pub maybe_periodic: + ::core::option::Option<(::core::primitive::u32, ::core::primitive::u32)>, + pub priority: ::core::primitive::u8, + pub call: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for ScheduleNamedAfter { + const PALLET: &'static str = "Scheduler"; + const CALL: &'static str = "schedule_named_after"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Anonymously schedule a task."] + pub fn schedule( + &self, + when: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: runtime_types::enjin_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Scheduler", + "schedule", + types::Schedule { + when, + maybe_periodic, + priority, + call: ::std::boxed::Box::new(call), + }, + [ + 2u8, 188u8, 201u8, 194u8, 49u8, 73u8, 207u8, 186u8, 239u8, 93u8, 78u8, + 55u8, 91u8, 26u8, 32u8, 242u8, 31u8, 146u8, 108u8, 119u8, 50u8, 67u8, + 9u8, 178u8, 91u8, 216u8, 235u8, 12u8, 42u8, 53u8, 28u8, 225u8, + ], + ) + } + #[doc = "Cancel an anonymously scheduled task."] + pub fn cancel( + &self, + when: ::core::primitive::u32, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Scheduler", + "cancel", + types::Cancel { when, index }, + [ + 183u8, 204u8, 143u8, 86u8, 17u8, 130u8, 132u8, 91u8, 133u8, 168u8, + 103u8, 129u8, 114u8, 56u8, 123u8, 42u8, 123u8, 120u8, 221u8, 211u8, + 26u8, 85u8, 82u8, 246u8, 192u8, 39u8, 254u8, 45u8, 147u8, 56u8, 178u8, + 133u8, + ], + ) + } + #[doc = "Schedule a named task."] + pub fn schedule_named( + &self, + id: [::core::primitive::u8; 32usize], + when: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: runtime_types::enjin_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Scheduler", + "schedule_named", + types::ScheduleNamed { + id, + when, + maybe_periodic, + priority, + call: ::std::boxed::Box::new(call), + }, + [ + 233u8, 201u8, 38u8, 68u8, 100u8, 114u8, 92u8, 149u8, 173u8, 140u8, + 187u8, 252u8, 179u8, 221u8, 6u8, 37u8, 68u8, 246u8, 173u8, 30u8, 72u8, + 88u8, 241u8, 170u8, 248u8, 175u8, 142u8, 157u8, 203u8, 184u8, 243u8, + 139u8, + ], + ) + } + #[doc = "Cancel a named scheduled task."] + pub fn cancel_named( + &self, + id: [::core::primitive::u8; 32usize], + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Scheduler", + "cancel_named", + types::CancelNamed { id }, + [ + 205u8, 35u8, 28u8, 57u8, 224u8, 7u8, 49u8, 233u8, 236u8, 163u8, 93u8, + 236u8, 103u8, 69u8, 65u8, 51u8, 121u8, 84u8, 9u8, 196u8, 147u8, 122u8, + 227u8, 200u8, 181u8, 233u8, 62u8, 240u8, 174u8, 83u8, 129u8, 193u8, + ], + ) + } + #[doc = "Anonymously schedule a task after a delay."] + pub fn schedule_after( + &self, + after: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: runtime_types::enjin_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Scheduler", + "schedule_after", + types::ScheduleAfter { + after, + maybe_periodic, + priority, + call: ::std::boxed::Box::new(call), + }, + [ + 233u8, 106u8, 24u8, 175u8, 145u8, 10u8, 185u8, 0u8, 70u8, 158u8, 180u8, + 78u8, 99u8, 114u8, 176u8, 106u8, 151u8, 108u8, 180u8, 33u8, 172u8, + 105u8, 218u8, 140u8, 173u8, 20u8, 136u8, 164u8, 47u8, 10u8, 219u8, + 11u8, + ], + ) + } + #[doc = "Schedule a named task after a delay."] + pub fn schedule_named_after( + &self, + id: [::core::primitive::u8; 32usize], + after: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: runtime_types::enjin_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Scheduler", + "schedule_named_after", + types::ScheduleNamedAfter { + id, + after, + maybe_periodic, + priority, + call: ::std::boxed::Box::new(call), + }, + [ + 173u8, 229u8, 12u8, 20u8, 254u8, 174u8, 200u8, 200u8, 163u8, 17u8, + 22u8, 111u8, 35u8, 10u8, 107u8, 81u8, 45u8, 143u8, 173u8, 235u8, 39u8, + 76u8, 151u8, 241u8, 90u8, 99u8, 221u8, 19u8, 56u8, 170u8, 157u8, 20u8, + ], + ) + } + } + } + #[doc = "Events type."] + pub type Event = runtime_types::pallet_scheduler::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Scheduled some task."] + pub struct Scheduled { + pub when: ::core::primitive::u32, + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Scheduled { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "Scheduled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Canceled some task."] + pub struct Canceled { + pub when: ::core::primitive::u32, + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Canceled { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "Canceled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Dispatched some task."] + pub struct Dispatched { + pub task: (::core::primitive::u32, ::core::primitive::u32), + pub id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + pub result: ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + } + impl ::subxt::events::StaticEvent for Dispatched { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "Dispatched"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The call for the provided hash was not found so the task has been aborted."] + pub struct CallUnavailable { + pub task: (::core::primitive::u32, ::core::primitive::u32), + pub id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + } + impl ::subxt::events::StaticEvent for CallUnavailable { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "CallUnavailable"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The given task was unable to be renewed since the agenda is full at that block."] + pub struct PeriodicFailed { + pub task: (::core::primitive::u32, ::core::primitive::u32), + pub id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + } + impl ::subxt::events::StaticEvent for PeriodicFailed { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "PeriodicFailed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The given task can never be executed since it is overweight."] + pub struct PermanentlyOverweight { + pub task: (::core::primitive::u32, ::core::primitive::u32), + pub id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + } + impl ::subxt::events::StaticEvent for PermanentlyOverweight { + const PALLET: &'static str = "Scheduler"; + const EVENT: &'static str = "PermanentlyOverweight"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + pub fn incomplete_since( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Scheduler", + "IncompleteSince", + vec![], + [ + 250u8, 83u8, 64u8, 167u8, 205u8, 59u8, 225u8, 97u8, 205u8, 12u8, 76u8, + 130u8, 197u8, 4u8, 111u8, 208u8, 92u8, 217u8, 145u8, 119u8, 38u8, + 135u8, 1u8, 242u8, 228u8, 143u8, 56u8, 25u8, 115u8, 233u8, 227u8, 66u8, + ], + ) + } + #[doc = " Items to be executed, indexed by the block number that they should be executed on."] + pub fn agenda_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::option::Option< + runtime_types::pallet_scheduler::Scheduled< + [::core::primitive::u8; 32usize], + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + ::core::primitive::u32, + runtime_types::enjin_runtime::OriginCaller, + ::subxt::utils::AccountId32, + >, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Scheduler", + "Agenda", + vec![], + [ + 114u8, 156u8, 37u8, 111u8, 243u8, 148u8, 4u8, 124u8, 134u8, 110u8, + 43u8, 13u8, 63u8, 113u8, 28u8, 14u8, 1u8, 96u8, 75u8, 13u8, 83u8, + 150u8, 65u8, 44u8, 250u8, 117u8, 168u8, 215u8, 169u8, 28u8, 255u8, + 128u8, + ], + ) + } + #[doc = " Items to be executed, indexed by the block number that they should be executed on."] + pub fn agenda( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::option::Option< + runtime_types::pallet_scheduler::Scheduled< + [::core::primitive::u8; 32usize], + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + ::core::primitive::u32, + runtime_types::enjin_runtime::OriginCaller, + ::subxt::utils::AccountId32, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Scheduler", + "Agenda", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 114u8, 156u8, 37u8, 111u8, 243u8, 148u8, 4u8, 124u8, 134u8, 110u8, + 43u8, 13u8, 63u8, 113u8, 28u8, 14u8, 1u8, 96u8, 75u8, 13u8, 83u8, + 150u8, 65u8, 44u8, 250u8, 117u8, 168u8, 215u8, 169u8, 28u8, 255u8, + 128u8, + ], + ) + } + #[doc = " Lookup from a name to the block number and index of the task."] + #[doc = ""] + #[doc = " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4"] + #[doc = " identities."] + pub fn lookup_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (::core::primitive::u32, ::core::primitive::u32), + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Scheduler", + "Lookup", + vec![], + [ + 24u8, 87u8, 96u8, 127u8, 136u8, 205u8, 238u8, 174u8, 71u8, 110u8, 65u8, + 98u8, 228u8, 167u8, 99u8, 71u8, 171u8, 186u8, 12u8, 218u8, 137u8, 70u8, + 70u8, 228u8, 153u8, 111u8, 165u8, 114u8, 229u8, 136u8, 118u8, 131u8, + ], + ) + } + #[doc = " Lookup from a name to the block number and index of the task."] + #[doc = ""] + #[doc = " For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4"] + #[doc = " identities."] + pub fn lookup( + &self, + _0: impl ::std::borrow::Borrow<[::core::primitive::u8; 32usize]>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (::core::primitive::u32, ::core::primitive::u32), + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Scheduler", + "Lookup", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 24u8, 87u8, 96u8, 127u8, 136u8, 205u8, 238u8, 174u8, 71u8, 110u8, 65u8, + 98u8, 228u8, 167u8, 99u8, 71u8, 171u8, 186u8, 12u8, 218u8, 137u8, 70u8, + 70u8, 228u8, 153u8, 111u8, 165u8, 114u8, 229u8, 136u8, 118u8, 131u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The maximum weight that may be scheduled per block for any dispatchables."] + pub fn maximum_weight( + &self, + ) -> ::subxt::constants::Address + { + ::subxt::constants::Address::new_static( + "Scheduler", + "MaximumWeight", + [ + 149u8, 252u8, 129u8, 80u8, 169u8, 36u8, 79u8, 127u8, 240u8, 156u8, + 56u8, 202u8, 219u8, 86u8, 5u8, 65u8, 245u8, 148u8, 138u8, 243u8, 210u8, + 128u8, 234u8, 216u8, 240u8, 219u8, 123u8, 235u8, 21u8, 158u8, 237u8, + 112u8, + ], + ) + } + #[doc = " The maximum number of scheduled calls in the queue for a single block."] + #[doc = ""] + #[doc = " NOTE:"] + #[doc = " + Dependent pallets' benchmarks might require a higher limit for the setting. Set a"] + #[doc = " higher limit under `runtime-benchmarks` feature."] + pub fn max_scheduled_per_block( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Scheduler", + "MaxScheduledPerBlock", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod preimage { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_preimage::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_preimage::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct NotePreimage { + pub bytes: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for NotePreimage { + const PALLET: &'static str = "Preimage"; + const CALL: &'static str = "note_preimage"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UnnotePreimage { + pub hash: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for UnnotePreimage { + const PALLET: &'static str = "Preimage"; + const CALL: &'static str = "unnote_preimage"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RequestPreimage { + pub hash: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for RequestPreimage { + const PALLET: &'static str = "Preimage"; + const CALL: &'static str = "request_preimage"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UnrequestPreimage { + pub hash: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for UnrequestPreimage { + const PALLET: &'static str = "Preimage"; + const CALL: &'static str = "unrequest_preimage"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Register a preimage on-chain."] + #[doc = ""] + #[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"] + #[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."] + pub fn note_preimage( + &self, + bytes: ::std::vec::Vec<::core::primitive::u8>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Preimage", + "note_preimage", + types::NotePreimage { bytes }, + [ + 121u8, 88u8, 18u8, 92u8, 176u8, 15u8, 192u8, 198u8, 146u8, 198u8, 38u8, + 242u8, 213u8, 83u8, 7u8, 230u8, 14u8, 110u8, 235u8, 32u8, 215u8, 26u8, + 192u8, 217u8, 113u8, 224u8, 206u8, 96u8, 177u8, 198u8, 246u8, 33u8, + ], + ) + } + #[doc = "Clear an unrequested preimage from the runtime storage."] + #[doc = ""] + #[doc = "If `len` is provided, then it will be a much cheaper operation."] + #[doc = ""] + #[doc = "- `hash`: The hash of the preimage to be removed from the store."] + #[doc = "- `len`: The length of the preimage of `hash`."] + pub fn unnote_preimage( + &self, + hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Preimage", + "unnote_preimage", + types::UnnotePreimage { hash }, + [ + 188u8, 116u8, 222u8, 22u8, 127u8, 215u8, 2u8, 133u8, 96u8, 202u8, + 190u8, 123u8, 203u8, 43u8, 200u8, 161u8, 226u8, 24u8, 49u8, 36u8, + 221u8, 160u8, 130u8, 119u8, 30u8, 138u8, 144u8, 85u8, 5u8, 164u8, + 252u8, 222u8, + ], + ) + } + #[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."] + #[doc = ""] + #[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"] + #[doc = "a user may have paid, and take the control of the preimage out of their hands."] + pub fn request_preimage( + &self, + hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Preimage", + "request_preimage", + types::RequestPreimage { hash }, + [ + 87u8, 0u8, 204u8, 111u8, 43u8, 115u8, 64u8, 209u8, 133u8, 13u8, 83u8, + 45u8, 164u8, 166u8, 233u8, 105u8, 242u8, 238u8, 235u8, 208u8, 113u8, + 134u8, 93u8, 242u8, 86u8, 32u8, 7u8, 152u8, 107u8, 208u8, 79u8, 59u8, + ], + ) + } + #[doc = "Clear a previously made request for a preimage."] + #[doc = ""] + #[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."] + pub fn unrequest_preimage( + &self, + hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Preimage", + "unrequest_preimage", + types::UnrequestPreimage { hash }, + [ + 55u8, 37u8, 224u8, 149u8, 142u8, 120u8, 8u8, 68u8, 183u8, 225u8, 255u8, + 240u8, 254u8, 111u8, 58u8, 200u8, 113u8, 217u8, 177u8, 203u8, 107u8, + 104u8, 233u8, 87u8, 252u8, 53u8, 33u8, 112u8, 116u8, 254u8, 117u8, + 134u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_preimage::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A preimage has been noted."] + pub struct Noted { + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Noted { + const PALLET: &'static str = "Preimage"; + const EVENT: &'static str = "Noted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A preimage has been requested."] + pub struct Requested { + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Requested { + const PALLET: &'static str = "Preimage"; + const EVENT: &'static str = "Requested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A preimage has ben cleared."] + pub struct Cleared { + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for Cleared { + const PALLET: &'static str = "Preimage"; + const EVENT: &'static str = "Cleared"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The request status of a given hash."] + pub fn status_for_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_preimage::RequestStatus< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Preimage", + "StatusFor", + vec![], + [ + 187u8, 100u8, 54u8, 112u8, 96u8, 129u8, 36u8, 149u8, 127u8, 226u8, + 126u8, 171u8, 72u8, 189u8, 59u8, 126u8, 204u8, 125u8, 67u8, 204u8, + 231u8, 6u8, 212u8, 135u8, 166u8, 252u8, 5u8, 46u8, 111u8, 120u8, 54u8, + 209u8, + ], + ) + } + #[doc = " The request status of a given hash."] + pub fn status_for( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_preimage::RequestStatus< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Preimage", + "StatusFor", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 187u8, 100u8, 54u8, 112u8, 96u8, 129u8, 36u8, 149u8, 127u8, 226u8, + 126u8, 171u8, 72u8, 189u8, 59u8, 126u8, 204u8, 125u8, 67u8, 204u8, + 231u8, 6u8, 212u8, 135u8, 166u8, 252u8, 5u8, 46u8, 111u8, 120u8, 54u8, + 209u8, + ], + ) + } + pub fn preimage_for_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Preimage", + "PreimageFor", + vec![], + [ + 106u8, 5u8, 17u8, 46u8, 6u8, 184u8, 177u8, 113u8, 169u8, 34u8, 119u8, + 141u8, 117u8, 40u8, 30u8, 94u8, 187u8, 35u8, 206u8, 216u8, 143u8, + 208u8, 49u8, 156u8, 200u8, 255u8, 109u8, 200u8, 210u8, 134u8, 24u8, + 139u8, + ], + ) + } + pub fn preimage_for_iter1( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Preimage", + "PreimageFor", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 106u8, 5u8, 17u8, 46u8, 6u8, 184u8, 177u8, 113u8, 169u8, 34u8, 119u8, + 141u8, 117u8, 40u8, 30u8, 94u8, 187u8, 35u8, 206u8, 216u8, 143u8, + 208u8, 49u8, 156u8, 200u8, 255u8, 109u8, 200u8, 210u8, 134u8, 24u8, + 139u8, + ], + ) + } + pub fn preimage_for( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Preimage", + "PreimageFor", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 106u8, 5u8, 17u8, 46u8, 6u8, 184u8, 177u8, 113u8, 169u8, 34u8, 119u8, + 141u8, 117u8, 40u8, 30u8, 94u8, 187u8, 35u8, 206u8, 216u8, 143u8, + 208u8, 49u8, 156u8, 200u8, 255u8, 109u8, 200u8, 210u8, 134u8, 24u8, + 139u8, + ], + ) + } + } + } + } + pub mod conviction_voting { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_conviction_voting::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_conviction_voting::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Vote { + #[codec(compact)] + pub poll_index: ::core::primitive::u32, + pub vote: runtime_types::pallet_conviction_voting::vote::AccountVote< + ::core::primitive::u128, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Vote { + const PALLET: &'static str = "ConvictionVoting"; + const CALL: &'static str = "vote"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Delegate { + pub class: ::core::primitive::u16, + pub to: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub conviction: runtime_types::pallet_conviction_voting::conviction::Conviction, + pub balance: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for Delegate { + const PALLET: &'static str = "ConvictionVoting"; + const CALL: &'static str = "delegate"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Undelegate { + pub class: ::core::primitive::u16, + } + impl ::subxt::blocks::StaticExtrinsic for Undelegate { + const PALLET: &'static str = "ConvictionVoting"; + const CALL: &'static str = "undelegate"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Unlock { + pub class: ::core::primitive::u16, + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for Unlock { + const PALLET: &'static str = "ConvictionVoting"; + const CALL: &'static str = "unlock"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveVote { + pub class: ::core::option::Option<::core::primitive::u16>, + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveVote { + const PALLET: &'static str = "ConvictionVoting"; + const CALL: &'static str = "remove_vote"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveOtherVote { + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub class: ::core::primitive::u16, + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveOtherVote { + const PALLET: &'static str = "ConvictionVoting"; + const CALL: &'static str = "remove_other_vote"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"] + #[doc = "otherwise it is a vote to keep the status quo."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `poll_index`: The index of the poll to vote for."] + #[doc = "- `vote`: The vote configuration."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."] + pub fn vote( + &self, + poll_index: ::core::primitive::u32, + vote: runtime_types::pallet_conviction_voting::vote::AccountVote< + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ConvictionVoting", + "vote", + types::Vote { poll_index, vote }, + [ + 57u8, 170u8, 177u8, 168u8, 158u8, 43u8, 87u8, 242u8, 176u8, 85u8, + 230u8, 64u8, 103u8, 239u8, 190u8, 6u8, 228u8, 165u8, 248u8, 77u8, + 231u8, 221u8, 186u8, 107u8, 249u8, 201u8, 226u8, 52u8, 129u8, 90u8, + 142u8, 159u8, + ], + ) + } + #[doc = "Delegate the voting power (with some given conviction) of the sending account for a"] + #[doc = "particular class of polls."] + #[doc = ""] + #[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"] + #[doc = "time appropriate for the conviction's lock period."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"] + #[doc = " - be delegating already; or"] + #[doc = " - have no voting activity (if there is, then it will need to be removed/consolidated"] + #[doc = " through `reap_vote` or `unvote`)."] + #[doc = ""] + #[doc = "- `to`: The account whose voting the `target` account's voting power will follow."] + #[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"] + #[doc = " to this function are required."] + #[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"] + #[doc = " account is undelegated, the funds will be locked for the corresponding period."] + #[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"] + #[doc = " be more than the account's current balance."] + #[doc = ""] + #[doc = "Emits `Delegated`."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"] + #[doc = " voted on. Weight is initially charged as if maximum votes, but is refunded later."] + pub fn delegate( + &self, + class: ::core::primitive::u16, + to: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + conviction: runtime_types::pallet_conviction_voting::conviction::Conviction, + balance: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ConvictionVoting", + "delegate", + types::Delegate { + class, + to, + conviction, + balance, + }, + [ + 223u8, 143u8, 33u8, 94u8, 32u8, 156u8, 43u8, 40u8, 142u8, 134u8, 209u8, + 134u8, 255u8, 179u8, 97u8, 46u8, 8u8, 140u8, 5u8, 29u8, 76u8, 22u8, + 36u8, 7u8, 108u8, 190u8, 220u8, 151u8, 10u8, 47u8, 89u8, 55u8, + ], + ) + } + #[doc = "Undelegate the voting power of the sending account for a particular class of polls."] + #[doc = ""] + #[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"] + #[doc = "of the conviction with which the delegation was issued has passed."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"] + #[doc = "currently delegating."] + #[doc = ""] + #[doc = "- `class`: The class of polls to remove the delegation from."] + #[doc = ""] + #[doc = "Emits `Undelegated`."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"] + #[doc = " voted on. Weight is initially charged as if maximum votes, but is refunded later."] + pub fn undelegate( + &self, + class: ::core::primitive::u16, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ConvictionVoting", + "undelegate", + types::Undelegate { class }, + [ + 140u8, 232u8, 6u8, 53u8, 228u8, 8u8, 131u8, 144u8, 65u8, 66u8, 245u8, + 247u8, 147u8, 135u8, 198u8, 57u8, 82u8, 212u8, 89u8, 46u8, 236u8, + 168u8, 200u8, 220u8, 93u8, 168u8, 101u8, 29u8, 110u8, 76u8, 67u8, + 181u8, + ], + ) + } + #[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"] + #[doc = "class."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `class`: The class of polls to unlock."] + #[doc = "- `target`: The account to remove the lock on."] + #[doc = ""] + #[doc = "Weight: `O(R)` with R number of vote of target."] + pub fn unlock( + &self, + class: ::core::primitive::u16, + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ConvictionVoting", + "unlock", + types::Unlock { class, target }, + [ + 79u8, 5u8, 252u8, 237u8, 109u8, 238u8, 157u8, 237u8, 125u8, 171u8, + 65u8, 160u8, 102u8, 192u8, 5u8, 141u8, 179u8, 249u8, 253u8, 213u8, + 105u8, 251u8, 241u8, 145u8, 186u8, 177u8, 244u8, 139u8, 71u8, 140u8, + 173u8, 108u8, + ], + ) + } + #[doc = "Remove a vote for a poll."] + #[doc = ""] + #[doc = "If:"] + #[doc = "- the poll was cancelled, or"] + #[doc = "- the poll is ongoing, or"] + #[doc = "- the poll has ended such that"] + #[doc = " - the vote of the account was in opposition to the result; or"] + #[doc = " - there was no conviction to the account's vote; or"] + #[doc = " - the account made a split vote"] + #[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"] + #[doc = "funds being available."] + #[doc = ""] + #[doc = "If, however, the poll has ended and:"] + #[doc = "- it finished corresponding to the vote of the account, and"] + #[doc = "- the account made a standard vote with conviction, and"] + #[doc = "- the lock period of the conviction is not over"] + #[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"] + #[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"] + #[doc = "of both the amount locked and the time is it locked for)."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"] + #[doc = "registered for poll `index`."] + #[doc = ""] + #[doc = "- `index`: The index of poll of the vote to be removed."] + #[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"] + #[doc = " which have finished or are cancelled, this must be `Some`."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + pub fn remove_vote( + &self, + class: ::core::option::Option<::core::primitive::u16>, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ConvictionVoting", + "remove_vote", + types::RemoveVote { class, index }, + [ + 255u8, 108u8, 211u8, 146u8, 168u8, 231u8, 207u8, 44u8, 76u8, 24u8, + 235u8, 60u8, 23u8, 79u8, 192u8, 192u8, 46u8, 40u8, 134u8, 27u8, 125u8, + 114u8, 125u8, 247u8, 85u8, 102u8, 76u8, 159u8, 34u8, 167u8, 152u8, + 148u8, + ], + ) + } + #[doc = "Remove a vote for a poll."] + #[doc = ""] + #[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"] + #[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"] + #[doc = "either because the poll was cancelled, because the voter lost the poll or"] + #[doc = "because the conviction period is over."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"] + #[doc = " `index`."] + #[doc = "- `index`: The index of poll of the vote to be removed."] + #[doc = "- `class`: The class of the poll."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + pub fn remove_other_vote( + &self, + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + class: ::core::primitive::u16, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "ConvictionVoting", + "remove_other_vote", + types::RemoveOtherVote { + target, + class, + index, + }, + [ + 165u8, 26u8, 166u8, 37u8, 10u8, 174u8, 243u8, 10u8, 73u8, 93u8, 213u8, + 69u8, 200u8, 16u8, 48u8, 146u8, 160u8, 92u8, 28u8, 26u8, 158u8, 55u8, + 6u8, 251u8, 36u8, 132u8, 46u8, 195u8, 107u8, 34u8, 0u8, 100u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_conviction_voting::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account has delegated their vote to another account. \\[who, target\\]"] + pub struct Delegated( + pub ::subxt::utils::AccountId32, + pub ::subxt::utils::AccountId32, + ); + impl ::subxt::events::StaticEvent for Delegated { + const PALLET: &'static str = "ConvictionVoting"; + const EVENT: &'static str = "Delegated"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An \\[account\\] has cancelled a previous delegation operation."] + pub struct Undelegated(pub ::subxt::utils::AccountId32); + impl ::subxt::events::StaticEvent for Undelegated { + const PALLET: &'static str = "ConvictionVoting"; + const EVENT: &'static str = "Undelegated"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"] + #[doc = " number of votes that we have recorded."] + pub fn voting_for_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_conviction_voting::vote::Voting< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u32, + ::core::primitive::u32, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ConvictionVoting", + "VotingFor", + vec![], + [ + 76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8, + 56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8, + 12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8, + ], + ) + } + #[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"] + #[doc = " number of votes that we have recorded."] + pub fn voting_for_iter1( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_conviction_voting::vote::Voting< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u32, + ::core::primitive::u32, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ConvictionVoting", + "VotingFor", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8, + 56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8, + 12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8, + ], + ) + } + #[doc = " All voting for a particular voter in a particular voting class. We store the balance for the"] + #[doc = " number of votes that we have recorded."] + pub fn voting_for( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_conviction_voting::vote::Voting< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u32, + ::core::primitive::u32, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ConvictionVoting", + "VotingFor", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 76u8, 63u8, 153u8, 193u8, 39u8, 137u8, 186u8, 29u8, 202u8, 56u8, 169u8, + 56u8, 103u8, 138u8, 192u8, 18u8, 179u8, 114u8, 56u8, 121u8, 197u8, + 12u8, 29u8, 239u8, 220u8, 231u8, 24u8, 46u8, 134u8, 99u8, 53u8, 206u8, + ], + ) + } + #[doc = " The voting classes which have a non-zero lock requirement and the lock amounts which they"] + #[doc = " require. The actual amount locked on behalf of this pallet should always be the maximum of"] + #[doc = " this list."] + pub fn class_locks_for_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u16, + ::core::primitive::u128, + )>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "ConvictionVoting", + "ClassLocksFor", + vec![], + [ + 74u8, 74u8, 8u8, 82u8, 215u8, 61u8, 13u8, 9u8, 44u8, 222u8, 33u8, + 245u8, 195u8, 124u8, 6u8, 174u8, 65u8, 245u8, 71u8, 42u8, 47u8, 46u8, + 164u8, 231u8, 11u8, 245u8, 115u8, 207u8, 209u8, 137u8, 90u8, 6u8, + ], + ) + } + #[doc = " The voting classes which have a non-zero lock requirement and the lock amounts which they"] + #[doc = " require. The actual amount locked on behalf of this pallet should always be the maximum of"] + #[doc = " this list."] + pub fn class_locks_for( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u16, + ::core::primitive::u128, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "ConvictionVoting", + "ClassLocksFor", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 74u8, 74u8, 8u8, 82u8, 215u8, 61u8, 13u8, 9u8, 44u8, 222u8, 33u8, + 245u8, 195u8, 124u8, 6u8, 174u8, 65u8, 245u8, 71u8, 42u8, 47u8, 46u8, + 164u8, 231u8, 11u8, 245u8, 115u8, 207u8, 209u8, 137u8, 90u8, 6u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The maximum number of concurrent votes an account may have."] + #[doc = ""] + #[doc = " Also used to compute weight, an overly large value can lead to extrinsics with large"] + #[doc = " weight estimation: see `delegate` for instance."] + pub fn max_votes(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ConvictionVoting", + "MaxVotes", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The minimum period of vote locking."] + #[doc = ""] + #[doc = " It should be no shorter than enactment period to ensure that in the case of an approval,"] + #[doc = " those successful voters are locked into the consequences that their votes entail."] + pub fn vote_locking_period( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ConvictionVoting", + "VoteLockingPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod referenda { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_referenda::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_referenda::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Submit { + pub proposal_origin: + ::std::boxed::Box, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + pub enactment_moment: + runtime_types::frame_support::traits::schedule::DispatchTime< + ::core::primitive::u32, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Submit { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "submit"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PlaceDecisionDeposit { + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for PlaceDecisionDeposit { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "place_decision_deposit"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RefundDecisionDeposit { + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for RefundDecisionDeposit { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "refund_decision_deposit"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Cancel { + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for Cancel { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "cancel"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Kill { + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for Kill { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "kill"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct NudgeReferendum { + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for NudgeReferendum { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "nudge_referendum"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OneFewerDeciding { + pub track: ::core::primitive::u16, + } + impl ::subxt::blocks::StaticExtrinsic for OneFewerDeciding { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "one_fewer_deciding"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RefundSubmissionDeposit { + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for RefundSubmissionDeposit { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "refund_submission_deposit"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMetadata { + pub index: ::core::primitive::u32, + pub maybe_hash: ::core::option::Option<::subxt::utils::H256>, + } + impl ::subxt::blocks::StaticExtrinsic for SetMetadata { + const PALLET: &'static str = "Referenda"; + const CALL: &'static str = "set_metadata"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Propose a referendum on a privileged action."] + #[doc = ""] + #[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"] + #[doc = " available."] + #[doc = "- `proposal_origin`: The origin from which the proposal should be executed."] + #[doc = "- `proposal`: The proposal."] + #[doc = "- `enactment_moment`: The moment that the proposal should be enacted."] + #[doc = ""] + #[doc = "Emits `Submitted`."] + pub fn submit( + &self, + proposal_origin: runtime_types::enjin_runtime::OriginCaller, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + enactment_moment: runtime_types::frame_support::traits::schedule::DispatchTime< + ::core::primitive::u32, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "submit", + types::Submit { + proposal_origin: ::std::boxed::Box::new(proposal_origin), + proposal, + enactment_moment, + }, + [ + 156u8, 222u8, 29u8, 238u8, 117u8, 111u8, 60u8, 24u8, 232u8, 221u8, + 52u8, 115u8, 62u8, 8u8, 236u8, 40u8, 50u8, 202u8, 201u8, 146u8, 4u8, + 250u8, 229u8, 131u8, 178u8, 93u8, 210u8, 231u8, 66u8, 45u8, 212u8, + 137u8, + ], + ) + } + #[doc = "Post the Decision Deposit for a referendum."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` and the account must have funds available for the"] + #[doc = " referendum's track's Decision Deposit."] + #[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"] + #[doc = " posted."] + #[doc = ""] + #[doc = "Emits `DecisionDepositPlaced`."] + pub fn place_decision_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "place_decision_deposit", + types::PlaceDecisionDeposit { index }, + [ + 247u8, 158u8, 55u8, 191u8, 188u8, 200u8, 3u8, 47u8, 20u8, 175u8, 86u8, + 203u8, 52u8, 253u8, 91u8, 131u8, 21u8, 213u8, 56u8, 68u8, 40u8, 84u8, + 184u8, 30u8, 9u8, 193u8, 63u8, 182u8, 178u8, 241u8, 247u8, 220u8, + ], + ) + } + #[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `DecisionDepositRefunded`."] + pub fn refund_decision_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "refund_decision_deposit", + types::RefundDecisionDeposit { index }, + [ + 159u8, 19u8, 35u8, 216u8, 114u8, 105u8, 18u8, 42u8, 148u8, 151u8, + 136u8, 92u8, 117u8, 30u8, 29u8, 41u8, 238u8, 58u8, 195u8, 91u8, 115u8, + 135u8, 96u8, 99u8, 154u8, 233u8, 8u8, 249u8, 145u8, 165u8, 77u8, 164u8, + ], + ) + } + #[doc = "Cancel an ongoing referendum."] + #[doc = ""] + #[doc = "- `origin`: must be the `CancelOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Cancelled`."] + pub fn cancel( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "cancel", + types::Cancel { index }, + [ + 55u8, 206u8, 119u8, 156u8, 238u8, 165u8, 193u8, 73u8, 242u8, 13u8, + 212u8, 75u8, 136u8, 156u8, 151u8, 14u8, 35u8, 41u8, 156u8, 107u8, 60u8, + 190u8, 39u8, 216u8, 8u8, 74u8, 213u8, 130u8, 160u8, 131u8, 237u8, + 122u8, + ], + ) + } + #[doc = "Cancel an ongoing referendum and slash the deposits."] + #[doc = ""] + #[doc = "- `origin`: must be the `KillOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Killed` and `DepositSlashed`."] + pub fn kill( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "kill", + types::Kill { index }, + [ + 50u8, 89u8, 57u8, 0u8, 87u8, 129u8, 113u8, 140u8, 179u8, 178u8, 126u8, + 198u8, 92u8, 92u8, 189u8, 64u8, 123u8, 232u8, 57u8, 227u8, 223u8, + 219u8, 73u8, 217u8, 179u8, 44u8, 210u8, 125u8, 180u8, 10u8, 143u8, + 48u8, + ], + ) + } + #[doc = "Advance a referendum onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `index`: the referendum to be advanced."] + pub fn nudge_referendum( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "nudge_referendum", + types::NudgeReferendum { index }, + [ + 75u8, 99u8, 172u8, 30u8, 170u8, 150u8, 211u8, 229u8, 249u8, 128u8, + 194u8, 246u8, 100u8, 142u8, 193u8, 184u8, 232u8, 81u8, 29u8, 17u8, + 99u8, 91u8, 236u8, 85u8, 230u8, 226u8, 57u8, 115u8, 45u8, 170u8, 54u8, + 213u8, + ], + ) + } + #[doc = "Advance a track onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `track`: the track to be advanced."] + #[doc = ""] + #[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"] + #[doc = "`DecidingCount` is not yet updated. This means that we should either:"] + #[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"] + #[doc = "- decrement `DecidingCount`."] + pub fn one_fewer_deciding( + &self, + track: ::core::primitive::u16, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "one_fewer_deciding", + types::OneFewerDeciding { track }, + [ + 15u8, 84u8, 79u8, 231u8, 21u8, 239u8, 244u8, 143u8, 183u8, 215u8, + 181u8, 25u8, 225u8, 195u8, 95u8, 171u8, 17u8, 156u8, 182u8, 128u8, + 111u8, 40u8, 151u8, 102u8, 196u8, 55u8, 36u8, 212u8, 89u8, 190u8, + 131u8, 167u8, + ], + ) + } + #[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `SubmissionDepositRefunded`."] + pub fn refund_submission_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "refund_submission_deposit", + types::RefundSubmissionDeposit { index }, + [ + 20u8, 217u8, 115u8, 6u8, 1u8, 60u8, 54u8, 136u8, 35u8, 41u8, 38u8, + 23u8, 85u8, 100u8, 141u8, 126u8, 30u8, 160u8, 61u8, 46u8, 134u8, 98u8, + 82u8, 38u8, 211u8, 124u8, 208u8, 222u8, 210u8, 10u8, 155u8, 122u8, + ], + ) + } + #[doc = "Set or clear metadata of a referendum."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"] + #[doc = " metadata of a finished referendum."] + #[doc = "- `index`: The index of a referendum to set or clear metadata for."] + #[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."] + pub fn set_metadata( + &self, + index: ::core::primitive::u32, + maybe_hash: ::core::option::Option<::subxt::utils::H256>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Referenda", + "set_metadata", + types::SetMetadata { index, maybe_hash }, + [ + 207u8, 29u8, 146u8, 233u8, 219u8, 205u8, 88u8, 118u8, 106u8, 61u8, + 124u8, 101u8, 2u8, 41u8, 169u8, 70u8, 114u8, 189u8, 162u8, 118u8, 1u8, + 108u8, 234u8, 98u8, 245u8, 245u8, 183u8, 126u8, 89u8, 13u8, 112u8, + 88u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_referenda::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been submitted."] + pub struct Submitted { + pub index: ::core::primitive::u32, + pub track: ::core::primitive::u16, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + } + impl ::subxt::events::StaticEvent for Submitted { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Submitted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The decision deposit has been placed."] + pub struct DecisionDepositPlaced { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DecisionDepositPlaced { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "DecisionDepositPlaced"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The decision deposit has been refunded."] + pub struct DecisionDepositRefunded { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DecisionDepositRefunded { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "DecisionDepositRefunded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A deposit has been slashaed."] + pub struct DepositSlashed { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DepositSlashed { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "DepositSlashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has moved into the deciding phase."] + pub struct DecisionStarted { + pub index: ::core::primitive::u32, + pub track: ::core::primitive::u16, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + pub tally: + runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for DecisionStarted { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "DecisionStarted"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ConfirmStarted { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ConfirmStarted { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "ConfirmStarted"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ConfirmAborted { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ConfirmAborted { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "ConfirmAborted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has ended its confirmation phase and is ready for approval."] + pub struct Confirmed { + pub index: ::core::primitive::u32, + pub tally: + runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for Confirmed { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Confirmed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been approved and its proposal has been scheduled."] + pub struct Approved { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Approved { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Approved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A proposal has been rejected by referendum."] + pub struct Rejected { + pub index: ::core::primitive::u32, + pub tally: + runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for Rejected { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Rejected"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been timed out without being decided."] + pub struct TimedOut { + pub index: ::core::primitive::u32, + pub tally: + runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for TimedOut { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "TimedOut"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been cancelled."] + pub struct Cancelled { + pub index: ::core::primitive::u32, + pub tally: + runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for Cancelled { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Cancelled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been killed."] + pub struct Killed { + pub index: ::core::primitive::u32, + pub tally: + runtime_types::pallet_conviction_voting::types::Tally<::core::primitive::u128>, + } + impl ::subxt::events::StaticEvent for Killed { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "Killed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The submission deposit has been refunded."] + pub struct SubmissionDepositRefunded { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SubmissionDepositRefunded { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "SubmissionDepositRefunded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Metadata for a referendum has been set."] + pub struct MetadataSet { + pub index: ::core::primitive::u32, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for MetadataSet { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "MetadataSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Metadata for a referendum has been cleared."] + pub struct MetadataCleared { + pub index: ::core::primitive::u32, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for MetadataCleared { + const PALLET: &'static str = "Referenda"; + const EVENT: &'static str = "MetadataCleared"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The next free referendum index, aka the number of referenda started so far."] + pub fn referendum_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "ReferendumCount", + vec![], + [ + 64u8, 145u8, 232u8, 153u8, 121u8, 87u8, 128u8, 253u8, 170u8, 192u8, + 139u8, 18u8, 0u8, 33u8, 243u8, 11u8, 238u8, 222u8, 244u8, 5u8, 247u8, + 198u8, 149u8, 31u8, 122u8, 208u8, 86u8, 179u8, 166u8, 167u8, 93u8, + 67u8, + ], + ) + } + #[doc = " Information concerning any given referendum."] + pub fn referendum_info_for_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_referenda::types::ReferendumInfo< + ::core::primitive::u16, + runtime_types::enjin_runtime::OriginCaller, + ::core::primitive::u32, + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + ::core::primitive::u128, + runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + ::subxt::utils::AccountId32, + (::core::primitive::u32, ::core::primitive::u32), + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "ReferendumInfoFor", + vec![], + [ + 164u8, 34u8, 126u8, 101u8, 82u8, 56u8, 19u8, 40u8, 195u8, 158u8, 33u8, + 62u8, 171u8, 117u8, 70u8, 196u8, 123u8, 122u8, 8u8, 162u8, 6u8, 181u8, + 78u8, 127u8, 43u8, 29u8, 134u8, 84u8, 80u8, 92u8, 167u8, 251u8, + ], + ) + } + #[doc = " Information concerning any given referendum."] + pub fn referendum_info_for( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_referenda::types::ReferendumInfo< + ::core::primitive::u16, + runtime_types::enjin_runtime::OriginCaller, + ::core::primitive::u32, + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + ::core::primitive::u128, + runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + ::subxt::utils::AccountId32, + (::core::primitive::u32, ::core::primitive::u32), + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "ReferendumInfoFor", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 164u8, 34u8, 126u8, 101u8, 82u8, 56u8, 19u8, 40u8, 195u8, 158u8, 33u8, + 62u8, 171u8, 117u8, 70u8, 196u8, 123u8, 122u8, 8u8, 162u8, 6u8, 181u8, + 78u8, 127u8, 43u8, 29u8, 134u8, 84u8, 80u8, 92u8, 167u8, 251u8, + ], + ) + } + #[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"] + #[doc = " conviction-weighted approvals."] + #[doc = ""] + #[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."] + pub fn track_queue_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u32, + ::core::primitive::u128, + )>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "TrackQueue", + vec![], + [ + 125u8, 59u8, 111u8, 68u8, 27u8, 236u8, 82u8, 55u8, 83u8, 159u8, 105u8, + 20u8, 241u8, 118u8, 58u8, 141u8, 103u8, 60u8, 246u8, 49u8, 121u8, + 183u8, 7u8, 203u8, 225u8, 67u8, 132u8, 79u8, 150u8, 107u8, 71u8, 89u8, + ], + ) + } + #[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"] + #[doc = " conviction-weighted approvals."] + #[doc = ""] + #[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."] + pub fn track_queue( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u32, + ::core::primitive::u128, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "TrackQueue", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 125u8, 59u8, 111u8, 68u8, 27u8, 236u8, 82u8, 55u8, 83u8, 159u8, 105u8, + 20u8, 241u8, 118u8, 58u8, 141u8, 103u8, 60u8, 246u8, 49u8, 121u8, + 183u8, 7u8, 203u8, 225u8, 67u8, 132u8, 79u8, 150u8, 107u8, 71u8, 89u8, + ], + ) + } + #[doc = " The number of referenda being decided currently."] + pub fn deciding_count_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "DecidingCount", + vec![], + [ + 203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8, + 146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8, + 103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8, + 245u8, + ], + ) + } + #[doc = " The number of referenda being decided currently."] + pub fn deciding_count( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "DecidingCount", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8, + 146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8, + 103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8, + 245u8, + ], + ) + } + #[doc = " The metadata is a general information concerning the referendum."] + #[doc = " The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON"] + #[doc = " dump or IPFS hash of a JSON file."] + #[doc = ""] + #[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"] + #[doc = " large preimages."] + pub fn metadata_of_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "MetadataOf", + vec![], + [ + 159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8, + 124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8, + 45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8, + 110u8, + ], + ) + } + #[doc = " The metadata is a general information concerning the referendum."] + #[doc = " The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON"] + #[doc = " dump or IPFS hash of a JSON file."] + #[doc = ""] + #[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"] + #[doc = " large preimages."] + pub fn metadata_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Referenda", + "MetadataOf", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8, + 124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8, + 45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8, + 110u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum amount to be used as a deposit for a public referendum proposal."] + pub fn submission_deposit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Referenda", + "SubmissionDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Maximum size of the referendum queue for a single track."] + pub fn max_queued(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Referenda", + "MaxQueued", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The number of blocks after submission that a referendum must begin being decided by."] + #[doc = " Once this passes, then anyone may cancel the referendum."] + pub fn undeciding_timeout( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Referenda", + "UndecidingTimeout", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Quantization level for the referendum wakeup scheduler. A higher number will result in"] + #[doc = " fewer storage reads/writes needed for smaller voters, but also result in delays to the"] + #[doc = " automatic referendum status changes. Explicit servicing instructions are unaffected."] + pub fn alarm_interval( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Referenda", + "AlarmInterval", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Information concerning the different referendum tracks."] + pub fn tracks( + &self, + ) -> ::subxt::constants::Address< + ::std::vec::Vec<( + ::core::primitive::u16, + runtime_types::pallet_referenda::types::TrackInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + )>, + > { + ::subxt::constants::Address::new_static( + "Referenda", + "Tracks", + [ + 35u8, 226u8, 207u8, 234u8, 184u8, 139u8, 187u8, 184u8, 128u8, 199u8, + 227u8, 15u8, 31u8, 196u8, 5u8, 207u8, 138u8, 174u8, 130u8, 201u8, + 200u8, 113u8, 86u8, 93u8, 221u8, 243u8, 229u8, 24u8, 18u8, 150u8, 56u8, + 159u8, + ], + ) + } + } + } + } + pub mod whitelist { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_whitelist::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_whitelist::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WhitelistCall { + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for WhitelistCall { + const PALLET: &'static str = "Whitelist"; + const CALL: &'static str = "whitelist_call"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveWhitelistedCall { + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveWhitelistedCall { + const PALLET: &'static str = "Whitelist"; + const CALL: &'static str = "remove_whitelisted_call"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DispatchWhitelistedCall { + pub call_hash: ::subxt::utils::H256, + pub call_encoded_len: ::core::primitive::u32, + pub call_weight_witness: runtime_types::sp_weights::weight_v2::Weight, + } + impl ::subxt::blocks::StaticExtrinsic for DispatchWhitelistedCall { + const PALLET: &'static str = "Whitelist"; + const CALL: &'static str = "dispatch_whitelisted_call"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DispatchWhitelistedCallWithPreimage { + pub call: ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for DispatchWhitelistedCallWithPreimage { + const PALLET: &'static str = "Whitelist"; + const CALL: &'static str = "dispatch_whitelisted_call_with_preimage"; + } + } + pub struct TransactionApi; + impl TransactionApi { + pub fn whitelist_call( + &self, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Whitelist", + "whitelist_call", + types::WhitelistCall { call_hash }, + [ + 121u8, 165u8, 49u8, 37u8, 127u8, 38u8, 126u8, 213u8, 115u8, 148u8, + 122u8, 211u8, 24u8, 91u8, 147u8, 27u8, 87u8, 210u8, 84u8, 104u8, 229u8, + 155u8, 133u8, 30u8, 34u8, 249u8, 107u8, 110u8, 31u8, 191u8, 128u8, + 28u8, + ], + ) + } + pub fn remove_whitelisted_call( + &self, + call_hash: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Whitelist", + "remove_whitelisted_call", + types::RemoveWhitelistedCall { call_hash }, + [ + 30u8, 47u8, 13u8, 231u8, 165u8, 219u8, 246u8, 210u8, 11u8, 38u8, 219u8, + 218u8, 151u8, 226u8, 101u8, 175u8, 0u8, 239u8, 35u8, 46u8, 156u8, + 104u8, 145u8, 173u8, 105u8, 100u8, 21u8, 189u8, 123u8, 227u8, 196u8, + 40u8, + ], + ) + } + pub fn dispatch_whitelisted_call( + &self, + call_hash: ::subxt::utils::H256, + call_encoded_len: ::core::primitive::u32, + call_weight_witness: runtime_types::sp_weights::weight_v2::Weight, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Whitelist", + "dispatch_whitelisted_call", + types::DispatchWhitelistedCall { + call_hash, + call_encoded_len, + call_weight_witness, + }, + [ + 112u8, 67u8, 72u8, 26u8, 3u8, 214u8, 86u8, 102u8, 29u8, 96u8, 222u8, + 24u8, 115u8, 15u8, 124u8, 160u8, 148u8, 184u8, 56u8, 162u8, 188u8, + 123u8, 213u8, 234u8, 208u8, 123u8, 133u8, 253u8, 43u8, 226u8, 66u8, + 116u8, + ], + ) + } + pub fn dispatch_whitelisted_call_with_preimage( + &self, + call: runtime_types::enjin_runtime::RuntimeCall, + ) -> ::subxt::tx::Payload + { + ::subxt::tx::Payload::new_static( + "Whitelist", + "dispatch_whitelisted_call_with_preimage", + types::DispatchWhitelistedCallWithPreimage { + call: ::std::boxed::Box::new(call), + }, + [ + 73u8, 79u8, 93u8, 96u8, 241u8, 189u8, 2u8, 15u8, 70u8, 132u8, 3u8, + 167u8, 92u8, 186u8, 189u8, 27u8, 121u8, 138u8, 159u8, 49u8, 219u8, + 225u8, 168u8, 249u8, 140u8, 130u8, 127u8, 71u8, 156u8, 219u8, 202u8, + 34u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_whitelist::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CallWhitelisted { + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for CallWhitelisted { + const PALLET: &'static str = "Whitelist"; + const EVENT: &'static str = "CallWhitelisted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WhitelistedCallRemoved { + pub call_hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for WhitelistedCallRemoved { + const PALLET: &'static str = "Whitelist"; + const EVENT: &'static str = "WhitelistedCallRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WhitelistedCallDispatched { + pub call_hash: ::subxt::utils::H256, + pub result: ::core::result::Result< + runtime_types::frame_support::dispatch::PostDispatchInfo, + runtime_types::sp_runtime::DispatchErrorWithPostInfo< + runtime_types::frame_support::dispatch::PostDispatchInfo, + >, + >, + } + impl ::subxt::events::StaticEvent for WhitelistedCallDispatched { + const PALLET: &'static str = "Whitelist"; + const EVENT: &'static str = "WhitelistedCallDispatched"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + pub fn whitelisted_call_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (), + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Whitelist", + "WhitelistedCall", + vec![], + [ + 82u8, 208u8, 214u8, 72u8, 225u8, 35u8, 51u8, 212u8, 25u8, 138u8, 30u8, + 87u8, 54u8, 232u8, 72u8, 132u8, 4u8, 9u8, 28u8, 143u8, 251u8, 106u8, + 167u8, 218u8, 130u8, 185u8, 253u8, 185u8, 113u8, 154u8, 202u8, 66u8, + ], + ) + } + pub fn whitelisted_call( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::H256>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + (), + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Whitelist", + "WhitelistedCall", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 82u8, 208u8, 214u8, 72u8, 225u8, 35u8, 51u8, 212u8, 25u8, 138u8, 30u8, + 87u8, 54u8, 232u8, 72u8, 132u8, 4u8, 9u8, 28u8, 143u8, 251u8, 106u8, + 167u8, 218u8, 130u8, 185u8, 253u8, 185u8, 113u8, 154u8, 202u8, 66u8, + ], + ) + } + } + } + } + pub mod fellowship_collective { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_ranked_collective::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_ranked_collective::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddMember { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for AddMember { + const PALLET: &'static str = "FellowshipCollective"; + const CALL: &'static str = "add_member"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PromoteMember { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for PromoteMember { + const PALLET: &'static str = "FellowshipCollective"; + const CALL: &'static str = "promote_member"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DemoteMember { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for DemoteMember { + const PALLET: &'static str = "FellowshipCollective"; + const CALL: &'static str = "demote_member"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveMember { + pub who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub min_rank: ::core::primitive::u16, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveMember { + const PALLET: &'static str = "FellowshipCollective"; + const CALL: &'static str = "remove_member"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Vote { + pub poll: ::core::primitive::u32, + pub aye: ::core::primitive::bool, + } + impl ::subxt::blocks::StaticExtrinsic for Vote { + const PALLET: &'static str = "FellowshipCollective"; + const CALL: &'static str = "vote"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CleanupPoll { + pub poll_index: ::core::primitive::u32, + pub max: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for CleanupPoll { + const PALLET: &'static str = "FellowshipCollective"; + const CALL: &'static str = "cleanup_poll"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Introduce a new member."] + #[doc = ""] + #[doc = "- `origin`: Must be the `AdminOrigin`."] + #[doc = "- `who`: Account of non-member which will become a member."] + #[doc = "- `rank`: The rank to give the new member."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn add_member( + &self, + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipCollective", + "add_member", + types::AddMember { who }, + [ + 2u8, 131u8, 37u8, 217u8, 112u8, 46u8, 86u8, 165u8, 248u8, 244u8, 33u8, + 236u8, 155u8, 28u8, 163u8, 169u8, 213u8, 32u8, 70u8, 217u8, 97u8, + 194u8, 138u8, 77u8, 133u8, 97u8, 188u8, 49u8, 49u8, 31u8, 177u8, 206u8, + ], + ) + } + #[doc = "Increment the rank of an existing member by one."] + #[doc = ""] + #[doc = "- `origin`: Must be the `AdminOrigin`."] + #[doc = "- `who`: Account of existing member."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + pub fn promote_member( + &self, + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipCollective", + "promote_member", + types::PromoteMember { who }, + [ + 169u8, 155u8, 9u8, 50u8, 144u8, 133u8, 230u8, 60u8, 216u8, 147u8, 3u8, + 236u8, 94u8, 185u8, 106u8, 139u8, 235u8, 143u8, 189u8, 135u8, 208u8, + 176u8, 126u8, 124u8, 85u8, 140u8, 189u8, 125u8, 87u8, 56u8, 57u8, + 246u8, + ], + ) + } + #[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"] + #[doc = "then they are removed entirely."] + #[doc = ""] + #[doc = "- `origin`: Must be the `AdminOrigin`."] + #[doc = "- `who`: Account of existing member of rank greater than zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."] + pub fn demote_member( + &self, + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipCollective", + "demote_member", + types::DemoteMember { who }, + [ + 21u8, 185u8, 71u8, 166u8, 106u8, 88u8, 74u8, 251u8, 78u8, 28u8, 205u8, + 171u8, 199u8, 195u8, 97u8, 149u8, 175u8, 229u8, 25u8, 113u8, 96u8, + 25u8, 240u8, 64u8, 109u8, 246u8, 203u8, 45u8, 110u8, 205u8, 115u8, + 178u8, + ], + ) + } + #[doc = "Remove the member entirely."] + #[doc = ""] + #[doc = "- `origin`: Must be the `AdminOrigin`."] + #[doc = "- `who`: Account of existing member of rank greater than zero."] + #[doc = "- `min_rank`: The rank of the member or greater."] + #[doc = ""] + #[doc = "Weight: `O(min_rank)`."] + pub fn remove_member( + &self, + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + min_rank: ::core::primitive::u16, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipCollective", + "remove_member", + types::RemoveMember { who, min_rank }, + [ + 23u8, 156u8, 32u8, 64u8, 158u8, 50u8, 64u8, 199u8, 108u8, 67u8, 133u8, + 128u8, 138u8, 241u8, 14u8, 238u8, 192u8, 173u8, 250u8, 11u8, 124u8, + 119u8, 177u8, 190u8, 152u8, 116u8, 134u8, 42u8, 216u8, 49u8, 113u8, + 49u8, + ], + ) + } + #[doc = "Add an aye or nay vote for the sender to the given proposal."] + #[doc = ""] + #[doc = "- `origin`: Must be `Signed` by a member account."] + #[doc = "- `poll`: Index of a poll which is ongoing."] + #[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."] + #[doc = ""] + #[doc = "Transaction fees are be waived if the member is voting on any particular proposal"] + #[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"] + #[doc = "fee."] + #[doc = ""] + #[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."] + pub fn vote( + &self, + poll: ::core::primitive::u32, + aye: ::core::primitive::bool, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipCollective", + "vote", + types::Vote { poll, aye }, + [ + 54u8, 116u8, 81u8, 239u8, 223u8, 35u8, 11u8, 244u8, 245u8, 94u8, 23u8, + 241u8, 125u8, 231u8, 56u8, 150u8, 105u8, 125u8, 100u8, 171u8, 182u8, + 186u8, 134u8, 40u8, 4u8, 121u8, 119u8, 11u8, 93u8, 158u8, 59u8, 209u8, + ], + ) + } + #[doc = "Remove votes from the given poll. It must have ended."] + #[doc = ""] + #[doc = "- `origin`: Must be `Signed` by any account."] + #[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"] + #[doc = " exist."] + #[doc = "- `max`: Maximum number of vote items from remove in this call."] + #[doc = ""] + #[doc = "Transaction fees are waived if the operation is successful."] + #[doc = ""] + #[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."] + pub fn cleanup_poll( + &self, + poll_index: ::core::primitive::u32, + max: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipCollective", + "cleanup_poll", + types::CleanupPoll { poll_index, max }, + [ + 157u8, 109u8, 86u8, 253u8, 62u8, 107u8, 235u8, 255u8, 171u8, 68u8, + 103u8, 92u8, 245u8, 25u8, 252u8, 158u8, 174u8, 137u8, 77u8, 251u8, + 105u8, 113u8, 165u8, 46u8, 39u8, 55u8, 166u8, 79u8, 103u8, 81u8, 121u8, + 37u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_ranked_collective::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A member `who` has been added."] + pub struct MemberAdded { + pub who: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for MemberAdded { + const PALLET: &'static str = "FellowshipCollective"; + const EVENT: &'static str = "MemberAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The member `who`se rank has been changed to the given `rank`."] + pub struct RankChanged { + pub who: ::subxt::utils::AccountId32, + pub rank: ::core::primitive::u16, + } + impl ::subxt::events::StaticEvent for RankChanged { + const PALLET: &'static str = "FellowshipCollective"; + const EVENT: &'static str = "RankChanged"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The member `who` of given `rank` has been removed from the collective."] + pub struct MemberRemoved { + pub who: ::subxt::utils::AccountId32, + pub rank: ::core::primitive::u16, + } + impl ::subxt::events::StaticEvent for MemberRemoved { + const PALLET: &'static str = "FellowshipCollective"; + const EVENT: &'static str = "MemberRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The member `who` has voted for the `poll` with the given `vote` leading to an updated"] + #[doc = "`tally`."] + pub struct Voted { + pub who: ::subxt::utils::AccountId32, + pub poll: ::core::primitive::u32, + pub vote: runtime_types::pallet_ranked_collective::VoteRecord, + pub tally: runtime_types::pallet_ranked_collective::Tally, + } + impl ::subxt::events::StaticEvent for Voted { + const PALLET: &'static str = "FellowshipCollective"; + const EVENT: &'static str = "Voted"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The number of members in the collective who have at least the rank according to the index"] + #[doc = " of the vec."] + pub fn member_count_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "MemberCount", + vec![], + [ + 0u8, 141u8, 66u8, 91u8, 155u8, 74u8, 17u8, 191u8, 143u8, 41u8, 231u8, + 56u8, 123u8, 219u8, 145u8, 27u8, 197u8, 62u8, 118u8, 237u8, 30u8, 7u8, + 107u8, 96u8, 95u8, 17u8, 242u8, 206u8, 246u8, 79u8, 53u8, 214u8, + ], + ) + } + #[doc = " The number of members in the collective who have at least the rank according to the index"] + #[doc = " of the vec."] + pub fn member_count( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "MemberCount", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 0u8, 141u8, 66u8, 91u8, 155u8, 74u8, 17u8, 191u8, 143u8, 41u8, 231u8, + 56u8, 123u8, 219u8, 145u8, 27u8, 197u8, 62u8, 118u8, 237u8, 30u8, 7u8, + 107u8, 96u8, 95u8, 17u8, 242u8, 206u8, 246u8, 79u8, 53u8, 214u8, + ], + ) + } + #[doc = " The current members of the collective."] + pub fn members_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_ranked_collective::MemberRecord, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "Members", + vec![], + [ + 101u8, 183u8, 36u8, 241u8, 67u8, 8u8, 252u8, 116u8, 110u8, 153u8, + 117u8, 210u8, 128u8, 80u8, 130u8, 163u8, 38u8, 76u8, 230u8, 107u8, + 112u8, 90u8, 102u8, 24u8, 217u8, 2u8, 244u8, 197u8, 103u8, 215u8, + 247u8, 133u8, + ], + ) + } + #[doc = " The current members of the collective."] + pub fn members( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_ranked_collective::MemberRecord, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "Members", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 101u8, 183u8, 36u8, 241u8, 67u8, 8u8, 252u8, 116u8, 110u8, 153u8, + 117u8, 210u8, 128u8, 80u8, 130u8, 163u8, 38u8, 76u8, 230u8, 107u8, + 112u8, 90u8, 102u8, 24u8, 217u8, 2u8, 244u8, 197u8, 103u8, 215u8, + 247u8, 133u8, + ], + ) + } + #[doc = " The index of each ranks's member into the group of members who have at least that rank."] + pub fn id_to_index_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "IdToIndex", + vec![], + [ + 121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8, + 45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8, + 153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8, + ], + ) + } + #[doc = " The index of each ranks's member into the group of members who have at least that rank."] + pub fn id_to_index_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "IdToIndex", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8, + 45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8, + 153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8, + ], + ) + } + #[doc = " The index of each ranks's member into the group of members who have at least that rank."] + pub fn id_to_index( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "IdToIndex", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 121u8, 225u8, 69u8, 131u8, 194u8, 3u8, 82u8, 27u8, 129u8, 152u8, 157u8, + 45u8, 39u8, 47u8, 166u8, 28u8, 42u8, 92u8, 217u8, 189u8, 160u8, 102u8, + 153u8, 196u8, 94u8, 48u8, 248u8, 113u8, 164u8, 111u8, 27u8, 9u8, + ], + ) + } + #[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"] + #[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."] + pub fn index_to_id_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "IndexToId", + vec![], + [ + 110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8, + 153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8, + 29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8, + 70u8, + ], + ) + } + #[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"] + #[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."] + pub fn index_to_id_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "IndexToId", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8, + 153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8, + 29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8, + 70u8, + ], + ) + } + #[doc = " The members in the collective by index. All indices in the range `0..MemberCount` will"] + #[doc = " return `Some`, however a member's index is not guaranteed to remain unchanged over time."] + pub fn index_to_id( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::AccountId32, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "IndexToId", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 110u8, 48u8, 214u8, 224u8, 56u8, 195u8, 186u8, 24u8, 111u8, 37u8, 15u8, + 153u8, 245u8, 101u8, 229u8, 149u8, 216u8, 185u8, 7u8, 242u8, 196u8, + 29u8, 205u8, 243u8, 162u8, 92u8, 71u8, 253u8, 102u8, 152u8, 137u8, + 70u8, + ], + ) + } + #[doc = " Votes on a given proposal, if it is ongoing."] + pub fn voting_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_ranked_collective::VoteRecord, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "Voting", + vec![], + [ + 180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8, + 220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8, + 243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8, + 175u8, 18u8, + ], + ) + } + #[doc = " Votes on a given proposal, if it is ongoing."] + pub fn voting_iter1( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_ranked_collective::VoteRecord, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "Voting", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8, + 220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8, + 243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8, + 175u8, 18u8, + ], + ) + } + #[doc = " Votes on a given proposal, if it is ongoing."] + pub fn voting( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + _1: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_ranked_collective::VoteRecord, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "Voting", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 180u8, 146u8, 236u8, 178u8, 30u8, 50u8, 161u8, 50u8, 140u8, 110u8, + 220u8, 1u8, 109u8, 209u8, 17u8, 94u8, 234u8, 223u8, 222u8, 177u8, + 243u8, 194u8, 246u8, 48u8, 178u8, 86u8, 30u8, 185u8, 56u8, 206u8, + 175u8, 18u8, + ], + ) + } + pub fn voting_cleanup_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "VotingCleanup", + vec![], + [ + 223u8, 130u8, 79u8, 104u8, 94u8, 221u8, 222u8, 72u8, 187u8, 95u8, + 231u8, 59u8, 28u8, 119u8, 191u8, 63u8, 40u8, 186u8, 58u8, 254u8, 14u8, + 233u8, 152u8, 36u8, 2u8, 231u8, 120u8, 13u8, 120u8, 211u8, 232u8, 11u8, + ], + ) + } + pub fn voting_cleanup( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "FellowshipCollective", + "VotingCleanup", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 223u8, 130u8, 79u8, 104u8, 94u8, 221u8, 222u8, 72u8, 187u8, 95u8, + 231u8, 59u8, 28u8, 119u8, 191u8, 63u8, 40u8, 186u8, 58u8, 254u8, 14u8, + 233u8, 152u8, 36u8, 2u8, 231u8, 120u8, 13u8, 120u8, 211u8, 232u8, 11u8, + ], + ) + } + } + } + } + pub mod fellowship_referenda { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_referenda::pallet::Error2; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_referenda::pallet::Call2; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Submit { + pub proposal_origin: + ::std::boxed::Box, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + pub enactment_moment: + runtime_types::frame_support::traits::schedule::DispatchTime< + ::core::primitive::u32, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Submit { + const PALLET: &'static str = "FellowshipReferenda"; + const CALL: &'static str = "submit"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PlaceDecisionDeposit { + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for PlaceDecisionDeposit { + const PALLET: &'static str = "FellowshipReferenda"; + const CALL: &'static str = "place_decision_deposit"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RefundDecisionDeposit { + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for RefundDecisionDeposit { + const PALLET: &'static str = "FellowshipReferenda"; + const CALL: &'static str = "refund_decision_deposit"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Cancel { + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for Cancel { + const PALLET: &'static str = "FellowshipReferenda"; + const CALL: &'static str = "cancel"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Kill { + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for Kill { + const PALLET: &'static str = "FellowshipReferenda"; + const CALL: &'static str = "kill"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct NudgeReferendum { + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for NudgeReferendum { + const PALLET: &'static str = "FellowshipReferenda"; + const CALL: &'static str = "nudge_referendum"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OneFewerDeciding { + pub track: ::core::primitive::u16, + } + impl ::subxt::blocks::StaticExtrinsic for OneFewerDeciding { + const PALLET: &'static str = "FellowshipReferenda"; + const CALL: &'static str = "one_fewer_deciding"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RefundSubmissionDeposit { + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for RefundSubmissionDeposit { + const PALLET: &'static str = "FellowshipReferenda"; + const CALL: &'static str = "refund_submission_deposit"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMetadata { + pub index: ::core::primitive::u32, + pub maybe_hash: ::core::option::Option<::subxt::utils::H256>, + } + impl ::subxt::blocks::StaticExtrinsic for SetMetadata { + const PALLET: &'static str = "FellowshipReferenda"; + const CALL: &'static str = "set_metadata"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Propose a referendum on a privileged action."] + #[doc = ""] + #[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"] + #[doc = " available."] + #[doc = "- `proposal_origin`: The origin from which the proposal should be executed."] + #[doc = "- `proposal`: The proposal."] + #[doc = "- `enactment_moment`: The moment that the proposal should be enacted."] + #[doc = ""] + #[doc = "Emits `Submitted`."] + pub fn submit( + &self, + proposal_origin: runtime_types::enjin_runtime::OriginCaller, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + enactment_moment: runtime_types::frame_support::traits::schedule::DispatchTime< + ::core::primitive::u32, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipReferenda", + "submit", + types::Submit { + proposal_origin: ::std::boxed::Box::new(proposal_origin), + proposal, + enactment_moment, + }, + [ + 156u8, 222u8, 29u8, 238u8, 117u8, 111u8, 60u8, 24u8, 232u8, 221u8, + 52u8, 115u8, 62u8, 8u8, 236u8, 40u8, 50u8, 202u8, 201u8, 146u8, 4u8, + 250u8, 229u8, 131u8, 178u8, 93u8, 210u8, 231u8, 66u8, 45u8, 212u8, + 137u8, + ], + ) + } + #[doc = "Post the Decision Deposit for a referendum."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` and the account must have funds available for the"] + #[doc = " referendum's track's Decision Deposit."] + #[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"] + #[doc = " posted."] + #[doc = ""] + #[doc = "Emits `DecisionDepositPlaced`."] + pub fn place_decision_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipReferenda", + "place_decision_deposit", + types::PlaceDecisionDeposit { index }, + [ + 247u8, 158u8, 55u8, 191u8, 188u8, 200u8, 3u8, 47u8, 20u8, 175u8, 86u8, + 203u8, 52u8, 253u8, 91u8, 131u8, 21u8, 213u8, 56u8, 68u8, 40u8, 84u8, + 184u8, 30u8, 9u8, 193u8, 63u8, 182u8, 178u8, 241u8, 247u8, 220u8, + ], + ) + } + #[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `DecisionDepositRefunded`."] + pub fn refund_decision_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipReferenda", + "refund_decision_deposit", + types::RefundDecisionDeposit { index }, + [ + 159u8, 19u8, 35u8, 216u8, 114u8, 105u8, 18u8, 42u8, 148u8, 151u8, + 136u8, 92u8, 117u8, 30u8, 29u8, 41u8, 238u8, 58u8, 195u8, 91u8, 115u8, + 135u8, 96u8, 99u8, 154u8, 233u8, 8u8, 249u8, 145u8, 165u8, 77u8, 164u8, + ], + ) + } + #[doc = "Cancel an ongoing referendum."] + #[doc = ""] + #[doc = "- `origin`: must be the `CancelOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Cancelled`."] + pub fn cancel( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipReferenda", + "cancel", + types::Cancel { index }, + [ + 55u8, 206u8, 119u8, 156u8, 238u8, 165u8, 193u8, 73u8, 242u8, 13u8, + 212u8, 75u8, 136u8, 156u8, 151u8, 14u8, 35u8, 41u8, 156u8, 107u8, 60u8, + 190u8, 39u8, 216u8, 8u8, 74u8, 213u8, 130u8, 160u8, 131u8, 237u8, + 122u8, + ], + ) + } + #[doc = "Cancel an ongoing referendum and slash the deposits."] + #[doc = ""] + #[doc = "- `origin`: must be the `KillOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Killed` and `DepositSlashed`."] + pub fn kill( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipReferenda", + "kill", + types::Kill { index }, + [ + 50u8, 89u8, 57u8, 0u8, 87u8, 129u8, 113u8, 140u8, 179u8, 178u8, 126u8, + 198u8, 92u8, 92u8, 189u8, 64u8, 123u8, 232u8, 57u8, 227u8, 223u8, + 219u8, 73u8, 217u8, 179u8, 44u8, 210u8, 125u8, 180u8, 10u8, 143u8, + 48u8, + ], + ) + } + #[doc = "Advance a referendum onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `index`: the referendum to be advanced."] + pub fn nudge_referendum( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipReferenda", + "nudge_referendum", + types::NudgeReferendum { index }, + [ + 75u8, 99u8, 172u8, 30u8, 170u8, 150u8, 211u8, 229u8, 249u8, 128u8, + 194u8, 246u8, 100u8, 142u8, 193u8, 184u8, 232u8, 81u8, 29u8, 17u8, + 99u8, 91u8, 236u8, 85u8, 230u8, 226u8, 57u8, 115u8, 45u8, 170u8, 54u8, + 213u8, + ], + ) + } + #[doc = "Advance a track onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `track`: the track to be advanced."] + #[doc = ""] + #[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"] + #[doc = "`DecidingCount` is not yet updated. This means that we should either:"] + #[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"] + #[doc = "- decrement `DecidingCount`."] + pub fn one_fewer_deciding( + &self, + track: ::core::primitive::u16, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipReferenda", + "one_fewer_deciding", + types::OneFewerDeciding { track }, + [ + 15u8, 84u8, 79u8, 231u8, 21u8, 239u8, 244u8, 143u8, 183u8, 215u8, + 181u8, 25u8, 225u8, 195u8, 95u8, 171u8, 17u8, 156u8, 182u8, 128u8, + 111u8, 40u8, 151u8, 102u8, 196u8, 55u8, 36u8, 212u8, 89u8, 190u8, + 131u8, 167u8, + ], + ) + } + #[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `SubmissionDepositRefunded`."] + pub fn refund_submission_deposit( + &self, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipReferenda", + "refund_submission_deposit", + types::RefundSubmissionDeposit { index }, + [ + 20u8, 217u8, 115u8, 6u8, 1u8, 60u8, 54u8, 136u8, 35u8, 41u8, 38u8, + 23u8, 85u8, 100u8, 141u8, 126u8, 30u8, 160u8, 61u8, 46u8, 134u8, 98u8, + 82u8, 38u8, 211u8, 124u8, 208u8, 222u8, 210u8, 10u8, 155u8, 122u8, + ], + ) + } + #[doc = "Set or clear metadata of a referendum."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"] + #[doc = " metadata of a finished referendum."] + #[doc = "- `index`: The index of a referendum to set or clear metadata for."] + #[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."] + pub fn set_metadata( + &self, + index: ::core::primitive::u32, + maybe_hash: ::core::option::Option<::subxt::utils::H256>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "FellowshipReferenda", + "set_metadata", + types::SetMetadata { index, maybe_hash }, + [ + 207u8, 29u8, 146u8, 233u8, 219u8, 205u8, 88u8, 118u8, 106u8, 61u8, + 124u8, 101u8, 2u8, 41u8, 169u8, 70u8, 114u8, 189u8, 162u8, 118u8, 1u8, + 108u8, 234u8, 98u8, 245u8, 245u8, 183u8, 126u8, 89u8, 13u8, 112u8, + 88u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_referenda::pallet::Event2; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been submitted."] + pub struct Submitted { + pub index: ::core::primitive::u32, + pub track: ::core::primitive::u16, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + } + impl ::subxt::events::StaticEvent for Submitted { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "Submitted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The decision deposit has been placed."] + pub struct DecisionDepositPlaced { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DecisionDepositPlaced { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "DecisionDepositPlaced"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The decision deposit has been refunded."] + pub struct DecisionDepositRefunded { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DecisionDepositRefunded { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "DecisionDepositRefunded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A deposit has been slashaed."] + pub struct DepositSlashed { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for DepositSlashed { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "DepositSlashed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has moved into the deciding phase."] + pub struct DecisionStarted { + pub index: ::core::primitive::u32, + pub track: ::core::primitive::u16, + pub proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + pub tally: runtime_types::pallet_ranked_collective::Tally, + } + impl ::subxt::events::StaticEvent for DecisionStarted { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "DecisionStarted"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ConfirmStarted { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ConfirmStarted { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "ConfirmStarted"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ConfirmAborted { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for ConfirmAborted { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "ConfirmAborted"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has ended its confirmation phase and is ready for approval."] + pub struct Confirmed { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_ranked_collective::Tally, + } + impl ::subxt::events::StaticEvent for Confirmed { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "Confirmed"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been approved and its proposal has been scheduled."] + pub struct Approved { + pub index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for Approved { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "Approved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A proposal has been rejected by referendum."] + pub struct Rejected { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_ranked_collective::Tally, + } + impl ::subxt::events::StaticEvent for Rejected { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "Rejected"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been timed out without being decided."] + pub struct TimedOut { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_ranked_collective::Tally, + } + impl ::subxt::events::StaticEvent for TimedOut { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "TimedOut"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been cancelled."] + pub struct Cancelled { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_ranked_collective::Tally, + } + impl ::subxt::events::StaticEvent for Cancelled { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "Cancelled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A referendum has been killed."] + pub struct Killed { + pub index: ::core::primitive::u32, + pub tally: runtime_types::pallet_ranked_collective::Tally, + } + impl ::subxt::events::StaticEvent for Killed { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "Killed"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The submission deposit has been refunded."] + pub struct SubmissionDepositRefunded { + pub index: ::core::primitive::u32, + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SubmissionDepositRefunded { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "SubmissionDepositRefunded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Metadata for a referendum has been set."] + pub struct MetadataSet { + pub index: ::core::primitive::u32, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for MetadataSet { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "MetadataSet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Metadata for a referendum has been cleared."] + pub struct MetadataCleared { + pub index: ::core::primitive::u32, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for MetadataCleared { + const PALLET: &'static str = "FellowshipReferenda"; + const EVENT: &'static str = "MetadataCleared"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The next free referendum index, aka the number of referenda started so far."] + pub fn referendum_count( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "FellowshipReferenda", + "ReferendumCount", + vec![], + [ + 64u8, 145u8, 232u8, 153u8, 121u8, 87u8, 128u8, 253u8, 170u8, 192u8, + 139u8, 18u8, 0u8, 33u8, 243u8, 11u8, 238u8, 222u8, 244u8, 5u8, 247u8, + 198u8, 149u8, 31u8, 122u8, 208u8, 86u8, 179u8, 166u8, 167u8, 93u8, + 67u8, + ], + ) + } + #[doc = " Information concerning any given referendum."] + pub fn referendum_info_for_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_referenda::types::ReferendumInfo< + ::core::primitive::u16, + runtime_types::enjin_runtime::OriginCaller, + ::core::primitive::u32, + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + ::core::primitive::u128, + runtime_types::pallet_ranked_collective::Tally, + ::subxt::utils::AccountId32, + (::core::primitive::u32, ::core::primitive::u32), + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FellowshipReferenda", + "ReferendumInfoFor", + vec![], + [ + 23u8, 99u8, 243u8, 249u8, 96u8, 70u8, 140u8, 238u8, 32u8, 147u8, 178u8, + 242u8, 24u8, 87u8, 126u8, 206u8, 203u8, 156u8, 155u8, 65u8, 151u8, + 90u8, 80u8, 17u8, 71u8, 86u8, 32u8, 94u8, 53u8, 61u8, 157u8, 82u8, + ], + ) + } + #[doc = " Information concerning any given referendum."] + pub fn referendum_info_for( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_referenda::types::ReferendumInfo< + ::core::primitive::u16, + runtime_types::enjin_runtime::OriginCaller, + ::core::primitive::u32, + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + ::core::primitive::u128, + runtime_types::pallet_ranked_collective::Tally, + ::subxt::utils::AccountId32, + (::core::primitive::u32, ::core::primitive::u32), + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "FellowshipReferenda", + "ReferendumInfoFor", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 23u8, 99u8, 243u8, 249u8, 96u8, 70u8, 140u8, 238u8, 32u8, 147u8, 178u8, + 242u8, 24u8, 87u8, 126u8, 206u8, 203u8, 156u8, 155u8, 65u8, 151u8, + 90u8, 80u8, 17u8, 71u8, 86u8, 32u8, 94u8, 53u8, 61u8, 157u8, 82u8, + ], + ) + } + #[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"] + #[doc = " conviction-weighted approvals."] + #[doc = ""] + #[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."] + pub fn track_queue_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FellowshipReferenda", + "TrackQueue", + vec![], + [ + 187u8, 113u8, 225u8, 99u8, 159u8, 207u8, 182u8, 41u8, 116u8, 136u8, + 119u8, 196u8, 152u8, 50u8, 192u8, 22u8, 171u8, 182u8, 237u8, 228u8, + 80u8, 255u8, 227u8, 141u8, 155u8, 83u8, 71u8, 131u8, 118u8, 109u8, + 186u8, 65u8, + ], + ) + } + #[doc = " The sorted list of referenda ready to be decided but not yet being decided, ordered by"] + #[doc = " conviction-weighted approvals."] + #[doc = ""] + #[doc = " This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`."] + pub fn track_queue( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "FellowshipReferenda", + "TrackQueue", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 187u8, 113u8, 225u8, 99u8, 159u8, 207u8, 182u8, 41u8, 116u8, 136u8, + 119u8, 196u8, 152u8, 50u8, 192u8, 22u8, 171u8, 182u8, 237u8, 228u8, + 80u8, 255u8, 227u8, 141u8, 155u8, 83u8, 71u8, 131u8, 118u8, 109u8, + 186u8, 65u8, + ], + ) + } + #[doc = " The number of referenda being decided currently."] + pub fn deciding_count_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FellowshipReferenda", + "DecidingCount", + vec![], + [ + 203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8, + 146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8, + 103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8, + 245u8, + ], + ) + } + #[doc = " The number of referenda being decided currently."] + pub fn deciding_count( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u16>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::core::primitive::u32, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "FellowshipReferenda", + "DecidingCount", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 203u8, 89u8, 158u8, 179u8, 194u8, 82u8, 248u8, 162u8, 93u8, 140u8, + 146u8, 51u8, 110u8, 232u8, 51u8, 1u8, 128u8, 212u8, 199u8, 14u8, 182u8, + 103u8, 47u8, 252u8, 126u8, 108u8, 166u8, 69u8, 252u8, 179u8, 126u8, + 245u8, + ], + ) + } + #[doc = " The metadata is a general information concerning the referendum."] + #[doc = " The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON"] + #[doc = " dump or IPFS hash of a JSON file."] + #[doc = ""] + #[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"] + #[doc = " large preimages."] + pub fn metadata_of_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "FellowshipReferenda", + "MetadataOf", + vec![], + [ + 159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8, + 124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8, + 45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8, + 110u8, + ], + ) + } + #[doc = " The metadata is a general information concerning the referendum."] + #[doc = " The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON"] + #[doc = " dump or IPFS hash of a JSON file."] + #[doc = ""] + #[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"] + #[doc = " large preimages."] + pub fn metadata_of( + &self, + _0: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "FellowshipReferenda", + "MetadataOf", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 159u8, 250u8, 56u8, 189u8, 247u8, 165u8, 206u8, 166u8, 91u8, 139u8, + 124u8, 164u8, 25u8, 246u8, 199u8, 36u8, 159u8, 56u8, 227u8, 136u8, 4u8, + 45u8, 193u8, 72u8, 200u8, 164u8, 39u8, 207u8, 224u8, 124u8, 191u8, + 110u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum amount to be used as a deposit for a public referendum proposal."] + pub fn submission_deposit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "FellowshipReferenda", + "SubmissionDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " Maximum size of the referendum queue for a single track."] + pub fn max_queued(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FellowshipReferenda", + "MaxQueued", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " The number of blocks after submission that a referendum must begin being decided by."] + #[doc = " Once this passes, then anyone may cancel the referendum."] + pub fn undeciding_timeout( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FellowshipReferenda", + "UndecidingTimeout", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Quantization level for the referendum wakeup scheduler. A higher number will result in"] + #[doc = " fewer storage reads/writes needed for smaller voters, but also result in delays to the"] + #[doc = " automatic referendum status changes. Explicit servicing instructions are unaffected."] + pub fn alarm_interval( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "FellowshipReferenda", + "AlarmInterval", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Information concerning the different referendum tracks."] + pub fn tracks( + &self, + ) -> ::subxt::constants::Address< + ::std::vec::Vec<( + ::core::primitive::u16, + runtime_types::pallet_referenda::types::TrackInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + )>, + > { + ::subxt::constants::Address::new_static( + "FellowshipReferenda", + "Tracks", + [ + 35u8, 226u8, 207u8, 234u8, 184u8, 139u8, 187u8, 184u8, 128u8, 199u8, + 227u8, 15u8, 31u8, 196u8, 5u8, 207u8, 138u8, 174u8, 130u8, 201u8, + 200u8, 113u8, 86u8, 93u8, 221u8, 243u8, 229u8, 24u8, 18u8, 150u8, 56u8, + 159u8, + ], + ) + } + } + } + } + pub mod identity { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_identity::pallet::Error; + #[doc = "Identity pallet declaration."] + pub type Call = runtime_types::pallet_identity::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddRegistrar { + pub account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for AddRegistrar { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "add_registrar"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetIdentity { + pub info: + ::std::boxed::Box, + } + impl ::subxt::blocks::StaticExtrinsic for SetIdentity { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "set_identity"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetSubs { + pub subs: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::pallet_identity::types::Data, + )>, + } + impl ::subxt::blocks::StaticExtrinsic for SetSubs { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "set_subs"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ClearIdentity; + impl ::subxt::blocks::StaticExtrinsic for ClearIdentity { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "clear_identity"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RequestJudgement { + #[codec(compact)] + pub reg_index: ::core::primitive::u32, + #[codec(compact)] + pub max_fee: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for RequestJudgement { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "request_judgement"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CancelRequest { + pub reg_index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for CancelRequest { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "cancel_request"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetFee { + #[codec(compact)] + pub index: ::core::primitive::u32, + #[codec(compact)] + pub fee: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for SetFee { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "set_fee"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetAccountId { + #[codec(compact)] + pub index: ::core::primitive::u32, + pub new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for SetAccountId { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "set_account_id"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetFields { + #[codec(compact)] + pub index: ::core::primitive::u32, + pub fields: runtime_types::pallet_identity::types::BitFlags< + runtime_types::pallet_identity::types::IdentityField, + >, + } + impl ::subxt::blocks::StaticExtrinsic for SetFields { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "set_fields"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ProvideJudgement { + #[codec(compact)] + pub reg_index: ::core::primitive::u32, + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub judgement: + runtime_types::pallet_identity::types::Judgement<::core::primitive::u128>, + pub identity: ::subxt::utils::H256, + } + impl ::subxt::blocks::StaticExtrinsic for ProvideJudgement { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "provide_judgement"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct KillIdentity { + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for KillIdentity { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "kill_identity"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AddSub { + pub sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub data: runtime_types::pallet_identity::types::Data, + } + impl ::subxt::blocks::StaticExtrinsic for AddSub { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "add_sub"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RenameSub { + pub sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub data: runtime_types::pallet_identity::types::Data, + } + impl ::subxt::blocks::StaticExtrinsic for RenameSub { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "rename_sub"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveSub { + pub sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveSub { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "remove_sub"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QuitSub; + impl ::subxt::blocks::StaticExtrinsic for QuitSub { + const PALLET: &'static str = "Identity"; + const CALL: &'static str = "quit_sub"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Add a registrar to the system."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `T::RegistrarOrigin`."] + #[doc = ""] + #[doc = "- `account`: the account of the registrar."] + #[doc = ""] + #[doc = "Emits `RegistrarAdded` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R)` where `R` registrar-count (governance-bounded and code-bounded)."] + pub fn add_registrar( + &self, + account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "add_registrar", + types::AddRegistrar { account }, + [ + 6u8, 131u8, 82u8, 191u8, 37u8, 240u8, 158u8, 187u8, 247u8, 98u8, 175u8, + 200u8, 147u8, 78u8, 88u8, 176u8, 227u8, 179u8, 184u8, 194u8, 91u8, 1u8, + 1u8, 20u8, 121u8, 4u8, 96u8, 94u8, 103u8, 140u8, 247u8, 253u8, + ], + ) + } + #[doc = "Set an account's identity information and reserve the appropriate deposit."] + #[doc = ""] + #[doc = "If the account already has identity information, the deposit is taken as part payment"] + #[doc = "for the new deposit."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `info`: The identity information."] + #[doc = ""] + #[doc = "Emits `IdentitySet` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(X + X' + R)`"] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)"] + #[doc = " - where `R` judgements-count (registrar-count-bounded)"] + pub fn set_identity( + &self, + info: runtime_types::pallet_identity::types::IdentityInfo, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "set_identity", + types::SetIdentity { + info: ::std::boxed::Box::new(info), + }, + [ + 18u8, 86u8, 67u8, 10u8, 116u8, 254u8, 94u8, 95u8, 166u8, 30u8, 204u8, + 189u8, 174u8, 70u8, 191u8, 255u8, 149u8, 93u8, 156u8, 120u8, 105u8, + 138u8, 199u8, 181u8, 43u8, 150u8, 143u8, 254u8, 182u8, 81u8, 86u8, + 45u8, + ], + ) + } + #[doc = "Set the sub-accounts of the sender."] + #[doc = ""] + #[doc = "Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned"] + #[doc = "and an amount `SubAccountDeposit` will be reserved for each item in `subs`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "identity."] + #[doc = ""] + #[doc = "- `subs`: The identity's (new) sub-accounts."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(P + S)`"] + #[doc = " - where `P` old-subs-count (hard- and deposit-bounded)."] + #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] + pub fn set_subs( + &self, + subs: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::pallet_identity::types::Data, + )>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "set_subs", + types::SetSubs { subs }, + [ + 34u8, 184u8, 18u8, 155u8, 112u8, 247u8, 235u8, 75u8, 209u8, 236u8, + 21u8, 238u8, 43u8, 237u8, 223u8, 147u8, 48u8, 6u8, 39u8, 231u8, 174u8, + 164u8, 243u8, 184u8, 220u8, 151u8, 165u8, 69u8, 219u8, 122u8, 234u8, + 100u8, + ], + ) + } + #[doc = "Clear an account's identity info and all sub-accounts and return all deposits."] + #[doc = ""] + #[doc = "Payment: All reserved balances on the account are returned."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "identity."] + #[doc = ""] + #[doc = "Emits `IdentityCleared` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R + S + X)`"] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] + pub fn clear_identity(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "clear_identity", + types::ClearIdentity {}, + [ + 43u8, 115u8, 205u8, 44u8, 24u8, 130u8, 220u8, 69u8, 247u8, 176u8, + 200u8, 175u8, 67u8, 183u8, 36u8, 200u8, 162u8, 132u8, 242u8, 25u8, + 21u8, 106u8, 197u8, 219u8, 141u8, 51u8, 204u8, 13u8, 191u8, 201u8, + 31u8, 31u8, + ], + ) + } + #[doc = "Request a judgement from a registrar."] + #[doc = ""] + #[doc = "Payment: At most `max_fee` will be reserved for payment to the registrar if judgement"] + #[doc = "given."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a"] + #[doc = "registered identity."] + #[doc = ""] + #[doc = "- `reg_index`: The index of the registrar whose judgement is requested."] + #[doc = "- `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:"] + #[doc = ""] + #[doc = "```nocompile"] + #[doc = "Self::registrars().get(reg_index).unwrap().fee"] + #[doc = "```"] + #[doc = ""] + #[doc = "Emits `JudgementRequested` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R + X)`."] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] + pub fn request_judgement( + &self, + reg_index: ::core::primitive::u32, + max_fee: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "request_judgement", + types::RequestJudgement { reg_index, max_fee }, + [ + 83u8, 85u8, 55u8, 184u8, 14u8, 54u8, 49u8, 212u8, 26u8, 148u8, 33u8, + 147u8, 182u8, 54u8, 180u8, 12u8, 61u8, 179u8, 216u8, 157u8, 103u8, + 52u8, 120u8, 252u8, 83u8, 203u8, 144u8, 65u8, 15u8, 3u8, 21u8, 33u8, + ], + ) + } + #[doc = "Cancel a previous request."] + #[doc = ""] + #[doc = "Payment: A previously reserved deposit is returned on success."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a"] + #[doc = "registered identity."] + #[doc = ""] + #[doc = "- `reg_index`: The index of the registrar whose judgement is no longer requested."] + #[doc = ""] + #[doc = "Emits `JudgementUnrequested` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R + X)`."] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] + pub fn cancel_request( + &self, + reg_index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "cancel_request", + types::CancelRequest { reg_index }, + [ + 81u8, 14u8, 133u8, 219u8, 43u8, 84u8, 163u8, 208u8, 21u8, 185u8, 75u8, + 117u8, 126u8, 33u8, 210u8, 106u8, 122u8, 210u8, 35u8, 207u8, 104u8, + 206u8, 41u8, 117u8, 247u8, 108u8, 56u8, 23u8, 123u8, 169u8, 169u8, + 61u8, + ], + ) + } + #[doc = "Set the fee required for a judgement to be requested from a registrar."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `index`."] + #[doc = ""] + #[doc = "- `index`: the index of the registrar whose fee is to be set."] + #[doc = "- `fee`: the new fee."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R)`."] + #[doc = " - where `R` registrar-count (governance-bounded)."] + pub fn set_fee( + &self, + index: ::core::primitive::u32, + fee: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "set_fee", + types::SetFee { index, fee }, + [ + 131u8, 20u8, 17u8, 127u8, 180u8, 65u8, 225u8, 144u8, 193u8, 60u8, + 131u8, 241u8, 30u8, 149u8, 8u8, 76u8, 29u8, 52u8, 102u8, 108u8, 127u8, + 130u8, 70u8, 18u8, 94u8, 145u8, 179u8, 109u8, 252u8, 219u8, 58u8, + 163u8, + ], + ) + } + #[doc = "Change the account associated with a registrar."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `index`."] + #[doc = ""] + #[doc = "- `index`: the index of the registrar whose fee is to be set."] + #[doc = "- `new`: the new account ID."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R)`."] + #[doc = " - where `R` registrar-count (governance-bounded)."] + pub fn set_account_id( + &self, + index: ::core::primitive::u32, + new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "set_account_id", + types::SetAccountId { index, new }, + [ + 68u8, 57u8, 39u8, 134u8, 39u8, 82u8, 156u8, 107u8, 113u8, 99u8, 9u8, + 163u8, 58u8, 249u8, 247u8, 208u8, 38u8, 203u8, 54u8, 153u8, 116u8, + 143u8, 81u8, 46u8, 228u8, 149u8, 127u8, 115u8, 252u8, 83u8, 33u8, + 101u8, + ], + ) + } + #[doc = "Set the field information for a registrar."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `index`."] + #[doc = ""] + #[doc = "- `index`: the index of the registrar whose fee is to be set."] + #[doc = "- `fields`: the fields that the registrar concerns themselves with."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R)`."] + #[doc = " - where `R` registrar-count (governance-bounded)."] + pub fn set_fields( + &self, + index: ::core::primitive::u32, + fields: runtime_types::pallet_identity::types::BitFlags< + runtime_types::pallet_identity::types::IdentityField, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "set_fields", + types::SetFields { index, fields }, + [ + 25u8, 129u8, 119u8, 232u8, 18u8, 32u8, 77u8, 23u8, 185u8, 56u8, 32u8, + 199u8, 74u8, 174u8, 104u8, 203u8, 171u8, 253u8, 19u8, 225u8, 101u8, + 239u8, 14u8, 242u8, 157u8, 51u8, 203u8, 74u8, 1u8, 65u8, 165u8, 205u8, + ], + ) + } + #[doc = "Provide a judgement for an account's identity."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `reg_index`."] + #[doc = ""] + #[doc = "- `reg_index`: the index of the registrar whose judgement is being made."] + #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"] + #[doc = " with a registered identity."] + #[doc = "- `judgement`: the judgement of the registrar of index `reg_index` about `target`."] + #[doc = "- `identity`: The hash of the [`IdentityInfo`] for that the judgement is provided."] + #[doc = ""] + #[doc = "Emits `JudgementGiven` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R + X)`."] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] + pub fn provide_judgement( + &self, + reg_index: ::core::primitive::u32, + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + judgement: runtime_types::pallet_identity::types::Judgement< + ::core::primitive::u128, + >, + identity: ::subxt::utils::H256, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "provide_judgement", + types::ProvideJudgement { + reg_index, + target, + judgement, + identity, + }, + [ + 145u8, 188u8, 61u8, 236u8, 183u8, 49u8, 49u8, 149u8, 240u8, 184u8, + 202u8, 75u8, 69u8, 0u8, 95u8, 103u8, 132u8, 24u8, 107u8, 221u8, 236u8, + 75u8, 231u8, 125u8, 39u8, 189u8, 45u8, 202u8, 116u8, 123u8, 236u8, + 96u8, + ], + ) + } + #[doc = "Remove an account's identity and sub-account information and slash the deposits."] + #[doc = ""] + #[doc = "Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by"] + #[doc = "`Slash`. Verification request deposits are not returned; they should be cancelled"] + #[doc = "manually using `cancel_request`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must match `T::ForceOrigin`."] + #[doc = ""] + #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"] + #[doc = " with a registered identity."] + #[doc = ""] + #[doc = "Emits `IdentityKilled` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R + S + X)`"] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] + pub fn kill_identity( + &self, + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "kill_identity", + types::KillIdentity { target }, + [ + 114u8, 249u8, 102u8, 62u8, 118u8, 105u8, 185u8, 61u8, 173u8, 52u8, + 57u8, 190u8, 102u8, 74u8, 108u8, 239u8, 142u8, 176u8, 116u8, 51u8, + 49u8, 197u8, 6u8, 183u8, 248u8, 202u8, 202u8, 140u8, 134u8, 59u8, + 103u8, 182u8, + ], + ) + } + #[doc = "Add the given account to the sender's subs."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + pub fn add_sub( + &self, + sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + data: runtime_types::pallet_identity::types::Data, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "add_sub", + types::AddSub { sub, data }, + [ + 3u8, 65u8, 137u8, 35u8, 238u8, 133u8, 56u8, 233u8, 37u8, 125u8, 221u8, + 186u8, 153u8, 74u8, 69u8, 196u8, 244u8, 82u8, 51u8, 7u8, 216u8, 29u8, + 18u8, 16u8, 198u8, 184u8, 0u8, 181u8, 71u8, 227u8, 144u8, 33u8, + ], + ) + } + #[doc = "Alter the associated name of the given sub-account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + pub fn rename_sub( + &self, + sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + data: runtime_types::pallet_identity::types::Data, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "rename_sub", + types::RenameSub { sub, data }, + [ + 252u8, 50u8, 201u8, 112u8, 49u8, 248u8, 223u8, 239u8, 219u8, 226u8, + 64u8, 68u8, 227u8, 20u8, 30u8, 24u8, 36u8, 77u8, 26u8, 235u8, 144u8, + 240u8, 11u8, 111u8, 145u8, 167u8, 184u8, 207u8, 173u8, 58u8, 152u8, + 202u8, + ], + ) + } + #[doc = "Remove the given account from the sender's subs."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + pub fn remove_sub( + &self, + sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "remove_sub", + types::RemoveSub { sub }, + [ + 95u8, 249u8, 171u8, 27u8, 100u8, 186u8, 67u8, 214u8, 226u8, 6u8, 118u8, + 39u8, 91u8, 122u8, 1u8, 87u8, 1u8, 226u8, 101u8, 9u8, 199u8, 167u8, + 84u8, 202u8, 141u8, 196u8, 80u8, 195u8, 15u8, 114u8, 140u8, 144u8, + ], + ) + } + #[doc = "Remove the sender as a sub-account."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender (*not* the original depositor)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "super-identity."] + #[doc = ""] + #[doc = "NOTE: This should not normally be used, but is provided in the case that the non-"] + #[doc = "controller of an account is maliciously registered as a sub-account."] + pub fn quit_sub(&self) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Identity", + "quit_sub", + types::QuitSub {}, + [ + 147u8, 131u8, 175u8, 171u8, 187u8, 201u8, 240u8, 26u8, 146u8, 224u8, + 74u8, 166u8, 242u8, 193u8, 204u8, 247u8, 168u8, 93u8, 18u8, 32u8, 27u8, + 208u8, 149u8, 146u8, 179u8, 172u8, 75u8, 112u8, 84u8, 141u8, 233u8, + 223u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_identity::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A name was set or reset (which will remove all judgements)."] + pub struct IdentitySet { + pub who: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for IdentitySet { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "IdentitySet"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A name was cleared, and the given balance returned."] + pub struct IdentityCleared { + pub who: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for IdentityCleared { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "IdentityCleared"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A name was removed and the given balance slashed."] + pub struct IdentityKilled { + pub who: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for IdentityKilled { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "IdentityKilled"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A judgement was asked from a registrar."] + pub struct JudgementRequested { + pub who: ::subxt::utils::AccountId32, + pub registrar_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for JudgementRequested { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "JudgementRequested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A judgement request was retracted."] + pub struct JudgementUnrequested { + pub who: ::subxt::utils::AccountId32, + pub registrar_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for JudgementUnrequested { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "JudgementUnrequested"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A judgement was given by a registrar."] + pub struct JudgementGiven { + pub target: ::subxt::utils::AccountId32, + pub registrar_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for JudgementGiven { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "JudgementGiven"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A registrar was added."] + pub struct RegistrarAdded { + pub registrar_index: ::core::primitive::u32, + } + impl ::subxt::events::StaticEvent for RegistrarAdded { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "RegistrarAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A sub-identity was added to an identity and the deposit paid."] + pub struct SubIdentityAdded { + pub sub: ::subxt::utils::AccountId32, + pub main: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SubIdentityAdded { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "SubIdentityAdded"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A sub-identity was removed from an identity and the deposit freed."] + pub struct SubIdentityRemoved { + pub sub: ::subxt::utils::AccountId32, + pub main: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SubIdentityRemoved { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "SubIdentityRemoved"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A sub-identity was cleared, and the given deposit repatriated from the"] + #[doc = "main identity account to the sub-identity account."] + pub struct SubIdentityRevoked { + pub sub: ::subxt::utils::AccountId32, + pub main: ::subxt::utils::AccountId32, + pub deposit: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for SubIdentityRevoked { + const PALLET: &'static str = "Identity"; + const EVENT: &'static str = "SubIdentityRevoked"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " Information that is pertinent to identify the entity behind an account."] + #[doc = ""] + #[doc = " TWOX-NOTE: OK ― `AccountId` is a secure hash."] + pub fn identity_of_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_identity::types::Registration<::core::primitive::u128>, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Identity", + "IdentityOf", + vec![], + [ + 112u8, 2u8, 209u8, 123u8, 138u8, 171u8, 80u8, 243u8, 226u8, 88u8, 81u8, + 49u8, 59u8, 172u8, 88u8, 180u8, 255u8, 119u8, 57u8, 16u8, 169u8, 149u8, + 77u8, 239u8, 73u8, 182u8, 28u8, 112u8, 150u8, 110u8, 65u8, 139u8, + ], + ) + } + #[doc = " Information that is pertinent to identify the entity behind an account."] + #[doc = ""] + #[doc = " TWOX-NOTE: OK ― `AccountId` is a secure hash."] + pub fn identity_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_identity::types::Registration<::core::primitive::u128>, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Identity", + "IdentityOf", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 112u8, 2u8, 209u8, 123u8, 138u8, 171u8, 80u8, 243u8, 226u8, 88u8, 81u8, + 49u8, 59u8, 172u8, 88u8, 180u8, 255u8, 119u8, 57u8, 16u8, 169u8, 149u8, + 77u8, 239u8, 73u8, 182u8, 28u8, 112u8, 150u8, 110u8, 65u8, 139u8, + ], + ) + } + #[doc = " The super-identity of an alternative \"sub\" identity together with its name, within that"] + #[doc = " context. If the account is not some other account's sub-identity, then just `None`."] + pub fn super_of_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + ::subxt::utils::AccountId32, + runtime_types::pallet_identity::types::Data, + ), + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Identity", + "SuperOf", + vec![], + [ + 84u8, 72u8, 64u8, 14u8, 56u8, 9u8, 143u8, 100u8, 141u8, 163u8, 36u8, + 55u8, 38u8, 254u8, 164u8, 17u8, 3u8, 110u8, 88u8, 175u8, 161u8, 65u8, + 159u8, 40u8, 46u8, 8u8, 177u8, 81u8, 130u8, 38u8, 193u8, 28u8, + ], + ) + } + #[doc = " The super-identity of an alternative \"sub\" identity together with its name, within that"] + #[doc = " context. If the account is not some other account's sub-identity, then just `None`."] + pub fn super_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + ::subxt::utils::AccountId32, + runtime_types::pallet_identity::types::Data, + ), + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "Identity", + "SuperOf", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 84u8, 72u8, 64u8, 14u8, 56u8, 9u8, 143u8, 100u8, 141u8, 163u8, 36u8, + 55u8, 38u8, 254u8, 164u8, 17u8, 3u8, 110u8, 88u8, 175u8, 161u8, 65u8, + 159u8, 40u8, 46u8, 8u8, 177u8, 81u8, 130u8, 38u8, 193u8, 28u8, + ], + ) + } + #[doc = " Alternative \"sub\" identities of this account."] + #[doc = ""] + #[doc = " The first item is the deposit, the second is a vector of the accounts."] + #[doc = ""] + #[doc = " TWOX-NOTE: OK ― `AccountId` is a secure hash."] + pub fn subs_of_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + ::core::primitive::u128, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + ), + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Identity", + "SubsOf", + vec![], + [ + 164u8, 140u8, 52u8, 123u8, 220u8, 118u8, 147u8, 3u8, 67u8, 22u8, 191u8, + 18u8, 186u8, 21u8, 154u8, 8u8, 205u8, 224u8, 163u8, 173u8, 174u8, + 107u8, 144u8, 215u8, 116u8, 64u8, 159u8, 115u8, 159u8, 205u8, 91u8, + 28u8, + ], + ) + } + #[doc = " Alternative \"sub\" identities of this account."] + #[doc = ""] + #[doc = " The first item is the deposit, the second is a vector of the accounts."] + #[doc = ""] + #[doc = " TWOX-NOTE: OK ― `AccountId` is a secure hash."] + pub fn subs_of( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ( + ::core::primitive::u128, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + ), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Identity", + "SubsOf", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 164u8, 140u8, 52u8, 123u8, 220u8, 118u8, 147u8, 3u8, 67u8, 22u8, 191u8, + 18u8, 186u8, 21u8, 154u8, 8u8, 205u8, 224u8, 163u8, 173u8, 174u8, + 107u8, 144u8, 215u8, 116u8, 64u8, 159u8, 115u8, 159u8, 205u8, 91u8, + 28u8, + ], + ) + } + #[doc = " The set of registrars. Not expected to get very big as can only be added through a"] + #[doc = " special origin (likely a council motion)."] + #[doc = ""] + #[doc = " The index into this can be cast to `RegistrarIndex` to get a valid value."] + pub fn registrars( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::option::Option< + runtime_types::pallet_identity::types::RegistrarInfo< + ::core::primitive::u128, + ::subxt::utils::AccountId32, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Identity", + "Registrars", + vec![], + [ + 207u8, 253u8, 229u8, 237u8, 228u8, 85u8, 173u8, 74u8, 164u8, 67u8, + 144u8, 144u8, 5u8, 242u8, 84u8, 187u8, 110u8, 181u8, 2u8, 162u8, 239u8, + 212u8, 72u8, 233u8, 160u8, 196u8, 121u8, 218u8, 100u8, 0u8, 219u8, + 181u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The amount held on deposit for a registered identity"] + pub fn basic_deposit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Identity", + "BasicDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount held on deposit per additional field for a registered identity."] + pub fn field_deposit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Identity", + "FieldDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The amount held on deposit for a registered subaccount. This should account for the fact"] + #[doc = " that one storage item's value will increase by the size of an account ID, and there will"] + #[doc = " be another trie item whose value is the size of an account ID plus 32 bytes."] + pub fn sub_account_deposit( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u128> { + ::subxt::constants::Address::new_static( + "Identity", + "SubAccountDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) + } + #[doc = " The maximum number of sub-accounts allowed per identified account."] + pub fn max_sub_accounts( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Identity", + "MaxSubAccounts", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O"] + #[doc = " required to access an identity, but can be pretty high."] + pub fn max_additional_fields( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Identity", + "MaxAdditionalFields", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + #[doc = " Maxmimum number of registrars allowed in the system. Needed to bound the complexity"] + #[doc = " of, e.g., updating judgements."] + pub fn max_registrars( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Identity", + "MaxRegistrars", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + } + } + } + pub mod vote_manager { + use super::root_mod; + use super::runtime_types; + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub type Error = runtime_types::pallet_vote_manager::pallet::Error; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub type Call = runtime_types::pallet_vote_manager::pallet::Call; + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Vote { + #[codec(compact)] + pub poll_index: ::core::primitive::u32, + pub vote: runtime_types::pallet_conviction_voting::vote::AccountVote< + ::core::primitive::u128, + >, + pub currency: runtime_types::pallet_vote_manager::types::VoteCurrency< + ::core::primitive::u128, + >, + } + impl ::subxt::blocks::StaticExtrinsic for Vote { + const PALLET: &'static str = "VoteManager"; + const CALL: &'static str = "vote"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveVote { + pub class: ::core::option::Option<::core::primitive::u16>, + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveVote { + const PALLET: &'static str = "VoteManager"; + const CALL: &'static str = "remove_vote"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoveOtherVote { + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub class: ::core::primitive::u16, + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for RemoveOtherVote { + const PALLET: &'static str = "VoteManager"; + const CALL: &'static str = "remove_other_vote"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Unlock { + pub class: ::core::primitive::u16, + pub target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + pub index: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for Unlock { + const PALLET: &'static str = "VoteManager"; + const CALL: &'static str = "unlock"; + } + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"] + #[doc = "otherwise it is a vote to keep the status quo."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `poll_index`: The index of the poll to vote for."] + #[doc = "- `vote`: The vote configuration."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."] + pub fn vote( + &self, + poll_index: ::core::primitive::u32, + vote: runtime_types::pallet_conviction_voting::vote::AccountVote< + ::core::primitive::u128, + >, + currency: runtime_types::pallet_vote_manager::types::VoteCurrency< + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "VoteManager", + "vote", + types::Vote { + poll_index, + vote, + currency, + }, + [ + 2u8, 191u8, 105u8, 149u8, 201u8, 154u8, 36u8, 241u8, 102u8, 212u8, + 86u8, 236u8, 245u8, 232u8, 26u8, 88u8, 169u8, 217u8, 125u8, 173u8, + 80u8, 231u8, 76u8, 244u8, 118u8, 97u8, 40u8, 38u8, 43u8, 207u8, 27u8, + 0u8, + ], + ) + } + #[doc = "Remove a vote for a poll."] + #[doc = ""] + #[doc = "If:"] + #[doc = "- the poll was cancelled, or"] + #[doc = "- the poll is ongoing, or"] + #[doc = "- the poll has ended such that"] + #[doc = " - the vote of the account was in opposition to the result; or"] + #[doc = " - there was no conviction to the account's vote; or"] + #[doc = " - the account made a split vote"] + #[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"] + #[doc = "funds being available."] + #[doc = ""] + #[doc = "If, however, the poll has ended and:"] + #[doc = "- it finished corresponding to the vote of the account, and"] + #[doc = "- the account made a standard vote with conviction, and"] + #[doc = "- the lock period of the conviction is not over"] + #[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"] + #[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"] + #[doc = "of both the amount locked and the time is it locked for)."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"] + #[doc = "registered for poll `index`."] + #[doc = ""] + #[doc = "- `index`: The index of poll of the vote to be removed."] + #[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"] + #[doc = " which have finished or are cancelled, this must be `Some`."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + pub fn remove_vote( + &self, + class: ::core::option::Option<::core::primitive::u16>, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "VoteManager", + "remove_vote", + types::RemoveVote { class, index }, + [ + 255u8, 108u8, 211u8, 146u8, 168u8, 231u8, 207u8, 44u8, 76u8, 24u8, + 235u8, 60u8, 23u8, 79u8, 192u8, 192u8, 46u8, 40u8, 134u8, 27u8, 125u8, + 114u8, 125u8, 247u8, 85u8, 102u8, 76u8, 159u8, 34u8, 167u8, 152u8, + 148u8, + ], + ) + } + #[doc = "Remove a vote for a poll."] + #[doc = ""] + #[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"] + #[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"] + #[doc = "either because the poll was cancelled, because the voter lost the poll or"] + #[doc = "because the conviction period is over."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"] + #[doc = " `index`."] + #[doc = "- `index`: The index of poll of the vote to be removed."] + #[doc = "- `class`: The class of the poll."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + pub fn remove_other_vote( + &self, + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + class: ::core::primitive::u16, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "VoteManager", + "remove_other_vote", + types::RemoveOtherVote { + target, + class, + index, + }, + [ + 165u8, 26u8, 166u8, 37u8, 10u8, 174u8, 243u8, 10u8, 73u8, 93u8, 213u8, + 69u8, 200u8, 16u8, 48u8, 146u8, 160u8, 92u8, 28u8, 26u8, 158u8, 55u8, + 6u8, 251u8, 36u8, 132u8, 46u8, 195u8, 107u8, 34u8, 0u8, 100u8, + ], + ) + } + #[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"] + #[doc = "class."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `class`: The class of polls to unlock."] + #[doc = "- `target`: The account to remove the lock on."] + #[doc = ""] + #[doc = "Weight: `O(R)` with R number of vote of target."] + pub fn unlock( + &self, + class: ::core::primitive::u16, + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + index: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "VoteManager", + "unlock", + types::Unlock { + class, + target, + index, + }, + [ + 238u8, 244u8, 136u8, 79u8, 160u8, 148u8, 67u8, 238u8, 144u8, 107u8, + 202u8, 151u8, 70u8, 38u8, 212u8, 192u8, 198u8, 127u8, 235u8, 106u8, + 77u8, 100u8, 215u8, 31u8, 249u8, 148u8, 127u8, 121u8, 141u8, 8u8, + 167u8, 11u8, + ], + ) + } + } + } + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub type Event = runtime_types::pallet_vote_manager::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account has voted in a referendum"] + pub struct Voted { + pub voter: ::subxt::utils::AccountId32, + pub poll_index: ::core::primitive::u32, + pub vote: runtime_types::pallet_conviction_voting::vote::AccountVote< + ::core::primitive::u128, + >, + } + impl ::subxt::events::StaticEvent for Voted { + const PALLET: &'static str = "VoteManager"; + const EVENT: &'static str = "Voted"; + } + } + pub mod storage { + use super::runtime_types; + pub struct StorageApi; + impl StorageApi { + #[doc = " The currency used by `AccountId` to vote in Poll with"] + #[doc = " `PollIndex`"] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn vote_currencies_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_vote_manager::types::VoteCurrency< + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "VoteManager", + "VoteCurrencies", + vec![], + [ + 135u8, 52u8, 153u8, 192u8, 183u8, 83u8, 121u8, 160u8, 143u8, 152u8, + 189u8, 73u8, 51u8, 12u8, 200u8, 250u8, 166u8, 44u8, 187u8, 93u8, 17u8, + 91u8, 164u8, 111u8, 78u8, 154u8, 60u8, 152u8, 13u8, 58u8, 150u8, 79u8, + ], + ) + } + #[doc = " The currency used by `AccountId` to vote in Poll with"] + #[doc = " `PollIndex`"] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn vote_currencies_iter1( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_vote_manager::types::VoteCurrency< + ::core::primitive::u128, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "VoteManager", + "VoteCurrencies", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 135u8, 52u8, 153u8, 192u8, 183u8, 83u8, 121u8, 160u8, 143u8, 152u8, + 189u8, 73u8, 51u8, 12u8, 200u8, 250u8, 166u8, 44u8, 187u8, 93u8, 17u8, + 91u8, 164u8, 111u8, 78u8, 154u8, 60u8, 152u8, 13u8, 58u8, 150u8, 79u8, + ], + ) + } + #[doc = " The currency used by `AccountId` to vote in Poll with"] + #[doc = " `PollIndex`"] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn vote_currencies( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_vote_manager::types::VoteCurrency< + ::core::primitive::u128, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "VoteManager", + "VoteCurrencies", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 135u8, 52u8, 153u8, 192u8, 183u8, 83u8, 121u8, 160u8, 143u8, 152u8, + 189u8, 73u8, 51u8, 12u8, 200u8, 250u8, 166u8, 44u8, 187u8, 93u8, 17u8, + 91u8, 164u8, 111u8, 78u8, 154u8, 60u8, 152u8, 13u8, 58u8, 150u8, 79u8, + ], + ) + } + #[doc = " The currency used by `AccountId` to vote in referendum with"] + #[doc = " `ReferendumIndex`"] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn votes_to_unlock_iter( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_vote_manager::types::BalanceToUnlock< + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u32, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "VoteManager", + "VotesToUnlock", + vec![], + [ + 27u8, 151u8, 192u8, 61u8, 77u8, 49u8, 105u8, 227u8, 18u8, 229u8, 80u8, + 47u8, 5u8, 47u8, 145u8, 251u8, 30u8, 249u8, 246u8, 174u8, 116u8, 170u8, + 221u8, 163u8, 178u8, 215u8, 109u8, 53u8, 140u8, 232u8, 200u8, 110u8, + ], + ) + } + #[doc = " The currency used by `AccountId` to vote in referendum with"] + #[doc = " `ReferendumIndex`"] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn votes_to_unlock_iter1( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_vote_manager::types::BalanceToUnlock< + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u32, + >, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "VoteManager", + "VotesToUnlock", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 27u8, 151u8, 192u8, 61u8, 77u8, 49u8, 105u8, 227u8, 18u8, 229u8, 80u8, + 47u8, 5u8, 47u8, 145u8, 251u8, 30u8, 249u8, 246u8, 174u8, 116u8, 170u8, + 221u8, 163u8, 178u8, 215u8, 109u8, 53u8, 140u8, 232u8, 200u8, 110u8, + ], + ) + } + #[doc = " The currency used by `AccountId` to vote in referendum with"] + #[doc = " `ReferendumIndex`"] + #[doc = ""] + #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] + pub fn votes_to_unlock( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + _1: impl ::std::borrow::Borrow<::core::primitive::u32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_vote_manager::types::BalanceToUnlock< + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u32, + >, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "VoteManager", + "VotesToUnlock", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], + [ + 27u8, 151u8, 192u8, 61u8, 77u8, 49u8, 105u8, 227u8, 18u8, 229u8, 80u8, + 47u8, 5u8, 47u8, 145u8, 251u8, 30u8, 249u8, 246u8, 174u8, 116u8, 170u8, + 221u8, 163u8, 178u8, 215u8, 109u8, 53u8, 140u8, 232u8, 200u8, 110u8, + ], + ) + } + } + } + } + pub mod runtime_types { + use super::runtime_types; + pub mod bounded_collections { + use super::runtime_types; + pub mod bounded_btree_map { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>); + } + pub mod bounded_btree_set { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedBTreeSet<_0>(pub ::std::vec::Vec<_0>); + } + pub mod bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + pub mod weak_bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + } + pub mod enjin_runtime { + use super::runtime_types; + pub mod opaque { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SessionKeys { + pub grandpa: runtime_types::sp_consensus_grandpa::app::Public, + pub babe: runtime_types::sp_consensus_babe::app::Public, + pub im_online: runtime_types::pallet_im_online::sr25519::app_sr25519::Public, + pub para_validator: + runtime_types::polkadot_primitives::v4::validator_app::Public, + pub para_assignment: + runtime_types::polkadot_primitives::v4::assignment_app::Public, + pub authority_discovery: runtime_types::sp_authority_discovery::app::Public, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForeignTokenNameLength; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForeignTokenSymbolLength; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxAccountRuleDataLength; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxCallFilters; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxCollectionIds; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxExtrinsicNameLength; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxFilteredTokenCount; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxFuelTankNameLength; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxMigrationKeyLength; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxMultiTokensLocks; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxMultiTokensReserves; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxNameLength; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxOperatorsPerAccount; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxPermittedExtrinsicLength; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxRuleSets; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxRulesPerSet; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxWhitelistedCallers; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct NposSolution16 { + pub votes1: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes2: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + ( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ), + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes3: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + [( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ); 2usize], + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes4: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + [( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ); 3usize], + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes5: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + [( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ); 4usize], + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes6: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + [( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ); 5usize], + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes7: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + [( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ); 6usize], + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes8: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + [( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ); 7usize], + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes9: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + [( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ); 8usize], + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes10: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + [( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ); 9usize], + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes11: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + [( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ); 10usize], + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes12: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + [( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ); 11usize], + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes13: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + [( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ); 12usize], + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes14: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + [( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ); 13usize], + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes15: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + [( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ); 14usize], + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + pub votes16: ::std::vec::Vec<( + ::subxt::ext::codec::Compact<::core::primitive::u32>, + [( + ::subxt::ext::codec::Compact<::core::primitive::u16>, + ::subxt::ext::codec::Compact< + runtime_types::sp_arithmetic::per_things::PerU16, + >, + ); 15usize], + ::subxt::ext::codec::Compact<::core::primitive::u16>, + )>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum OriginCaller { + # [codec (index = 0)] system (runtime_types :: frame_support :: dispatch :: RawOrigin < :: subxt :: utils :: AccountId32 > ,) , # [codec (index = 50)] ParachainsOrigin (runtime_types :: polkadot_runtime_parachains :: origin :: pallet :: Origin ,) , # [codec (index = 99)] XcmPallet (runtime_types :: pallet_xcm :: pallet :: Origin ,) , # [codec (index = 104)] Origins (runtime_types :: enjin_runtime_common :: governance :: origins :: pallet_custom_origins :: Origin ,) , # [codec (index = 4)] Void (runtime_types :: sp_core :: Void ,) , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Runtime; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RuntimeCall { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Call), + #[codec(index = 2)] + Timestamp(runtime_types::pallet_timestamp::pallet::Call), + #[codec(index = 3)] + Babe(runtime_types::pallet_babe::pallet::Call), + #[codec(index = 6)] + Balances(runtime_types::pallet_balances::pallet::Call), + #[codec(index = 8)] + ElectionProviderMultiPhase( + runtime_types::pallet_election_provider_multi_phase::pallet::Call, + ), + #[codec(index = 9)] + Staking(runtime_types::pallet_staking::pallet::pallet::Call), + #[codec(index = 10)] + Session(runtime_types::pallet_session::pallet::Call), + #[codec(index = 11)] + Grandpa(runtime_types::pallet_grandpa::pallet::Call), + #[codec(index = 12)] + Treasury(runtime_types::pallet_treasury::pallet::Call), + #[codec(index = 14)] + Sudo(runtime_types::pallet_sudo::pallet::Call), + #[codec(index = 15)] + ImOnline(runtime_types::pallet_im_online::pallet::Call), + #[codec(index = 17)] + VoterList(runtime_types::pallet_bags_list::pallet::Call), + #[codec(index = 18)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Call), + #[codec(index = 19)] + StakeExchange(runtime_types::pallet_stake_exchange::pallet::Call), + #[codec(index = 20)] + Utility(runtime_types::pallet_utility::pallet::Call), + #[codec(index = 21)] + Multisig(runtime_types::pallet_multisig::pallet::Call), + #[codec(index = 51)] + Configuration( + runtime_types::polkadot_runtime_parachains::configuration::pallet::Call, + ), + #[codec(index = 52)] + ParasShared(runtime_types::polkadot_runtime_parachains::shared::pallet::Call), + #[codec(index = 53)] + ParaInclusion(runtime_types::polkadot_runtime_parachains::inclusion::pallet::Call), + #[codec(index = 54)] + ParaInherent( + runtime_types::polkadot_runtime_parachains::paras_inherent::pallet::Call, + ), + #[codec(index = 56)] + Paras(runtime_types::polkadot_runtime_parachains::paras::pallet::Call), + #[codec(index = 57)] + Initializer(runtime_types::polkadot_runtime_parachains::initializer::pallet::Call), + #[codec(index = 60)] + Hrmp(runtime_types::polkadot_runtime_parachains::hrmp::pallet::Call), + #[codec(index = 62)] + ParasDisputes(runtime_types::polkadot_runtime_parachains::disputes::pallet::Call), + #[codec(index = 63)] + ParasSlashing( + runtime_types::polkadot_runtime_parachains::disputes::slashing::pallet::Call, + ), + #[codec(index = 70)] + Registrar(runtime_types::polkadot_runtime_common::paras_registrar::pallet::Call), + #[codec(index = 71)] + Slots(runtime_types::polkadot_runtime_common::slots::pallet::Call), + #[codec(index = 72)] + Auctions(runtime_types::polkadot_runtime_common::auctions::pallet::Call), + #[codec(index = 73)] + Crowdloan(runtime_types::polkadot_runtime_common::crowdloan::pallet::Call), + #[codec(index = 99)] + XcmPallet(runtime_types::pallet_xcm::pallet::Call), + #[codec(index = 110)] + MessageQueue(runtime_types::pallet_message_queue::pallet::Call), + #[codec(index = 250)] + ParasSudoWrapper( + runtime_types::polkadot_runtime_common::paras_sudo_wrapper::pallet::Call, + ), + #[codec(index = 251)] + AssignedSlots(runtime_types::polkadot_runtime_common::assigned_slots::pallet::Call), + #[codec(index = 252)] + ValidatorManager(runtime_types::pallet_validator_manager::pallet::Call), + #[codec(index = 253)] + MultiTokens(runtime_types::pallet_multi_tokens::pallet::Call), + #[codec(index = 254)] + FuelTanks(runtime_types::pallet_fuel_tanks::pallet::Call), + #[codec(index = 255)] + ExtrinsicPause(runtime_types::pallet_extrinsic_pause::pallet::Call), + #[codec(index = 249)] + Marketplace(runtime_types::pallet_marketplace::pallet::Call), + #[codec(index = 240)] + Beefy(runtime_types::pallet_beefy::pallet::Call), + #[codec(index = 100)] + Scheduler(runtime_types::pallet_scheduler::pallet::Call), + #[codec(index = 101)] + Preimage(runtime_types::pallet_preimage::pallet::Call), + #[codec(index = 102)] + ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Call), + #[codec(index = 103)] + Referenda(runtime_types::pallet_referenda::pallet::Call), + #[codec(index = 105)] + Whitelist(runtime_types::pallet_whitelist::pallet::Call), + #[codec(index = 106)] + FellowshipCollective(runtime_types::pallet_ranked_collective::pallet::Call), + #[codec(index = 107)] + FellowshipReferenda(runtime_types::pallet_referenda::pallet::Call2), + #[codec(index = 108)] + Identity(runtime_types::pallet_identity::pallet::Call), + #[codec(index = 109)] + VoteManager(runtime_types::pallet_vote_manager::pallet::Call), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RuntimeError { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Error), + #[codec(index = 3)] + Babe(runtime_types::pallet_babe::pallet::Error), + #[codec(index = 6)] + Balances(runtime_types::pallet_balances::pallet::Error), + #[codec(index = 8)] + ElectionProviderMultiPhase( + runtime_types::pallet_election_provider_multi_phase::pallet::Error, + ), + #[codec(index = 9)] + Staking(runtime_types::pallet_staking::pallet::pallet::Error), + #[codec(index = 10)] + Session(runtime_types::pallet_session::pallet::Error), + #[codec(index = 11)] + Grandpa(runtime_types::pallet_grandpa::pallet::Error), + #[codec(index = 12)] + Treasury(runtime_types::pallet_treasury::pallet::Error), + #[codec(index = 14)] + Sudo(runtime_types::pallet_sudo::pallet::Error), + #[codec(index = 15)] + ImOnline(runtime_types::pallet_im_online::pallet::Error), + #[codec(index = 17)] + VoterList(runtime_types::pallet_bags_list::pallet::Error), + #[codec(index = 18)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Error), + #[codec(index = 19)] + StakeExchange(runtime_types::pallet_stake_exchange::pallet::Error), + #[codec(index = 20)] + Utility(runtime_types::pallet_utility::pallet::Error), + #[codec(index = 21)] + Multisig(runtime_types::pallet_multisig::pallet::Error), + #[codec(index = 51)] + Configuration( + runtime_types::polkadot_runtime_parachains::configuration::pallet::Error, + ), + #[codec(index = 53)] + ParaInclusion(runtime_types::polkadot_runtime_parachains::inclusion::pallet::Error), + #[codec(index = 54)] + ParaInherent( + runtime_types::polkadot_runtime_parachains::paras_inherent::pallet::Error, + ), + #[codec(index = 56)] + Paras(runtime_types::polkadot_runtime_parachains::paras::pallet::Error), + #[codec(index = 60)] + Hrmp(runtime_types::polkadot_runtime_parachains::hrmp::pallet::Error), + #[codec(index = 62)] + ParasDisputes(runtime_types::polkadot_runtime_parachains::disputes::pallet::Error), + #[codec(index = 63)] + ParasSlashing( + runtime_types::polkadot_runtime_parachains::disputes::slashing::pallet::Error, + ), + #[codec(index = 70)] + Registrar(runtime_types::polkadot_runtime_common::paras_registrar::pallet::Error), + #[codec(index = 71)] + Slots(runtime_types::polkadot_runtime_common::slots::pallet::Error), + #[codec(index = 72)] + Auctions(runtime_types::polkadot_runtime_common::auctions::pallet::Error), + #[codec(index = 73)] + Crowdloan(runtime_types::polkadot_runtime_common::crowdloan::pallet::Error), + #[codec(index = 99)] + XcmPallet(runtime_types::pallet_xcm::pallet::Error), + #[codec(index = 110)] + MessageQueue(runtime_types::pallet_message_queue::pallet::Error), + #[codec(index = 250)] + ParasSudoWrapper( + runtime_types::polkadot_runtime_common::paras_sudo_wrapper::pallet::Error, + ), + #[codec(index = 251)] + AssignedSlots( + runtime_types::polkadot_runtime_common::assigned_slots::pallet::Error, + ), + #[codec(index = 253)] + MultiTokens(runtime_types::pallet_multi_tokens::pallet::Error), + #[codec(index = 254)] + FuelTanks(runtime_types::pallet_fuel_tanks::pallet::Error), + #[codec(index = 255)] + ExtrinsicPause(runtime_types::pallet_extrinsic_pause::pallet::Error), + #[codec(index = 249)] + Marketplace(runtime_types::pallet_marketplace::pallet::Error), + #[codec(index = 240)] + Beefy(runtime_types::pallet_beefy::pallet::Error), + #[codec(index = 100)] + Scheduler(runtime_types::pallet_scheduler::pallet::Error), + #[codec(index = 101)] + Preimage(runtime_types::pallet_preimage::pallet::Error), + #[codec(index = 102)] + ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Error), + #[codec(index = 103)] + Referenda(runtime_types::pallet_referenda::pallet::Error), + #[codec(index = 105)] + Whitelist(runtime_types::pallet_whitelist::pallet::Error), + #[codec(index = 106)] + FellowshipCollective(runtime_types::pallet_ranked_collective::pallet::Error), + #[codec(index = 107)] + FellowshipReferenda(runtime_types::pallet_referenda::pallet::Error2), + #[codec(index = 108)] + Identity(runtime_types::pallet_identity::pallet::Error), + #[codec(index = 109)] + VoteManager(runtime_types::pallet_vote_manager::pallet::Error), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RuntimeEvent { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Event), + #[codec(index = 6)] + Balances(runtime_types::pallet_balances::pallet::Event), + #[codec(index = 7)] + Offences(runtime_types::pallet_offences::pallet::Event), + #[codec(index = 8)] + ElectionProviderMultiPhase( + runtime_types::pallet_election_provider_multi_phase::pallet::Event, + ), + #[codec(index = 9)] + Staking(runtime_types::pallet_staking::pallet::pallet::Event), + #[codec(index = 10)] + Session(runtime_types::pallet_session::pallet::Event), + #[codec(index = 11)] + Grandpa(runtime_types::pallet_grandpa::pallet::Event), + #[codec(index = 12)] + Treasury(runtime_types::pallet_treasury::pallet::Event), + #[codec(index = 13)] + TransactionPayment(runtime_types::pallet_transaction_payment::pallet::Event), + #[codec(index = 14)] + Sudo(runtime_types::pallet_sudo::pallet::Event), + #[codec(index = 15)] + ImOnline(runtime_types::pallet_im_online::pallet::Event), + #[codec(index = 17)] + VoterList(runtime_types::pallet_bags_list::pallet::Event), + #[codec(index = 18)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Event), + #[codec(index = 19)] + StakeExchange(runtime_types::pallet_stake_exchange::pallet::Event), + #[codec(index = 20)] + Utility(runtime_types::pallet_utility::pallet::Event), + #[codec(index = 21)] + Multisig(runtime_types::pallet_multisig::pallet::Event), + #[codec(index = 53)] + ParaInclusion(runtime_types::polkadot_runtime_parachains::inclusion::pallet::Event), + #[codec(index = 56)] + Paras(runtime_types::polkadot_runtime_parachains::paras::pallet::Event), + #[codec(index = 60)] + Hrmp(runtime_types::polkadot_runtime_parachains::hrmp::pallet::Event), + #[codec(index = 62)] + ParasDisputes(runtime_types::polkadot_runtime_parachains::disputes::pallet::Event), + #[codec(index = 70)] + Registrar(runtime_types::polkadot_runtime_common::paras_registrar::pallet::Event), + #[codec(index = 71)] + Slots(runtime_types::polkadot_runtime_common::slots::pallet::Event), + #[codec(index = 72)] + Auctions(runtime_types::polkadot_runtime_common::auctions::pallet::Event), + #[codec(index = 73)] + Crowdloan(runtime_types::polkadot_runtime_common::crowdloan::pallet::Event), + #[codec(index = 99)] + XcmPallet(runtime_types::pallet_xcm::pallet::Event), + #[codec(index = 110)] + MessageQueue(runtime_types::pallet_message_queue::pallet::Event), + #[codec(index = 251)] + AssignedSlots( + runtime_types::polkadot_runtime_common::assigned_slots::pallet::Event, + ), + #[codec(index = 252)] + ValidatorManager(runtime_types::pallet_validator_manager::pallet::Event), + #[codec(index = 253)] + MultiTokens(runtime_types::pallet_multi_tokens::pallet::Event), + #[codec(index = 254)] + FuelTanks(runtime_types::pallet_fuel_tanks::pallet::Event), + #[codec(index = 255)] + ExtrinsicPause(runtime_types::pallet_extrinsic_pause::pallet::Event), + #[codec(index = 249)] + Marketplace(runtime_types::pallet_marketplace::pallet::Event), + #[codec(index = 100)] + Scheduler(runtime_types::pallet_scheduler::pallet::Event), + #[codec(index = 101)] + Preimage(runtime_types::pallet_preimage::pallet::Event), + #[codec(index = 102)] + ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Event), + #[codec(index = 103)] + Referenda(runtime_types::pallet_referenda::pallet::Event), + #[codec(index = 105)] + Whitelist(runtime_types::pallet_whitelist::pallet::Event), + #[codec(index = 106)] + FellowshipCollective(runtime_types::pallet_ranked_collective::pallet::Event), + #[codec(index = 107)] + FellowshipReferenda(runtime_types::pallet_referenda::pallet::Event2), + #[codec(index = 108)] + Identity(runtime_types::pallet_identity::pallet::Event), + #[codec(index = 109)] + VoteManager(runtime_types::pallet_vote_manager::pallet::Event), + } + } + pub mod enjin_runtime_common { + use super::runtime_types; + pub mod governance { + use super::runtime_types; + pub mod origins { + use super::runtime_types; + pub mod pallet_custom_origins { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Origin { + #[codec(index = 0)] + StakingAdmin, + #[codec(index = 1)] + TreasuryAdmin, + #[codec(index = 2)] + FellowshipAdmin, + #[codec(index = 3)] + GeneralAdmin, + #[codec(index = 4)] + AuctionAdmin, + #[codec(index = 5)] + LeaseAdmin, + #[codec(index = 6)] + MultiTokensAdmin, + #[codec(index = 7)] + FuelTanksAdmin, + #[codec(index = 8)] + ClaimsAdmin, + #[codec(index = 9)] + ExtrinsicPauseAdmin, + #[codec(index = 10)] + PreimageAdmin, + #[codec(index = 11)] + WhitelistAdmin, + #[codec(index = 12)] + ParachainsAdmin, + #[codec(index = 13)] + ReferendumCanceller, + #[codec(index = 14)] + ReferendumKiller, + #[codec(index = 15)] + SmallTipper, + #[codec(index = 16)] + BigTipper, + #[codec(index = 17)] + SmallSpender, + #[codec(index = 18)] + MediumSpender, + #[codec(index = 19)] + BigSpender, + #[codec(index = 20)] + WhitelistedCaller, + #[codec(index = 21)] + FellowshipInitiates, + #[codec(index = 22)] + Fellows, + #[codec(index = 23)] + FellowshipExperts, + #[codec(index = 24)] + FellowshipMasters, + #[codec(index = 25)] + Fellowship1Dan, + #[codec(index = 26)] + Fellowship2Dan, + #[codec(index = 27)] + Fellowship3Dan, + #[codec(index = 28)] + Fellowship4Dan, + #[codec(index = 29)] + Fellowship5Dan, + #[codec(index = 30)] + Fellowship6Dan, + #[codec(index = 31)] + Fellowship7Dan, + #[codec(index = 32)] + Fellowship8Dan, + #[codec(index = 33)] + Fellowship9Dan, + } + } + } + } + } + pub mod ep_core { + use super::runtime_types; + pub mod frame { + use super::runtime_types; + pub mod migrations { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Migration<_0> { + pub stage: runtime_types::ep_core::frame::migrations::MigrationStage, + pub last_iterated_key: ::core::option::Option< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum MigrationStage { + #[codec(index = 0)] + NotStarted, + #[codec(index = 1)] + InProgress, + #[codec(index = 2)] + Completed, + #[codec(index = 3)] + Failed, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedString<_0>( + pub runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + #[codec(skip)] pub ::core::marker::PhantomData<_0>, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExtrinsicInfo<_0> { + pub pallet_name: runtime_types::ep_core::frame::types::BoundedString<_0>, + pub extrinsic_name: ::core::option::Option< + runtime_types::ep_core::frame::types::BoundedString<_0>, + >, + } + } + } + } + pub mod ep_multi_tokens { + use super::runtime_types; + pub mod attribute { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Attribute<_0, _1> { + pub value: _0, + #[codec(compact)] + pub deposit: _1, + } + } + pub mod batch { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AttributeKeyValuePair<_0, _1> { + pub key: _0, + pub value: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Recipient<_0, _1> { + pub account_id: _0, + pub params: _1, + } + } + pub mod collection { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Collection<_0, _1, _2, _3> { + pub owner: _0, + pub policy: _2, + #[codec(compact)] + pub token_count: ::core::primitive::u64, + #[codec(compact)] + pub attribute_count: ::core::primitive::u32, + #[codec(compact)] + pub total_deposit: _1, + pub explicit_royalty_currencies: _3, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultCollectionDescriptor<_0, _1, _2, _3> { + pub policy: + runtime_types::ep_multi_tokens::policy::DefaultCollectionPolicyDescriptor< + _0, + _1, + >, + pub explicit_royalty_currencies: _2, + pub attributes: _3, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultCollectionMutation<_0, _1, _2> { + pub owner: ::core::option::Option<_0>, + pub royalty: runtime_types::ep_multi_tokens::types::ShouldMutate< + ::core::option::Option<_1>, + >, + pub explicit_royalty_currencies: ::core::option::Option<_2>, + } + } + pub mod frame { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultForeignTokenMetadata<_0, _1, _2, _3> { + #[codec(compact)] + pub decimal_count: ::core::primitive::u32, + pub name: _1, + pub symbol: _2, + pub location: ::core::option::Option<_3>, + pub units_per_second: ::core::option::Option<_0>, + #[codec(compact)] + pub preminted_supply: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DefaultTokenMetadata<_0> { + #[codec(index = 0)] + Native, + #[codec(index = 1)] + Foreign(_0), + } + } + pub mod policy { + use super::runtime_types; + pub mod attribute { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultAttributePolicy; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultAttributePolicyDescriptor; + } + pub mod burn { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultBurnParams<_0, _1> { + #[codec(compact)] + pub token_id: _0, + #[codec(compact)] + pub amount: _0, + pub keep_alive: ::core::primitive::bool, + pub remove_token_storage: ::core::primitive::bool, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultBurnPolicy; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultBurnPolicyDescriptor; + } + pub mod market { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultMarketPolicy<_0> { + pub royalty: ::core::option::Option<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultMarketPolicyDescriptor<_0> { + pub royalty: ::core::option::Option<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultRoyalty<_0> { + pub beneficiary: _0, + #[codec(compact)] + pub percentage: runtime_types::sp_arithmetic::per_things::Perbill, + } + } + pub mod mint { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DefaultMintParams<_0, _1, _2, _3, _4, _5, _6, _7> { + # [codec (index = 0)] CreateToken { # [codec (compact)] token_id : _0 , # [codec (compact)] initial_supply : _0 , sufficiency : runtime_types :: ep_multi_tokens :: policy :: mint :: SufficiencyParam < _0 , _0 > , cap : :: core :: option :: Option < runtime_types :: ep_multi_tokens :: token :: TokenCap < _0 > > , behavior : :: core :: option :: Option < runtime_types :: ep_multi_tokens :: token :: TokenMarketBehavior < _3 > > , listing_forbidden : :: core :: primitive :: bool , freeze_state : :: core :: option :: Option < runtime_types :: ep_multi_tokens :: token :: FreezeState > , attributes : _4 , foreign_params : :: core :: option :: Option < runtime_types :: ep_multi_tokens :: policy :: mint :: ForeignTokenCreationParams < _5 , _6 , _7 > > , } , # [codec (index = 1)] Mint { # [codec (compact)] token_id : _0 , # [codec (compact)] amount : _0 , unit_price : :: core :: option :: Option < _0 > , } , __Ignore (:: core :: marker :: PhantomData < (_2 , _1) >) , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultMintPolicy<_0> { + pub max_token_count: ::core::option::Option<::core::primitive::u64>, + pub max_token_supply: ::core::option::Option<_0>, + pub force_single_mint: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultMintPolicyDescriptor<_0> { + pub max_token_count: ::core::option::Option<::core::primitive::u64>, + pub max_token_supply: ::core::option::Option<_0>, + pub force_single_mint: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForeignTokenCreationParams<_0, _1, _2> { + #[codec(compact)] + pub decimal_count: ::core::primitive::u32, + pub name: _0, + pub symbol: _1, + pub location: ::core::option::Option<_2>, + pub units_per_second: ::core::option::Option<::core::primitive::u128>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum SufficiencyParam<_0, _1> { + #[codec(index = 0)] + Insufficient { + unit_price: ::core::option::Option<_0>, + }, + #[codec(index = 1)] + Sufficient { minimum_balance: _1 }, + } + } + pub mod transfer { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DefaultTransferParams<_0, _1, _2> { + #[codec(index = 0)] + Simple { + #[codec(compact)] + token_id: _1, + #[codec(compact)] + amount: _1, + keep_alive: ::core::primitive::bool, + }, + #[codec(index = 1)] + Operator { + #[codec(compact)] + token_id: _1, + source: _0, + #[codec(compact)] + amount: _1, + keep_alive: ::core::primitive::bool, + }, + __Ignore(::core::marker::PhantomData<_2>), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultTransferPolicy { + pub is_frozen: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultTransferPolicyDescriptor; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultCollectionPolicy<_0, _1> { + pub mint: runtime_types::ep_multi_tokens::policy::mint::DefaultMintPolicy<_0>, + pub burn: runtime_types::ep_multi_tokens::policy::burn::DefaultBurnPolicy, + pub transfer: + runtime_types::ep_multi_tokens::policy::transfer::DefaultTransferPolicy, + pub attribute: + runtime_types::ep_multi_tokens::policy::attribute::DefaultAttributePolicy, + pub market: + runtime_types::ep_multi_tokens::policy::market::DefaultMarketPolicy<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultCollectionPolicyDescriptor < _0 , _1 > { pub mint : runtime_types :: ep_multi_tokens :: policy :: mint :: DefaultMintPolicyDescriptor < _0 > , pub burn : runtime_types :: ep_multi_tokens :: policy :: burn :: DefaultBurnPolicyDescriptor , pub transfer : runtime_types :: ep_multi_tokens :: policy :: transfer :: DefaultTransferPolicyDescriptor , pub attribute : runtime_types :: ep_multi_tokens :: policy :: attribute :: DefaultAttributePolicyDescriptor , pub market : runtime_types :: ep_multi_tokens :: policy :: market :: DefaultMarketPolicyDescriptor < _1 > , } + } + pub mod token { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AssetId<_0, _1> { + #[codec(compact)] + pub collection_id: _0, + #[codec(compact)] + pub token_id: _0, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultTokenMutation<_0, _1> { + pub behavior: runtime_types::ep_multi_tokens::types::ShouldMutate< + ::core::option::Option< + runtime_types::ep_multi_tokens::token::TokenMarketBehavior<_0>, + >, + >, + pub listing_forbidden: runtime_types::ep_multi_tokens::types::ShouldMutate< + ::core::primitive::bool, + >, + pub metadata: runtime_types::ep_multi_tokens::types::ShouldMutate<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum FreezeState { + #[codec(index = 0)] + Permanent, + #[codec(index = 1)] + Temporary, + #[codec(index = 2)] + Never, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Sufficiency<_0> { + #[codec(index = 0)] + Sufficient, + #[codec(index = 1)] + Insufficient { + #[codec(compact)] + unit_price: _0, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Token<_0, _1, _2, _3> { + #[codec(compact)] + pub supply: _0, + pub cap: + ::core::option::Option>, + pub freeze_state: + ::core::option::Option, + #[codec(compact)] + pub minimum_balance: _0, + pub sufficiency: runtime_types::ep_multi_tokens::token::Sufficiency<_0>, + #[codec(compact)] + pub mint_deposit: _0, + #[codec(compact)] + pub attribute_count: ::core::primitive::u32, + pub market_behavior: ::core::option::Option< + runtime_types::ep_multi_tokens::token::TokenMarketBehavior<_2>, + >, + pub listing_forbidden: ::core::primitive::bool, + pub metadata: _3, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum TokenCap<_0> { + #[codec(index = 0)] + SingleMint, + #[codec(index = 1)] + Supply(#[codec(compact)] _0), + #[codec(index = 2)] + CollapsingSupply(#[codec(compact)] _0), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum TokenMarketBehavior<_0> { + #[codec(index = 0)] + HasRoyalty(_0), + #[codec(index = 1)] + IsCurrency, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Freeze<_0, _1, _2> { + #[codec(compact)] + pub collection_id: _1, + pub freeze_type: runtime_types::ep_multi_tokens::types::FreezeType<_0, _1>, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum FreezeType<_0, _1> { + #[codec(index = 0)] + Collection, + #[codec(index = 1)] + Token { + token_id: _1, + freeze_state: ::core::option::Option< + runtime_types::ep_multi_tokens::token::FreezeState, + >, + }, + #[codec(index = 2)] + CollectionAccount(_0), + #[codec(index = 3)] + TokenAccount { + #[codec(compact)] + token_id: _1, + account_id: _0, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct NativeAssetInfo<_0> { + pub id: _0, + pub units_per_second: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RootOrSigned<_0> { + #[codec(index = 0)] + Root, + #[codec(index = 1)] + Signed(_0), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ShouldMutate<_0> { + #[codec(index = 0)] + NoMutation, + #[codec(index = 1)] + SomeMutation(_0), + } + } + } + pub mod finality_grandpa { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Equivocation<_0, _1, _2> { + pub round_number: ::core::primitive::u64, + pub identity: _0, + pub first: (_1, _2), + pub second: (_1, _2), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Precommit<_0, _1> { + pub target_hash: _0, + pub target_number: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Prevote<_0, _1> { + pub target_hash: _0, + pub target_number: _1, + } + } + pub mod frame_support { + use super::runtime_types; + pub mod dispatch { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DispatchClass { + #[codec(index = 0)] + Normal, + #[codec(index = 1)] + Operational, + #[codec(index = 2)] + Mandatory, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DispatchInfo { + pub weight: runtime_types::sp_weights::weight_v2::Weight, + pub class: runtime_types::frame_support::dispatch::DispatchClass, + pub pays_fee: runtime_types::frame_support::dispatch::Pays, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Pays { + #[codec(index = 0)] + Yes, + #[codec(index = 1)] + No, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PerDispatchClass<_0> { + pub normal: _0, + pub operational: _0, + pub mandatory: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PostDispatchInfo { + pub actual_weight: + ::core::option::Option, + pub pays_fee: runtime_types::frame_support::dispatch::Pays, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RawOrigin<_0> { + #[codec(index = 0)] + Root, + #[codec(index = 1)] + Signed(_0), + #[codec(index = 2)] + None, + } + } + pub mod traits { + use super::runtime_types; + pub mod messages { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ProcessMessageError { + #[codec(index = 0)] + BadFormat, + #[codec(index = 1)] + Corrupt, + #[codec(index = 2)] + Unsupported, + #[codec(index = 3)] + Overweight(runtime_types::sp_weights::weight_v2::Weight), + #[codec(index = 4)] + Yield, + } + } + pub mod misc { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WrapperOpaque<_0>( + #[codec(compact)] pub ::core::primitive::u32, + pub _0, + ); + } + pub mod preimages { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Bounded<_0> { + #[codec(index = 0)] + Legacy { + hash: ::subxt::utils::H256, + }, + #[codec(index = 1)] + Inline( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 2)] + Lookup { + hash: ::subxt::utils::H256, + len: ::core::primitive::u32, + }, + __Ignore(::core::marker::PhantomData<_0>), + } + } + pub mod schedule { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DispatchTime<_0> { + #[codec(index = 0)] + At(_0), + #[codec(index = 1)] + After(_0), + } + } + pub mod tokens { + use super::runtime_types; + pub mod misc { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BalanceStatus { + #[codec(index = 0)] + Free, + #[codec(index = 1)] + Reserved, + } + } + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PalletId(pub [::core::primitive::u8; 8usize]); + } + pub mod frame_system { + use super::runtime_types; + pub mod extensions { + use super::runtime_types; + pub mod check_genesis { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckGenesis; + } + pub mod check_mortality { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckMortality(pub runtime_types::sp_runtime::generic::era::Era); + } + pub mod check_non_zero_sender { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckNonZeroSender; + } + pub mod check_nonce { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckNonce(#[codec(compact)] pub ::core::primitive::u32); + } + pub mod check_spec_version { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckSpecVersion; + } + pub mod check_tx_version { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckTxVersion; + } + pub mod check_weight { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckWeight; + } + } + pub mod limits { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BlockLength { + pub max: runtime_types::frame_support::dispatch::PerDispatchClass< + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BlockWeights { + pub base_block: runtime_types::sp_weights::weight_v2::Weight, + pub max_block: runtime_types::sp_weights::weight_v2::Weight, + pub per_class: runtime_types::frame_support::dispatch::PerDispatchClass< + runtime_types::frame_system::limits::WeightsPerClass, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WeightsPerClass { + pub base_extrinsic: runtime_types::sp_weights::weight_v2::Weight, + pub max_extrinsic: + ::core::option::Option, + pub max_total: + ::core::option::Option, + pub reserved: + ::core::option::Option, + } + } + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Make some on-chain remark."] + #[doc = ""] + #[doc = "- `O(1)`"] + remark { + remark: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 1)] + #[doc = "Set the number of pages in the WebAssembly environment's heap."] + set_heap_pages { pages: ::core::primitive::u64 }, + #[codec(index = 2)] + #[doc = "Set the new runtime code."] + set_code { + code: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 3)] + #[doc = "Set the new runtime code without doing any checks of the given `code`."] + set_code_without_checks { + code: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 4)] + #[doc = "Set some items of storage."] + set_storage { + items: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + }, + #[codec(index = 5)] + #[doc = "Kill some items from storage."] + kill_storage { + keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + }, + #[codec(index = 6)] + #[doc = "Kill all storage items with a key that starts with the given prefix."] + #[doc = ""] + #[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"] + #[doc = "the prefix we are removing to accurately calculate the weight of this function."] + kill_prefix { + prefix: ::std::vec::Vec<::core::primitive::u8>, + subkeys: ::core::primitive::u32, + }, + #[codec(index = 7)] + #[doc = "Make some on-chain remark and emit event."] + remark_with_event { + remark: ::std::vec::Vec<::core::primitive::u8>, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Error for the System pallet"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The name of specification does not match between the current runtime"] + #[doc = "and the new runtime."] + InvalidSpecName, + #[codec(index = 1)] + #[doc = "The specification version is not allowed to decrease between the current runtime"] + #[doc = "and the new runtime."] + SpecVersionNeedsToIncrease, + #[codec(index = 2)] + #[doc = "Failed to extract the runtime version from the new runtime."] + #[doc = ""] + #[doc = "Either calling `Core_version` or decoding `RuntimeVersion` failed."] + FailedToExtractRuntimeVersion, + #[codec(index = 3)] + #[doc = "Suicide called when the account has non-default composite data."] + NonDefaultComposite, + #[codec(index = 4)] + #[doc = "There is a non-zero reference count preventing the account from being purged."] + NonZeroRefCount, + #[codec(index = 5)] + #[doc = "The origin filter prevent the call to be dispatched."] + CallFiltered, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Event for the System pallet."] + pub enum Event { + #[codec(index = 0)] + #[doc = "An extrinsic completed successfully."] + ExtrinsicSuccess { + dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, + }, + #[codec(index = 1)] + #[doc = "An extrinsic failed."] + ExtrinsicFailed { + dispatch_error: runtime_types::sp_runtime::DispatchError, + dispatch_info: runtime_types::frame_support::dispatch::DispatchInfo, + }, + #[codec(index = 2)] + #[doc = "`:code` was updated."] + CodeUpdated, + #[codec(index = 3)] + #[doc = "A new account was created."] + NewAccount { + account: ::subxt::utils::AccountId32, + }, + #[codec(index = 4)] + #[doc = "An account was reaped."] + KilledAccount { + account: ::subxt::utils::AccountId32, + }, + #[codec(index = 5)] + #[doc = "On on-chain remark happened."] + Remarked { + sender: ::subxt::utils::AccountId32, + hash: ::subxt::utils::H256, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AccountInfo<_0, _1> { + pub nonce: _0, + pub consumers: ::core::primitive::u32, + pub providers: ::core::primitive::u32, + pub sufficients: ::core::primitive::u32, + pub data: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct EventRecord<_0, _1> { + pub phase: runtime_types::frame_system::Phase, + pub event: _0, + pub topics: ::std::vec::Vec<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct LastRuntimeUpgradeInfo { + #[codec(compact)] + pub spec_version: ::core::primitive::u32, + pub spec_name: ::std::string::String, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Phase { + #[codec(index = 0)] + ApplyExtrinsic(::core::primitive::u32), + #[codec(index = 1)] + Finalization, + #[codec(index = 2)] + Initialization, + } + } + pub mod pallet_babe { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Report authority equivocation/misbehavior. This method will verify"] + #[doc = "the equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence will"] + #[doc = "be reported."] + report_equivocation { + equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_slots::EquivocationProof< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + runtime_types::sp_consensus_babe::app::Public, + >, + >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + }, + #[codec(index = 1)] + #[doc = "Report authority equivocation/misbehavior. This method will verify"] + #[doc = "the equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence will"] + #[doc = "be reported."] + #[doc = "This extrinsic must be called unsigned and it is expected that only"] + #[doc = "block authors will call it (validated in `ValidateUnsigned`), as such"] + #[doc = "if the block author is defined it will be defined as the equivocation"] + #[doc = "reporter."] + report_equivocation_unsigned { + equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_slots::EquivocationProof< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + runtime_types::sp_consensus_babe::app::Public, + >, + >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + }, + #[codec(index = 2)] + #[doc = "Plan an epoch config change. The epoch config change is recorded and will be enacted on"] + #[doc = "the next call to `enact_epoch_change`. The config will be activated one epoch after."] + #[doc = "Multiple calls to this method will replace any existing planned config change that had"] + #[doc = "not been enacted yet."] + plan_config_change { + config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "An equivocation proof provided as part of an equivocation report is invalid."] + InvalidEquivocationProof, + #[codec(index = 1)] + #[doc = "A key ownership proof provided as part of an equivocation report is invalid."] + InvalidKeyOwnershipProof, + #[codec(index = 2)] + #[doc = "A given equivocation report is valid but already previously reported."] + DuplicateOffenceReport, + #[codec(index = 3)] + #[doc = "Submitted configuration is invalid."] + InvalidConfiguration, + } + } + } + pub mod pallet_bags_list { + use super::runtime_types; + pub mod list { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Bag { + pub head: ::core::option::Option<::subxt::utils::AccountId32>, + pub tail: ::core::option::Option<::subxt::utils::AccountId32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ListError { + #[codec(index = 0)] + Duplicate, + #[codec(index = 1)] + NotHeavier, + #[codec(index = 2)] + NotInSameBag, + #[codec(index = 3)] + NodeNotFound, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Node { + pub id: ::subxt::utils::AccountId32, + pub prev: ::core::option::Option<::subxt::utils::AccountId32>, + pub next: ::core::option::Option<::subxt::utils::AccountId32>, + pub bag_upper: ::core::primitive::u64, + pub score: ::core::primitive::u64, + } + } + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Declare that some `dislocated` account has, through rewards or penalties, sufficiently"] + #[doc = "changed its score that it should properly fall into a different bag than its current"] + #[doc = "one."] + #[doc = ""] + #[doc = "Anyone can call this function about any potentially dislocated account."] + #[doc = ""] + #[doc = "Will always update the stored score of `dislocated` to the correct score, based on"] + #[doc = "`ScoreProvider`."] + #[doc = ""] + #[doc = "If `dislocated` does not exists, it returns an error."] + rebag { + dislocated: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 1)] + #[doc = "Move the caller's Id directly in front of `lighter`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and can only be called by the Id of"] + #[doc = "the account going in front of `lighter`."] + #[doc = ""] + #[doc = "Only works if"] + #[doc = "- both nodes are within the same bag,"] + #[doc = "- and `origin` has a greater `Score` than `lighter`."] + put_in_front_of { + lighter: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "A error in the list interface implementation."] + List(runtime_types::pallet_bags_list::list::ListError), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Moved an account from one bag to another."] + Rebagged { + who: ::subxt::utils::AccountId32, + from: ::core::primitive::u64, + to: ::core::primitive::u64, + }, + #[codec(index = 1)] + #[doc = "Updated the score of some account to the given amount."] + ScoreUpdated { + who: ::subxt::utils::AccountId32, + new_score: ::core::primitive::u64, + }, + } + } + } + pub mod pallet_balances { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Transfer some liquid free balance to another account."] + #[doc = ""] + #[doc = "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver."] + #[doc = "If the sender's account is below the existential deposit as a result"] + #[doc = "of the transfer, the account will be reaped."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] + transfer_allow_death { + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "Set the regular balance of a given account; it also takes a reserved balance but this"] + #[doc = "must be the same as the account's current reserved balance."] + #[doc = ""] + #[doc = "The dispatch origin for this call is `root`."] + #[doc = ""] + #[doc = "WARNING: This call is DEPRECATED! Use `force_set_balance` instead."] + set_balance_deprecated { + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + new_free: ::core::primitive::u128, + #[codec(compact)] + old_reserved: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Exactly as `transfer_allow_death`, except the origin must be root and the source account"] + #[doc = "may be specified."] + force_transfer { + source: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not"] + #[doc = "kill the origin account."] + #[doc = ""] + #[doc = "99% of the time you want [`transfer_allow_death`] instead."] + #[doc = ""] + #[doc = "[`transfer_allow_death`]: struct.Pallet.html#method.transfer"] + transfer_keep_alive { + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Transfer the entire transferable balance from the caller account."] + #[doc = ""] + #[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"] + #[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"] + #[doc = "transferred by this function. To ensure that this function results in a killed account,"] + #[doc = "you might need to prepare the account by removing any reference counters, storage"] + #[doc = "deposits, etc..."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be Signed."] + #[doc = ""] + #[doc = "- `dest`: The recipient of the transfer."] + #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"] + #[doc = " of the funds the account has, causing the sender account to be killed (false), or"] + #[doc = " transfer everything except at least the existential deposit, which will guarantee to"] + #[doc = " keep the sender account alive (true)."] + transfer_all { + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + keep_alive: ::core::primitive::bool, + }, + #[codec(index = 5)] + #[doc = "Unreserve some balance from a user by force."] + #[doc = ""] + #[doc = "Can only be called by ROOT."] + force_unreserve { + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + amount: ::core::primitive::u128, + }, + #[codec(index = 6)] + #[doc = "Upgrade a specified account."] + #[doc = ""] + #[doc = "- `origin`: Must be `Signed`."] + #[doc = "- `who`: The account to be upgraded."] + #[doc = ""] + #[doc = "This will waive the transaction fee if at least all but 10% of the accounts needed to"] + #[doc = "be upgraded. (We let some not have to be upgraded just in order to allow for the"] + #[doc = "possibililty of churn)."] + upgrade_accounts { + who: ::std::vec::Vec<::subxt::utils::AccountId32>, + }, + #[codec(index = 7)] + #[doc = "Alias for `transfer_allow_death`, provided only for name-wise compatibility."] + #[doc = ""] + #[doc = "WARNING: DEPRECATED! Will be released in approximately 3 months."] + transfer { + dest: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 8)] + #[doc = "Set the regular balance of a given account."] + #[doc = ""] + #[doc = "The dispatch origin for this call is `root`."] + force_set_balance { + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + new_free: ::core::primitive::u128, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Vesting balance too high to send value."] + VestingBalance, + #[codec(index = 1)] + #[doc = "Account liquidity restrictions prevent withdrawal."] + LiquidityRestrictions, + #[codec(index = 2)] + #[doc = "Balance too low to send value."] + InsufficientBalance, + #[codec(index = 3)] + #[doc = "Value too low to create account due to existential deposit."] + ExistentialDeposit, + #[codec(index = 4)] + #[doc = "Transfer/payment would kill account."] + Expendability, + #[codec(index = 5)] + #[doc = "A vesting schedule already exists for this account."] + ExistingVestingSchedule, + #[codec(index = 6)] + #[doc = "Beneficiary account must pre-exist."] + DeadAccount, + #[codec(index = 7)] + #[doc = "Number of named reserves exceed `MaxReserves`."] + TooManyReserves, + #[codec(index = 8)] + #[doc = "Number of holds exceed `MaxHolds`."] + TooManyHolds, + #[codec(index = 9)] + #[doc = "Number of freezes exceed `MaxFreezes`."] + TooManyFreezes, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "An account was created with some free balance."] + Endowed { + account: ::subxt::utils::AccountId32, + free_balance: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "An account was removed whose balance was non-zero but below ExistentialDeposit,"] + #[doc = "resulting in an outright loss."] + DustLost { + account: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Transfer succeeded."] + Transfer { + from: ::subxt::utils::AccountId32, + to: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A balance was set by root."] + BalanceSet { + who: ::subxt::utils::AccountId32, + free: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Some balance was reserved (moved from free to reserved)."] + Reserved { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "Some balance was unreserved (moved from reserved to free)."] + Unreserved { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 6)] + #[doc = "Some balance was moved from the reserve of the first account to the second account."] + #[doc = "Final argument indicates the destination balance type."] + ReserveRepatriated { + from: ::subxt::utils::AccountId32, + to: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + destination_status: + runtime_types::frame_support::traits::tokens::misc::BalanceStatus, + }, + #[codec(index = 7)] + #[doc = "Some amount was deposited (e.g. for transaction fees)."] + Deposit { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 8)] + #[doc = "Some amount was withdrawn from the account (e.g. for transaction fees)."] + Withdraw { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 9)] + #[doc = "Some amount was removed from the account (e.g. for misbehavior)."] + Slashed { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 10)] + #[doc = "Some amount was minted into an account."] + Minted { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 11)] + #[doc = "Some amount was burned from an account."] + Burned { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 12)] + #[doc = "Some amount was suspended from an account (it can be restored later)."] + Suspended { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 13)] + #[doc = "Some amount was restored into an account."] + Restored { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 14)] + #[doc = "An account was upgraded."] + Upgraded { who: ::subxt::utils::AccountId32 }, + #[codec(index = 15)] + #[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."] + Issued { amount: ::core::primitive::u128 }, + #[codec(index = 16)] + #[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."] + Rescinded { amount: ::core::primitive::u128 }, + #[codec(index = 17)] + #[doc = "Some balance was locked."] + Locked { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 18)] + #[doc = "Some balance was unlocked."] + Unlocked { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 19)] + #[doc = "Some balance was frozen."] + Frozen { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 20)] + #[doc = "Some balance was thawed."] + Thawed { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AccountData<_0> { + pub free: _0, + pub reserved: _0, + pub frozen: _0, + pub flags: runtime_types::pallet_balances::types::ExtraFlags, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BalanceLock<_0> { + pub id: [::core::primitive::u8; 8usize], + pub amount: _0, + pub reasons: runtime_types::pallet_balances::types::Reasons, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExtraFlags(pub ::core::primitive::u128); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct IdAmount<_0, _1> { + pub id: _0, + pub amount: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Reasons { + #[codec(index = 0)] + Fee, + #[codec(index = 1)] + Misc, + #[codec(index = 2)] + All, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReserveData<_0, _1> { + pub id: _0, + pub amount: _1, + } + } + } + pub mod pallet_beefy { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Report voter equivocation/misbehavior. This method will verify the"] + #[doc = "equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence"] + #[doc = "will be reported."] + report_equivocation { + equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_beefy::EquivocationProof< + ::core::primitive::u32, + runtime_types::sp_consensus_beefy::crypto::Public, + runtime_types::sp_consensus_beefy::crypto::Signature, + >, + >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + }, + #[codec(index = 1)] + #[doc = "Report voter equivocation/misbehavior. This method will verify the"] + #[doc = "equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence"] + #[doc = "will be reported."] + #[doc = ""] + #[doc = "This extrinsic must be called unsigned and it is expected that only"] + #[doc = "block authors will call it (validated in `ValidateUnsigned`), as such"] + #[doc = "if the block author is defined it will be defined as the equivocation"] + #[doc = "reporter."] + report_equivocation_unsigned { + equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_beefy::EquivocationProof< + ::core::primitive::u32, + runtime_types::sp_consensus_beefy::crypto::Public, + runtime_types::sp_consensus_beefy::crypto::Signature, + >, + >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "A key ownership proof provided as part of an equivocation report is invalid."] + InvalidKeyOwnershipProof, + #[codec(index = 1)] + #[doc = "An equivocation proof provided as part of an equivocation report is invalid."] + InvalidEquivocationProof, + #[codec(index = 2)] + #[doc = "A given equivocation report is valid but already previously reported."] + DuplicateOffenceReport, + } + } + } + pub mod pallet_conviction_voting { + use super::runtime_types; + pub mod conviction { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Conviction { + #[codec(index = 0)] + None, + #[codec(index = 1)] + Locked1x, + #[codec(index = 2)] + Locked2x, + #[codec(index = 3)] + Locked3x, + #[codec(index = 4)] + Locked4x, + #[codec(index = 5)] + Locked5x, + #[codec(index = 6)] + Locked6x, + } + } + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"] + #[doc = "otherwise it is a vote to keep the status quo."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `poll_index`: The index of the poll to vote for."] + #[doc = "- `vote`: The vote configuration."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."] + vote { + #[codec(compact)] + poll_index: ::core::primitive::u32, + vote: runtime_types::pallet_conviction_voting::vote::AccountVote< + ::core::primitive::u128, + >, + }, + #[codec(index = 1)] + #[doc = "Delegate the voting power (with some given conviction) of the sending account for a"] + #[doc = "particular class of polls."] + #[doc = ""] + #[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"] + #[doc = "time appropriate for the conviction's lock period."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"] + #[doc = " - be delegating already; or"] + #[doc = " - have no voting activity (if there is, then it will need to be removed/consolidated"] + #[doc = " through `reap_vote` or `unvote`)."] + #[doc = ""] + #[doc = "- `to`: The account whose voting the `target` account's voting power will follow."] + #[doc = "- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls"] + #[doc = " to this function are required."] + #[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"] + #[doc = " account is undelegated, the funds will be locked for the corresponding period."] + #[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"] + #[doc = " be more than the account's current balance."] + #[doc = ""] + #[doc = "Emits `Delegated`."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"] + #[doc = " voted on. Weight is initially charged as if maximum votes, but is refunded later."] + delegate { + class: ::core::primitive::u16, + to: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + conviction: runtime_types::pallet_conviction_voting::conviction::Conviction, + balance: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Undelegate the voting power of the sending account for a particular class of polls."] + #[doc = ""] + #[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"] + #[doc = "of the conviction with which the delegation was issued has passed."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"] + #[doc = "currently delegating."] + #[doc = ""] + #[doc = "- `class`: The class of polls to remove the delegation from."] + #[doc = ""] + #[doc = "Emits `Undelegated`."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter delegating to has"] + #[doc = " voted on. Weight is initially charged as if maximum votes, but is refunded later."] + undelegate { class: ::core::primitive::u16 }, + #[codec(index = 3)] + #[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"] + #[doc = "class."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `class`: The class of polls to unlock."] + #[doc = "- `target`: The account to remove the lock on."] + #[doc = ""] + #[doc = "Weight: `O(R)` with R number of vote of target."] + unlock { + class: ::core::primitive::u16, + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 4)] + #[doc = "Remove a vote for a poll."] + #[doc = ""] + #[doc = "If:"] + #[doc = "- the poll was cancelled, or"] + #[doc = "- the poll is ongoing, or"] + #[doc = "- the poll has ended such that"] + #[doc = " - the vote of the account was in opposition to the result; or"] + #[doc = " - there was no conviction to the account's vote; or"] + #[doc = " - the account made a split vote"] + #[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"] + #[doc = "funds being available."] + #[doc = ""] + #[doc = "If, however, the poll has ended and:"] + #[doc = "- it finished corresponding to the vote of the account, and"] + #[doc = "- the account made a standard vote with conviction, and"] + #[doc = "- the lock period of the conviction is not over"] + #[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"] + #[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"] + #[doc = "of both the amount locked and the time is it locked for)."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"] + #[doc = "registered for poll `index`."] + #[doc = ""] + #[doc = "- `index`: The index of poll of the vote to be removed."] + #[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"] + #[doc = " which have finished or are cancelled, this must be `Some`."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + remove_vote { + class: ::core::option::Option<::core::primitive::u16>, + index: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "Remove a vote for a poll."] + #[doc = ""] + #[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"] + #[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"] + #[doc = "either because the poll was cancelled, because the voter lost the poll or"] + #[doc = "because the conviction period is over."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"] + #[doc = " `index`."] + #[doc = "- `index`: The index of poll of the vote to be removed."] + #[doc = "- `class`: The class of the poll."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + remove_other_vote { + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + class: ::core::primitive::u16, + index: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Poll is not ongoing."] + NotOngoing, + #[codec(index = 1)] + #[doc = "The given account did not vote on the poll."] + NotVoter, + #[codec(index = 2)] + #[doc = "The actor has no permission to conduct the action."] + NoPermission, + #[codec(index = 3)] + #[doc = "The actor has no permission to conduct the action right now but will do in the future."] + NoPermissionYet, + #[codec(index = 4)] + #[doc = "The account is already delegating."] + AlreadyDelegating, + #[codec(index = 5)] + #[doc = "The account currently has votes attached to it and the operation cannot succeed until"] + #[doc = "these are removed, either through `unvote` or `reap_vote`."] + AlreadyVoting, + #[codec(index = 6)] + #[doc = "Too high a balance was provided that the account cannot afford."] + InsufficientFunds, + #[codec(index = 7)] + #[doc = "The account is not currently delegating."] + NotDelegating, + #[codec(index = 8)] + #[doc = "Delegation to oneself makes no sense."] + Nonsense, + #[codec(index = 9)] + #[doc = "Maximum number of votes reached."] + MaxVotesReached, + #[codec(index = 10)] + #[doc = "The class must be supplied since it is not easily determinable from the state."] + ClassNeeded, + #[codec(index = 11)] + #[doc = "The class ID supplied is invalid."] + BadClass, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "An account has delegated their vote to another account. \\[who, target\\]"] + Delegated(::subxt::utils::AccountId32, ::subxt::utils::AccountId32), + #[codec(index = 1)] + #[doc = "An \\[account\\] has cancelled a previous delegation operation."] + Undelegated(::subxt::utils::AccountId32), + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Delegations<_0> { + pub votes: _0, + pub capital: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Tally<_0> { + pub ayes: _0, + pub nays: _0, + pub support: _0, + } + } + pub mod vote { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AccountVote<_0> { + #[codec(index = 0)] + Standard { + vote: runtime_types::pallet_conviction_voting::vote::Vote, + balance: _0, + }, + #[codec(index = 1)] + Split { aye: _0, nay: _0 }, + #[codec(index = 2)] + SplitAbstain { aye: _0, nay: _0, abstain: _0 }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Casting<_0, _1, _2> { + pub votes: runtime_types::bounded_collections::bounded_vec::BoundedVec<( + _1, + runtime_types::pallet_conviction_voting::vote::AccountVote<_0>, + )>, + pub delegations: + runtime_types::pallet_conviction_voting::types::Delegations<_0>, + pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_1, _0>, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Delegating<_0, _1, _2> { + pub balance: _0, + pub target: _1, + pub conviction: runtime_types::pallet_conviction_voting::conviction::Conviction, + pub delegations: + runtime_types::pallet_conviction_voting::types::Delegations<_0>, + pub prior: runtime_types::pallet_conviction_voting::vote::PriorLock<_2, _0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PriorLock<_0, _1>(pub _0, pub _1); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Vote(pub ::core::primitive::u8); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Voting<_0, _1, _2, _3> { + #[codec(index = 0)] + Casting(runtime_types::pallet_conviction_voting::vote::Casting<_0, _2, _2>), + #[codec(index = 1)] + Delegating( + runtime_types::pallet_conviction_voting::vote::Delegating<_0, _1, _2>, + ), + __Ignore(::core::marker::PhantomData<_3>), + } + } + } + pub mod pallet_election_provider_multi_phase { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] # [doc = "Submit a solution for the unsigned phase."] # [doc = ""] # [doc = "The dispatch origin fo this call must be __none__."] # [doc = ""] # [doc = "This submission is checked on the fly. Moreover, this unsigned solution is only"] # [doc = "validated when submitted to the pool from the **local** node. Effectively, this means"] # [doc = "that only active validators can submit this transaction when authoring a block (similar"] # [doc = "to an inherent)."] # [doc = ""] # [doc = "To prevent any incorrect solution (and thus wasted time/weight), this transaction will"] # [doc = "panic if the solution submitted by the validator is invalid in any way, effectively"] # [doc = "putting their authoring reward at risk."] # [doc = ""] # [doc = "No deposit or reward is associated with this submission."] submit_unsigned { raw_solution : :: std :: boxed :: Box < runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: enjin_runtime :: NposSolution16 > > , witness : runtime_types :: pallet_election_provider_multi_phase :: SolutionOrSnapshotSize , } , # [codec (index = 1)] # [doc = "Set a new value for `MinimumUntrustedScore`."] # [doc = ""] # [doc = "Dispatch origin must be aligned with `T::ForceOrigin`."] # [doc = ""] # [doc = "This check can be turned off by setting the value to `None`."] set_minimum_untrusted_score { maybe_next_score : :: core :: option :: Option < runtime_types :: sp_npos_elections :: ElectionScore > , } , # [codec (index = 2)] # [doc = "Set a solution in the queue, to be handed out to the client of this pallet in the next"] # [doc = "call to `ElectionProvider::elect`."] # [doc = ""] # [doc = "This can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`."] # [doc = ""] # [doc = "The solution is not checked for any feasibility and is assumed to be trustworthy, as any"] # [doc = "feasibility check itself can in principle cause the election process to fail (due to"] # [doc = "memory/weight constrains)."] set_emergency_election_result { supports : :: std :: vec :: Vec < (:: subxt :: utils :: AccountId32 , runtime_types :: sp_npos_elections :: Support < :: subxt :: utils :: AccountId32 > ,) > , } , # [codec (index = 3)] # [doc = "Submit a solution for the signed phase."] # [doc = ""] # [doc = "The dispatch origin fo this call must be __signed__."] # [doc = ""] # [doc = "The solution is potentially queued, based on the claimed score and processed at the end"] # [doc = "of the signed phase."] # [doc = ""] # [doc = "A deposit is reserved and recorded for the solution. Based on the outcome, the solution"] # [doc = "might be rewarded, slashed, or get all or a part of the deposit back."] submit { raw_solution : :: std :: boxed :: Box < runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: enjin_runtime :: NposSolution16 > > , } , # [codec (index = 4)] # [doc = "Trigger the governance fallback."] # [doc = ""] # [doc = "This can only be called when [`Phase::Emergency`] is enabled, as an alternative to"] # [doc = "calling [`Call::set_emergency_election_result`]."] governance_fallback { maybe_max_voters : :: core :: option :: Option < :: core :: primitive :: u32 > , maybe_max_targets : :: core :: option :: Option < :: core :: primitive :: u32 > , } , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Error of the pallet that can be returned in response to dispatches."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Submission was too early."] + PreDispatchEarlySubmission, + #[codec(index = 1)] + #[doc = "Wrong number of winners presented."] + PreDispatchWrongWinnerCount, + #[codec(index = 2)] + #[doc = "Submission was too weak, score-wise."] + PreDispatchWeakSubmission, + #[codec(index = 3)] + #[doc = "The queue was full, and the solution was not better than any of the existing ones."] + SignedQueueFull, + #[codec(index = 4)] + #[doc = "The origin failed to pay the deposit."] + SignedCannotPayDeposit, + #[codec(index = 5)] + #[doc = "Witness data to dispatchable is invalid."] + SignedInvalidWitness, + #[codec(index = 6)] + #[doc = "The signed submission consumes too much weight"] + SignedTooMuchWeight, + #[codec(index = 7)] + #[doc = "OCW submitted solution for wrong round"] + OcwCallWrongEra, + #[codec(index = 8)] + #[doc = "Snapshot metadata should exist but didn't."] + MissingSnapshotMetadata, + #[codec(index = 9)] + #[doc = "`Self::insert_submission` returned an invalid index."] + InvalidSubmissionIndex, + #[codec(index = 10)] + #[doc = "The call is not allowed at this point."] + CallNotAllowed, + #[codec(index = 11)] + #[doc = "The fallback failed"] + FallbackFailed, + #[codec(index = 12)] + #[doc = "Some bound not met"] + BoundNotMet, + #[codec(index = 13)] + #[doc = "Submitted solution has too many winners"] + TooManyWinners, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A solution was stored with the given compute."] + #[doc = ""] + #[doc = "The `origin` indicates the origin of the solution. If `origin` is `Some(AccountId)`,"] + #[doc = "the stored solution was submited in the signed phase by a miner with the `AccountId`."] + #[doc = "Otherwise, the solution was stored either during the unsigned phase or by"] + #[doc = "`T::ForceOrigin`. The `bool` is `true` when a previous solution was ejected to make"] + #[doc = "room for this one."] + SolutionStored { + compute: + runtime_types::pallet_election_provider_multi_phase::ElectionCompute, + origin: ::core::option::Option<::subxt::utils::AccountId32>, + prev_ejected: ::core::primitive::bool, + }, + #[codec(index = 1)] + #[doc = "The election has been finalized, with the given computation and score."] + ElectionFinalized { + compute: + runtime_types::pallet_election_provider_multi_phase::ElectionCompute, + score: runtime_types::sp_npos_elections::ElectionScore, + }, + #[codec(index = 2)] + #[doc = "An election failed."] + #[doc = ""] + #[doc = "Not much can be said about which computes failed in the process."] + ElectionFailed, + #[codec(index = 3)] + #[doc = "An account has been rewarded for their signed submission being finalized."] + Rewarded { + account: ::subxt::utils::AccountId32, + value: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "An account has been slashed for submitting an invalid signed submission."] + Slashed { + account: ::subxt::utils::AccountId32, + value: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "There was a phase transition in a given round."] + PhaseTransitioned { + from: runtime_types::pallet_election_provider_multi_phase::Phase< + ::core::primitive::u32, + >, + to: runtime_types::pallet_election_provider_multi_phase::Phase< + ::core::primitive::u32, + >, + round: ::core::primitive::u32, + }, + } + } + pub mod signed { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SignedSubmission<_0, _1, _2> { + pub who: _0, + pub deposit: _1, + pub raw_solution: + runtime_types::pallet_election_provider_multi_phase::RawSolution<_2>, + pub call_fee: _1, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ElectionCompute { + #[codec(index = 0)] + OnChain, + #[codec(index = 1)] + Signed, + #[codec(index = 2)] + Unsigned, + #[codec(index = 3)] + Fallback, + #[codec(index = 4)] + Emergency, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Phase<_0> { + #[codec(index = 0)] + Off, + #[codec(index = 1)] + Signed, + #[codec(index = 2)] + Unsigned((::core::primitive::bool, _0)), + #[codec(index = 3)] + Emergency, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RawSolution<_0> { + pub solution: _0, + pub score: runtime_types::sp_npos_elections::ElectionScore, + pub round: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReadySolution { + pub supports: runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::subxt::utils::AccountId32, + runtime_types::sp_npos_elections::Support<::subxt::utils::AccountId32>, + )>, + pub score: runtime_types::sp_npos_elections::ElectionScore, + pub compute: runtime_types::pallet_election_provider_multi_phase::ElectionCompute, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RoundSnapshot<_0, _1> { + pub voters: ::std::vec::Vec<_1>, + pub targets: ::std::vec::Vec<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SolutionOrSnapshotSize { + #[codec(compact)] + pub voters: ::core::primitive::u32, + #[codec(compact)] + pub targets: ::core::primitive::u32, + } + } + pub mod pallet_extrinsic_pause { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Pause execution of extrinsic(s)"] + #[doc = ""] + #[doc = "The values of pallet_name and extrinsic_name are extracted from the `call` parameter."] + #[doc = "Ex : To pause the multi_tokens pallet, the `call` parameter should be of the type"] + #[doc = "`pallet_multi_tokens::Call` If `pause_only_extrinsic` is true, then only the extrinsic"] + #[doc = "is paused, else the entire pallet is paused."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::CannotProcessInput`] if the pallet name or extrinsic name is faulty."] + #[doc = "- [`Error::CannotPauseSelf`] if the pallet name is the same as the name of this pallet."] + pause_extrinsic { + call: ::std::boxed::Box, + pause_only_extrinsic: ::core::primitive::bool, + }, + #[codec(index = 1)] + #[doc = "Resume execution of extrinsic(s)"] + #[doc = ""] + #[doc = "The values of pallet_name and extrinsic_name are extracted from the `call` parameter."] + #[doc = "Ex : To resume the multi_tokens pallet, the `call` parameter should be of the type"] + #[doc = "`pallet_multi_tokens::Call` If `pause_only_extrinsic` is true, then only the extrinsic"] + #[doc = "is resumed, else the entire pallet is resumed."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::CannotProcessInput`] if the pallet name or extrinsic name is faulty."] + resume_extrinsic { + call: ::std::boxed::Box, + resume_only_extrinsic: ::core::primitive::bool, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Pallet's error type."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Cannot pause this pallet or it's extrinsic"] + CannotPauseSelf, + #[codec(index = 1)] + #[doc = "Cannot read the pallet or extrinsic name"] + CannotProcessInput, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The pallet's event type."] + pub enum Event { + #[codec(index = 0)] + #[doc = "All pallet extrinsics are paused."] + PalletPaused { + pallet_name: runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxNameLength, + >, + }, + #[codec(index = 1)] + #[doc = "All pallet extrinsics are resumed."] + PalletResumed { + pallet_name: runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxNameLength, + >, + }, + #[codec(index = 2)] + #[doc = "Extrinsic is paused."] + ExtrinsicPaused { + pallet_name: runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxNameLength, + >, + extrinsic_name: runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxNameLength, + >, + }, + #[codec(index = 3)] + #[doc = "Extrinsic is resumed"] + ExtrinsicResumed { + pallet_name: runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxNameLength, + >, + extrinsic_name: runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxNameLength, + >, + }, + } + } + } + pub mod pallet_fuel_tanks { + use super::runtime_types; + pub mod extension { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CheckFuelTank; + } + pub mod impls { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DefaultTankMutation<_0> { + pub user_account_management: + runtime_types::ep_multi_tokens::types::ShouldMutate< + ::core::option::Option< + runtime_types::pallet_fuel_tanks::types::UserAccountManagement, + >, + >, + pub provides_deposit: ::core::option::Option<::core::primitive::bool>, + pub account_rules: ::core::option::Option< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_fuel_tanks::rules::AccountRuleDescriptor, + >, + >, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_0>, + } + } + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Creates a fuel tank, given a descriptor"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankAlreadyExists`] if `tank_id` already exists"] + #[doc = "- [`Error::DuplicateRuleKinds`] if a rule set has multiple rules of the same kind"] + create_fuel_tank { + descriptor: runtime_types::pallet_fuel_tanks::types::FuelTankDescriptor< + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxFuelTankNameLength, + >, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + runtime_types::pallet_fuel_tanks::rules::RuleSetDescriptor< + runtime_types::pallet_fuel_tanks::rules::DispatchRuleDescriptor, + runtime_types::enjin_runtime::MaxRulesPerSet, + >, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_fuel_tanks::rules::AccountRuleDescriptor, + >, + >, + }, + #[codec(index = 1)] + #[doc = "Apply `mutation` to fuel tank with `tank_id`."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankNotFound`] if `tank_id` does not exist."] + #[doc = "- [`Error::NoPermission`] if `origin` is not the fuel tank owner"] + mutate_fuel_tank { + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + mutation: runtime_types::pallet_fuel_tanks::impls::DefaultTankMutation< + runtime_types::enjin_runtime::Runtime, + >, + }, + #[codec(index = 2)] + #[doc = "Adds new account for `user_id` to fuel tank at `tank_id`. An account is"] + #[doc = "required to dispatch calls. A deposit is required, and may be paid by"] + #[doc = "the user or the fuel tank, depending on the settings."] + #[doc = ""] + #[doc = "### Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankNotFound`] if fuel tank at `tank_id` does not exist"] + #[doc = "- [`Error::NoPermission`] if `origin` does not have permission to add an account"] + #[doc = "- [`Error::AccountAlreadyExists`] if account at `user_id` already exists"] + add_account { + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + user_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 3)] + #[doc = "Removes account for `user_id` from fuel tank at `tank_id`. Any deposits"] + #[doc = "are returned."] + #[doc = ""] + #[doc = "### Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankNotFound`] if fuel tank at `tank_id` does not exist"] + #[doc = "- [`Error::NoPermission`] if `origin` does not have permission to add an account"] + #[doc = "- [`Error::AccountNotFound`] if account at `user_id` does not exist"] + remove_account { + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + user_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 4)] + #[doc = "Remove account rule data if it exists. Only callable by the fuel tank's owner. Requires"] + #[doc = "the fuel tank or the rule set to be frozen."] + #[doc = ""] + #[doc = "### Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankNotFound`] if fuel tank for `tank_id` doesn't exist"] + #[doc = "- [`Error::NoPermission`] if called by non-owner"] + #[doc = "- [`Error::AccountNotFound`] if account does not exist for `user_id`"] + #[doc = "- [`Error::RuleSetNotFound`] if rule set does not exist for `rule_set_id`"] + #[doc = "- [`Error::RequiresFrozenTankOrRuleset`] if tank or rule set is not frozen"] + #[doc = "- [`Error::RuleNotFound`] if rule does not exist for `rule_kind`"] + remove_account_rule_data { + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + user_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + rule_set_id: ::core::primitive::u32, + rule_kind: runtime_types::pallet_fuel_tanks::rules::DispatchRuleKind, + }, + #[codec(index = 5)] + #[doc = "Dispatch a call using the `tank_id` subject to the rules of `rule_set_id`"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::FuelTankNotFound`] if `tank_id` does not exist."] + #[doc = "- [`Error::UsageRestricted`] if caller is not part of ruleset whitelist"] + #[doc = "- [`Error::CallerDoesNotHaveRuleSetTokenBalance`] if caller does not own the tokens to"] + #[doc = " use the ruleset for remaining_fee when `pays_remaining_fee` is true"] + #[doc = "- [`Error::FuelTankOutOfFunds`] if the fuel tank account cannot pay fees"] + dispatch { + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + rule_set_id: ::core::primitive::u32, + call: ::std::boxed::Box, + settings: ::core::option::Option< + runtime_types::pallet_fuel_tanks::types::DispatchSettings, + >, + }, + #[codec(index = 6)] + #[doc = "Same as [dispatch](Self::dispatch), but creates an account for `origin` if it does not"] + #[doc = "exist and is allowed by the fuel tank's `user_account_management` settings."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "Returns the same errors as [dispatch](Self::dispatch) and"] + #[doc = "[add_account](Self::add_account)"] + dispatch_and_touch { + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + rule_set_id: ::core::primitive::u32, + call: ::std::boxed::Box, + settings: ::core::option::Option< + runtime_types::pallet_fuel_tanks::types::DispatchSettings, + >, + }, + #[codec(index = 7)] + #[doc = "Schedule mutating of `is_frozen` state that determines if fuel tank or rule set can be"] + #[doc = "used"] + #[doc = ""] + #[doc = "Additional 1 read and 1 write are added to account for `on_finalize` storage operations"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::FuelTankNotFound`] if `tank_id` does not exist."] + #[doc = "- [`Error::NoPermission`] if caller is not a fuel tank owner"] + #[doc = "- [`Error::FreezeQueueFull`] if the queue is full"] + schedule_mutate_freeze_state { + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + rule_set_id: ::core::option::Option<::core::primitive::u32>, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 8)] + #[doc = "Insert a new rule set for `tank_id` and `rule_set_id`. It can be a new rule set"] + #[doc = "or it can replace an existing one. If it is replacing a rule set, a rule that is storing"] + #[doc = "data on any accounts cannot be removed. Use [Self::remove_account_rule_data] to remove"] + #[doc = "the data first. If a rule is being replaced, it will be mutated with the new parameters,"] + #[doc = "and it will maintain any persistent data it already has."] + #[doc = ""] + #[doc = "This is only callable by the fuel tank's owner."] + #[doc = "### Errors"] + #[doc = "- [`Error::FuelTankNotFound`] if `tank_id` does not exist."] + #[doc = "- [`Error::NoPermission`] if caller is not the fuel tank owner"] + #[doc = "- [`Error::RequiresFrozenTankOrRuleset`] if tank or rule set is not frozen"] + #[doc = "- [`Error::CannotRemoveRuleThatIsStoringAccountData`] if removing a rule that is storing"] + #[doc = " account data"] + #[doc = "- [`Error::MaxRuleSetsExceeded`] if max number of rule sets was exceeded"] + #[doc = "- [`Error::DuplicateRuleKinds`] if adding a rule set with multiple rules of the same"] + #[doc = " kind"] + insert_rule_set { + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + rule_set_id: ::core::primitive::u32, + rules: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_fuel_tanks::rules::DispatchRuleDescriptor, + >, + }, + #[codec(index = 9)] + #[doc = "Remove rule set for `tank_id` and `rule_set_id`. A rule that is storing data on"] + #[doc = "any accounts cannot be removed. Use [Self::remove_account_rule_data] to remove the"] + #[doc = "data first. This is only callable by the fuel tank's owner."] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankNotFound`] if `tank_id` does not exist."] + #[doc = "- [`Error::NoPermission`] if caller is not the fuel tank owner"] + #[doc = "- [`Error::RequiresFrozenTankOrRuleset`] if tank or rule set is not frozen"] + #[doc = "- [`Error::CannotRemoveRuleThatIsStoringAccountData`] if removing a rule that is storing"] + #[doc = " account data"] + remove_rule_set { + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + rule_set_id: ::core::primitive::u32, + }, + #[codec(index = 10)] + #[doc = "Similar to add_account but takes a list of"] + #[doc = "[`AccountId`](frame_system::Config::AccountId)s to insert into a fuel tank."] + #[doc = "### Errors"] + #[doc = "- [`Error::FuelTankNotFound`] if fuel tank at `tank_id` does not exist"] + #[doc = "- [`Error::NoPermission`] if `origin` does not have permission to add an account"] + #[doc = "- [`Error::AccountAlreadyExists`] if account at `user_id` already exists"] + batch_add_account { + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + user_ids: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + }, + #[codec(index = 11)] + #[doc = "Similar to remove_account but takes a list of"] + #[doc = "[`AccountId`](frame_system::Config::AccountId)s to remove from a fuel tank."] + #[doc = "### Errors"] + #[doc = "- [`Error::FuelTankNotFound`] if fuel tank at `tank_id` does not exist"] + #[doc = "- [`Error::NoPermission`] if `origin` does not have permission to add an account"] + #[doc = "- [`Error::AccountNotFound`] if account at `user_id` does not exist"] + batch_remove_account { + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + user_ids: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + }, + #[codec(index = 12)] + #[doc = "Force set the fuel tank consumption"] + #[doc = "If `user_id` is [`Some`], it sets the consumption for that account."] + #[doc = "If it is [`None`], it sets the consumption on the fuel tank directly."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::AccountNotFound`] if `user_id` is `Some` and account does not exist"] + #[doc = "- [`Error::FuelTankNotFound`] if tank_id does not exist"] + #[doc = "- [`Error::NoPermission`] if caller is not ForceOrigin or fuel tank owner"] + #[doc = "- [`Error::InvalidRuleSet`] if `rule_set_id` does not exist"] + #[doc = "- [`Error::MissingRequiredRule`] if `rule_set_id` does not have the required role"] + force_set_consumption { + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + user_id: ::core::option::Option< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + rule_set_id: ::core::primitive::u32, + consumption: runtime_types::pallet_fuel_tanks::types::Consumption< + ::core::primitive::u128, + ::core::primitive::u32, + >, + }, + #[codec(index = 13)] + #[doc = "Destroy the fuel tank by scheduling the deletion for `on_finalize` to execute"] + #[doc = "Only callable by owner"] + #[doc = "The fuel tank must be frozen"] + #[doc = "Can only be destroyed if all accounts are removed"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankNotFound`] if tank_id does not exist"] + #[doc = "- [`Error::NoPermission`] if caller is not owner"] + #[doc = "- [`Error::DestroyUnfrozenTank`] if tank is not frozen"] + #[doc = "- [`Error::DestroyWithExistingAccounts`] if there are still accounts on the tank"] + destroy_fuel_tank { + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 14)] + #[doc = "Force creates a fuel tank"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::FuelTankAlreadyExists`] if `tank_id` already exists"] + force_create_fuel_tank { + owner: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + descriptor: runtime_types::pallet_fuel_tanks::types::FuelTankDescriptor< + runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxFuelTankNameLength, + >, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + runtime_types::pallet_fuel_tanks::rules::RuleSetDescriptor< + runtime_types::pallet_fuel_tanks::rules::DispatchRuleDescriptor, + runtime_types::enjin_runtime::MaxRulesPerSet, + >, + >, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_fuel_tanks::rules::AccountRuleDescriptor, + >, + >, + }, + #[codec(index = 15)] + #[doc = "Sets the account storage for give tank_id and account"] + force_batch_add_account { + owner: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + tank_id: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + user_ids: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Fuel Tank not found"] + FuelTankNotFound, + #[codec(index = 1)] + #[doc = "Fuel Tank already exists"] + FuelTankAlreadyExists, + #[codec(index = 2)] + #[doc = "Not enough funds to perform operation"] + InsufficientBalance, + #[codec(index = 3)] + #[doc = "Fuel tank cannot be used due to restrictions"] + UsageRestricted, + #[codec(index = 4)] + #[doc = "Fuel tank doesnt have enough funds"] + FuelTankOutOfFunds, + #[codec(index = 5)] + #[doc = "The rule set does not exist"] + RuleSetNotFound, + #[codec(index = 6)] + #[doc = "The rule is missing"] + RuleNotFound, + #[codec(index = 7)] + #[doc = "User does not have permission to perform operation"] + NoPermission, + #[codec(index = 8)] + #[doc = "The account already exists"] + AccountAlreadyExists, + #[codec(index = 9)] + #[doc = "The account was not found"] + AccountNotFound, + #[codec(index = 10)] + #[doc = "Destroying fuel tank is not possible while it has existing accounts attached"] + DestroyWithExistingAccounts, + #[codec(index = 11)] + #[doc = "Destroying fuel tank is not possible while it is not frozen"] + DestroyUnfrozenTank, + #[codec(index = 12)] + #[doc = "Max number of rules sets per fuel tank was exceeded"] + MaxRuleSetsExceeded, + #[codec(index = 13)] + #[doc = "The size of the user rule data is greater than the allowed amount"] + UserRuleDataExceededMaxSize, + #[codec(index = 14)] + #[doc = "The user rule data could not be decoded"] + DecodeUserRuleDataFailed, + #[codec(index = 15)] + #[doc = "The queue for fuel tank and rule set freezing is full"] + FreezeQueueFull, + #[codec(index = 16)] + #[doc = "Either the tank or ruleset must be frozen for this operation"] + RequiresFrozenTankOrRuleset, + #[codec(index = 17)] + #[doc = "The fuel tank must be frozen for this operation"] + RequiresFrozenTank, + #[codec(index = 18)] + #[doc = "A rule that is required for this operation does not exist"] + MissingRequiredRule, + #[codec(index = 19)] + #[doc = "User data for the required rule does not exist"] + MissingRequiredRuleUserData, + #[codec(index = 20)] + #[doc = "The rule set of the fuel tank is misconfigured. This error should never occur."] + InvalidRuleSet, + #[codec(index = 21)] + #[doc = "A user cannot remove an account that is storing data for a rule"] + AccountContainsRuleData, + #[codec(index = 22)] + #[doc = "A rule cannot be removed from a rule set if it is storing data on any account"] + CannotRemoveRuleThatIsStoringAccountData, + #[codec(index = 23)] + #[doc = "A fuel tank cannot have more than one rule of the same kind"] + DuplicateRuleKinds, + #[codec(index = 24)] + #[doc = "Problems calculating the mint deposit for a call"] + MintDepositCalculationError, + #[codec(index = 25)] + #[doc = "The fuel tank is frozen"] + FuelTankFrozen, + #[codec(index = 26)] + #[doc = "The user does not have the token required by rule set"] + CallerDoesNotHaveRuleSetTokenBalance, + #[codec(index = 27)] + #[doc = "The user does not have any data stored for rule set"] + NoDataToRemove, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A new [`FuelTank`] was created."] + FuelTankCreated { + owner: ::subxt::utils::AccountId32, + name: runtime_types::ep_core::frame::types::BoundedString< + runtime_types::enjin_runtime::MaxFuelTankNameLength, + >, + tank_id: ::subxt::utils::AccountId32, + }, + #[codec(index = 1)] + #[doc = "A [`FuelTank`] was mutated"] + FuelTankMutated { + tank_id: ::subxt::utils::AccountId32, + mutation: runtime_types::pallet_fuel_tanks::impls::DefaultTankMutation< + runtime_types::enjin_runtime::Runtime, + >, + }, + #[codec(index = 2)] + #[doc = "A [`FuelTank`] was destroyed"] + FuelTankDestroyed { + tank_id: ::subxt::utils::AccountId32, + }, + #[codec(index = 3)] + #[doc = "A call was dispatched through a [`FuelTank`]."] + CallDispatched { + caller: ::subxt::utils::AccountId32, + tank_id: ::subxt::utils::AccountId32, + }, + #[codec(index = 4)] + #[doc = "An account was added to a [`FuelTank`]"] + AccountAdded { + tank_id: ::subxt::utils::AccountId32, + user_id: ::subxt::utils::AccountId32, + tank_deposit: ::core::primitive::u128, + user_deposit: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "An account was removed from a [`FuelTank`]"] + AccountRemoved { + tank_id: ::subxt::utils::AccountId32, + user_id: ::subxt::utils::AccountId32, + }, + #[codec(index = 6)] + #[doc = "Account data of [`AccountId`](frame_system::Config::AccountId) was removed from"] + #[doc = "[`RuleSetId`](Config::RuleSetId)"] + AccountRuleDataRemoved { + tank_id: ::subxt::utils::AccountId32, + user_id: ::subxt::utils::AccountId32, + rule_set_id: ::core::primitive::u32, + rule_kind: runtime_types::pallet_fuel_tanks::rules::DispatchRuleKind, + }, + #[codec(index = 7)] + #[doc = "A new rule set was added to [`FuelTank`]"] + RuleSetInserted { + tank_id: ::subxt::utils::AccountId32, + rule_set_id: ::core::primitive::u32, + }, + #[codec(index = 8)] + #[doc = "A rule set was removed from [`FuelTank`]"] + RuleSetRemoved { + tank_id: ::subxt::utils::AccountId32, + rule_set_id: ::core::primitive::u32, + }, + #[codec(index = 9)] + #[doc = "The freeze state mutation for fuel tank or its rule set was scheduled"] + MutateFreezeStateScheduled { + tank_id: ::subxt::utils::AccountId32, + rule_set_id: ::core::option::Option<::core::primitive::u32>, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 10)] + #[doc = "The freeze state change for fuel tank or its rule set was executed in `on_finalize`"] + FreezeStateMutated { + tank_id: ::subxt::utils::AccountId32, + rule_set_id: ::core::option::Option<::core::primitive::u32>, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 11)] + #[doc = "The freeze state change for fuel tank or its rule set failed in `on_finalize`"] + ScheduleMutateFreezeStateFailed { + tank_id: ::subxt::utils::AccountId32, + rule_set_id: ::core::option::Option<::core::primitive::u32>, + is_frozen: ::core::primitive::bool, + error: runtime_types::sp_runtime::DispatchError, + }, + #[codec(index = 12)] + #[doc = "The dispatch of a call has failed"] + DispatchFailed { + tank_id: ::subxt::utils::AccountId32, + caller: ::subxt::utils::AccountId32, + error: runtime_types::sp_runtime::DispatchError, + }, + #[codec(index = 13)] + #[doc = "The consumption for an account was set for a rule set on a [`FuelTank`]"] + ConsumptionSet { + tank_id: ::subxt::utils::AccountId32, + user_id: ::core::option::Option<::subxt::utils::AccountId32>, + rule_set_id: ::core::primitive::u32, + consumption: runtime_types::pallet_fuel_tanks::types::Consumption< + ::core::primitive::u128, + ::core::primitive::u32, + >, + }, + } + } + pub mod rules { + use super::runtime_types; + pub mod max_fuel_burn_per_tx { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MaxFuelBurnPerTransactionRule<_0>(pub _0); + } + pub mod permitted_calls { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PermittedCallsRule<_0, _1>( + pub runtime_types::bounded_collections::bounded_btree_set::BoundedBTreeSet< + _0, + >, + #[codec(skip)] pub ::core::marker::PhantomData<_1>, + ); + } + pub mod permitted_extrinsics { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PermittedExtrinsicsDescriptor<_0, _1>( + pub runtime_types::bounded_collections::bounded_vec::BoundedVec<_0>, + #[codec(skip)] pub ::core::marker::PhantomData<_1>, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PermittedExtrinsicsRule<_0, _1>( + pub runtime_types::bounded_collections::bounded_vec::BoundedVec<_0>, + #[codec(skip)] pub ::core::marker::PhantomData<_1>, + ); + } + pub mod require_token { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RequireTokenRule<_0, _1> { + pub collection_id: _0, + pub token_id: _1, + } + } + pub mod tank_fuel_budget { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TankFuelBudgetRule<_0, _1> { + pub budget: runtime_types::pallet_fuel_tanks::types::Budget<_0, _1>, + pub consumption: + runtime_types::pallet_fuel_tanks::types::Consumption<_0, _1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TankFuelBudgetRuleDescriptor<_0>(pub _0); + } + pub mod user_fuel_budget { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UserFuelBudgetRule<_0> { + pub budget: _0, + #[codec(compact)] + pub user_count: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UserFuelBudgetRuleDescriptor<_0>(pub _0); + } + pub mod whitelisted_callers { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WhitelistedCallersRule<_0, _1>( + pub runtime_types::bounded_collections::bounded_btree_set::BoundedBTreeSet< + _0, + >, + #[codec(skip)] pub ::core::marker::PhantomData<_1>, + ); + } + pub mod whitelisted_collections { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WhitelistedCollectionsRule<_0, _1>( + pub runtime_types::bounded_collections::bounded_btree_set::BoundedBTreeSet< + _0, + >, + #[codec(skip)] pub ::core::marker::PhantomData<_1>, + ); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AccountRuleDescriptor { + # [codec (index = 0)] WhitelistedCallers (runtime_types :: pallet_fuel_tanks :: rules :: whitelisted_callers :: WhitelistedCallersRule < :: subxt :: utils :: AccountId32 , runtime_types :: enjin_runtime :: MaxWhitelistedCallers > ,) , # [codec (index = 1)] RequireToken (runtime_types :: pallet_fuel_tanks :: rules :: require_token :: RequireTokenRule < :: core :: primitive :: u128 , :: core :: primitive :: u128 > ,) , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AccountRuleKind { + #[codec(index = 0)] + WhitelistedCallers, + #[codec(index = 1)] + RequireToken, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AccountRuleWrapper { + # [codec (index = 0)] WhitelistedCallers (runtime_types :: pallet_fuel_tanks :: rules :: whitelisted_callers :: WhitelistedCallersRule < :: subxt :: utils :: AccountId32 , runtime_types :: enjin_runtime :: MaxWhitelistedCallers > ,) , # [codec (index = 1)] RequireToken (runtime_types :: pallet_fuel_tanks :: rules :: require_token :: RequireTokenRule < :: core :: primitive :: u128 , :: core :: primitive :: u128 > ,) , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DispatchRuleDescriptor { + # [codec (index = 0)] WhitelistedCallers (runtime_types :: pallet_fuel_tanks :: rules :: whitelisted_callers :: WhitelistedCallersRule < :: subxt :: utils :: AccountId32 , runtime_types :: enjin_runtime :: MaxWhitelistedCallers > ,) , # [codec (index = 1)] WhitelistedCollections (runtime_types :: pallet_fuel_tanks :: rules :: whitelisted_collections :: WhitelistedCollectionsRule < :: core :: primitive :: u128 , runtime_types :: enjin_runtime :: MaxCollectionIds > ,) , # [codec (index = 2)] MaxFuelBurnPerTransaction (runtime_types :: pallet_fuel_tanks :: rules :: max_fuel_burn_per_tx :: MaxFuelBurnPerTransactionRule < :: core :: primitive :: u128 > ,) , # [codec (index = 3)] UserFuelBudget (runtime_types :: pallet_fuel_tanks :: rules :: user_fuel_budget :: UserFuelBudgetRuleDescriptor < runtime_types :: pallet_fuel_tanks :: types :: Budget < :: core :: primitive :: u128 , :: core :: primitive :: u32 > > ,) , # [codec (index = 4)] TankFuelBudget (runtime_types :: pallet_fuel_tanks :: rules :: tank_fuel_budget :: TankFuelBudgetRuleDescriptor < runtime_types :: pallet_fuel_tanks :: types :: Budget < :: core :: primitive :: u128 , :: core :: primitive :: u32 > > ,) , # [codec (index = 5)] RequireToken (runtime_types :: pallet_fuel_tanks :: rules :: require_token :: RequireTokenRule < :: core :: primitive :: u128 , :: core :: primitive :: u128 > ,) , # [codec (index = 6)] PermittedCalls (runtime_types :: pallet_fuel_tanks :: rules :: permitted_calls :: PermittedCallsRule < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , runtime_types :: enjin_runtime :: MaxCallFilters > ,) , # [codec (index = 7)] PermittedExtrinsics (runtime_types :: pallet_fuel_tanks :: rules :: permitted_extrinsics :: PermittedExtrinsicsDescriptor < runtime_types :: enjin_runtime :: RuntimeCall , runtime_types :: enjin_runtime :: MaxPermittedExtrinsicLength > ,) , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DispatchRuleKind { + #[codec(index = 0)] + WhitelistedCallers, + #[codec(index = 1)] + WhitelistedCollections, + #[codec(index = 2)] + MaxFuelBurnPerTransaction, + #[codec(index = 3)] + UserFuelBudget, + #[codec(index = 4)] + TankFuelBudget, + #[codec(index = 5)] + RequireToken, + #[codec(index = 6)] + PermittedCalls, + #[codec(index = 7)] + PermittedExtrinsics, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DispatchRuleWrapper { + # [codec (index = 0)] WhitelistedCallers (runtime_types :: pallet_fuel_tanks :: rules :: whitelisted_callers :: WhitelistedCallersRule < :: subxt :: utils :: AccountId32 , runtime_types :: enjin_runtime :: MaxWhitelistedCallers > ,) , # [codec (index = 1)] WhitelistedCollections (runtime_types :: pallet_fuel_tanks :: rules :: whitelisted_collections :: WhitelistedCollectionsRule < :: core :: primitive :: u128 , runtime_types :: enjin_runtime :: MaxCollectionIds > ,) , # [codec (index = 2)] MaxFuelBurnPerTransaction (runtime_types :: pallet_fuel_tanks :: rules :: max_fuel_burn_per_tx :: MaxFuelBurnPerTransactionRule < :: core :: primitive :: u128 > ,) , # [codec (index = 3)] UserFuelBudget (runtime_types :: pallet_fuel_tanks :: rules :: user_fuel_budget :: UserFuelBudgetRule < runtime_types :: pallet_fuel_tanks :: types :: Budget < :: core :: primitive :: u128 , :: core :: primitive :: u32 > > ,) , # [codec (index = 4)] TankFuelBudget (runtime_types :: pallet_fuel_tanks :: rules :: tank_fuel_budget :: TankFuelBudgetRule < :: core :: primitive :: u128 , :: core :: primitive :: u32 > ,) , # [codec (index = 5)] RequireToken (runtime_types :: pallet_fuel_tanks :: rules :: require_token :: RequireTokenRule < :: core :: primitive :: u128 , :: core :: primitive :: u128 > ,) , # [codec (index = 6)] PermittedCalls (runtime_types :: pallet_fuel_tanks :: rules :: permitted_calls :: PermittedCallsRule < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , runtime_types :: enjin_runtime :: MaxCallFilters > ,) , # [codec (index = 7)] PermittedExtrinsics (runtime_types :: pallet_fuel_tanks :: rules :: permitted_extrinsics :: PermittedExtrinsicsRule < runtime_types :: pallet_fuel_tanks :: types :: ExtrinsicInfo < runtime_types :: enjin_runtime :: MaxExtrinsicNameLength > , runtime_types :: enjin_runtime :: MaxPermittedExtrinsicLength > ,) , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RuleSet<_0, _1> { + pub rules: + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + runtime_types::pallet_fuel_tanks::rules::DispatchRuleKind, + _0, + >, + pub is_frozen: ::core::primitive::bool, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RuleSetDescriptor<_0, _1>( + pub runtime_types::bounded_collections::bounded_vec::BoundedVec<_0>, + #[codec(skip)] pub ::core::marker::PhantomData<_1>, + ); + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Budget<_0, _1> { + #[codec(compact)] + pub amount: _0, + pub reset_period: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Consumption<_0, _1> { + #[codec(compact)] + pub total_consumed: _0, + pub last_reset_block: ::core::option::Option<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DispatchSettings { + pub use_none_origin: ::core::primitive::bool, + pub pays_remaining_fee: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExtrinsicInfo<_0> { + pub pallet_name: runtime_types::ep_core::frame::types::BoundedString<_0>, + pub extrinsic_name: runtime_types::ep_core::frame::types::BoundedString<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FreezeQueueItem<_0, _1> { + pub tank_id: _0, + pub rule_set_id: ::core::option::Option<_1>, + pub is_frozen: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FuelTank<_0, _1, _2, _3, _4> { + pub owner: _1, + pub name: _0, + pub rule_sets: _3, + #[codec(compact)] + pub total_reserved: _2, + #[codec(compact)] + pub account_count: ::core::primitive::u32, + pub user_account_management: ::core::option::Option< + runtime_types::pallet_fuel_tanks::types::UserAccountManagement, + >, + pub is_frozen: ::core::primitive::bool, + pub provides_deposit: ::core::primitive::bool, + pub account_rules: _4, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FuelTankDescriptor<_0, _1, _2> { + pub name: _0, + pub user_account_management: ::core::option::Option< + runtime_types::pallet_fuel_tanks::types::UserAccountManagement, + >, + pub rule_sets: _1, + pub provides_deposit: ::core::primitive::bool, + pub account_rules: _2, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UserAccount<_0, _1, _2, _3, _4> { + #[codec(compact)] + pub tank_deposit: _0, + #[codec(compact)] + pub user_deposit: _0, + pub rule_data_sets: + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + _1, + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + runtime_types::pallet_fuel_tanks::rules::DispatchRuleKind, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + >, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<(_3, _2, _4)>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UserAccountManagement { + pub tank_reserves_existential_deposit: ::core::primitive::bool, + pub tank_reserves_account_creation_deposit: ::core::primitive::bool, + } + } + } + pub mod pallet_grandpa { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Report voter equivocation/misbehavior. This method will verify the"] + #[doc = "equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence"] + #[doc = "will be reported."] + report_equivocation { + equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_grandpa::EquivocationProof< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + }, + #[codec(index = 1)] + #[doc = "Report voter equivocation/misbehavior. This method will verify the"] + #[doc = "equivocation proof and validate the given key ownership proof"] + #[doc = "against the extracted offender. If both are valid, the offence"] + #[doc = "will be reported."] + #[doc = ""] + #[doc = "This extrinsic must be called unsigned and it is expected that only"] + #[doc = "block authors will call it (validated in `ValidateUnsigned`), as such"] + #[doc = "if the block author is defined it will be defined as the equivocation"] + #[doc = "reporter."] + report_equivocation_unsigned { + equivocation_proof: ::std::boxed::Box< + runtime_types::sp_consensus_grandpa::EquivocationProof< + ::subxt::utils::H256, + ::core::primitive::u32, + >, + >, + key_owner_proof: runtime_types::sp_session::MembershipProof, + }, + #[codec(index = 2)] + #[doc = "Note that the current authority set of the GRANDPA finality gadget has stalled."] + #[doc = ""] + #[doc = "This will trigger a forced authority set change at the beginning of the next session, to"] + #[doc = "be enacted `delay` blocks after that. The `delay` should be high enough to safely assume"] + #[doc = "that the block signalling the forced change will not be re-orged e.g. 1000 blocks."] + #[doc = "The block production rate (which may be slowed down because of finality lagging) should"] + #[doc = "be taken into account when choosing the `delay`. The GRANDPA voters based on the new"] + #[doc = "authority will start voting on top of `best_finalized_block_number` for new finalized"] + #[doc = "blocks. `best_finalized_block_number` should be the highest of the latest finalized"] + #[doc = "block of all validators of the new authority set."] + #[doc = ""] + #[doc = "Only callable by root."] + note_stalled { + delay: ::core::primitive::u32, + best_finalized_block_number: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Attempt to signal GRANDPA pause when the authority set isn't live"] + #[doc = "(either paused or already pending pause)."] + PauseFailed, + #[codec(index = 1)] + #[doc = "Attempt to signal GRANDPA resume when the authority set isn't paused"] + #[doc = "(either live or already pending resume)."] + ResumeFailed, + #[codec(index = 2)] + #[doc = "Attempt to signal GRANDPA change with one already pending."] + ChangePending, + #[codec(index = 3)] + #[doc = "Cannot signal forced change so soon after last."] + TooSoon, + #[codec(index = 4)] + #[doc = "A key ownership proof provided as part of an equivocation report is invalid."] + InvalidKeyOwnershipProof, + #[codec(index = 5)] + #[doc = "An equivocation proof provided as part of an equivocation report is invalid."] + InvalidEquivocationProof, + #[codec(index = 6)] + #[doc = "A given equivocation report is valid but already previously reported."] + DuplicateOffenceReport, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "New authority set has been applied."] + NewAuthorities { + authority_set: ::std::vec::Vec<( + runtime_types::sp_consensus_grandpa::app::Public, + ::core::primitive::u64, + )>, + }, + #[codec(index = 1)] + #[doc = "Current authority set has been paused."] + Paused, + #[codec(index = 2)] + #[doc = "Current authority set has been resumed."] + Resumed, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct StoredPendingChange<_0> { + pub scheduled_at: _0, + pub delay: _0, + pub next_authorities: + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<( + runtime_types::sp_consensus_grandpa::app::Public, + ::core::primitive::u64, + )>, + pub forced: ::core::option::Option<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum StoredState<_0> { + #[codec(index = 0)] + Live, + #[codec(index = 1)] + PendingPause { scheduled_at: _0, delay: _0 }, + #[codec(index = 2)] + Paused, + #[codec(index = 3)] + PendingResume { scheduled_at: _0, delay: _0 }, + } + } + pub mod pallet_identity { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Identity pallet declaration."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Add a registrar to the system."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `T::RegistrarOrigin`."] + #[doc = ""] + #[doc = "- `account`: the account of the registrar."] + #[doc = ""] + #[doc = "Emits `RegistrarAdded` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R)` where `R` registrar-count (governance-bounded and code-bounded)."] + add_registrar { + account: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 1)] + #[doc = "Set an account's identity information and reserve the appropriate deposit."] + #[doc = ""] + #[doc = "If the account already has identity information, the deposit is taken as part payment"] + #[doc = "for the new deposit."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `info`: The identity information."] + #[doc = ""] + #[doc = "Emits `IdentitySet` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(X + X' + R)`"] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)"] + #[doc = " - where `R` judgements-count (registrar-count-bounded)"] + set_identity { + info: + ::std::boxed::Box, + }, + #[codec(index = 2)] + #[doc = "Set the sub-accounts of the sender."] + #[doc = ""] + #[doc = "Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned"] + #[doc = "and an amount `SubAccountDeposit` will be reserved for each item in `subs`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "identity."] + #[doc = ""] + #[doc = "- `subs`: The identity's (new) sub-accounts."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(P + S)`"] + #[doc = " - where `P` old-subs-count (hard- and deposit-bounded)."] + #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] + set_subs { + subs: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::pallet_identity::types::Data, + )>, + }, + #[codec(index = 3)] + #[doc = "Clear an account's identity info and all sub-accounts and return all deposits."] + #[doc = ""] + #[doc = "Payment: All reserved balances on the account are returned."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "identity."] + #[doc = ""] + #[doc = "Emits `IdentityCleared` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R + S + X)`"] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] + clear_identity, + #[codec(index = 4)] + #[doc = "Request a judgement from a registrar."] + #[doc = ""] + #[doc = "Payment: At most `max_fee` will be reserved for payment to the registrar if judgement"] + #[doc = "given."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a"] + #[doc = "registered identity."] + #[doc = ""] + #[doc = "- `reg_index`: The index of the registrar whose judgement is requested."] + #[doc = "- `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:"] + #[doc = ""] + #[doc = "```nocompile"] + #[doc = "Self::registrars().get(reg_index).unwrap().fee"] + #[doc = "```"] + #[doc = ""] + #[doc = "Emits `JudgementRequested` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R + X)`."] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] + request_judgement { + #[codec(compact)] + reg_index: ::core::primitive::u32, + #[codec(compact)] + max_fee: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "Cancel a previous request."] + #[doc = ""] + #[doc = "Payment: A previously reserved deposit is returned on success."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a"] + #[doc = "registered identity."] + #[doc = ""] + #[doc = "- `reg_index`: The index of the registrar whose judgement is no longer requested."] + #[doc = ""] + #[doc = "Emits `JudgementUnrequested` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R + X)`."] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] + cancel_request { reg_index: ::core::primitive::u32 }, + #[codec(index = 6)] + #[doc = "Set the fee required for a judgement to be requested from a registrar."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `index`."] + #[doc = ""] + #[doc = "- `index`: the index of the registrar whose fee is to be set."] + #[doc = "- `fee`: the new fee."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R)`."] + #[doc = " - where `R` registrar-count (governance-bounded)."] + set_fee { + #[codec(compact)] + index: ::core::primitive::u32, + #[codec(compact)] + fee: ::core::primitive::u128, + }, + #[codec(index = 7)] + #[doc = "Change the account associated with a registrar."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `index`."] + #[doc = ""] + #[doc = "- `index`: the index of the registrar whose fee is to be set."] + #[doc = "- `new`: the new account ID."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R)`."] + #[doc = " - where `R` registrar-count (governance-bounded)."] + set_account_id { + #[codec(compact)] + index: ::core::primitive::u32, + new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 8)] + #[doc = "Set the field information for a registrar."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `index`."] + #[doc = ""] + #[doc = "- `index`: the index of the registrar whose fee is to be set."] + #[doc = "- `fields`: the fields that the registrar concerns themselves with."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R)`."] + #[doc = " - where `R` registrar-count (governance-bounded)."] + set_fields { + #[codec(compact)] + index: ::core::primitive::u32, + fields: runtime_types::pallet_identity::types::BitFlags< + runtime_types::pallet_identity::types::IdentityField, + >, + }, + #[codec(index = 9)] + #[doc = "Provide a judgement for an account's identity."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] + #[doc = "of the registrar whose index is `reg_index`."] + #[doc = ""] + #[doc = "- `reg_index`: the index of the registrar whose judgement is being made."] + #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"] + #[doc = " with a registered identity."] + #[doc = "- `judgement`: the judgement of the registrar of index `reg_index` about `target`."] + #[doc = "- `identity`: The hash of the [`IdentityInfo`] for that the judgement is provided."] + #[doc = ""] + #[doc = "Emits `JudgementGiven` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R + X)`."] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] + provide_judgement { + #[codec(compact)] + reg_index: ::core::primitive::u32, + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + judgement: runtime_types::pallet_identity::types::Judgement< + ::core::primitive::u128, + >, + identity: ::subxt::utils::H256, + }, + #[codec(index = 10)] + #[doc = "Remove an account's identity and sub-account information and slash the deposits."] + #[doc = ""] + #[doc = "Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by"] + #[doc = "`Slash`. Verification request deposits are not returned; they should be cancelled"] + #[doc = "manually using `cancel_request`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must match `T::ForceOrigin`."] + #[doc = ""] + #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"] + #[doc = " with a registered identity."] + #[doc = ""] + #[doc = "Emits `IdentityKilled` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R + S + X)`"] + #[doc = " - where `R` registrar-count (governance-bounded)."] + #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] + #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] + kill_identity { + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 11)] + #[doc = "Add the given account to the sender's subs."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + add_sub { + sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + data: runtime_types::pallet_identity::types::Data, + }, + #[codec(index = 12)] + #[doc = "Alter the associated name of the given sub-account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + rename_sub { + sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + data: runtime_types::pallet_identity::types::Data, + }, + #[codec(index = 13)] + #[doc = "Remove the given account from the sender's subs."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "sub identity of `sub`."] + remove_sub { + sub: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 14)] + #[doc = "Remove the sender as a sub-account."] + #[doc = ""] + #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] + #[doc = "to the sender (*not* the original depositor)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] + #[doc = "super-identity."] + #[doc = ""] + #[doc = "NOTE: This should not normally be used, but is provided in the case that the non-"] + #[doc = "controller of an account is maliciously registered as a sub-account."] + quit_sub, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Too many subs-accounts."] + TooManySubAccounts, + #[codec(index = 1)] + #[doc = "Account isn't found."] + NotFound, + #[codec(index = 2)] + #[doc = "Account isn't named."] + NotNamed, + #[codec(index = 3)] + #[doc = "Empty index."] + EmptyIndex, + #[codec(index = 4)] + #[doc = "Fee is changed."] + FeeChanged, + #[codec(index = 5)] + #[doc = "No identity found."] + NoIdentity, + #[codec(index = 6)] + #[doc = "Sticky judgement."] + StickyJudgement, + #[codec(index = 7)] + #[doc = "Judgement given."] + JudgementGiven, + #[codec(index = 8)] + #[doc = "Invalid judgement."] + InvalidJudgement, + #[codec(index = 9)] + #[doc = "The index is invalid."] + InvalidIndex, + #[codec(index = 10)] + #[doc = "The target is invalid."] + InvalidTarget, + #[codec(index = 11)] + #[doc = "Too many additional fields."] + TooManyFields, + #[codec(index = 12)] + #[doc = "Maximum amount of registrars reached. Cannot add any more."] + TooManyRegistrars, + #[codec(index = 13)] + #[doc = "Account ID is already named."] + AlreadyClaimed, + #[codec(index = 14)] + #[doc = "Sender is not a sub-account."] + NotSub, + #[codec(index = 15)] + #[doc = "Sub-account isn't owned by sender."] + NotOwned, + #[codec(index = 16)] + #[doc = "The provided judgement was for a different identity."] + JudgementForDifferentIdentity, + #[codec(index = 17)] + #[doc = "Error that occurs when there is an issue paying for judgement."] + JudgementPaymentFailed, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A name was set or reset (which will remove all judgements)."] + IdentitySet { who: ::subxt::utils::AccountId32 }, + #[codec(index = 1)] + #[doc = "A name was cleared, and the given balance returned."] + IdentityCleared { + who: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "A name was removed and the given balance slashed."] + IdentityKilled { + who: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A judgement was asked from a registrar."] + JudgementRequested { + who: ::subxt::utils::AccountId32, + registrar_index: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "A judgement request was retracted."] + JudgementUnrequested { + who: ::subxt::utils::AccountId32, + registrar_index: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "A judgement was given by a registrar."] + JudgementGiven { + target: ::subxt::utils::AccountId32, + registrar_index: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "A registrar was added."] + RegistrarAdded { + registrar_index: ::core::primitive::u32, + }, + #[codec(index = 7)] + #[doc = "A sub-identity was added to an identity and the deposit paid."] + SubIdentityAdded { + sub: ::subxt::utils::AccountId32, + main: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 8)] + #[doc = "A sub-identity was removed from an identity and the deposit freed."] + SubIdentityRemoved { + sub: ::subxt::utils::AccountId32, + main: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + }, + #[codec(index = 9)] + #[doc = "A sub-identity was cleared, and the given deposit repatriated from the"] + #[doc = "main identity account to the sub-identity account."] + SubIdentityRevoked { + sub: ::subxt::utils::AccountId32, + main: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BitFlags<_0>( + pub ::core::primitive::u64, + #[codec(skip)] pub ::core::marker::PhantomData<_0>, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Data { + #[codec(index = 0)] + None, + #[codec(index = 1)] + Raw0([::core::primitive::u8; 0usize]), + #[codec(index = 2)] + Raw1([::core::primitive::u8; 1usize]), + #[codec(index = 3)] + Raw2([::core::primitive::u8; 2usize]), + #[codec(index = 4)] + Raw3([::core::primitive::u8; 3usize]), + #[codec(index = 5)] + Raw4([::core::primitive::u8; 4usize]), + #[codec(index = 6)] + Raw5([::core::primitive::u8; 5usize]), + #[codec(index = 7)] + Raw6([::core::primitive::u8; 6usize]), + #[codec(index = 8)] + Raw7([::core::primitive::u8; 7usize]), + #[codec(index = 9)] + Raw8([::core::primitive::u8; 8usize]), + #[codec(index = 10)] + Raw9([::core::primitive::u8; 9usize]), + #[codec(index = 11)] + Raw10([::core::primitive::u8; 10usize]), + #[codec(index = 12)] + Raw11([::core::primitive::u8; 11usize]), + #[codec(index = 13)] + Raw12([::core::primitive::u8; 12usize]), + #[codec(index = 14)] + Raw13([::core::primitive::u8; 13usize]), + #[codec(index = 15)] + Raw14([::core::primitive::u8; 14usize]), + #[codec(index = 16)] + Raw15([::core::primitive::u8; 15usize]), + #[codec(index = 17)] + Raw16([::core::primitive::u8; 16usize]), + #[codec(index = 18)] + Raw17([::core::primitive::u8; 17usize]), + #[codec(index = 19)] + Raw18([::core::primitive::u8; 18usize]), + #[codec(index = 20)] + Raw19([::core::primitive::u8; 19usize]), + #[codec(index = 21)] + Raw20([::core::primitive::u8; 20usize]), + #[codec(index = 22)] + Raw21([::core::primitive::u8; 21usize]), + #[codec(index = 23)] + Raw22([::core::primitive::u8; 22usize]), + #[codec(index = 24)] + Raw23([::core::primitive::u8; 23usize]), + #[codec(index = 25)] + Raw24([::core::primitive::u8; 24usize]), + #[codec(index = 26)] + Raw25([::core::primitive::u8; 25usize]), + #[codec(index = 27)] + Raw26([::core::primitive::u8; 26usize]), + #[codec(index = 28)] + Raw27([::core::primitive::u8; 27usize]), + #[codec(index = 29)] + Raw28([::core::primitive::u8; 28usize]), + #[codec(index = 30)] + Raw29([::core::primitive::u8; 29usize]), + #[codec(index = 31)] + Raw30([::core::primitive::u8; 30usize]), + #[codec(index = 32)] + Raw31([::core::primitive::u8; 31usize]), + #[codec(index = 33)] + Raw32([::core::primitive::u8; 32usize]), + #[codec(index = 34)] + BlakeTwo256([::core::primitive::u8; 32usize]), + #[codec(index = 35)] + Sha256([::core::primitive::u8; 32usize]), + #[codec(index = 36)] + Keccak256([::core::primitive::u8; 32usize]), + #[codec(index = 37)] + ShaThree256([::core::primitive::u8; 32usize]), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum IdentityField { + #[codec(index = 1)] + Display, + #[codec(index = 2)] + Legal, + #[codec(index = 4)] + Web, + #[codec(index = 8)] + Riot, + #[codec(index = 16)] + Email, + #[codec(index = 32)] + PgpFingerprint, + #[codec(index = 64)] + Image, + #[codec(index = 128)] + Twitter, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct IdentityInfo { + pub additional: runtime_types::bounded_collections::bounded_vec::BoundedVec<( + runtime_types::pallet_identity::types::Data, + runtime_types::pallet_identity::types::Data, + )>, + pub display: runtime_types::pallet_identity::types::Data, + pub legal: runtime_types::pallet_identity::types::Data, + pub web: runtime_types::pallet_identity::types::Data, + pub riot: runtime_types::pallet_identity::types::Data, + pub email: runtime_types::pallet_identity::types::Data, + pub pgp_fingerprint: ::core::option::Option<[::core::primitive::u8; 20usize]>, + pub image: runtime_types::pallet_identity::types::Data, + pub twitter: runtime_types::pallet_identity::types::Data, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Judgement<_0> { + #[codec(index = 0)] + Unknown, + #[codec(index = 1)] + FeePaid(_0), + #[codec(index = 2)] + Reasonable, + #[codec(index = 3)] + KnownGood, + #[codec(index = 4)] + OutOfDate, + #[codec(index = 5)] + LowQuality, + #[codec(index = 6)] + Erroneous, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RegistrarInfo<_0, _1> { + pub account: _1, + pub fee: _0, + pub fields: runtime_types::pallet_identity::types::BitFlags< + runtime_types::pallet_identity::types::IdentityField, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Registration<_0> { + pub judgements: runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u32, + runtime_types::pallet_identity::types::Judgement<_0>, + )>, + pub deposit: _0, + pub info: runtime_types::pallet_identity::types::IdentityInfo, + } + } + } + pub mod pallet_im_online { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "## Complexity:"] + #[doc = "- `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is length of"] + #[doc = " `heartbeat.network_state.external_address`"] + #[doc = " - `O(K)`: decoding of length `K`"] + #[doc = " - `O(E)`: decoding/encoding of length `E`"] + heartbeat { + heartbeat: + runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>, + signature: runtime_types::pallet_im_online::sr25519::app_sr25519::Signature, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Non existent public key."] + InvalidKey, + #[codec(index = 1)] + #[doc = "Duplicated heartbeat."] + DuplicatedHeartbeat, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A new heartbeat was received from `AuthorityId`."] + HeartbeatReceived { + authority_id: runtime_types::pallet_im_online::sr25519::app_sr25519::Public, + }, + #[codec(index = 1)] + #[doc = "At the end of the session, no offence was committed."] + AllGood, + #[codec(index = 2)] + #[doc = "At the end of the session, at least one validator was found to be offline."] + SomeOffline { + offline: ::std::vec::Vec<( + ::subxt::utils::AccountId32, + runtime_types::pallet_staking::Exposure< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + )>, + }, + } + } + pub mod sr25519 { + use super::runtime_types; + pub mod app_sr25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub runtime_types::sp_core::sr25519::Public); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Signature(pub runtime_types::sp_core::sr25519::Signature); + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedOpaqueNetworkState { + pub peer_id: runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + ::core::primitive::u8, + >, + pub external_addresses: + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + ::core::primitive::u8, + >, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Heartbeat<_0> { + pub block_number: _0, + pub network_state: runtime_types::sp_core::offchain::OpaqueNetworkState, + pub session_index: ::core::primitive::u32, + pub authority_index: ::core::primitive::u32, + pub validators_len: ::core::primitive::u32, + } + } + pub mod pallet_marketplace { + use super::runtime_types; + pub mod features { + use super::runtime_types; + pub mod auction { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AuctionData<_0> { + #[codec(compact)] + pub start_block: _0, + #[codec(compact)] + pub end_block: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AuctionState<_0, _1> { + pub high_bid: ::core::option::Option< + runtime_types::pallet_marketplace::features::auction::Bid<_0, _1>, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Bid<_0, _1> { + pub bidder: _0, + #[codec(compact)] + pub price: _1, + } + } + pub mod listing { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum FeeSide { + #[codec(index = 0)] + NoFee, + #[codec(index = 1)] + Make, + #[codec(index = 2)] + Take, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Listing<_0, _1, _2, _3, _4, _5, _6> { + pub seller: _2, + pub make_asset_id: runtime_types::ep_multi_tokens::token::AssetId<_0, _0>, + pub take_asset_id: runtime_types::ep_multi_tokens::token::AssetId<_0, _0>, + #[codec(compact)] + pub amount: _0, + #[codec(compact)] + pub price: _0, + #[codec(compact)] + pub min_take_value: _0, + pub fee_side: runtime_types::pallet_marketplace::features::listing::FeeSide, + #[codec(compact)] + pub creation_block: _5, + #[codec(compact)] + pub deposit: _0, + pub salt: _6, + pub data: + runtime_types::pallet_marketplace::features::listing::ListingData<_5>, + pub state: + runtime_types::pallet_marketplace::features::listing::ListingState< + _2, + _0, + >, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<(_4, _3, _1)>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ListingData<_0> { + #[codec(index = 0)] + FixedPrice, + #[codec(index = 1)] + Auction( + runtime_types::pallet_marketplace::features::auction::AuctionData<_0>, + ), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ListingState<_0, _1> { + #[codec(index = 0)] + FixedPrice { + #[codec(compact)] + amount_filled: _1, + }, + #[codec(index = 1)] + Auction( + runtime_types::pallet_marketplace::features::auction::AuctionState< + _0, + _1, + >, + ), + } + } + } + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Places a sell order. Requires `make_asset_id` or `take_asset_id` to be a currency."] + #[doc = "The id for the listing is generated by hashing the encoded bytes of the listing."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "- `make_asset_id`: The id of the asset being sold"] + #[doc = "- `take_asset_id`: The id of the asset being requested"] + #[doc = "- `amount`: The number of units being sold"] + #[doc = "- `price`: The requested price for each unit. If it's an auction, this is the minimum"] + #[doc = " bid"] + #[doc = "- `salt`: Can be used to differentiate listings"] + #[doc = "- `auction_data`: Including this makes the listing an auction"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::InvalidAuctionStart`] if the start is less than the current block +"] + #[doc = " `T::ListingActiveDelay`"] + #[doc = "- [`Error::NoCurrency`] Neither the make or take side is considered a currency"] + #[doc = "- [`Error::ListingForbidden`] if make or take side tokens are not allowed to be listed"] + #[doc = "- [`Error::CurrencyNotAllowedAsRoyalty`] if currency cannot be used as a royalty"] + #[doc = "- [`Error::LowBaseCurrencyBalance`] if base currency balance is too low"] + #[doc = "- [`Error::LowTokenBalance`] token balance is too low for reserve"] + #[doc = "- [`Error::ListingAlreadyExists`] if a listing with the same ID already exists"] + create_listing { + make_asset_id: runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + take_asset_id: runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + #[codec(compact)] + price: ::core::primitive::u128, + salt: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + auction_data: ::core::option::Option< + runtime_types::pallet_marketplace::features::auction::AuctionData< + ::core::primitive::u32, + >, + >, + }, + #[codec(index = 1)] + #[doc = "Cancels the listing with `listing_id`. Only callable by the seller."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "- `listing_id`: The ID of the listing to cancel"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::ListingNotFound`] if the listing under `listing_id` does not exist"] + #[doc = "- [`Error::NoPermission`] if the listing seller is not the caller, `origin`"] + cancel_listing { listing_id: ::subxt::utils::H256 }, + #[codec(index = 2)] + #[doc = "Fills a fixed price listing. This will execute immediately."] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "- `listing_id`: The id for the listing to buy from"] + #[doc = "- `amount`: The number of units purchased"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::ListingNotFound`] if the listing under `listing_id` does not exist"] + #[doc = "- [`Error::BuyerIsSeller`] if the buyer is the seller of the listing"] + #[doc = "- [`Error::ListingIsWrongType`] if the listing is not under auction"] + #[doc = "- [`Error::InvalidAmount`] if the amount that still needs to be filled is greater than"] + #[doc = " `amount`"] + #[doc = "- [`Error::ListingNotActive`] if the listing has not passed the `ListingActiveDelay` yet"] + #[doc = "- [`Error::TakeValueUnderMinimum`] if the listings `take` value is under the minimum"] + #[doc = " required"] + #[doc = "- [`Error::LowTokenBalance`] if the buyer does not have enough tokens for reserve"] + fill_listing { + listing_id: ::subxt::utils::H256, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "Places a bid on a listing. The listing must be an auction, and it must be currently"] + #[doc = "active."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "- `listing_id`: The id for the listing to buy from"] + #[doc = "- `price`: The price for a single unit"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::ListingNotFound`] if listing under `listing_id` does not exist"] + #[doc = "- [`Error::BuyerIsSeller`] if the bidder is the seller of the listing"] + #[doc = "- [`Error::InactiveAuction`] if listing operates outside of specified start and end"] + #[doc = " block"] + #[doc = "- [`Error::InvalidPrice`] if price is less than minimum_price for a bid"] + place_bid { + listing_id: ::subxt::utils::H256, + #[codec(compact)] + price: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Finalize the auction with id: `listing_id`. This will end the auction and transfer"] + #[doc = "funds. It fails if the auction is not over."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "- `listing_id`: The ID for the listing to finalize"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "- [`Error::ListingNotFound`] if listing under `listing_id` does not exist"] + #[doc = "- [`Error::ListingIsWrongType`] if listing is not an auction"] + #[doc = "- [`Error::AuctionNotOver`] if the auction has not finished yet"] + #[doc = "- [`Error::TakeValueUnderMinimum`] if the take value is less than the minimum required"] + finalize_auction { listing_id: ::subxt::utils::H256 }, + #[codec(index = 5)] + #[doc = "Change the protocol fee to `protocol_fee`. Fails if `origin` is invalid."] + #[doc = ""] + #[doc = "#Parameters"] + #[doc = ""] + #[doc = "- `protocol_fee`: Percentage of fee to set"] + set_protocol_fee { + protocol_fee: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 6)] + #[doc = "Force create a listing. This is only callable by the [`Config::ForceOrigin`]."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "Mostly the same as [`Self::create_listing`], but `deposit_backer` can be included to pay"] + #[doc = "a deposit if `seller` does not have enough."] + #[doc = ""] + #[doc = "# Errors"] + #[doc = ""] + #[doc = "Same as [`Self::create_listing`], except `BadOrigin` if the origin is not"] + #[doc = "[`Config::ForceOrigin`]"] + force_create_listing { + seller: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + make_asset_id: runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + take_asset_id: runtime_types::ep_multi_tokens::token::AssetId< + ::core::primitive::u128, + ::core::primitive::u128, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + #[codec(compact)] + price: ::core::primitive::u128, + salt: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + auction_data: ::core::option::Option< + runtime_types::pallet_marketplace::features::auction::AuctionData< + ::core::primitive::u32, + >, + >, + deposit_backer: ::core::option::Option< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + }, + #[codec(index = 7)] + #[doc = "Same as [create_listing](Self::place_bid), but allows specifying the `bidder` and can"] + #[doc = "place a bid in an inactive auction. Only callable by [`Config::ForceOrigin`]. If"] + #[doc = "`funds_backer` is `Some`, it will transfer balance if `bidder` does not have enough."] + force_place_bid { + bidder: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + listing_id: ::subxt::utils::H256, + #[codec(compact)] + price: ::core::primitive::u128, + funds_backer: ::core::option::Option< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The error for this pallet"] + pub enum Error { + #[codec(index = 0)] + #[doc = "the order cannot be filled"] + UnableToFill, + #[codec(index = 1)] + #[doc = "The listing does not exist"] + ListingNotFound, + #[codec(index = 2)] + #[doc = "The caller does not have permission for this operation"] + NoPermission, + #[codec(index = 3)] + #[doc = "The max rounding error was exceeded"] + MaxRoundingErrorExceeded, + #[codec(index = 4)] + #[doc = "The base currency balance is too low"] + LowBaseCurrencyBalance, + #[codec(index = 5)] + #[doc = "The token balance is too low"] + LowTokenBalance, + #[codec(index = 6)] + #[doc = "Transfer params could not be created"] + TransferParamCreationFailed, + #[codec(index = 7)] + #[doc = "The take value is under the minimum requirement"] + TakeValueUnderMinimum, + #[codec(index = 8)] + #[doc = "A listing with this id already exists"] + ListingAlreadyExists, + #[codec(index = 9)] + #[doc = "The start time of the auction must be greater than the current block plus the"] + #[doc = "minimum requirement"] + InvalidAuctionStart, + #[codec(index = 10)] + #[doc = "The end time of the auction must be after the start"] + InvalidAuctionEnd, + #[codec(index = 11)] + #[doc = "Cannot bid on an auction that has not started or is over"] + InactiveAuction, + #[codec(index = 12)] + #[doc = "Cannot finalize an auction that is not over"] + AuctionNotOver, + #[codec(index = 13)] + #[doc = "An action was taken that is not compatible with the listing's type."] + ListingIsWrongType, + #[codec(index = 14)] + #[doc = "The amount is invalid"] + InvalidAmount, + #[codec(index = 15)] + #[doc = "The price is invalid"] + InvalidPrice, + #[codec(index = 16)] + #[doc = "Listing is forbidden for this token"] + ListingForbidden, + #[codec(index = 17)] + #[doc = "Neither the make side or the take side of the listing is considered a currency"] + NoCurrency, + #[codec(index = 18)] + #[doc = "The listing has not crossed the mandatory delay before its considered active"] + ListingNotActive, + #[codec(index = 19)] + #[doc = "The currency is not allowed to be used as a royalty payment"] + CurrencyNotAllowedAsRoyalty, + #[codec(index = 20)] + #[doc = "The seller is not allowed to buy their own listing"] + BuyerIsSeller, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The Event for this pallet"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A listing was created"] + ListingCreated { + listing_id: ::subxt::utils::H256, + listing: runtime_types::pallet_marketplace::features::listing::Listing< + ::core::primitive::u128, + ::core::primitive::u128, + ::subxt::utils::AccountId32, + ::core::primitive::u128, + ::core::primitive::u128, + ::core::primitive::u32, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + >, + }, + #[codec(index = 1)] + #[doc = "A listing was cancelled"] + ListingCancelled { listing_id: ::subxt::utils::H256 }, + #[codec(index = 2)] + #[doc = "A listing was filled or partially filled"] + ListingFilled { + listing_id: ::subxt::utils::H256, + buyer: ::subxt::utils::AccountId32, + amount_filled: ::core::primitive::u128, + amount_remaining: ::core::primitive::u128, + protocol_fee: ::core::primitive::u128, + royalty: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A bid was placed"] + BidPlaced { + listing_id: ::subxt::utils::H256, + bid: runtime_types::pallet_marketplace::features::auction::Bid< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + }, + #[codec(index = 4)] + #[doc = "An auction was finalized"] + AuctionFinalized { + listing_id: ::subxt::utils::H256, + winning_bid: ::core::option::Option< + runtime_types::pallet_marketplace::features::auction::Bid< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + protocol_fee: ::core::primitive::u128, + royalty: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "Protocol fee was set"] + ProtocolFeeSet { + protocol_fee: runtime_types::sp_arithmetic::per_things::Perbill, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MarketPlaceInfo { + #[codec(compact)] + pub protocol_fee: runtime_types::sp_arithmetic::per_things::Perbill, + } + } + } + pub mod pallet_message_queue { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] # [doc = "Remove a page which has no more messages remaining to be processed or is stale."] reap_page { message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page_index : :: core :: primitive :: u32 , } , # [codec (index = 1)] # [doc = "Execute an overweight message."] # [doc = ""] # [doc = "Temporary processing errors will be propagated whereas permanent errors are treated"] # [doc = "as success condition."] # [doc = ""] # [doc = "- `origin`: Must be `Signed`."] # [doc = "- `message_origin`: The origin from which the message to be executed arrived."] # [doc = "- `page`: The page in the queue in which the message to be executed is sitting."] # [doc = "- `index`: The index into the queue of the message to be executed."] # [doc = "- `weight_limit`: The maximum amount of weight allowed to be consumed in the execution"] # [doc = " of the message."] # [doc = ""] # [doc = "Benchmark complexity considerations: O(index + weight_limit)."] execute_overweight { message_origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page : :: core :: primitive :: u32 , index : :: core :: primitive :: u32 , weight_limit : runtime_types :: sp_weights :: weight_v2 :: Weight , } , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Page is not reapable because it has items remaining to be processed and is not old"] + #[doc = "enough."] + NotReapable, + #[codec(index = 1)] + #[doc = "Page to be reaped does not exist."] + NoPage, + #[codec(index = 2)] + #[doc = "The referenced message could not be found."] + NoMessage, + #[codec(index = 3)] + #[doc = "The message was already processed and cannot be processed again."] + AlreadyProcessed, + #[codec(index = 4)] + #[doc = "The message is queued for future execution."] + Queued, + #[codec(index = 5)] + #[doc = "There is temporarily not enough weight to continue servicing messages."] + InsufficientWeight, + #[codec(index = 6)] + #[doc = "This message is temporarily unprocessable."] + #[doc = ""] + #[doc = "Such errors are expected, but not guaranteed, to resolve themselves eventually through"] + #[doc = "retrying."] + TemporarilyUnprocessable, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + # [codec (index = 0)] # [doc = "Message discarded due to an error in the `MessageProcessor` (usually a format error)."] ProcessingFailed { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , error : runtime_types :: frame_support :: traits :: messages :: ProcessMessageError , } , # [codec (index = 1)] # [doc = "Message is processed."] Processed { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , weight_used : runtime_types :: sp_weights :: weight_v2 :: Weight , success : :: core :: primitive :: bool , } , # [codec (index = 2)] # [doc = "Message placed in overweight queue."] OverweightEnqueued { id : [:: core :: primitive :: u8 ; 32usize] , origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , page_index : :: core :: primitive :: u32 , message_index : :: core :: primitive :: u32 , } , # [codec (index = 3)] # [doc = "This page was reaped."] PageReaped { origin : runtime_types :: polkadot_runtime_parachains :: inclusion :: AggregateMessageOrigin , index : :: core :: primitive :: u32 , } , } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BookState<_0> { + pub begin: ::core::primitive::u32, + pub end: ::core::primitive::u32, + pub count: ::core::primitive::u32, + pub ready_neighbours: + ::core::option::Option>, + pub message_count: ::core::primitive::u64, + pub size: ::core::primitive::u64, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Neighbours<_0> { + pub prev: _0, + pub next: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Page<_0> { + pub remaining: _0, + pub remaining_size: _0, + pub first_index: _0, + pub first: _0, + pub last: _0, + pub heap: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + } + pub mod pallet_multi_tokens { + use super::runtime_types; + pub mod features { + use super::runtime_types; + pub mod claim { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AssetIdWithEth<_0, _1> { + pub ethereum_collection_id: _0, + pub collection_id: _0, + pub token_id: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CollectionIdPair<_0> { + pub ethereum: _0, + pub native: _0, + } + } + pub mod collection { + use super::runtime_types; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CollectionAccount < _0 , _1 , _2 > { pub is_frozen : :: core :: primitive :: bool , pub approvals : runtime_types :: bounded_collections :: bounded_btree_map :: BoundedBTreeMap < _0 , _1 > , # [codec (compact)] pub account_count : :: core :: primitive :: u32 , # [codec (skip)] pub __subxt_unused_type_params : :: core :: marker :: PhantomData < _2 > } + } + } + pub mod ethereum { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RangeInclusive<_0> { + #[codec(compact)] + pub start: _0, + #[codec(compact)] + pub end: _0, + } + } + pub mod operator { + use super::runtime_types; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Approval<_0, _1> { + #[codec(compact)] + pub amount: _0, + pub expiration: _1, + } + } + } + pub mod token { + use super::runtime_types; + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TokenAccount < _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 > { # [codec (compact)] pub balance : _1 , # [codec (compact)] pub reserved_balance : _1 , # [codec (compact)] pub locked_balance : _1 , pub named_reserves : runtime_types :: bounded_collections :: bounded_btree_map :: BoundedBTreeMap < _4 , _1 > , pub locks : runtime_types :: bounded_collections :: bounded_btree_map :: BoundedBTreeMap < _4 , _1 > , pub approvals : runtime_types :: bounded_collections :: bounded_btree_map :: BoundedBTreeMap < _0 , _2 > , pub is_frozen : :: core :: primitive :: bool , # [codec (skip)] pub __subxt_unused_type_params : :: core :: marker :: PhantomData < (_5 , _3 , _6 , _7) > } + } + } + } + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] # [doc = "Creates a new [`Collection`](ep_multi_tokens::Collection) from `descriptor`"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "- [`Error::DepositReserveFailed`] if the deposit cannot be reserved"] create_collection { descriptor : :: std :: boxed :: Box < runtime_types :: ep_multi_tokens :: collection :: DefaultCollectionDescriptor < :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: token :: AssetId < :: core :: primitive :: u128 , :: core :: primitive :: u128 > > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: batch :: AttributeKeyValuePair < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > > > > > , } , # [codec (index = 1)] # [doc = "Destroys [`Collection`](ep_multi_tokens::Collection) with `id`. `origin` must be the"] # [doc = "owner of the [`Collection`](ep_multi_tokens::Collection)."] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "- [`Error::NoPermission`] if `origin` is not the owner of the collection."] # [doc = "- [`Error::CollectionNotFound`] if `Collection` with `id` does not exist."] # [doc = "- [`Error::DestroyForbiddenByCollectionEvent`] if another pallet is blocking the"] # [doc = " collection's destruction"] # [doc = "- [`Error::DestroyForbiddenByRemainingTokens`] if collection still has tokens when"] # [doc = " destroying"] # [doc = "- [`Error::DestroyForbiddenByAttributeCount`] if collection still has attributes when"] # [doc = " destroying"] # [doc = "current number of collection attributes."] destroy_collection { # [codec (compact)] collection_id : :: core :: primitive :: u128 , } , # [codec (index = 2)] # [doc = "Modify [`Collection`](ep_multi_tokens::Collection) with `id` by applying `mutation`"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "- [`Error::CollectionNotFound`] if `collection_id` does not exist."] # [doc = "- [`Error::NoPermission`] if `origin` is not the owner of `collection`."] mutate_collection { # [codec (compact)] collection_id : :: core :: primitive :: u128 , mutation : :: std :: boxed :: Box < runtime_types :: ep_multi_tokens :: collection :: DefaultCollectionMutation < :: subxt :: utils :: AccountId32 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: token :: AssetId < :: core :: primitive :: u128 , :: core :: primitive :: u128 > > > > , } , # [codec (index = 3)] # [doc = "Modify [`Token`](ep_multi_tokens::Token) with `token_id` from"] # [doc = "[`Collection`](ep_multi_tokens::Collection) with `collection_id` by applying `mutation`"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "- [`Error::CurrencyIncompatibleWithCollectionRoyalty`] if token has already been"] # [doc = " assigned a royalty"] # [doc = "- [`Error::NoPermission`] if not the collection owner"] # [doc = "- [`Error::TokenNotFound`] if Token does not exist"] # [doc = "- [`Error::ConflictingLocation`] if the new location is already occupied"] mutate_token { # [codec (compact)] collection_id : :: core :: primitive :: u128 , # [codec (compact)] token_id : :: core :: primitive :: u128 , mutation : :: std :: boxed :: Box < runtime_types :: ep_multi_tokens :: token :: DefaultTokenMutation < runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: ep_multi_tokens :: frame :: DefaultTokenMetadata < runtime_types :: ep_multi_tokens :: frame :: DefaultForeignTokenMetadata < :: core :: primitive :: u128 , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenNameLength > , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenSymbolLength > , runtime_types :: xcm :: v3 :: multilocation :: MultiLocation > > > > , } , # [codec (index = 4)] # [doc = "`origin` mints to `recipient` for `collection_id` with `params` using the pallet's"] # [doc = "[`MintPolicy`](traits::CollectionPolicy::Mint)."] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "- [`Error::AmountZero`] if `amount == 0`."] # [doc = "- [`Error::CollectionNotFound`] if `Collection` does not exist."] # [doc = "- [`Error::TokenNotFound`] if `Token` does not exist."] # [doc = "- [`Error::TokenAlreadyExists`] if attempting to create a token that already exists"] # [doc = "- [`Error::NoPermission`] if `caller` is not allowed to mint the `collection`."] # [doc = "- [`Error::TokenMintCapExceeded`] if the mint policy TokenCap does not allow minting"] # [doc = "- `MaxTokenCountExceeded` if the mint policy max_token_count is exceeded"] # [doc = "- [`Error::DepositReserveFailed`] if the issuer does not have sufficient balance for"] # [doc = " token deposit"] # [doc = "- [`Error::ConflictingLocation`] if the token is foreign and the location is already"] # [doc = " mapped to another asset in `AssetIdsByLocation`"] mint { recipient : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , # [codec (compact)] collection_id : :: core :: primitive :: u128 , params : :: std :: boxed :: Box < runtime_types :: ep_multi_tokens :: policy :: mint :: DefaultMintParams < :: core :: primitive :: u128 , :: core :: primitive :: u128 , :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: batch :: AttributeKeyValuePair < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > > > , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenNameLength > , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenSymbolLength > , runtime_types :: xcm :: v3 :: multilocation :: MultiLocation > > , } , # [codec (index = 5)] # [doc = "Reduces the balance of `owner` by `amount` of `token_id` from `collection_id`."] # [doc = "It also updates the total supply of `collection_id`."] # [doc = ""] # [doc = "# Errors"] # [doc = "- [`Error::CollectionNotFound`] if `collection` does not exist."] # [doc = "- [`Error::BalanceLow`] if `owner` account does not has enough amount of any token in"] # [doc = " `tokens` of `collection`."] # [doc = "- [`Error::DepositUnreserveFailed`] if caller does not have enough reserved balance to"] # [doc = " unreserve"] # [doc = "- [`Error::DestroyForbiddenByAttributeCount`] if removing token from storage but the"] # [doc = " attribute count is greater than zero"] burn { # [codec (compact)] collection_id : :: core :: primitive :: u128 , params : runtime_types :: ep_multi_tokens :: policy :: burn :: DefaultBurnParams < :: core :: primitive :: u128 , :: core :: primitive :: u128 > , } , # [codec (index = 6)] # [doc = "`operator` transfers to `recipient` for `collection_id` with `params`"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "- [`Error::AmountZero`] if `amount == 0`."] # [doc = "- [`Error::BalanceLow`] if `source` does not own enough amount of `collection`."] transfer { recipient : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , # [codec (compact)] collection_id : :: core :: primitive :: u128 , params : runtime_types :: ep_multi_tokens :: policy :: transfer :: DefaultTransferParams < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , :: core :: primitive :: u128 > , } , # [codec (index = 7)] # [doc = "Freeze collection, token or account"] freeze { info : runtime_types :: ep_multi_tokens :: types :: Freeze < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , :: core :: primitive :: u128 > , } , # [codec (index = 8)] # [doc = "Thaw collection, token or account"] thaw { info : runtime_types :: ep_multi_tokens :: types :: Freeze < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , :: core :: primitive :: u128 > , } , # [codec (index = 9)] # [doc = "Sets the attribute `key` to `value` for `collection_id`."] # [doc = "If `token_id` is [`None`], the attribute is added to the collection. If it is [`Some`],"] # [doc = "the attribute is added to the token."] # [doc = ""] # [doc = "# Errors"] # [doc = "- [`Error::InvalidAttributeKey`] if `key.len() == 0`"] # [doc = "- [`Error::CollectionNotFound`] if `collection_id` does not exist."] # [doc = "- [`Error::TokenNotFound`] if `token_id` is `Some` and does not exist."] # [doc = "- [`Error::NoPermission`] if `source` account is not the owner of the collection."] # [doc = "- [`Error::DepositReserveFailed`] if unable to reserve the deposit for the attribute"] # [doc = " storage."] set_attribute { # [codec (compact)] collection_id : :: core :: primitive :: u128 , token_id : :: core :: option :: Option < :: core :: primitive :: u128 > , key : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , value : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 10)] # [doc = "Removes the `key` attribute from the given `collection_id` or `token_id`."] # [doc = ""] # [doc = "# Errors"] # [doc = "- [`Error::InvalidAttributeKey`] if `key.len() == 0`"] # [doc = "- [`Error::CollectionNotFound`] if `collection_id` does not exist."] # [doc = "- [`Error::TokenNotFound`] if `token_id` is `Some` and does not exist."] # [doc = "- [`Error::NoPermission`] if `caller` is not the owner of the collection."] # [doc = "- `Underflow` if an attribute counter underflows"] remove_attribute { # [codec (compact)] collection_id : :: core :: primitive :: u128 , token_id : :: core :: option :: Option < :: core :: primitive :: u128 > , key : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 11)] # [doc = "Removes all attributes from the given `collection_id` or `token_id`."] # [doc = ""] # [doc = "# Errors"] # [doc = "- `InvalidAttributeCount` if `attribute_count` doesn't match the number of attributes"] # [doc = "- [`Error::CollectionNotFound`] if Collection with `collection_id` does not exist."] # [doc = "- [`Error::TokenNotFound`] if Token with `token_id` does not exist."] # [doc = "- [`Error::NoPermission`] if `origin` account is not the owner of the Collection or"] # [doc = " Token"] # [doc = "- other errors from `remove_attribute`"] remove_all_attributes { # [codec (compact)] collection_id : :: core :: primitive :: u128 , token_id : :: core :: option :: Option < :: core :: primitive :: u128 > , attribute_count : :: core :: primitive :: u32 , } , # [codec (index = 12)] # [doc = "Transfers the specific amount of tokens of `collection` to `recipients` from `origin`"] # [doc = "account. A single failure will fail all transfers."] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "- [`Error::AmountZero`] if `amount == 0`."] # [doc = "- [`Error::BalanceLow`] if `source` does not own enough amount of `collection`."] batch_transfer { # [codec (compact)] collection_id : :: core :: primitive :: u128 , recipients : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: batch :: Recipient < :: subxt :: utils :: AccountId32 , runtime_types :: ep_multi_tokens :: policy :: transfer :: DefaultTransferParams < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , :: core :: primitive :: u128 > > > , } , # [codec (index = 13)] # [doc = "Collection owner mints tokens of `collection_id` to `recipients` consisting of an"] # [doc = "[`AccountId`](frame_system::Config::AccountId) and [`MintParams`]. A single mint failure"] # [doc = "will fail all of them in the batch."] # [doc = ""] # [doc = "# Errors"] # [doc = "- [`Error::AmountZero`] if `amount == 0`."] # [doc = "- [`Error::CollectionNotFound`] if `collection` does **not** exist."] # [doc = "- [`Error::NoPermission`] if `caller` is not allowed to mint the `collection`."] # [doc = "- [`Error::TokenMintCapExceeded`] if the mint policy TokenCap does not allow minting"] # [doc = "- [`Error::MaxTokenCountExceeded`] if the mint policy max_token_count is exceeded"] # [doc = "- [`Error::DepositReserveFailed`] if the issuer does not have sufficient balance for"] # [doc = " token deposit"] batch_mint { # [codec (compact)] collection_id : :: core :: primitive :: u128 , recipients : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: batch :: Recipient < :: subxt :: utils :: AccountId32 , runtime_types :: ep_multi_tokens :: policy :: mint :: DefaultMintParams < :: core :: primitive :: u128 , :: core :: primitive :: u128 , :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: batch :: AttributeKeyValuePair < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > > > , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenNameLength > , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenSymbolLength > , runtime_types :: xcm :: v3 :: multilocation :: MultiLocation > > > , } , # [codec (index = 14)] # [doc = "Collection owner sets `attributes` to `collection_id`"] # [doc = ""] # [doc = "If `token_id` is [`None`], the attribute is added to the collection. If it is [`Some`],"] # [doc = "the attribute is added to the token."] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "- [`Error::InvalidAttributeKey`] if `key.len() == 0`"] # [doc = "- [`Error::CollectionNotFound`] if `collection_id` does not exist."] # [doc = "- [`Error::TokenNotFound`] if `token_id` is `Some` and does not exist."] # [doc = "- [`Error::NoPermission`] if `source` account is not the owner of the collection."] # [doc = "- [`Error::DepositReserveFailed`] if unable to reserve the deposit for the attribute"] # [doc = " storage."] batch_set_attribute { # [codec (compact)] collection_id : :: core :: primitive :: u128 , token_id : :: core :: option :: Option < :: core :: primitive :: u128 > , attributes : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: batch :: AttributeKeyValuePair < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > > > , } , # [codec (index = 15)] # [doc = "Approve the `operator` to manage all of `origin`'s tokens belonging to `collection_id`."] # [doc = "If an `expiration` is provided, the approval will end when it expires."] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "- [`Error::CannotApproveSelf`] if `origin == operator`"] # [doc = "- [`Error::AlreadyExpired`] if `expiration` is earlier than now"] # [doc = "- [`Error::CollectionAccountNotFound`] if the collection account does not exist"] # [doc = "- [`Error::MaxApprovalsExceeded`] if approval count has exceeded the maximum"] approve_collection { # [codec (compact)] collection_id : :: core :: primitive :: u128 , operator : :: subxt :: utils :: AccountId32 , expiration : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 16)] # [doc = "Unapprove the `operator` to manage all of `origin`'s tokens belonging to `collection`"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "- [`Error::CollectionAccountNotFound`] if the collection account cannot be found"] unapprove_collection { # [codec (compact)] collection_id : :: core :: primitive :: u128 , operator : :: subxt :: utils :: AccountId32 , } , # [codec (index = 17)] # [doc = "Approve `operator` to transfer up to `amount` of `caller`'s balance for `token_id` of"] # [doc = "`collection_id`. An `expiration` can be provided. `current_amount` must match the"] # [doc = "current approved amount."] # [doc = ""] # [doc = "# Errors"] # [doc = "- [`Error::CannotApproveSelf`] if `origin == operator`"] # [doc = "- [`Error::CollectionAlreadyApproved`] if `collection_id` is already approved"] # [doc = "- [`Error::AlreadyExpired`] if `expiration` is earlier than now"] # [doc = "- [`Error::TokenAccountNotFound`] if the token account does not exist"] # [doc = "- [`Error::MaxApprovalsExceeded`] if approval count has exceeded the maximum"] # [doc = "- [`Error::WrongCurrentApprovedAmount`] if `current_amount` does not match the current"] # [doc = " approval amount"] approve_token { # [codec (compact)] collection_id : :: core :: primitive :: u128 , # [codec (compact)] token_id : :: core :: primitive :: u128 , operator : :: subxt :: utils :: AccountId32 , # [codec (compact)] amount : :: core :: primitive :: u128 , expiration : :: core :: option :: Option < :: core :: primitive :: u32 > , # [codec (compact)] current_amount : :: core :: primitive :: u128 , } , # [codec (index = 18)] # [doc = "Unapprove `operator` to transfer `origin`'s `token_id` of `collection_id`"] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "- [`Error::TokenAccountNotFound`] if the token account does not exist"] unapprove_token { # [codec (compact)] collection_id : :: core :: primitive :: u128 , # [codec (compact)] token_id : :: core :: primitive :: u128 , operator : :: subxt :: utils :: AccountId32 , } , # [codec (index = 32)] # [doc = "Transfers ownership of collections to `destination` if the signature matches."] # [doc = ""] # [doc = "The dispatch origin for this call must be _None_."] # [doc = ""] # [doc = "Unsigned Validation:"] # [doc = "A call to claim is deemed valid if the signature provided matches"] # [doc = "the expected signed message of:"] # [doc = ""] # [doc = "> Ethereum Signed Message:"] # [doc = "> (configured prefix string)(address)"] # [doc = ""] # [doc = "and `address` matches the `destination` account."] # [doc = ""] # [doc = "This will always execute with weight of [`Config::MaxClaimableCollectionsPerAccount`]"] # [doc = "and it will reimburse weight for collections under that number."] # [doc = ""] # [doc = "### Parameters:"] # [doc = "- `destination`: The account that will receive ownership of the collections"] # [doc = "- `ethereum_signature`: The signature of an ethereum signed message matching the format"] # [doc = " described above."] # [doc = "- `ethereum_address` : The Ethereum address from which the message is signed."] claim_collections { destination : :: subxt :: utils :: AccountId32 , ethereum_signature : runtime_types :: sp_core :: ecdsa :: Signature , ethereum_address : :: subxt :: utils :: H160 , } , # [codec (index = 33)] # [doc = "Transfers balances of tokens to `destination` if the signature matches. Mints tokens if"] # [doc = "needed."] # [doc = ""] # [doc = "The dispatch origin for this call must be _None_."] # [doc = ""] # [doc = "Unsigned Validation:"] # [doc = "A call to claim is deemed valid if the signature provided matches"] # [doc = "the expected signed message of:"] # [doc = ""] # [doc = "> Ethereum Signed Message:"] # [doc = "> (configured prefix string)(address)"] # [doc = ""] # [doc = "and `address` matches the `destination` account."] # [doc = ""] # [doc = "This will always execute with weight of [`Config::MaxClaimableTokensPerCall`]"] # [doc = "and it will reimburse weight for tokens under that number."] # [doc = ""] # [doc = "### Parameters:"] # [doc = "- `destination`: The account that will receive token balances"] # [doc = "- `ethereum_signature`: The signature of an ethereum signed message matching the format"] # [doc = " described above."] # [doc = "- `ethereum_address` : The Ethereum address from which the message is signed."] claim_tokens { destination : :: subxt :: utils :: AccountId32 , ethereum_signature : runtime_types :: sp_core :: ecdsa :: Signature , ethereum_address : :: subxt :: utils :: H160 , } , # [codec (index = 19)] # [doc = "Exactly as [`mutate_collection`](Self::mutate_collection), except the origin must be"] # [doc = "root and the `caller` account should be specified."] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "Same as [`mutate_collection`](Self::mutate_collection)"] force_mutate_collection { # [codec (compact)] collection_id : :: core :: primitive :: u128 , mutation : :: std :: boxed :: Box < runtime_types :: ep_multi_tokens :: collection :: DefaultCollectionMutation < :: subxt :: utils :: AccountId32 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: token :: AssetId < :: core :: primitive :: u128 , :: core :: primitive :: u128 > > > > , } , # [codec (index = 20)] # [doc = "Exactly as [`transfer`](Self::transfer), except the origin must be root and the source"] # [doc = "account should be specified."] # [doc = ""] # [doc = "# Errors"] # [doc = ""] # [doc = "Same as [`transfer`](Self::transfer)"] force_transfer { source : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , destination : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , # [codec (compact)] collection_id : :: core :: primitive :: u128 , params : runtime_types :: ep_multi_tokens :: policy :: transfer :: DefaultTransferParams < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , :: core :: primitive :: u128 > , } , # [codec (index = 21)] # [doc = "Set the Collections storage to the given `value`, origin must be root"] force_set_collection { # [codec (compact)] collection_id : :: core :: primitive :: u128 , value : :: std :: boxed :: Box < :: core :: option :: Option < runtime_types :: ep_multi_tokens :: collection :: Collection < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: DefaultCollectionPolicy < :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > > , runtime_types :: bounded_collections :: bounded_btree_map :: BoundedBTreeMap < runtime_types :: ep_multi_tokens :: token :: AssetId < :: core :: primitive :: u128 , :: core :: primitive :: u128 > , () > > > > , } , # [codec (index = 22)] # [doc = "Set the Tokens storage to the given `value`, origin must be root"] force_set_token { # [codec (compact)] collection_id : :: core :: primitive :: u128 , # [codec (compact)] token_id : :: core :: primitive :: u128 , value : :: std :: boxed :: Box < :: core :: option :: Option < runtime_types :: ep_multi_tokens :: token :: Token < :: core :: primitive :: u128 , :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: ep_multi_tokens :: frame :: DefaultTokenMetadata < runtime_types :: ep_multi_tokens :: frame :: DefaultForeignTokenMetadata < :: core :: primitive :: u128 , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenNameLength > , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenSymbolLength > , runtime_types :: xcm :: v3 :: multilocation :: MultiLocation > > > > > , } , # [codec (index = 23)] # [doc = "Set the Tokens storage to the given `value`, origin must be root"] force_set_attribute { # [codec (compact)] collection_id : :: core :: primitive :: u128 , token_id : :: core :: option :: Option < :: core :: primitive :: u128 > , key : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , value : :: core :: option :: Option < runtime_types :: ep_multi_tokens :: attribute :: Attribute < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , :: core :: primitive :: u128 > > , } , # [codec (index = 24)] # [doc = "Set the CollectionAccounts storage to the given `value`, origin must be root"] force_set_collection_account { # [codec (compact)] collection_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , value : :: core :: option :: Option < runtime_types :: pallet_multi_tokens :: features :: collection :: types :: CollectionAccount < :: subxt :: utils :: AccountId32 , :: core :: option :: Option < :: core :: primitive :: u32 > , runtime_types :: enjin_runtime :: MaxOperatorsPerAccount > > , } , # [codec (index = 25)] # [doc = "Set the TokenAccounts storage to the given `value`, origin must be root"] force_set_token_account { # [codec (compact)] collection_id : :: core :: primitive :: u128 , # [codec (compact)] token_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , value : :: core :: option :: Option < runtime_types :: pallet_multi_tokens :: features :: token :: types :: TokenAccount < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , runtime_types :: pallet_multi_tokens :: features :: operator :: types :: Approval < :: core :: primitive :: u128 , :: core :: option :: Option < :: core :: primitive :: u32 > > , runtime_types :: enjin_runtime :: MaxOperatorsPerAccount , [:: core :: primitive :: u8 ; 8usize] , [:: core :: primitive :: u8 ; 8usize] , runtime_types :: enjin_runtime :: MaxMultiTokensReserves , runtime_types :: enjin_runtime :: MaxMultiTokensLocks > > , } , # [codec (index = 26)] # [doc = "Creates a new collection from `descriptor` at `collection_id`, origin must be root"] # [doc = ""] # [doc = "# Errors"] # [doc = "- [`Error::DepositReserveFailed`] if the deposit cannot be reserved"] # [doc = "- [`Error::CollectionIdAlreadyInUse`] if the collection id is already in use"] force_create_collection { owner : :: subxt :: utils :: AccountId32 , # [codec (compact)] collection_id : :: core :: primitive :: u128 , descriptor : :: std :: boxed :: Box < runtime_types :: ep_multi_tokens :: collection :: DefaultCollectionDescriptor < :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: token :: AssetId < :: core :: primitive :: u128 , :: core :: primitive :: u128 > > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: batch :: AttributeKeyValuePair < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > > > > > , } , # [codec (index = 27)] # [doc = "Same as [`mint`](Self::mint), but it is callable by"] # [doc = "[`Config::ForceOrigin`]."] force_mint { caller : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , recipient : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , # [codec (compact)] collection_id : :: core :: primitive :: u128 , params : :: std :: boxed :: Box < runtime_types :: ep_multi_tokens :: policy :: mint :: DefaultMintParams < :: core :: primitive :: u128 , :: core :: primitive :: u128 , :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: batch :: AttributeKeyValuePair < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > > > , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenNameLength > , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenSymbolLength > , runtime_types :: xcm :: v3 :: multilocation :: MultiLocation > > , deposit_backer : :: core :: option :: Option < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > > , } , # [codec (index = 28)] # [doc = "Same as [`burn`](Self::burn), but it is only callable by"] # [doc = "[`Config::ForceOrigin`]. Executes the burn by `caller`."] force_burn { caller : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , # [codec (compact)] collection_id : :: core :: primitive :: u128 , params : runtime_types :: ep_multi_tokens :: policy :: burn :: DefaultBurnParams < :: core :: primitive :: u128 , :: core :: primitive :: u128 > , } , # [codec (index = 29)] # [doc = "Same as [`approve_collection`](Self::approve_collection), but it is callable by"] # [doc = "[`Config::ForceOrigin`]."] force_approve_collection { caller : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , () > , # [codec (compact)] collection_id : :: core :: primitive :: u128 , operator : :: subxt :: utils :: AccountId32 , expiration : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 30)] # [doc = "Same as [`freeze`](Self::freeze), but it is callable by [`Config::ForceOrigin`]"] force_freeze { info : runtime_types :: ep_multi_tokens :: types :: Freeze < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , :: core :: primitive :: u128 > , } , # [codec (index = 31)] # [doc = "Sets [`NextCollectionId`] to `value`. Only callable by [`Config::ForceOrigin`]."] force_set_next_collection_id { # [codec (compact)] value : :: core :: primitive :: u128 , } , # [codec (index = 34)] # [doc = "Sets [`ClaimableCollectionIds`] to `value`. Only callable by [`Config::ForceOrigin`]."] force_set_ethereum_account { address : :: subxt :: utils :: H160 , value : :: core :: option :: Option < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u128 > > , } , # [codec (index = 35)] # [doc = "Sets [`NativeCollectionIds`] to `native_collection_id`. Only callable by"] # [doc = "[`Config::ForceOrigin`]."] force_set_ethereum_collection_id { # [codec (compact)] ethereum_collection_id : :: core :: primitive :: u128 , native_collection_id : :: core :: option :: Option < :: core :: primitive :: u128 > , } , # [codec (index = 38)] # [doc = "Sets [`UnmintableTokenIds`] to `value`. Only callable by [`Config::ForceOrigin`]."] force_set_unmintable_token_ids { # [codec (compact)] collection_id : :: core :: primitive :: u128 , value : :: core :: option :: Option < runtime_types :: pallet_multi_tokens :: features :: ethereum :: RangeInclusive < :: core :: primitive :: u128 > > , } , # [codec (index = 39)] # [doc = "Creates a new collection from `descriptor` at `collection_id`, origin must be root"] # [doc = "It differes from `force_create_collection` since it writes to NativeCollectionId and"] # [doc = "UnmintableTokenIds"] # [doc = ""] # [doc = "# Errors"] # [doc = "- [`Error::DepositReserveFailed`] if the deposit cannot be reserved"] # [doc = "- [`Error::CollectionIdAlreadyInUse`] if the collection id is already in use"] force_create_ethereum_collection { owner : :: subxt :: utils :: AccountId32 , # [codec (compact)] native_collection_id : :: core :: primitive :: u128 , # [codec (compact)] ethereum_collection_id : :: core :: primitive :: u128 , token_range : runtime_types :: pallet_multi_tokens :: features :: ethereum :: RangeInclusive < :: core :: primitive :: u128 > , descriptor : :: std :: boxed :: Box < runtime_types :: ep_multi_tokens :: collection :: DefaultCollectionDescriptor < :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: token :: AssetId < :: core :: primitive :: u128 , :: core :: primitive :: u128 > > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: batch :: AttributeKeyValuePair < runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > > > > > , } , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Collection was not found"] + CollectionNotFound, + #[codec(index = 1)] + #[doc = "CollectionAccount was not found"] + CollectionAccountNotFound, + #[codec(index = 2)] + #[doc = "Token was not found"] + TokenNotFound, + #[codec(index = 3)] + #[doc = "TokenAccount was not found"] + TokenAccountNotFound, + #[codec(index = 4)] + #[doc = "Caller is not allowed to execute this extrinsic"] + NoPermission, + #[codec(index = 5)] + #[doc = "Not enough balance to perform the operation."] + BalanceLow, + #[codec(index = 6)] + #[doc = "The operation failed due to an item being frozen"] + Frozen, + #[codec(index = 7)] + #[doc = "The token has a never freeze state. The state cannot be changed and the token cannot be"] + #[doc = "frozen."] + HasNeverFreezeState, + #[codec(index = 8)] + #[doc = "The token is permanently frozen"] + PermanentlyFrozen, + #[codec(index = 9)] + #[doc = "The freeze state is not valid"] + InvalidFreezeState, + #[codec(index = 10)] + #[doc = "An amount of zero was used when it's not allowed"] + AmountZero, + #[codec(index = 11)] + #[doc = "Attribute key invalid"] + InvalidAttributeKey, + #[codec(index = 12)] + #[doc = "Tried to mint more tokens than allowed"] + MaxTokenCountExceeded, + #[codec(index = 13)] + #[doc = "The cap for the token was exceeded during mint"] + TokenMintCapExceeded, + #[codec(index = 14)] + #[doc = "Tried to create Token that already exists"] + TokenAlreadyExists, + #[codec(index = 15)] + #[doc = "The collection or token cannot be destroyed because it has attributes"] + DestroyForbiddenByAttributeCount, + #[codec(index = 16)] + #[doc = "Destroy is not allowed on collections that have tokens. Destroy all tokens before"] + #[doc = "calling [`destroy_collection`](Pallet::destroy_collection). Keep in mind that the"] + #[doc = "[`Tokens`] storage can remain even if all of [`Token`](ep_multi_tokens::Token)'s units"] + #[doc = "were burned. A token can only be destroyed by setting"] + #[doc = "[`remove_token_storage`](OnBurnInput::remove_token_storage) to true in"] + #[doc = "[`burn`](Pallet::burn)."] + DestroyForbiddenByRemainingTokens, + #[codec(index = 17)] + #[doc = "The `OnCollectionEvent` trait has forbidden burning of the collection"] + DestroyForbiddenByCollectionEvent, + #[codec(index = 18)] + #[doc = "Unable to reserve the amount to create a new collection/token"] + DepositReserveFailed, + #[codec(index = 19)] + #[doc = "Unable to unreserve the amount to burn an existing collection/token"] + DepositUnreserveFailed, + #[codec(index = 20)] + #[doc = "The unit price cannot be zero, cannot decrease, and `unit_price * total_supply` must"] + #[doc = "be greater than `TokenAccountDeposit`"] + InvalidUnitPrice, + #[codec(index = 21)] + #[doc = "The balance is below the minimum required balance"] + BalanceBelowMinimumRequirement, + #[codec(index = 22)] + #[doc = "The minting did not meet the requirements set by the mint policy"] + MintFailedRequirements, + #[codec(index = 23)] + #[doc = "The idle operation queue is full and cannot accept new operations"] + IdleOperationQueueFull, + #[codec(index = 24)] + #[doc = "Reserved balance is not enough to perform the operation"] + ReservesLow, + #[codec(index = 25)] + #[doc = "Max named reserves for an account are exceeded"] + TooManyReserves, + #[codec(index = 26)] + #[doc = "Max named locks for an account are exceeded"] + TooManyLocks, + #[codec(index = 27)] + #[doc = "The balance is locked or restricted"] + LiquidityRestrictions, + #[codec(index = 28)] + #[doc = "Royalty percentage is above or below allowed bounds"] + PercentageOutOfBounds, + #[codec(index = 29)] + #[doc = "Token cannot act as both a currency and a royalty"] + CurrencyIncompatibleWithCollectionRoyalty, + #[codec(index = 30)] + #[doc = "The max number of approvals for this account was exceeded"] + MaxApprovalsExceeded, + #[codec(index = 31)] + #[doc = "Tried to set an expiration that has already passed"] + AlreadyExpired, + #[codec(index = 32)] + #[doc = "The collection is already approved for all, so it is useless to approve for a single"] + #[doc = "token"] + CollectionAlreadyApproved, + #[codec(index = 33)] + #[doc = "Not enough allowance to perform the operation"] + InsufficientAllowance, + #[codec(index = 34)] + #[doc = "The passed `current_amount` does not match the actual current amount of the approval"] + WrongCurrentApprovedAmount, + #[codec(index = 35)] + #[doc = "An account cannot approve itself as an operator"] + CannotApproveSelf, + #[codec(index = 36)] + #[doc = "An account cannot transfer tokens to itself"] + CannotTransferToSelf, + #[codec(index = 37)] + #[doc = "Transfer params could not be created"] + TransferParamCreationFailed, + #[codec(index = 38)] + #[doc = "This operation is not allowed for the native token"] + OperationNotAllowedForNativeToken, + #[codec(index = 39)] + #[doc = "One or more of the explicit royalty currencies are invalid"] + InvalidExplicitRoyaltyCurrencies, + #[codec(index = 40)] + #[doc = "Provided attribute count doesnt match the count is storage"] + InvalidAttributeCount, + #[codec(index = 41)] + #[doc = "Conflicting MultiLocation for an AssetId"] + ConflictingLocation, + #[codec(index = 42)] + #[doc = "Collection ID is already in use"] + CollectionIdAlreadyInUse, + #[codec(index = 43)] + #[doc = "Freeze state is required when freezing a token"] + FreezeStateRequired, + #[codec(index = 44)] + #[doc = "The preminted amount would be exceeded by the mint operation"] + PremintExceeded, + #[codec(index = 45)] + #[doc = "Token metadata could not be created from mint params"] + TokenMetadataCreationFailed, + #[codec(index = 46)] + #[doc = "There is nothing to claim"] + NoClaimAvailable, + #[codec(index = 47)] + #[doc = "The ethereum signature is invalid"] + InvalidEthereumSignature, + #[codec(index = 48)] + #[doc = "The ethereum address does not match the signature"] + InvalidEthereumAddress, + #[codec(index = 49)] + #[doc = "The ethereum collection id could not be converted to a native collection id"] + EthereumCollectionIdConversionFailed, + #[codec(index = 50)] + #[doc = "The token id cannot be minted because it's reserved for claiming"] + TokenIdReservedForClaim, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + # [codec (index = 0)] # [doc = "A new collection was created"] CollectionCreated { collection_id : :: core :: primitive :: u128 , owner : :: subxt :: utils :: AccountId32 , } , # [codec (index = 1)] # [doc = "A collection was destroyed."] CollectionDestroyed { collection_id : :: core :: primitive :: u128 , caller : :: subxt :: utils :: AccountId32 , } , # [codec (index = 2)] # [doc = "A collection was mutated"] CollectionMutated { collection_id : :: core :: primitive :: u128 , mutation : runtime_types :: ep_multi_tokens :: collection :: DefaultCollectionMutation < :: subxt :: utils :: AccountId32 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: ep_multi_tokens :: token :: AssetId < :: core :: primitive :: u128 , :: core :: primitive :: u128 > > > , } , # [codec (index = 3)] # [doc = "Units of a token were minted"] Minted { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , issuer : runtime_types :: ep_multi_tokens :: types :: RootOrSigned < :: subxt :: utils :: AccountId32 > , recipient : :: subxt :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , } , # [codec (index = 4)] # [doc = "A token was created"] TokenCreated { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , issuer : runtime_types :: ep_multi_tokens :: types :: RootOrSigned < :: subxt :: utils :: AccountId32 > , initial_supply : :: core :: primitive :: u128 , } , # [codec (index = 5)] # [doc = "A token was mutated"] TokenMutated { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , mutation : runtime_types :: ep_multi_tokens :: token :: DefaultTokenMutation < runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: ep_multi_tokens :: frame :: DefaultTokenMetadata < runtime_types :: ep_multi_tokens :: frame :: DefaultForeignTokenMetadata < :: core :: primitive :: u128 , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenNameLength > , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenSymbolLength > , runtime_types :: xcm :: v3 :: multilocation :: MultiLocation > > > , } , # [codec (index = 6)] # [doc = "Units of a token were burned"] Burned { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , } , # [codec (index = 7)] # [doc = "A token was destroyed"] TokenDestroyed { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , caller : :: subxt :: utils :: AccountId32 , } , # [codec (index = 8)] # [doc = "Units of a token were transferred"] Transferred { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , operator : :: subxt :: utils :: AccountId32 , from : :: subxt :: utils :: AccountId32 , to : :: subxt :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , } , # [codec (index = 9)] # [doc = "Collection, token or account was frozen"] Frozen (runtime_types :: ep_multi_tokens :: types :: Freeze < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , :: core :: primitive :: u128 > ,) , # [codec (index = 10)] # [doc = "Collection, token or account was unfrozen"] Thawed (runtime_types :: ep_multi_tokens :: types :: Freeze < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , :: core :: primitive :: u128 > ,) , # [codec (index = 11)] # [doc = "New attribute has been set"] AttributeSet { collection_id : :: core :: primitive :: u128 , token_id : :: core :: option :: Option < :: core :: primitive :: u128 > , key : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , value : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 12)] # [doc = "An attribute has been removed"] AttributeRemoved { collection_id : :: core :: primitive :: u128 , token_id : :: core :: option :: Option < :: core :: primitive :: u128 > , key : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 13)] # [doc = "An approval took place. If `token_id` is `None`, it applies to the whole collection."] Approved { collection_id : :: core :: primitive :: u128 , token_id : :: core :: option :: Option < :: core :: primitive :: u128 > , owner : :: subxt :: utils :: AccountId32 , operator : :: subxt :: utils :: AccountId32 , amount : :: core :: option :: Option < :: core :: primitive :: u128 > , expiration : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 14)] # [doc = "An unapproval took place. If `token_id` is `None`, it applies to the collection."] Unapproved { collection_id : :: core :: primitive :: u128 , token_id : :: core :: option :: Option < :: core :: primitive :: u128 > , owner : :: subxt :: utils :: AccountId32 , operator : :: subxt :: utils :: AccountId32 , } , # [codec (index = 15)] # [doc = "A new collection account was created"] CollectionAccountCreated { collection_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: AccountId32 , } , # [codec (index = 16)] # [doc = "A new token account was created"] TokenAccountCreated { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: AccountId32 , balance : :: core :: primitive :: u128 , } , # [codec (index = 17)] # [doc = "A collection account was destroyed"] CollectionAccountDestroyed { collection_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: AccountId32 , } , # [codec (index = 18)] # [doc = "A token account was destroyed"] TokenAccountDestroyed { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: AccountId32 , } , # [codec (index = 19)] # [doc = "Token units were reserved"] Reserved { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , reserve_id : :: core :: option :: Option < [:: core :: primitive :: u8 ; 8usize] > , } , # [codec (index = 20)] # [doc = "Token units were unreserved"] Unreserved { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , reserve_id : :: core :: option :: Option < [:: core :: primitive :: u8 ; 8usize] > , } , # [codec (index = 21)] # [doc = "Reserved token units were moved"] MovedReserves { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , source : :: subxt :: utils :: AccountId32 , destination : :: subxt :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , reserve_id : :: core :: option :: Option < [:: core :: primitive :: u8 ; 8usize] > , } , # [codec (index = 22)] # [doc = "Reserved token units were transferred"] ReserveRepatriated { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , source : :: subxt :: utils :: AccountId32 , destination : :: subxt :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , reserve_id : :: core :: option :: Option < [:: core :: primitive :: u8 ; 8usize] > , } , # [codec (index = 23)] # [doc = "The balance of an account was set"] BalanceSet { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: AccountId32 , balance : :: core :: primitive :: u128 , reserved_balance : :: core :: primitive :: u128 , } , # [codec (index = 24)] # [doc = "Token units were withdrawn"] Withdraw { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , } , # [codec (index = 25)] # [doc = "Token units were deposited"] Deposit { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , } , # [codec (index = 26)] # [doc = "An amount of tokens were slashed from account"] Slashed { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: AccountId32 , amount : :: core :: primitive :: u128 , } , # [codec (index = 27)] # [doc = "Collection storage was set to `value`"] CollectionUpdated { collection_id : :: core :: primitive :: u128 , value : :: core :: option :: Option < runtime_types :: ep_multi_tokens :: collection :: Collection < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: DefaultCollectionPolicy < :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > > , runtime_types :: bounded_collections :: bounded_btree_map :: BoundedBTreeMap < runtime_types :: ep_multi_tokens :: token :: AssetId < :: core :: primitive :: u128 , :: core :: primitive :: u128 > , () > > > , } , # [codec (index = 28)] # [doc = "Token storage was set to `value`"] TokenUpdated { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , value : :: core :: option :: Option < runtime_types :: ep_multi_tokens :: token :: Token < :: core :: primitive :: u128 , :: core :: primitive :: u128 , runtime_types :: ep_multi_tokens :: policy :: market :: DefaultRoyalty < :: subxt :: utils :: AccountId32 > , runtime_types :: ep_multi_tokens :: frame :: DefaultTokenMetadata < runtime_types :: ep_multi_tokens :: frame :: DefaultForeignTokenMetadata < :: core :: primitive :: u128 , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenNameLength > , runtime_types :: ep_core :: frame :: types :: BoundedString < runtime_types :: enjin_runtime :: ForeignTokenSymbolLength > , runtime_types :: xcm :: v3 :: multilocation :: MultiLocation > > > > , } , # [codec (index = 29)] # [doc = "NextCollectionId storage was set to `collection_id`"] NextCollectionIdUpdated { collection_id : :: core :: primitive :: u128 , } , # [codec (index = 30)] # [doc = "TokenAccount storage was set to `value`"] CollectionAccountUpdated { collection_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: AccountId32 , value : :: core :: option :: Option < runtime_types :: pallet_multi_tokens :: features :: collection :: types :: CollectionAccount < :: subxt :: utils :: AccountId32 , :: core :: option :: Option < :: core :: primitive :: u32 > , runtime_types :: enjin_runtime :: MaxOperatorsPerAccount > > , } , # [codec (index = 31)] # [doc = "TokenAccount storage was set to `value`"] TokenAccountUpdated { collection_id : :: core :: primitive :: u128 , token_id : :: core :: primitive :: u128 , account_id : :: subxt :: utils :: AccountId32 , value : :: core :: option :: Option < runtime_types :: pallet_multi_tokens :: features :: token :: types :: TokenAccount < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 , runtime_types :: pallet_multi_tokens :: features :: operator :: types :: Approval < :: core :: primitive :: u128 , :: core :: option :: Option < :: core :: primitive :: u32 > > , runtime_types :: enjin_runtime :: MaxOperatorsPerAccount , [:: core :: primitive :: u8 ; 8usize] , [:: core :: primitive :: u8 ; 8usize] , runtime_types :: enjin_runtime :: MaxMultiTokensReserves , runtime_types :: enjin_runtime :: MaxMultiTokensLocks > > , } , # [codec (index = 32)] # [doc = "Migration stage updated"] MigrationStatusUpdated { stage : runtime_types :: ep_core :: frame :: migrations :: MigrationStage , } , # [codec (index = 33)] # [doc = "Collections were claimed"] ClaimedCollections { account_id : :: subxt :: utils :: AccountId32 , ethereum_address : :: subxt :: utils :: H160 , collection_ids : :: std :: vec :: Vec < runtime_types :: pallet_multi_tokens :: features :: claim :: CollectionIdPair < :: core :: primitive :: u128 > > , } , # [codec (index = 34)] # [doc = "Tokens were claimed"] ClaimedTokens { account_id : :: subxt :: utils :: AccountId32 , ethereum_address : :: subxt :: utils :: H160 , asset_ids : :: std :: vec :: Vec < runtime_types :: pallet_multi_tokens :: features :: claim :: AssetIdWithEth < :: core :: primitive :: u128 , :: core :: primitive :: u128 > > , more_tokens_remain : :: core :: primitive :: bool , } , # [codec (index = 35)] # [doc = "Claims tokens initiated"] ClaimTokensInitiated { account_id : :: subxt :: utils :: AccountId32 , ethereum_address : :: subxt :: utils :: H160 , } , } + } + } + pub mod pallet_multisig { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `other_signatories`: The accounts (other than the sender) who are part of the"] + #[doc = "multi-signature, but do not participate in the approval process."] + #[doc = "- `call`: The call to be executed."] + #[doc = ""] + #[doc = "Result is equivalent to the dispatched result."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."] + as_multi_threshold_1 { + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + call: ::std::boxed::Box, + }, + #[codec(index = 1)] + #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] + #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] + #[doc = ""] + #[doc = "If there are enough, then dispatch the call."] + #[doc = ""] + #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] + #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] + #[doc = "is cancelled."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] + #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] + #[doc = "transaction index) of the first approval transaction."] + #[doc = "- `call`: The call to be executed."] + #[doc = ""] + #[doc = "NOTE: Unless this is the final approval, you will generally want to use"] + #[doc = "`approve_as_multi` instead, since it only requires a hash of the call."] + #[doc = ""] + #[doc = "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise"] + #[doc = "on success, result is `Ok` and the result from the interior call, if it was executed,"] + #[doc = "may be found in the deposited `MultisigExecuted` event."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(S + Z + Call)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] + #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] + #[doc = "- One event."] + #[doc = "- The weight of the `call`."] + #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] + #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] + as_multi { + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + call: ::std::boxed::Box, + max_weight: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 2)] + #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] + #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] + #[doc = ""] + #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] + #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] + #[doc = "is cancelled."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] + #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] + #[doc = "transaction index) of the first approval transaction."] + #[doc = "- `call_hash`: The hash of the call to be executed."] + #[doc = ""] + #[doc = "NOTE: If this is the final approval, you will want to use `as_multi` instead."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(S)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] + #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] + #[doc = "- One event."] + #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] + #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] + approve_as_multi { + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + maybe_timepoint: ::core::option::Option< + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + >, + call_hash: [::core::primitive::u8; 32usize], + max_weight: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 3)] + #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] + #[doc = "for this operation will be unreserved on success."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] + #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] + #[doc = "dispatch. May not be empty."] + #[doc = "- `timepoint`: The timepoint (block number and transaction index) of the first approval"] + #[doc = "transaction for this dispatch."] + #[doc = "- `call_hash`: The hash of the call to be executed."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(S)`."] + #[doc = "- Up to one balance-reserve or unreserve operation."] + #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] + #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] + #[doc = "- One encode & hash, both of complexity `O(S)`."] + #[doc = "- One event."] + #[doc = "- I/O: 1 read `O(S)`, one remove."] + #[doc = "- Storage: removes one item."] + cancel_as_multi { + threshold: ::core::primitive::u16, + other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, + timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + call_hash: [::core::primitive::u8; 32usize], + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Threshold must be 2 or greater."] + MinimumThreshold, + #[codec(index = 1)] + #[doc = "Call is already approved by this signatory."] + AlreadyApproved, + #[codec(index = 2)] + #[doc = "Call doesn't need any (more) approvals."] + NoApprovalsNeeded, + #[codec(index = 3)] + #[doc = "There are too few signatories in the list."] + TooFewSignatories, + #[codec(index = 4)] + #[doc = "There are too many signatories in the list."] + TooManySignatories, + #[codec(index = 5)] + #[doc = "The signatories were provided out of order; they should be ordered."] + SignatoriesOutOfOrder, + #[codec(index = 6)] + #[doc = "The sender was contained in the other signatories; it shouldn't be."] + SenderInSignatories, + #[codec(index = 7)] + #[doc = "Multisig operation not found when attempting to cancel."] + NotFound, + #[codec(index = 8)] + #[doc = "Only the account that originally created the multisig is able to cancel it."] + NotOwner, + #[codec(index = 9)] + #[doc = "No timepoint was given, yet the multisig operation is already underway."] + NoTimepoint, + #[codec(index = 10)] + #[doc = "A different timepoint was given to the multisig operation that is underway."] + WrongTimepoint, + #[codec(index = 11)] + #[doc = "A timepoint was given, yet no multisig operation is underway."] + UnexpectedTimepoint, + #[codec(index = 12)] + #[doc = "The maximum weight information provided was too low."] + MaxWeightTooLow, + #[codec(index = 13)] + #[doc = "The data to be stored is already stored."] + AlreadyStored, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A new multisig operation has begun."] + NewMultisig { + approving: ::subxt::utils::AccountId32, + multisig: ::subxt::utils::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + }, + #[codec(index = 1)] + #[doc = "A multisig operation has been approved by someone."] + MultisigApproval { + approving: ::subxt::utils::AccountId32, + timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + multisig: ::subxt::utils::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + }, + #[codec(index = 2)] + #[doc = "A multisig operation has been executed."] + MultisigExecuted { + approving: ::subxt::utils::AccountId32, + timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + multisig: ::subxt::utils::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + }, + #[codec(index = 3)] + #[doc = "A multisig operation has been cancelled."] + MultisigCancelled { + cancelling: ::subxt::utils::AccountId32, + timepoint: + runtime_types::pallet_multisig::Timepoint<::core::primitive::u32>, + multisig: ::subxt::utils::AccountId32, + call_hash: [::core::primitive::u8; 32usize], + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Multisig<_0, _1, _2> { + pub when: runtime_types::pallet_multisig::Timepoint<_0>, + pub deposit: _1, + pub depositor: _2, + pub approvals: runtime_types::bounded_collections::bounded_vec::BoundedVec<_2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Timepoint<_0> { + pub height: _0, + pub index: ::core::primitive::u32, + } + } + pub mod pallet_nomination_pools { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Stake funds with a pool. The amount to bond is transferred from the member to the"] + #[doc = "pools account and immediately increases the pools bond. The sENJ token will be minted"] + #[doc = "and transferred to `origin`."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = "- `origin`: the caller"] + #[doc = "- `pool_id`: the pool id to bond"] + #[doc = "- `amount`: the amount of tokens deposited into the pool"] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "* An account can only be a member of a single pool."] + #[doc = "* An account cannot join the same pool multiple times."] + #[doc = "* This call will *not* dust the member account, so the member must have at least"] + #[doc = " `existential deposit + amount` in their account."] + #[doc = "* Only a pool with [`PoolState::Open`] can be joined"] + bond { + pool_id: ::core::primitive::u32, + amount: runtime_types::pallet_nomination_pools::types::BondValue< + ::core::primitive::u128, + >, + }, + #[codec(index = 3)] + #[doc = "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool by burning"] + #[doc = "sENJ."] + #[doc = ""] + #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"] + #[doc = "account)."] + #[doc = ""] + #[doc = "# Conditions for a permissionless dispatch."] + #[doc = ""] + #[doc = "* The pool is blocked and the caller is holding the pool's token. This is refereed to as"] + #[doc = " a kick."] + #[doc = "* The pool is destroying."] + #[doc = "* The pool is destroying and no other members are in the pool."] + #[doc = ""] + #[doc = "## Conditions for permissioned dispatch (i.e. the caller is also the"] + #[doc = "`member_account`):"] + #[doc = ""] + #[doc = "* The caller is not the last member."] + #[doc = "* The caller is the last member and the pool is destroying."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "If there are too many unlocking chunks to unbond with the pool account,"] + #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks."] + #[doc = "The [`StakingInterface::unbond`] will implicitly call [`Call::pool_withdraw_unbonded`]"] + #[doc = "to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks"] + #[doc = "are available). However, it may not be possible to release the current unlocking chunks,"] + #[doc = "in which case, the result of this call will likely be the `NoMoreChunks` error from the"] + #[doc = "staking system."] + unbond { + pool_id: ::core::primitive::u32, + member_account: + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + #[codec(compact)] + unbonding_points: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Call `withdraw_unbonded` for the pools account. This call can be made by any account."] + #[doc = ""] + #[doc = "This is useful if their are too many unlocking chunks to call `unbond`, and some"] + #[doc = "can be cleared by withdrawing. In the case there are too many unlocking chunks, the user"] + #[doc = "would probably see an error like `NoMoreChunks` emitted from the staking system when"] + #[doc = "they attempt to unbond."] + pool_withdraw_unbonded { + pool_id: ::core::primitive::u32, + num_slashing_spans: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "Withdraw unbonded funds from `member_account`. If no bonded funds can be unbonded, an"] + #[doc = "error is returned."] + #[doc = ""] + #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"] + #[doc = "account)."] + #[doc = ""] + #[doc = "# Conditions for a permissionless dispatch"] + #[doc = ""] + #[doc = "* The pool is in destroy mode."] + #[doc = "* The target is the only member in the sub pools."] + #[doc = "* The pool is blocked and the caller is either the admin or state-toggler."] + #[doc = ""] + #[doc = "# Conditions for permissioned dispatch"] + #[doc = ""] + #[doc = "* The caller is the target and they are not the last member."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "If the target is the last member, the pool will be destroyed."] + withdraw_unbonded { + pool_id: ::core::primitive::u32, + member_account: + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + num_slashing_spans: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "Create a new nomination pool."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `token_id` - Token that that will control the pool. This token must be from the"] + #[doc = " [`Config::PoolCollectionId`] collection and it must be held by the caller."] + #[doc = "* `deposit` - The amount of funds to delegate to the pool. This also acts as a deposit"] + #[doc = " because the pool's creator cannot fully unbond funds until the pool is destroyed."] + #[doc = "* `capacity` - The maximum total balance allowed in the pool. This is measured in sENJ."] + #[doc = " It must be below the pool's capacity. See `Capacity` section in crate level docs."] + #[doc = "* `duration` - The duration in blocks of the pool's bonus cycle"] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "In addition to `deposit`, the caller will transfer the existential deposit for the"] + #[doc = "pool's accounts; so the caller needs at have at least `deposit + existential_deposit *"] + #[doc = "2` transferable."] + create { + token_id: ::core::primitive::u128, + #[codec(compact)] + deposit: ::core::primitive::u128, + #[codec(compact)] + capacity: ::core::primitive::u128, + #[codec(compact)] + duration: ::core::primitive::u32, + }, + #[codec(index = 8)] + #[doc = "Nominate on behalf of the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the holder of the pool token."] + #[doc = ""] + #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"] + #[doc = "account."] + nominate { + pool_id: ::core::primitive::u32, + validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + }, + #[codec(index = 11)] + #[doc = "Update configurations for the nomination pools. Callable only by"] + #[doc = "[`Config::ForceOrigin`]."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `min_join_bond` - Set [`MinJoinBond`]."] + #[doc = "* `min_create_bond` - Set [`MinCreateBond`]."] + #[doc = "* `global_max_commission` - Set [`GlobalMaxCommission`]."] + set_configs { + min_join_bond: runtime_types::pallet_nomination_pools::types::ConfigOp< + ::core::primitive::u128, + >, + min_create_bond: runtime_types::pallet_nomination_pools::types::ConfigOp< + ::core::primitive::u128, + >, + global_max_commission: + runtime_types::pallet_nomination_pools::types::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + required_payout_count: + runtime_types::pallet_nomination_pools::types::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + }, + #[codec(index = 13)] + #[doc = "Chill on behalf of the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the pool token holder, same as"] + #[doc = "[`Pallet::nominate`]."] + #[doc = ""] + #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"] + #[doc = "account."] + chill { pool_id: ::core::primitive::u32 }, + #[codec(index = 14)] + #[doc = "Destroy the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the account holding the pool token"] + #[doc = "of the given pool_id."] + destroy { pool_id: ::core::primitive::u32 }, + #[codec(index = 18)] + #[doc = "Pays rewards to `validator_stash` and also distributes rewards to the reward accounts of"] + #[doc = "the pools nominating it. The appropriate bonus is also calculated and stored in the"] + #[doc = "bonus account."] + #[doc = ""] + #[doc = "This should be called once per era per validator. It is a permissionless call. It also"] + #[doc = "processes rewards for the previous era if [`Self::process_payouts`] was not called."] + #[doc = ""] + #[doc = "## Bonus Calculation"] + #[doc = ""] + #[doc = "1. Minimum duration and max duration are found for all pools nominating"] + #[doc = " `validator_stash`"] + #[doc = "2. [`Config::BonusPercentage`] is set aside from rewards for bonus"] + #[doc = "3. Normalized weight is calculated and then scaled according to the total bonus. See"] + #[doc = " `functions::calculate_real_weight`."] + #[doc = "4. The scaled weight is offset according to [`Config::BaseBonusRewardPercentage`] so"] + #[doc = " that all pools at least get the minimum weight"] + #[doc = "5. Final calculation is done in [`traits::Bonus::calculate_bonus`] and then transferred"] + #[doc = " to the bonus account"] + payout_rewards { + validator_stash: ::subxt::utils::AccountId32, + era: ::core::primitive::u32, + }, + #[codec(index = 25)] + #[doc = "Processes the rewards for all pools that were distributed in [`Self::payout_rewards`]."] + #[doc = "It will only succeed if it is called on the same era that payouts were made. It uses the"] + #[doc = "[`EraPayoutInfo`] storage to verify this. This extrinsic is permissionless."] + #[doc = ""] + #[doc = "The following is done for each pool:"] + #[doc = "1. If the pool has reached the end of its cycle, it cycles the pool."] + #[doc = "2. Sends bonus for the current era from the bonus account to the rewards account."] + #[doc = "3. Sends reward commission to the depositor."] + #[doc = "4. It bonds the pool's reward balance."] + #[doc = ""] + #[doc = "It is not required to call this extrinsic. If it is not called, the rewards will be"] + #[doc = "processed when `payout_rewards` is called in the next era."] + process_payouts { pool_count: ::core::primitive::u32 }, + #[codec(index = 19)] + #[doc = "Mutate the nomination pool data."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the account holding the pool token"] + #[doc = "of the given pool_id."] + mutate { + pool_id: ::core::primitive::u32, + mutation: runtime_types::pallet_nomination_pools::types::PoolMutation< + ::core::primitive::u32, + ::core::primitive::u128, + >, + }, + #[codec(index = 20)] + #[doc = "Unbonds the deposit"] + #[doc = ""] + #[doc = "This call is permissionless but certain conditions must be met before the deposit can"] + #[doc = "be unbonded:"] + #[doc = ""] + #[doc = "- Pool must be in [`PoolState::Destroying`] mode"] + #[doc = "- Deposit points must be the only points in the pool"] + #[doc = "- [`UnbondingMembers`] must be empty"] + #[doc = ""] + #[doc = "This will unbond the deposit from the pool."] + unbond_deposit { pool_id: ::core::primitive::u32 }, + #[codec(index = 21)] + #[doc = "Withdraws the deposit"] + #[doc = ""] + #[doc = "This call is permissionless and should be called after the deposit has been unbonded."] + withdraw_deposit { pool_id: ::core::primitive::u32 }, + #[codec(index = 26)] + #[doc = "Transfers `amount` from the pool's free balance to `destination`. Only callable by"] + #[doc = "[`Config::ForceOrigin`]."] + withdraw_free_balance { + pool_id: ::core::primitive::u32, + destination: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + amount: ::core::primitive::u128, + }, + #[codec(index = 22)] + #[doc = "Set the annual inflation rate and collator payout cut"] + #[doc = ""] + #[doc = "Callable only by [`Config::ForceOrigin`]"] + set_staking_info { + info: runtime_types::pallet_nomination_pools::types::StakingInfo, + }, + #[codec(index = 23)] + #[doc = "Calculate and prepare early bird bonus if it is ready to be queued."] + #[doc = ""] + #[doc = "Callable by any signed origin after [`Config::EarlyBirdBonusDistributionBlock`]."] + #[doc = ""] + #[doc = "## Details"] + #[doc = ""] + #[doc = "1. Calculates the normalized weights for each pool by calling"] + #[doc = " [`Pallet::early_bird_normalized_weight`]. Factors for the weight are each pool's"] + #[doc = " total points and the creation date."] + #[doc = "2. Each pool's weight is multiplied by the total reward to determine each pool's reward."] + #[doc = "3. The rewards are stored in [`EarlyBirdBonusInfo`] and can be distributed by calling"] + #[doc = " [`Self::distribute_early_bird_bonus`]."] + queue_early_bird_bonus { pool_count: ::core::primitive::u32 }, + #[codec(index = 24)] + #[doc = "Distribute early bird bonus to pools. The `transfer_count` parameter is the max number"] + #[doc = "of transfers to be made in this call. If there are less items in the queue, it will end"] + #[doc = "early."] + #[doc = ""] + #[doc = "Callable by any signed origin after the bonus has been queued."] + distribute_early_bird_bonus { + transfer_count: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DefensiveError { + #[codec(index = 0)] + NotEnoughSpaceInUnbondPool, + #[codec(index = 1)] + PoolNotFound, + #[codec(index = 2)] + RewardPoolNotFound, + #[codec(index = 3)] + SubPoolsNotFound, + #[codec(index = 4)] + BondedStashKilledPrematurely, + #[codec(index = 5)] + DivisionError, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "A (bonded) pool id does not exist."] + PoolNotFound, + #[codec(index = 1)] + #[doc = "Pool already exists for the given token_id"] + PoolTokenAlreadyInUse, + #[codec(index = 2)] + #[doc = "An account is not a member."] + PoolMemberNotFound, + #[codec(index = 3)] + #[doc = "A reward pool does not exist. In all cases this is a system logic error."] + RewardPoolNotFound, + #[codec(index = 4)] + #[doc = "A sub pool does not exist."] + SubPoolsNotFound, + #[codec(index = 5)] + #[doc = "An account is already delegating in another pool. An account may only belong to one"] + #[doc = "pool at a time."] + AccountBelongsToOtherPool, + #[codec(index = 6)] + #[doc = "The member is fully unbonded (and thus cannot access the bonded and reward pool"] + #[doc = "anymore to, for example, collect rewards)."] + FullyUnbonding, + #[codec(index = 7)] + #[doc = "The member cannot unbond further chunks due to reaching the limit."] + MaxUnbondingLimit, + #[codec(index = 8)] + #[doc = "None of the funds can be withdrawn yet because the bonding duration has not passed."] + CannotWithdrawAny, + #[codec(index = 9)] + #[doc = "The amount does not meet the minimum bond to either join or create a pool."] + #[doc = ""] + #[doc = "If the chain is not being destroyed no member can unbond to a value less than"] + #[doc = "`Pallet::depositor_min_bond`. The caller does not have nominating"] + #[doc = "permissions for the pool. Members can never unbond to a value below `MinJoinBond`."] + MinimumBondNotMet, + #[codec(index = 10)] + #[doc = "The transaction could not be executed due to overflow risk for the pool."] + OverflowRisk, + #[codec(index = 11)] + #[doc = "A pool must be in [`PoolState::Destroying`] in order for"] + #[doc = "other members to be permissionlessly unbonded."] + NotDestroying, + #[codec(index = 12)] + #[doc = "The caller does not have nominating permissions for the pool."] + NotNominator, + #[codec(index = 13)] + #[doc = "Either a) the caller cannot make a valid kick or b) the pool is not destroying."] + NotKickerOrDestroying, + #[codec(index = 14)] + #[doc = "The pool is not open to join"] + NotOpen, + #[codec(index = 15)] + #[doc = "The pools state cannot be changed."] + CanNotChangeState, + #[codec(index = 16)] + #[doc = "The caller does not have adequate permissions."] + DoesNotHavePermission, + #[codec(index = 17)] + #[doc = "Some error occurred that should never happen. This should be reported to the"] + #[doc = "maintainers."] + Defensive(runtime_types::pallet_nomination_pools::pallet::DefensiveError), + #[codec(index = 18)] + #[doc = "Partial unbonding now allowed permissionlessly."] + PartialUnbondNotAllowedPermissionlessly, + #[codec(index = 19)] + #[doc = "Pool id currently in use."] + PoolIdInUse, + #[codec(index = 20)] + #[doc = "Pool id provided is not correct/usable."] + InvalidPoolId, + #[codec(index = 21)] + #[doc = "Mint parameters are invalid."] + MintParamsCreationFailed, + #[codec(index = 22)] + #[doc = "Burn parameters are invalid."] + BurnParamsCreationFailed, + #[codec(index = 23)] + #[doc = "Transfer parameters are invalid."] + TransferParamsCreationFailed, + #[codec(index = 24)] + #[doc = "The capacity of the pool is exceeded by the amount"] + CapacityExceeded, + #[codec(index = 25)] + #[doc = "The capacity can only be mutated for the first 14 eras of a cycle"] + CapacityMutationRestricted, + #[codec(index = 26)] + #[doc = "The duration is out of bounds"] + DurationOutOfBounds, + #[codec(index = 27)] + #[doc = "The required token is not owned by the caller"] + TokenRequired, + #[codec(index = 28)] + #[doc = "Deposit should be the last supply of pool's sENJ token to be unbonded"] + DepositNotReadyForUnbonding, + #[codec(index = 29)] + #[doc = "The pool's max commission cannot be set higher than the existing value."] + MaxCommissionRestricted, + #[codec(index = 30)] + #[doc = "The supplied commission exceeds the max allowed commission."] + CommissionExceedsMaximum, + #[codec(index = 31)] + #[doc = "Not enough blocks have surpassed since the last commission update."] + CommissionChangeThrottled, + #[codec(index = 32)] + #[doc = "The submitted changes to commission change rate are not allowed."] + CommissionChangeRateNotAllowed, + #[codec(index = 33)] + #[doc = "There is no pending commission to claim."] + NoPendingCommission, + #[codec(index = 34)] + #[doc = "No commission current has been set."] + NoCommissionCurrentSet, + #[codec(index = 35)] + #[doc = "The mutation does not change anything"] + NoopMutation, + #[codec(index = 36)] + #[doc = "The pool is not empty"] + PoolMembersRemaining, + #[codec(index = 37)] + #[doc = "The early bird bonus is not yet ready to claim"] + EarlyBirdBonusNotReady, + #[codec(index = 38)] + #[doc = "Total Weighted Rewards is 0"] + EarlyBirdTotalRewardsIsZero, + #[codec(index = 39)] + #[doc = "There are more [`Config::MaxEarlyBirdBonusQueueItems`] than the storage item,"] + #[doc = "[`EarlyBirdBonusInfo`] can handle."] + TooManyEarlyBirdPoolRewards, + #[codec(index = 40)] + #[doc = "EarlyBirdReward has already been queued."] + EarlyBirdBonusAlreadyQueued, + #[codec(index = 41)] + #[doc = "Not all payouts have been made"] + MissingPayouts, + #[codec(index = 42)] + #[doc = "The pool count does not match the number of pools"] + WrongPoolCount, + #[codec(index = 43)] + #[doc = "Payouts were already processed for this era"] + PayoutsAlreadyProcessed, + #[codec(index = 44)] + #[doc = "Attribute key exceeds max length"] + AttributeKeyExceedsLength, + #[codec(index = 45)] + #[doc = "Unable to decode the attribute value"] + AttributeValueDecodeFailed, + #[codec(index = 46)] + #[doc = "Attribute capacity exceeds the global max capacity"] + AttributeCapacityExceedsGlobalCapacity, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Events of this pallet."] + pub enum Event { + #[codec(index = 0)] + #[doc = "A pool has been created."] + Created { + creator: ::subxt::utils::AccountId32, + pool_id: ::core::primitive::u32, + capacity: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "A member has became bonded in a pool."] + Bonded { + member: ::subxt::utils::AccountId32, + pool_id: ::core::primitive::u32, + bonded: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "A member has unbonded from their pool."] + Unbonded { + member: ::subxt::utils::AccountId32, + pool_id: ::core::primitive::u32, + balance: ::core::primitive::u128, + points: ::core::primitive::u128, + era: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "A member has withdrawn from their pool."] + #[doc = ""] + #[doc = "The given number of `points` have been dissolved in return of `balance`."] + #[doc = ""] + #[doc = "Similar to `Unbonded` event, in the absence of slashing, the ratio of point to balance"] + #[doc = "will be 1."] + Withdrawn { + member: ::subxt::utils::AccountId32, + pool_id: ::core::primitive::u32, + balance: ::core::primitive::u128, + points: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "A pool has been destroyed."] + Destroyed { pool_id: ::core::primitive::u32 }, + #[codec(index = 5)] + #[doc = "The state of a pool has changed"] + StateChanged { + pool_id: ::core::primitive::u32, + new_state: runtime_types::pallet_nomination_pools::types::PoolState, + }, + #[codec(index = 6)] + #[doc = "The active balance of pool `pool_id` has been slashed to `balance`."] + PoolSlashed { + pool_id: ::core::primitive::u32, + balance: ::core::primitive::u128, + }, + #[codec(index = 7)] + #[doc = "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`."] + UnbondingPoolSlashed { + pool_id: ::core::primitive::u32, + era: ::core::primitive::u32, + balance: ::core::primitive::u128, + }, + #[codec(index = 8)] + #[doc = "A pool's commission rate has been changed."] + CommissionUpdated { + pool_id: ::core::primitive::u32, + current: ::core::option::Option< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + }, + #[codec(index = 9)] + #[doc = "This event happens once per era on the previous era that rewards are paid out for. It"] + #[doc = "pays commission, distributes bonus, and reinvests rewards."] + EraRewardsProcessed { + pool_id: ::core::primitive::u32, + era: ::core::primitive::u32, + commission: ::core::option::Option< + runtime_types::pallet_nomination_pools::types::CommissionPayment< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + >, + bonus: ::core::primitive::u128, + reinvested: ::core::primitive::u128, + bonus_cycle_ended: ::core::primitive::bool, + }, + #[codec(index = 10)] + #[doc = "Rewards were paid to a pool"] + RewardPaid { + pool_id: ::core::primitive::u32, + era: ::core::primitive::u32, + validator_stash: ::subxt::utils::AccountId32, + reward: ::core::primitive::u128, + bonus: ::core::primitive::u128, + }, + #[codec(index = 11)] + #[doc = "Pool has been mutated."] + PoolMutated { + pool_id: ::core::primitive::u32, + mutation: runtime_types::pallet_nomination_pools::types::PoolMutation< + ::core::primitive::u32, + ::core::primitive::u128, + >, + }, + #[codec(index = 12)] + #[doc = "A nomination took place"] + Nominated { + pool_id: ::core::primitive::u32, + validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + }, + #[codec(index = 13)] + EarlyBirdBonusQueued { + total_amount: ::core::primitive::u128, + }, + #[codec(index = 14)] + #[doc = "The early bird bonus has been distributed"] + EarlyBirdBonusDistributed { + pool_id: ::core::primitive::u32, + amount: ::core::primitive::u128, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BondValue<_0> { + #[codec(index = 0)] + Amount(#[codec(compact)] _0), + #[codec(index = 1)] + Fill, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BondedPoolInner { + pub state: runtime_types::pallet_nomination_pools::types::PoolState, + pub commission: runtime_types::pallet_nomination_pools::types::Commission, + #[codec(compact)] + pub token_id: ::core::primitive::u128, + #[codec(compact)] + pub capacity: ::core::primitive::u128, + pub bonus_cycle: runtime_types::pallet_nomination_pools::types::BonusCycle, + #[codec(compact)] + pub creation_block: ::core::primitive::u32, + pub bonuses_paid: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BonusCycle { + pub previous_start: ::core::option::Option<::core::primitive::u32>, + #[codec(compact)] + pub start: ::core::primitive::u32, + #[codec(compact)] + pub end: ::core::primitive::u32, + pub pending_duration: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Commission { + pub current: + ::core::option::Option, + pub max: + ::core::option::Option, + pub change_rate: ::core::option::Option< + runtime_types::pallet_nomination_pools::types::CommissionChangeRate< + ::core::primitive::u32, + >, + >, + pub throttle_from: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CommissionChangeRate<_0> { + pub max_delta: runtime_types::sp_arithmetic::per_things::Perbill, + pub min_delay: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CommissionPayment<_0, _1> { + pub beneficiary: _0, + pub amount: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ConfigOp<_0> { + #[codec(index = 0)] + Noop, + #[codec(index = 1)] + Set(_0), + #[codec(index = 2)] + Remove, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct EarlyBirdInfo<_0> { + pub has_been_queued: ::core::primitive::bool, + pub queued_items: runtime_types::bounded_collections::bounded_vec::BoundedVec< + (::core::primitive::u32, _0), + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct EraPayout { + #[codec(compact)] + pub era: ::core::primitive::u32, + #[codec(compact)] + pub payout_count: ::core::primitive::u32, + pub payouts_processed: ::core::primitive::bool, + pub required_payments_percent: + runtime_types::sp_arithmetic::per_things::Perbill, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PoolMember { + pub unbonding_eras: + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + ::core::primitive::u128, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PoolMutation<_0, _1> { + pub duration: ::core::option::Option<_0>, + pub new_commission: runtime_types::ep_multi_tokens::types::ShouldMutate< + ::core::option::Option, + >, + pub max_commission: + ::core::option::Option, + pub change_rate: ::core::option::Option< + runtime_types::pallet_nomination_pools::types::CommissionChangeRate<_0>, + >, + pub capacity: ::core::option::Option<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum PoolState { + #[codec(index = 0)] + Open, + #[codec(index = 1)] + Destroying, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct StakingInfo { + pub annual_inflation_rate: runtime_types::sp_arithmetic::per_things::Perbill, + pub collator_payout_cut: runtime_types::sp_arithmetic::per_things::Perbill, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SubPools { + pub no_era: runtime_types::pallet_nomination_pools::types::UnbondPool, + pub with_era: + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + runtime_types::pallet_nomination_pools::types::UnbondPool, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UnbondPool { + pub points: ::core::primitive::u128, + pub balance: ::core::primitive::u128, + } + } + } + pub mod pallet_offences { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Events type."] + pub enum Event { + #[codec(index = 0)] + #[doc = "There is an offence reported of the given `kind` happened at the `session_index` and"] + #[doc = "(kind-specific) time slot. This event is not deposited for duplicate slashes."] + #[doc = "\\[kind, timeslot\\]."] + Offence { + kind: [::core::primitive::u8; 16usize], + timeslot: ::std::vec::Vec<::core::primitive::u8>, + }, + } + } + } + pub mod pallet_preimage { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Register a preimage on-chain."] + #[doc = ""] + #[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"] + #[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."] + note_preimage { + bytes: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 1)] + #[doc = "Clear an unrequested preimage from the runtime storage."] + #[doc = ""] + #[doc = "If `len` is provided, then it will be a much cheaper operation."] + #[doc = ""] + #[doc = "- `hash`: The hash of the preimage to be removed from the store."] + #[doc = "- `len`: The length of the preimage of `hash`."] + unnote_preimage { hash: ::subxt::utils::H256 }, + #[codec(index = 2)] + #[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."] + #[doc = ""] + #[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"] + #[doc = "a user may have paid, and take the control of the preimage out of their hands."] + request_preimage { hash: ::subxt::utils::H256 }, + #[codec(index = 3)] + #[doc = "Clear a previously made request for a preimage."] + #[doc = ""] + #[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."] + unrequest_preimage { hash: ::subxt::utils::H256 }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Preimage is too large to store on-chain."] + TooBig, + #[codec(index = 1)] + #[doc = "Preimage has already been noted on-chain."] + AlreadyNoted, + #[codec(index = 2)] + #[doc = "The user is not authorized to perform this action."] + NotAuthorized, + #[codec(index = 3)] + #[doc = "The preimage cannot be removed since it has not yet been noted."] + NotNoted, + #[codec(index = 4)] + #[doc = "A preimage may not be removed when there are outstanding requests."] + Requested, + #[codec(index = 5)] + #[doc = "The preimage request cannot be removed since no outstanding requests exist."] + NotRequested, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A preimage has been noted."] + Noted { hash: ::subxt::utils::H256 }, + #[codec(index = 1)] + #[doc = "A preimage has been requested."] + Requested { hash: ::subxt::utils::H256 }, + #[codec(index = 2)] + #[doc = "A preimage has ben cleared."] + Cleared { hash: ::subxt::utils::H256 }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RequestStatus<_0, _1> { + #[codec(index = 0)] + Unrequested { + deposit: (_0, _1), + len: ::core::primitive::u32, + }, + #[codec(index = 1)] + Requested { + deposit: ::core::option::Option<(_0, _1)>, + count: ::core::primitive::u32, + len: ::core::option::Option<::core::primitive::u32>, + }, + } + } + pub mod pallet_ranked_collective { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Introduce a new member."] + #[doc = ""] + #[doc = "- `origin`: Must be the `AdminOrigin`."] + #[doc = "- `who`: Account of non-member which will become a member."] + #[doc = "- `rank`: The rank to give the new member."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + add_member { + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 1)] + #[doc = "Increment the rank of an existing member by one."] + #[doc = ""] + #[doc = "- `origin`: Must be the `AdminOrigin`."] + #[doc = "- `who`: Account of existing member."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + promote_member { + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 2)] + #[doc = "Decrement the rank of an existing member by one. If the member is already at rank zero,"] + #[doc = "then they are removed entirely."] + #[doc = ""] + #[doc = "- `origin`: Must be the `AdminOrigin`."] + #[doc = "- `who`: Account of existing member of rank greater than zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`, less if the member's index is highest in its rank."] + demote_member { + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 3)] + #[doc = "Remove the member entirely."] + #[doc = ""] + #[doc = "- `origin`: Must be the `AdminOrigin`."] + #[doc = "- `who`: Account of existing member of rank greater than zero."] + #[doc = "- `min_rank`: The rank of the member or greater."] + #[doc = ""] + #[doc = "Weight: `O(min_rank)`."] + remove_member { + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + min_rank: ::core::primitive::u16, + }, + #[codec(index = 4)] + #[doc = "Add an aye or nay vote for the sender to the given proposal."] + #[doc = ""] + #[doc = "- `origin`: Must be `Signed` by a member account."] + #[doc = "- `poll`: Index of a poll which is ongoing."] + #[doc = "- `aye`: `true` if the vote is to approve the proposal, `false` otherwise."] + #[doc = ""] + #[doc = "Transaction fees are be waived if the member is voting on any particular proposal"] + #[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"] + #[doc = "fee."] + #[doc = ""] + #[doc = "Weight: `O(1)`, less if there was no previous vote on the poll by the member."] + vote { + poll: ::core::primitive::u32, + aye: ::core::primitive::bool, + }, + #[codec(index = 5)] + #[doc = "Remove votes from the given poll. It must have ended."] + #[doc = ""] + #[doc = "- `origin`: Must be `Signed` by any account."] + #[doc = "- `poll_index`: Index of a poll which is completed and for which votes continue to"] + #[doc = " exist."] + #[doc = "- `max`: Maximum number of vote items from remove in this call."] + #[doc = ""] + #[doc = "Transaction fees are waived if the operation is successful."] + #[doc = ""] + #[doc = "Weight `O(max)` (less if there are fewer items to remove than `max`)."] + cleanup_poll { + poll_index: ::core::primitive::u32, + max: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Account is already a member."] + AlreadyMember, + #[codec(index = 1)] + #[doc = "Account is not a member."] + NotMember, + #[codec(index = 2)] + #[doc = "The given poll index is unknown or has closed."] + NotPolling, + #[codec(index = 3)] + #[doc = "The given poll is still ongoing."] + Ongoing, + #[codec(index = 4)] + #[doc = "There are no further records to be removed."] + NoneRemaining, + #[codec(index = 5)] + #[doc = "Unexpected error in state."] + Corruption, + #[codec(index = 6)] + #[doc = "The member's rank is too low to vote."] + RankTooLow, + #[codec(index = 7)] + #[doc = "The information provided is incorrect."] + InvalidWitness, + #[codec(index = 8)] + #[doc = "The origin is not sufficiently privileged to do the operation."] + NoPermission, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A member `who` has been added."] + MemberAdded { who: ::subxt::utils::AccountId32 }, + #[codec(index = 1)] + #[doc = "The member `who`se rank has been changed to the given `rank`."] + RankChanged { + who: ::subxt::utils::AccountId32, + rank: ::core::primitive::u16, + }, + #[codec(index = 2)] + #[doc = "The member `who` of given `rank` has been removed from the collective."] + MemberRemoved { + who: ::subxt::utils::AccountId32, + rank: ::core::primitive::u16, + }, + #[codec(index = 3)] + #[doc = "The member `who` has voted for the `poll` with the given `vote` leading to an updated"] + #[doc = "`tally`."] + Voted { + who: ::subxt::utils::AccountId32, + poll: ::core::primitive::u32, + vote: runtime_types::pallet_ranked_collective::VoteRecord, + tally: runtime_types::pallet_ranked_collective::Tally, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MemberRecord { + pub rank: ::core::primitive::u16, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Tally { + pub bare_ayes: ::core::primitive::u32, + pub ayes: ::core::primitive::u32, + pub nays: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum VoteRecord { + #[codec(index = 0)] + Aye(::core::primitive::u32), + #[codec(index = 1)] + Nay(::core::primitive::u32), + } + } + pub mod pallet_referenda { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Propose a referendum on a privileged action."] + #[doc = ""] + #[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"] + #[doc = " available."] + #[doc = "- `proposal_origin`: The origin from which the proposal should be executed."] + #[doc = "- `proposal`: The proposal."] + #[doc = "- `enactment_moment`: The moment that the proposal should be enacted."] + #[doc = ""] + #[doc = "Emits `Submitted`."] + submit { + proposal_origin: + ::std::boxed::Box, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + enactment_moment: + runtime_types::frame_support::traits::schedule::DispatchTime< + ::core::primitive::u32, + >, + }, + #[codec(index = 1)] + #[doc = "Post the Decision Deposit for a referendum."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` and the account must have funds available for the"] + #[doc = " referendum's track's Decision Deposit."] + #[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"] + #[doc = " posted."] + #[doc = ""] + #[doc = "Emits `DecisionDepositPlaced`."] + place_decision_deposit { index: ::core::primitive::u32 }, + #[codec(index = 2)] + #[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `DecisionDepositRefunded`."] + refund_decision_deposit { index: ::core::primitive::u32 }, + #[codec(index = 3)] + #[doc = "Cancel an ongoing referendum."] + #[doc = ""] + #[doc = "- `origin`: must be the `CancelOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Cancelled`."] + cancel { index: ::core::primitive::u32 }, + #[codec(index = 4)] + #[doc = "Cancel an ongoing referendum and slash the deposits."] + #[doc = ""] + #[doc = "- `origin`: must be the `KillOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Killed` and `DepositSlashed`."] + kill { index: ::core::primitive::u32 }, + #[codec(index = 5)] + #[doc = "Advance a referendum onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `index`: the referendum to be advanced."] + nudge_referendum { index: ::core::primitive::u32 }, + #[codec(index = 6)] + #[doc = "Advance a track onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `track`: the track to be advanced."] + #[doc = ""] + #[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"] + #[doc = "`DecidingCount` is not yet updated. This means that we should either:"] + #[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"] + #[doc = "- decrement `DecidingCount`."] + one_fewer_deciding { track: ::core::primitive::u16 }, + #[codec(index = 7)] + #[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `SubmissionDepositRefunded`."] + refund_submission_deposit { index: ::core::primitive::u32 }, + #[codec(index = 8)] + #[doc = "Set or clear metadata of a referendum."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"] + #[doc = " metadata of a finished referendum."] + #[doc = "- `index`: The index of a referendum to set or clear metadata for."] + #[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."] + set_metadata { + index: ::core::primitive::u32, + maybe_hash: ::core::option::Option<::subxt::utils::H256>, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call2 { + #[codec(index = 0)] + #[doc = "Propose a referendum on a privileged action."] + #[doc = ""] + #[doc = "- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds"] + #[doc = " available."] + #[doc = "- `proposal_origin`: The origin from which the proposal should be executed."] + #[doc = "- `proposal`: The proposal."] + #[doc = "- `enactment_moment`: The moment that the proposal should be enacted."] + #[doc = ""] + #[doc = "Emits `Submitted`."] + submit { + proposal_origin: + ::std::boxed::Box, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + enactment_moment: + runtime_types::frame_support::traits::schedule::DispatchTime< + ::core::primitive::u32, + >, + }, + #[codec(index = 1)] + #[doc = "Post the Decision Deposit for a referendum."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` and the account must have funds available for the"] + #[doc = " referendum's track's Decision Deposit."] + #[doc = "- `index`: The index of the submitted referendum whose Decision Deposit is yet to be"] + #[doc = " posted."] + #[doc = ""] + #[doc = "Emits `DecisionDepositPlaced`."] + place_decision_deposit { index: ::core::primitive::u32 }, + #[codec(index = 2)] + #[doc = "Refund the Decision Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Decision Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `DecisionDepositRefunded`."] + refund_decision_deposit { index: ::core::primitive::u32 }, + #[codec(index = 3)] + #[doc = "Cancel an ongoing referendum."] + #[doc = ""] + #[doc = "- `origin`: must be the `CancelOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Cancelled`."] + cancel { index: ::core::primitive::u32 }, + #[codec(index = 4)] + #[doc = "Cancel an ongoing referendum and slash the deposits."] + #[doc = ""] + #[doc = "- `origin`: must be the `KillOrigin`."] + #[doc = "- `index`: The index of the referendum to be cancelled."] + #[doc = ""] + #[doc = "Emits `Killed` and `DepositSlashed`."] + kill { index: ::core::primitive::u32 }, + #[codec(index = 5)] + #[doc = "Advance a referendum onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `index`: the referendum to be advanced."] + nudge_referendum { index: ::core::primitive::u32 }, + #[codec(index = 6)] + #[doc = "Advance a track onto its next logical state. Only used internally."] + #[doc = ""] + #[doc = "- `origin`: must be `Root`."] + #[doc = "- `track`: the track to be advanced."] + #[doc = ""] + #[doc = "Action item for when there is now one fewer referendum in the deciding phase and the"] + #[doc = "`DecidingCount` is not yet updated. This means that we should either:"] + #[doc = "- begin deciding another referendum (and leave `DecidingCount` alone); or"] + #[doc = "- decrement `DecidingCount`."] + one_fewer_deciding { track: ::core::primitive::u16 }, + #[codec(index = 7)] + #[doc = "Refund the Submission Deposit for a closed referendum back to the depositor."] + #[doc = ""] + #[doc = "- `origin`: must be `Signed` or `Root`."] + #[doc = "- `index`: The index of a closed referendum whose Submission Deposit has not yet been"] + #[doc = " refunded."] + #[doc = ""] + #[doc = "Emits `SubmissionDepositRefunded`."] + refund_submission_deposit { index: ::core::primitive::u32 }, + #[codec(index = 8)] + #[doc = "Set or clear metadata of a referendum."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a"] + #[doc = " metadata of a finished referendum."] + #[doc = "- `index`: The index of a referendum to set or clear metadata for."] + #[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."] + set_metadata { + index: ::core::primitive::u32, + maybe_hash: ::core::option::Option<::subxt::utils::H256>, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Referendum is not ongoing."] + NotOngoing, + #[codec(index = 1)] + #[doc = "Referendum's decision deposit is already paid."] + HasDeposit, + #[codec(index = 2)] + #[doc = "The track identifier given was invalid."] + BadTrack, + #[codec(index = 3)] + #[doc = "There are already a full complement of referenda in progress for this track."] + Full, + #[codec(index = 4)] + #[doc = "The queue of the track is empty."] + QueueEmpty, + #[codec(index = 5)] + #[doc = "The referendum index provided is invalid in this context."] + BadReferendum, + #[codec(index = 6)] + #[doc = "There was nothing to do in the advancement."] + NothingToDo, + #[codec(index = 7)] + #[doc = "No track exists for the proposal origin."] + NoTrack, + #[codec(index = 8)] + #[doc = "Any deposit cannot be refunded until after the decision is over."] + Unfinished, + #[codec(index = 9)] + #[doc = "The deposit refunder is not the depositor."] + NoPermission, + #[codec(index = 10)] + #[doc = "The deposit cannot be refunded since none was made."] + NoDeposit, + #[codec(index = 11)] + #[doc = "The referendum status is invalid for this operation."] + BadStatus, + #[codec(index = 12)] + #[doc = "The preimage does not exist."] + PreimageNotExist, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error2 { + #[codec(index = 0)] + #[doc = "Referendum is not ongoing."] + NotOngoing, + #[codec(index = 1)] + #[doc = "Referendum's decision deposit is already paid."] + HasDeposit, + #[codec(index = 2)] + #[doc = "The track identifier given was invalid."] + BadTrack, + #[codec(index = 3)] + #[doc = "There are already a full complement of referenda in progress for this track."] + Full, + #[codec(index = 4)] + #[doc = "The queue of the track is empty."] + QueueEmpty, + #[codec(index = 5)] + #[doc = "The referendum index provided is invalid in this context."] + BadReferendum, + #[codec(index = 6)] + #[doc = "There was nothing to do in the advancement."] + NothingToDo, + #[codec(index = 7)] + #[doc = "No track exists for the proposal origin."] + NoTrack, + #[codec(index = 8)] + #[doc = "Any deposit cannot be refunded until after the decision is over."] + Unfinished, + #[codec(index = 9)] + #[doc = "The deposit refunder is not the depositor."] + NoPermission, + #[codec(index = 10)] + #[doc = "The deposit cannot be refunded since none was made."] + NoDeposit, + #[codec(index = 11)] + #[doc = "The referendum status is invalid for this operation."] + BadStatus, + #[codec(index = 12)] + #[doc = "The preimage does not exist."] + PreimageNotExist, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A referendum has been submitted."] + Submitted { + index: ::core::primitive::u32, + track: ::core::primitive::u16, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + }, + #[codec(index = 1)] + #[doc = "The decision deposit has been placed."] + DecisionDepositPlaced { + index: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "The decision deposit has been refunded."] + DecisionDepositRefunded { + index: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A deposit has been slashaed."] + DepositSlashed { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "A referendum has moved into the deciding phase."] + DecisionStarted { + index: ::core::primitive::u32, + track: ::core::primitive::u16, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + }, + #[codec(index = 5)] + ConfirmStarted { index: ::core::primitive::u32 }, + #[codec(index = 6)] + ConfirmAborted { index: ::core::primitive::u32 }, + #[codec(index = 7)] + #[doc = "A referendum has ended its confirmation phase and is ready for approval."] + Confirmed { + index: ::core::primitive::u32, + tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + }, + #[codec(index = 8)] + #[doc = "A referendum has been approved and its proposal has been scheduled."] + Approved { index: ::core::primitive::u32 }, + #[codec(index = 9)] + #[doc = "A proposal has been rejected by referendum."] + Rejected { + index: ::core::primitive::u32, + tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + }, + #[codec(index = 10)] + #[doc = "A referendum has been timed out without being decided."] + TimedOut { + index: ::core::primitive::u32, + tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + }, + #[codec(index = 11)] + #[doc = "A referendum has been cancelled."] + Cancelled { + index: ::core::primitive::u32, + tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + }, + #[codec(index = 12)] + #[doc = "A referendum has been killed."] + Killed { + index: ::core::primitive::u32, + tally: runtime_types::pallet_conviction_voting::types::Tally< + ::core::primitive::u128, + >, + }, + #[codec(index = 13)] + #[doc = "The submission deposit has been refunded."] + SubmissionDepositRefunded { + index: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 14)] + #[doc = "Metadata for a referendum has been set."] + MetadataSet { + index: ::core::primitive::u32, + hash: ::subxt::utils::H256, + }, + #[codec(index = 15)] + #[doc = "Metadata for a referendum has been cleared."] + MetadataCleared { + index: ::core::primitive::u32, + hash: ::subxt::utils::H256, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event2 { + #[codec(index = 0)] + #[doc = "A referendum has been submitted."] + Submitted { + index: ::core::primitive::u32, + track: ::core::primitive::u16, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + }, + #[codec(index = 1)] + #[doc = "The decision deposit has been placed."] + DecisionDepositPlaced { + index: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "The decision deposit has been refunded."] + DecisionDepositRefunded { + index: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A deposit has been slashaed."] + DepositSlashed { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "A referendum has moved into the deciding phase."] + DecisionStarted { + index: ::core::primitive::u32, + track: ::core::primitive::u16, + proposal: runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::enjin_runtime::RuntimeCall, + >, + tally: runtime_types::pallet_ranked_collective::Tally, + }, + #[codec(index = 5)] + ConfirmStarted { index: ::core::primitive::u32 }, + #[codec(index = 6)] + ConfirmAborted { index: ::core::primitive::u32 }, + #[codec(index = 7)] + #[doc = "A referendum has ended its confirmation phase and is ready for approval."] + Confirmed { + index: ::core::primitive::u32, + tally: runtime_types::pallet_ranked_collective::Tally, + }, + #[codec(index = 8)] + #[doc = "A referendum has been approved and its proposal has been scheduled."] + Approved { index: ::core::primitive::u32 }, + #[codec(index = 9)] + #[doc = "A proposal has been rejected by referendum."] + Rejected { + index: ::core::primitive::u32, + tally: runtime_types::pallet_ranked_collective::Tally, + }, + #[codec(index = 10)] + #[doc = "A referendum has been timed out without being decided."] + TimedOut { + index: ::core::primitive::u32, + tally: runtime_types::pallet_ranked_collective::Tally, + }, + #[codec(index = 11)] + #[doc = "A referendum has been cancelled."] + Cancelled { + index: ::core::primitive::u32, + tally: runtime_types::pallet_ranked_collective::Tally, + }, + #[codec(index = 12)] + #[doc = "A referendum has been killed."] + Killed { + index: ::core::primitive::u32, + tally: runtime_types::pallet_ranked_collective::Tally, + }, + #[codec(index = 13)] + #[doc = "The submission deposit has been refunded."] + SubmissionDepositRefunded { + index: ::core::primitive::u32, + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 14)] + #[doc = "Metadata for a referendum has been set."] + MetadataSet { + index: ::core::primitive::u32, + hash: ::subxt::utils::H256, + }, + #[codec(index = 15)] + #[doc = "Metadata for a referendum has been cleared."] + MetadataCleared { + index: ::core::primitive::u32, + hash: ::subxt::utils::H256, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Curve { + #[codec(index = 0)] + LinearDecreasing { + length: runtime_types::sp_arithmetic::per_things::Perbill, + floor: runtime_types::sp_arithmetic::per_things::Perbill, + ceil: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 1)] + SteppedDecreasing { + begin: runtime_types::sp_arithmetic::per_things::Perbill, + end: runtime_types::sp_arithmetic::per_things::Perbill, + step: runtime_types::sp_arithmetic::per_things::Perbill, + period: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 2)] + Reciprocal { + factor: runtime_types::sp_arithmetic::fixed_point::FixedI64, + x_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64, + y_offset: runtime_types::sp_arithmetic::fixed_point::FixedI64, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DecidingStatus<_0> { + pub since: _0, + pub confirming: ::core::option::Option<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Deposit<_0, _1> { + pub who: _0, + pub amount: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ReferendumInfo<_0, _1, _2, _3, _4, _5, _6, _7> { + #[codec(index = 0)] + Ongoing( + runtime_types::pallet_referenda::types::ReferendumStatus< + _0, + _1, + _2, + _3, + _4, + _5, + _6, + _7, + >, + ), + #[codec(index = 1)] + Approved( + _2, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ), + #[codec(index = 2)] + Rejected( + _2, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ), + #[codec(index = 3)] + Cancelled( + _2, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ), + #[codec(index = 4)] + TimedOut( + _2, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + ), + #[codec(index = 5)] + Killed(_2), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReferendumStatus<_0, _1, _2, _3, _4, _5, _6, _7> { + pub track: _0, + pub origin: _1, + pub proposal: _3, + pub enactment: runtime_types::frame_support::traits::schedule::DispatchTime<_2>, + pub submitted: _2, + pub submission_deposit: runtime_types::pallet_referenda::types::Deposit<_6, _4>, + pub decision_deposit: ::core::option::Option< + runtime_types::pallet_referenda::types::Deposit<_6, _4>, + >, + pub deciding: ::core::option::Option< + runtime_types::pallet_referenda::types::DecidingStatus<_2>, + >, + pub tally: _5, + pub in_queue: ::core::primitive::bool, + pub alarm: ::core::option::Option<(_2, _7)>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct TrackInfo<_0, _1> { + pub name: ::std::string::String, + pub max_deciding: ::core::primitive::u32, + pub decision_deposit: _0, + pub prepare_period: _1, + pub decision_period: _1, + pub confirm_period: _1, + pub min_enactment_period: _1, + pub min_approval: runtime_types::pallet_referenda::types::Curve, + pub min_support: runtime_types::pallet_referenda::types::Curve, + } + } + } + pub mod pallet_scheduler { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Anonymously schedule a task."] + schedule { + when: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: ::std::boxed::Box, + }, + #[codec(index = 1)] + #[doc = "Cancel an anonymously scheduled task."] + cancel { + when: ::core::primitive::u32, + index: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Schedule a named task."] + schedule_named { + id: [::core::primitive::u8; 32usize], + when: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: ::std::boxed::Box, + }, + #[codec(index = 3)] + #[doc = "Cancel a named scheduled task."] + cancel_named { + id: [::core::primitive::u8; 32usize], + }, + #[codec(index = 4)] + #[doc = "Anonymously schedule a task after a delay."] + schedule_after { + after: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: ::std::boxed::Box, + }, + #[codec(index = 5)] + #[doc = "Schedule a named task after a delay."] + schedule_named_after { + id: [::core::primitive::u8; 32usize], + after: ::core::primitive::u32, + maybe_periodic: ::core::option::Option<( + ::core::primitive::u32, + ::core::primitive::u32, + )>, + priority: ::core::primitive::u8, + call: ::std::boxed::Box, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Failed to schedule a call"] + FailedToSchedule, + #[codec(index = 1)] + #[doc = "Cannot find the scheduled call."] + NotFound, + #[codec(index = 2)] + #[doc = "Given target block number is in the past."] + TargetBlockNumberInPast, + #[codec(index = 3)] + #[doc = "Reschedule failed because it does not change scheduled time."] + RescheduleNoChange, + #[codec(index = 4)] + #[doc = "Attempt to use a non-named function on a named task."] + Named, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Events type."] + pub enum Event { + #[codec(index = 0)] + #[doc = "Scheduled some task."] + Scheduled { + when: ::core::primitive::u32, + index: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "Canceled some task."] + Canceled { + when: ::core::primitive::u32, + index: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Dispatched some task."] + Dispatched { + task: (::core::primitive::u32, ::core::primitive::u32), + id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + }, + #[codec(index = 3)] + #[doc = "The call for the provided hash was not found so the task has been aborted."] + CallUnavailable { + task: (::core::primitive::u32, ::core::primitive::u32), + id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + }, + #[codec(index = 4)] + #[doc = "The given task was unable to be renewed since the agenda is full at that block."] + PeriodicFailed { + task: (::core::primitive::u32, ::core::primitive::u32), + id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + }, + #[codec(index = 5)] + #[doc = "The given task can never be executed since it is overweight."] + PermanentlyOverweight { + task: (::core::primitive::u32, ::core::primitive::u32), + id: ::core::option::Option<[::core::primitive::u8; 32usize]>, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Scheduled<_0, _1, _2, _3, _4> { + pub maybe_id: ::core::option::Option<_0>, + pub priority: ::core::primitive::u8, + pub call: _1, + pub maybe_periodic: ::core::option::Option<(_2, _2)>, + pub origin: _3, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_4>, + } + } + pub mod pallet_session { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Sets the session key(s) of the function caller to `keys`."] + #[doc = "Allows an account to set its session key prior to becoming a validator."] + #[doc = "This doesn't take effect until the next session."] + #[doc = ""] + #[doc = "The dispatch origin of this function must be signed."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is"] + #[doc = " fixed."] + set_keys { + keys: runtime_types::enjin_runtime::opaque::SessionKeys, + proof: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 1)] + #[doc = "Removes any session key(s) of the function caller."] + #[doc = ""] + #[doc = "This doesn't take effect until the next session."] + #[doc = ""] + #[doc = "The dispatch origin of this function must be Signed and the account must be either be"] + #[doc = "convertible to a validator ID using the chain's typical addressing system (this usually"] + #[doc = "means being a controller account) or directly convertible into a validator ID (which"] + #[doc = "usually means being a stash account)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)` in number of key types. Actual cost depends on the number of length of"] + #[doc = " `T::Keys::key_ids()` which is fixed."] + purge_keys, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Error for the session pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Invalid ownership proof."] + InvalidProof, + #[codec(index = 1)] + #[doc = "No associated validator ID for account."] + NoAssociatedValidatorId, + #[codec(index = 2)] + #[doc = "Registered duplicate key."] + DuplicatedKey, + #[codec(index = 3)] + #[doc = "No keys are associated with this account."] + NoKeys, + #[codec(index = 4)] + #[doc = "Key setting account is not live, so it's impossible to associate keys."] + NoAccount, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "New session has happened. Note that the argument is the session index, not the"] + #[doc = "block number as the type might suggest."] + NewSession { + session_index: ::core::primitive::u32, + }, + } + } + } + pub mod pallet_stake_exchange { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The pallet's extrinsics."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Place a new offer with the given parameters"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::CallerNotOfferCreator`] if the caller account does not match offer account."] + #[doc = "- [`Error::ZeroOffer`] if offer amount is zero."] + #[doc = "- [`Error::ZeroRate`] if rate amount is zero."] + #[doc = "- [`Error::Overflow`] if arithmetic overflow occurs"] + create_offer { + offer: runtime_types::pallet_stake_exchange::types::CreateOffer< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + }, + #[codec(index = 1)] + #[doc = "Cancel an existing offer with `offer_id`"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::CallerNotOfferCreator`] if the caller account does not match offer account."] + #[doc = "- [`Error::OfferNotFound`] if the `offer_id` does not exist"] + cancel_offer { + #[codec(compact)] + offer_id: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Set the liquidity config for the caller account"] + configure_liquidity_account { + config: runtime_types::pallet_stake_exchange::types::LiquidityAccountConfig< + ::core::primitive::u128, + runtime_types::enjin_runtime::MaxFilteredTokenCount, + >, + }, + #[codec(index = 3)] + #[doc = "Withdraw liquidity from a current active offer"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::CallerNotOfferCreator`] if the caller account does not match offer account."] + #[doc = "- [`Error::OfferNotFound`] if the offerId does not exist"] + withdraw_liquidity { + #[codec(compact)] + offer_id: ::core::primitive::u128, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Add liquidity to a current active offer"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::CallerNotOfferCreator`] if the caller account does not match bidding account."] + #[doc = "- [`Error::OfferNotFound`] if the offerId does not exist"] + add_liquidity { + #[codec(compact)] + offer_id: ::core::primitive::u128, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "Buy from a current active offer, returning the native currency by exchanging the staked"] + #[doc = "tokens"] + #[doc = ""] + #[doc = "# Errors"] + #[doc = "- [`Error::CallerNotOfferCreator`] if the caller account does not match bidding account."] + #[doc = "- [`Error::TokenRestriction`] if the tokenId is restricted by the LP"] + #[doc = "- [`Error::NotEnoughLiquidity`] if the offer cannot cover the amount requested"] + #[doc = "- [`Error::TransferParamCreationFailed`] if the multitokens transfer failed"] + buy { + #[codec(compact)] + offer_id: ::core::primitive::u128, + #[codec(compact)] + amount: ::core::primitive::u128, + #[codec(compact)] + token_id: ::core::primitive::u128, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Pallet's error type."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Caller is not the account of"] + CallerNotOfferCreator, + #[codec(index = 1)] + #[doc = "Cannot create a offer with zero amount"] + ZeroOffer, + #[codec(index = 2)] + #[doc = "Cannot create a offer with zero rate"] + ZeroRate, + #[codec(index = 3)] + #[doc = "Arithmetic overflow"] + Overflow, + #[codec(index = 4)] + #[doc = "A offer was not found"] + OfferNotFound, + #[codec(index = 5)] + #[doc = "The offer does not have liquidity to perform the operation"] + NotEnoughLiquidity, + #[codec(index = 6)] + #[doc = "Cannot perform multi tokens transfer"] + TransferParamCreationFailed, + #[codec(index = 7)] + #[doc = "LP does not support this tokenId"] + TokenRestriction, + #[codec(index = 8)] + #[doc = "Zero amount buy not supported"] + ZeroAmount, + #[codec(index = 9)] + #[doc = "Pool rewards outside acceptable range"] + RewardRateOutOfRange, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "The pallet's event type."] + pub enum Event { + #[codec(index = 0)] + #[doc = "A offer was placed"] + OfferCreated { + offer_id: ::core::primitive::u128, + offer: runtime_types::pallet_stake_exchange::types::Offer< + ::subxt::utils::AccountId32, + ::core::primitive::u128, + >, + }, + #[codec(index = 1)] + #[doc = "A offer was cancelled"] + OfferCancelled { offer_id: ::core::primitive::u128 }, + #[codec(index = 2)] + #[doc = "Liquidity config was set for account"] + LiquidityConfigUpdated { + who: ::subxt::utils::AccountId32, + config: runtime_types::pallet_stake_exchange::types::LiquidityAccountConfig< + ::core::primitive::u128, + runtime_types::enjin_runtime::MaxFilteredTokenCount, + >, + }, + #[codec(index = 3)] + #[doc = "Liquidity was withdrawn from a offer"] + LiquidityWithdrawn { + who: ::subxt::utils::AccountId32, + offer_id: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Liquidity was added to a offer"] + LiquidityAdded { + who: ::subxt::utils::AccountId32, + offer_id: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "Buy order was completed"] + BuyOrderCompleted { + who: ::subxt::utils::AccountId32, + token_id: ::core::primitive::u128, + amount: ::core::primitive::u128, + rate: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 6)] + #[doc = "A offer was completed and removed"] + OfferCompleted { offer_id: ::core::primitive::u128 }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CreateOffer<_0, _1> { + pub account: _0, + #[codec(compact)] + pub total: _1, + #[codec(compact)] + pub rate: runtime_types::sp_arithmetic::per_things::Perbill, + pub min_average_reward_rate: runtime_types::sp_arithmetic::per_things::Perbill, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct LiquidityAccountConfig<_0, _1> { + pub token_filter: + runtime_types::pallet_stake_exchange::types::TokenFilter<_0, _1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Offer<_0, _1> { + pub account: _0, + #[codec(compact)] + pub total: _1, + #[codec(compact)] + pub rate: runtime_types::sp_arithmetic::per_things::Perbill, + pub min_average_reward_rate: runtime_types::sp_arithmetic::per_things::Perbill, + #[codec(compact)] + pub deposit: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum TokenFilter<_0, _1> { + #[codec(index = 0)] + All, + #[codec(index = 1)] + Whitelist( + runtime_types::bounded_collections::bounded_btree_set::BoundedBTreeSet<_0>, + ), + #[codec(index = 2)] + BlockList( + runtime_types::bounded_collections::bounded_btree_set::BoundedBTreeSet<_0>, + ), + __Ignore(::core::marker::PhantomData<_1>), + } + } + } + pub mod pallet_staking { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Take the origin account as a stash and lock up `value` of its balance. `controller` will"] + #[doc = "be the account that controls it."] + #[doc = ""] + #[doc = "`value` must be more than the `minimum_balance` specified by `T::Currency`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the stash account."] + #[doc = ""] + #[doc = "Emits `Bonded`."] + #[doc = "## Complexity"] + #[doc = "- Independent of the arguments. Moderate complexity."] + #[doc = "- O(1)."] + #[doc = "- Three extra DB entries."] + #[doc = ""] + #[doc = "NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned"] + #[doc = "unless the `origin` falls below _existential deposit_ and gets removed as dust."] + bond { + #[codec(compact)] + value: ::core::primitive::u128, + payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::utils::AccountId32, + >, + }, + #[codec(index = 1)] + #[doc = "Add some extra amount that have appeared in the stash `free_balance` into the balance up"] + #[doc = "for staking."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."] + #[doc = ""] + #[doc = "Use this if there are additional funds in your stash account that you wish to bond."] + #[doc = "Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose"] + #[doc = "any limitation on the amount that can be added."] + #[doc = ""] + #[doc = "Emits `Bonded`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- O(1)."] + bond_extra { + #[codec(compact)] + max_additional: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Schedule a portion of the stash to be unlocked ready for transfer out after the bond"] + #[doc = "period ends. If this leaves an amount actively bonded less than"] + #[doc = "T::Currency::minimum_balance(), then it is increased to the full amount."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "Once the unlock period is done, you can call `withdraw_unbonded` to actually move"] + #[doc = "the funds out of management ready for transfer."] + #[doc = ""] + #[doc = "No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)"] + #[doc = "can co-exists at the same time. If there are no unlocking chunks slots available"] + #[doc = "[`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible)."] + #[doc = ""] + #[doc = "If a user encounters the `InsufficientBond` error when calling this extrinsic,"] + #[doc = "they should call `chill` first in order to free up their bonded funds."] + #[doc = ""] + #[doc = "Emits `Unbonded`."] + #[doc = ""] + #[doc = "See also [`Call::withdraw_unbonded`]."] + unbond { + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "Remove any unlocked chunks from the `unlocking` queue from our management."] + #[doc = ""] + #[doc = "This essentially frees up that balance to be used by the stash account to do"] + #[doc = "whatever it wants."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller."] + #[doc = ""] + #[doc = "Emits `Withdrawn`."] + #[doc = ""] + #[doc = "See also [`Call::unbond`]."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "O(S) where S is the number of slashing spans to remove"] + #[doc = "NOTE: Weight annotation is the kill scenario, we refund otherwise."] + withdraw_unbonded { + num_slashing_spans: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "Declare the desire to validate for the origin controller."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + validate { + prefs: runtime_types::pallet_staking::ValidatorPrefs, + }, + #[codec(index = 5)] + #[doc = "Declare the desire to nominate `targets` for the origin controller."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- The transaction's complexity is proportional to the size of `targets` (N)"] + #[doc = "which is capped at CompactAssignments::LIMIT (T::MaxNominations)."] + #[doc = "- Both the reads and writes follow a similar pattern."] + nominate { + targets: ::std::vec::Vec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + }, + #[codec(index = 6)] + #[doc = "Declare no desire to either validate or nominate."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains one read."] + #[doc = "- Writes are limited to the `origin` account key."] + chill, + #[codec(index = 7)] + #[doc = "(Re-)set the payment target for a controller."] + #[doc = ""] + #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)"] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains a limited number of reads."] + #[doc = "- Writes are limited to the `origin` account key."] + #[doc = "---------"] + set_payee { + payee: runtime_types::pallet_staking::RewardDestination< + ::subxt::utils::AccountId32, + >, + }, + #[codec(index = 8)] + #[doc = "(Re-)sets the controller of a stash to the stash itself. This function previously"] + #[doc = "accepted a `controller` argument to set the controller to an account other than the"] + #[doc = "stash itself. This functionality has now been removed, now only setting the controller"] + #[doc = "to the stash, if it is not already."] + #[doc = ""] + #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "O(1)"] + #[doc = "- Independent of the arguments. Insignificant complexity."] + #[doc = "- Contains a limited number of reads."] + #[doc = "- Writes are limited to the `origin` account key."] + set_controller, + #[codec(index = 9)] + #[doc = "Sets the ideal number of validators."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "O(1)"] + set_validator_count { + #[codec(compact)] + new: ::core::primitive::u32, + }, + #[codec(index = 10)] + #[doc = "Increments the ideal number of validators upto maximum of"] + #[doc = "`ElectionProviderBase::MaxWinners`."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "Same as [`Self::set_validator_count`]."] + increase_validator_count { + #[codec(compact)] + additional: ::core::primitive::u32, + }, + #[codec(index = 11)] + #[doc = "Scale up the ideal number of validators by a factor upto maximum of"] + #[doc = "`ElectionProviderBase::MaxWinners`."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "Same as [`Self::set_validator_count`]."] + scale_validator_count { + factor: runtime_types::sp_arithmetic::per_things::Percent, + }, + #[codec(index = 12)] + #[doc = "Force there to be no new eras indefinitely."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# Warning"] + #[doc = ""] + #[doc = "The election process starts multiple blocks before the end of the era."] + #[doc = "Thus the election process may be ongoing when this is called. In this case the"] + #[doc = "election will continue until the next era is triggered."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- No arguments."] + #[doc = "- Weight: O(1)"] + force_no_eras, + #[codec(index = 13)] + #[doc = "Force there to be a new era at the end of the next session. After this, it will be"] + #[doc = "reset to normal (non-forced) behaviour."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# Warning"] + #[doc = ""] + #[doc = "The election process starts multiple blocks before the end of the era."] + #[doc = "If this is called just before a new era is triggered, the election process may not"] + #[doc = "have enough blocks to get a result."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- No arguments."] + #[doc = "- Weight: O(1)"] + force_new_era, + #[codec(index = 14)] + #[doc = "Set the validators who cannot be slashed (if any)."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + set_invulnerables { + invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32>, + }, + #[codec(index = 15)] + #[doc = "Force a current staker to become completely unstaked, immediately."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + force_unstake { + stash: ::subxt::utils::AccountId32, + num_slashing_spans: ::core::primitive::u32, + }, + #[codec(index = 16)] + #[doc = "Force there to be a new era at the end of sessions indefinitely."] + #[doc = ""] + #[doc = "The dispatch origin must be Root."] + #[doc = ""] + #[doc = "# Warning"] + #[doc = ""] + #[doc = "The election process starts multiple blocks before the end of the era."] + #[doc = "If this is called just before a new era is triggered, the election process may not"] + #[doc = "have enough blocks to get a result."] + force_new_era_always, + #[codec(index = 17)] + #[doc = "Cancel enactment of a deferred slash."] + #[doc = ""] + #[doc = "Can be called by the `T::AdminOrigin`."] + #[doc = ""] + #[doc = "Parameters: era and indices of the slashes for that era to kill."] + cancel_deferred_slash { + era: ::core::primitive::u32, + slash_indices: ::std::vec::Vec<::core::primitive::u32>, + }, + #[codec(index = 18)] + #[doc = "Pay out all the stakers behind a single validator for a single era."] + #[doc = ""] + #[doc = "- `validator_stash` is the stash account of the validator. Their nominators, up to"] + #[doc = " `T::MaxNominatorRewardedPerValidator`, will also receive their rewards."] + #[doc = "- `era` may be any era between `[current_era - history_depth; current_era]`."] + #[doc = ""] + #[doc = "The origin of this call must be _Signed_. Any account can call this function, even if"] + #[doc = "it is not one of the stakers."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- At most O(MaxNominatorRewardedPerValidator)."] + payout_stakers { + validator_stash: ::subxt::utils::AccountId32, + era: ::core::primitive::u32, + }, + #[codec(index = 19)] + #[doc = "Rebond a portion of the stash scheduled to be unlocked."] + #[doc = ""] + #[doc = "The dispatch origin must be signed by the controller."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- Time complexity: O(L), where L is unlocking chunks"] + #[doc = "- Bounded by `MaxUnlockingChunks`."] + rebond { + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 20)] + #[doc = "Remove all data structures concerning a staker/stash once it is at a state where it can"] + #[doc = "be considered `dust` in the staking system. The requirements are:"] + #[doc = ""] + #[doc = "1. the `total_balance` of the stash is below existential deposit."] + #[doc = "2. or, the `ledger.total` of the stash is below existential deposit."] + #[doc = ""] + #[doc = "The former can happen in cases like a slash; the latter when a fully unbonded account"] + #[doc = "is still receiving staking rewards in `RewardDestination::Staked`."] + #[doc = ""] + #[doc = "It can be called by anyone, as long as `stash` meets the above requirements."] + #[doc = ""] + #[doc = "Refunds the transaction fees upon successful execution."] + reap_stash { + stash: ::subxt::utils::AccountId32, + num_slashing_spans: ::core::primitive::u32, + }, + #[codec(index = 21)] + #[doc = "Remove the given nominations from the calling validator."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = ""] + #[doc = "- `who`: A list of nominator stash accounts who are nominating this validator which"] + #[doc = " should no longer be nominating this validator."] + #[doc = ""] + #[doc = "Note: Making this call only makes sense if you first set the validator preferences to"] + #[doc = "block any further nominations."] + kick { + who: ::std::vec::Vec< + ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + >, + }, + #[codec(index = 22)] + #[doc = "Update the various staking configurations ."] + #[doc = ""] + #[doc = "* `min_nominator_bond`: The minimum active bond needed to be a nominator."] + #[doc = "* `min_validator_bond`: The minimum active bond needed to be a validator."] + #[doc = "* `max_nominator_count`: The max number of users who can be a nominator at once. When"] + #[doc = " set to `None`, no limit is enforced."] + #[doc = "* `max_validator_count`: The max number of users who can be a validator at once. When"] + #[doc = " set to `None`, no limit is enforced."] + #[doc = "* `chill_threshold`: The ratio of `max_nominator_count` or `max_validator_count` which"] + #[doc = " should be filled in order for the `chill_other` transaction to work."] + #[doc = "* `min_commission`: The minimum amount of commission that each validators must maintain."] + #[doc = " This is checked only upon calling `validate`. Existing validators are not affected."] + #[doc = ""] + #[doc = "RuntimeOrigin must be Root to call this function."] + #[doc = ""] + #[doc = "NOTE: Existing nominators and validators will not be affected by this update."] + #[doc = "to kick people under the new limits, `chill_other` should be called."] + set_staking_configs { + min_nominator_bond: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + min_validator_bond: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u128, + >, + max_nominator_count: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u32, + >, + max_validator_count: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + ::core::primitive::u32, + >, + chill_threshold: + runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Percent, + >, + min_commission: runtime_types::pallet_staking::pallet::pallet::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + }, + #[codec(index = 23)] + #[doc = "Declare a `controller` to stop participating as either a validator or nominator."] + #[doc = ""] + #[doc = "Effects will be felt at the beginning of the next era."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_, but can be called by anyone."] + #[doc = ""] + #[doc = "If the caller is the same as the controller being targeted, then no further checks are"] + #[doc = "enforced, and this function behaves just like `chill`."] + #[doc = ""] + #[doc = "If the caller is different than the controller being targeted, the following conditions"] + #[doc = "must be met:"] + #[doc = ""] + #[doc = "* `controller` must belong to a nominator who has become non-decodable,"] + #[doc = ""] + #[doc = "Or:"] + #[doc = ""] + #[doc = "* A `ChillThreshold` must be set and checked which defines how close to the max"] + #[doc = " nominators or validators we must reach before users can start chilling one-another."] + #[doc = "* A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine"] + #[doc = " how close we are to the threshold."] + #[doc = "* A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines"] + #[doc = " if this is a person that should be chilled because they have not met the threshold"] + #[doc = " bond required."] + #[doc = ""] + #[doc = "This can be helpful if bond requirements are updated, and we need to remove old users"] + #[doc = "who do not satisfy these requirements."] + chill_other { + controller: ::subxt::utils::AccountId32, + }, + #[codec(index = 24)] + #[doc = "Force a validator to have at least the minimum commission. This will not affect a"] + #[doc = "validator who already has a commission greater than or equal to the minimum. Any account"] + #[doc = "can call this."] + force_apply_min_commission { + validator_stash: ::subxt::utils::AccountId32, + }, + #[codec(index = 25)] + #[doc = "Sets the minimum amount of commission that each validators must maintain."] + #[doc = ""] + #[doc = "This call has lower privilege requirements than `set_staking_config` and can be called"] + #[doc = "by the `T::AdminOrigin`. Root can always call this."] + set_min_commission { + new: runtime_types::sp_arithmetic::per_things::Perbill, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ConfigOp<_0> { + #[codec(index = 0)] + Noop, + #[codec(index = 1)] + Set(_0), + #[codec(index = 2)] + Remove, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Not a controller account."] + NotController, + #[codec(index = 1)] + #[doc = "Not a stash account."] + NotStash, + #[codec(index = 2)] + #[doc = "Stash is already bonded."] + AlreadyBonded, + #[codec(index = 3)] + #[doc = "Controller is already paired."] + AlreadyPaired, + #[codec(index = 4)] + #[doc = "Targets cannot be empty."] + EmptyTargets, + #[codec(index = 5)] + #[doc = "Duplicate index."] + DuplicateIndex, + #[codec(index = 6)] + #[doc = "Slash record index out of bounds."] + InvalidSlashIndex, + #[codec(index = 7)] + #[doc = "Cannot have a validator or nominator role, with value less than the minimum defined by"] + #[doc = "governance (see `MinValidatorBond` and `MinNominatorBond`). If unbonding is the"] + #[doc = "intention, `chill` first to remove one's role as validator/nominator."] + InsufficientBond, + #[codec(index = 8)] + #[doc = "Can not schedule more unlock chunks."] + NoMoreChunks, + #[codec(index = 9)] + #[doc = "Can not rebond without unlocking chunks."] + NoUnlockChunk, + #[codec(index = 10)] + #[doc = "Attempting to target a stash that still has funds."] + FundedTarget, + #[codec(index = 11)] + #[doc = "Invalid era to reward."] + InvalidEraToReward, + #[codec(index = 12)] + #[doc = "Invalid number of nominations."] + InvalidNumberOfNominations, + #[codec(index = 13)] + #[doc = "Items are not sorted and unique."] + NotSortedAndUnique, + #[codec(index = 14)] + #[doc = "Rewards for this era have already been claimed for this validator."] + AlreadyClaimed, + #[codec(index = 15)] + #[doc = "Incorrect previous history depth input provided."] + IncorrectHistoryDepth, + #[codec(index = 16)] + #[doc = "Incorrect number of slashing spans provided."] + IncorrectSlashingSpans, + #[codec(index = 17)] + #[doc = "Internal state has become somehow corrupted and the operation cannot continue."] + BadState, + #[codec(index = 18)] + #[doc = "Too many nomination targets supplied."] + TooManyTargets, + #[codec(index = 19)] + #[doc = "A nomination target was supplied that was blocked or otherwise not a validator."] + BadTarget, + #[codec(index = 20)] + #[doc = "The user has enough bond and thus cannot be chilled forcefully by an external person."] + CannotChillOther, + #[codec(index = 21)] + #[doc = "There are too many nominators in the system. Governance needs to adjust the staking"] + #[doc = "settings to keep things safe for the runtime."] + TooManyNominators, + #[codec(index = 22)] + #[doc = "There are too many validator candidates in the system. Governance needs to adjust the"] + #[doc = "staking settings to keep things safe for the runtime."] + TooManyValidators, + #[codec(index = 23)] + #[doc = "Commission is too low. Must be at least `MinCommission`."] + CommissionTooLow, + #[codec(index = 24)] + #[doc = "Some bound is not met."] + BoundNotMet, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "The era payout has been set; the first balance is the validator-payout; the second is"] + #[doc = "the remainder from the maximum amount of reward."] + EraPaid { + era_index: ::core::primitive::u32, + validator_payout: ::core::primitive::u128, + remainder: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "The nominator has been rewarded by this amount."] + Rewarded { + stash: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "A staker (validator or nominator) has been slashed by the given amount."] + Slashed { + staker: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "A slash for the given validator, for the given percentage of their stake, at the given"] + #[doc = "era as been reported."] + SlashReported { + validator: ::subxt::utils::AccountId32, + fraction: runtime_types::sp_arithmetic::per_things::Perbill, + slash_era: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "An old slashing report from a prior era was discarded because it could"] + #[doc = "not be processed."] + OldSlashingReportDiscarded { + session_index: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "A new set of stakers was elected."] + StakersElected, + #[codec(index = 6)] + #[doc = "An account has bonded this amount. \\[stash, amount\\]"] + #[doc = ""] + #[doc = "NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,"] + #[doc = "it will not be emitted for staking rewards when they are added to stake."] + Bonded { + stash: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 7)] + #[doc = "An account has unbonded this amount."] + Unbonded { + stash: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 8)] + #[doc = "An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`"] + #[doc = "from the unlocking queue."] + Withdrawn { + stash: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 9)] + #[doc = "A nominator has been kicked from a validator."] + Kicked { + nominator: ::subxt::utils::AccountId32, + stash: ::subxt::utils::AccountId32, + }, + #[codec(index = 10)] + #[doc = "The election failed. No new era is planned."] + StakingElectionFailed, + #[codec(index = 11)] + #[doc = "An account has stopped participating as either a validator or nominator."] + Chilled { stash: ::subxt::utils::AccountId32 }, + #[codec(index = 12)] + #[doc = "The stakers' rewards are getting paid."] + PayoutStarted { + era_index: ::core::primitive::u32, + validator_stash: ::subxt::utils::AccountId32, + }, + #[codec(index = 13)] + #[doc = "A validator has set their preferences."] + ValidatorPrefsSet { + stash: ::subxt::utils::AccountId32, + prefs: runtime_types::pallet_staking::ValidatorPrefs, + }, + #[codec(index = 14)] + #[doc = "A new force era mode was set."] + ForceEra { + mode: runtime_types::pallet_staking::Forcing, + }, + } + } + } + pub mod slashing { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SlashingSpans { + pub span_index: ::core::primitive::u32, + pub last_start: ::core::primitive::u32, + pub last_nonzero_slash: ::core::primitive::u32, + pub prior: ::std::vec::Vec<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SpanRecord<_0> { + pub slashed: _0, + pub paid_out: _0, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ActiveEraInfo { + pub index: ::core::primitive::u32, + pub start: ::core::option::Option<::core::primitive::u64>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct EraRewardPoints<_0> { + pub total: ::core::primitive::u32, + pub individual: ::subxt::utils::KeyedVec<_0, ::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Exposure<_0, _1> { + #[codec(compact)] + pub total: _1, + #[codec(compact)] + pub own: _1, + pub others: + ::std::vec::Vec>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Forcing { + #[codec(index = 0)] + NotForcing, + #[codec(index = 1)] + ForceNew, + #[codec(index = 2)] + ForceNone, + #[codec(index = 3)] + ForceAlways, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct IndividualExposure<_0, _1> { + pub who: _0, + #[codec(compact)] + pub value: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Nominations { + pub targets: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + pub submitted_in: ::core::primitive::u32, + pub suppressed: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RewardDestination<_0> { + #[codec(index = 0)] + Staked, + #[codec(index = 1)] + Stash, + #[codec(index = 2)] + Controller, + #[codec(index = 3)] + Account(_0), + #[codec(index = 4)] + None, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct StakingLedger { + pub stash: ::subxt::utils::AccountId32, + #[codec(compact)] + pub total: ::core::primitive::u128, + #[codec(compact)] + pub active: ::core::primitive::u128, + pub unlocking: runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_staking::UnlockChunk<::core::primitive::u128>, + >, + pub claimed_rewards: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UnappliedSlash<_0, _1> { + pub validator: _0, + pub own: _1, + pub others: ::std::vec::Vec<(_0, _1)>, + pub reporters: ::std::vec::Vec<_0>, + pub payout: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UnlockChunk<_0> { + #[codec(compact)] + pub value: _0, + #[codec(compact)] + pub era: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidatorPrefs { + #[codec(compact)] + pub commission: runtime_types::sp_arithmetic::per_things::Perbill, + pub blocked: ::core::primitive::bool, + } + } + pub mod pallet_sudo { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + sudo { + call: ::std::boxed::Box, + }, + #[codec(index = 1)] + #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] + #[doc = "This function does not check the weight of the call, and instead allows the"] + #[doc = "Sudo user to specify the weight of the call."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + sudo_unchecked_weight { + call: ::std::boxed::Box, + weight: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 2)] + #[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"] + #[doc = "key."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + set_key { + new: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 3)] + #[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"] + #[doc = "a given account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + sudo_as { + who: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + call: ::std::boxed::Box, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Error for the Sudo pallet"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Sender must be the Sudo account"] + RequireSudo, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A sudo just took place. \\[result\\]"] + Sudid { + sudo_result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + }, + #[codec(index = 1)] + #[doc = "The \\[sudoer\\] just switched identity; the old key is supplied if one existed."] + KeyChanged { + old_sudoer: ::core::option::Option<::subxt::utils::AccountId32>, + }, + #[codec(index = 2)] + #[doc = "A sudo just took place. \\[result\\]"] + SudoAsDone { + sudo_result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + }, + } + } + } + pub mod pallet_timestamp { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Set the current time."] + #[doc = ""] + #[doc = "This call should be invoked exactly once per block. It will panic at the finalization"] + #[doc = "phase, if this call hasn't been invoked by that time."] + #[doc = ""] + #[doc = "The timestamp should be greater than the previous one by the amount specified by"] + #[doc = "`MinimumPeriod`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be `Inherent`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"] + #[doc = "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in"] + #[doc = " `on_finalize`)"] + #[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."] + set { + #[codec(compact)] + now: ::core::primitive::u64, + }, + } + } + } + pub mod pallet_transaction_payment { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] + #[doc = "has been paid by `who`."] + TransactionFeePaid { + who: ::subxt::utils::AccountId32, + actual_fee: ::core::primitive::u128, + tip: ::core::primitive::u128, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ChargeTransactionPayment(#[codec(compact)] pub ::core::primitive::u128); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Releases { + #[codec(index = 0)] + V1Ancient, + #[codec(index = 1)] + V2, + } + } + pub mod pallet_treasury { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Put forward a suggestion for spending. A deposit proportional to the value"] + #[doc = "is reserved and slashed if the proposal is rejected. It is returned once the"] + #[doc = "proposal is awarded."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)"] + propose_spend { + #[codec(compact)] + value: ::core::primitive::u128, + beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 1)] + #[doc = "Reject a proposed spend. The original deposit will be slashed."] + #[doc = ""] + #[doc = "May only be called from `T::RejectOrigin`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)"] + reject_proposal { + #[codec(compact)] + proposal_id: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Approve a proposal. At a later time, the proposal will be allocated to the beneficiary"] + #[doc = "and the original deposit will be returned."] + #[doc = ""] + #[doc = "May only be called from `T::ApproveOrigin`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = " - O(1)."] + approve_proposal { + #[codec(compact)] + proposal_id: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Propose and approve a spend of treasury funds."] + #[doc = ""] + #[doc = "- `origin`: Must be `SpendOrigin` with the `Success` value being at least `amount`."] + #[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."] + #[doc = "- `beneficiary`: The destination account for the transfer."] + #[doc = ""] + #[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"] + #[doc = "beneficiary."] + spend { + #[codec(compact)] + amount: ::core::primitive::u128, + beneficiary: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + }, + #[codec(index = 4)] + #[doc = "Force a previously approved proposal to be removed from the approval queue."] + #[doc = "The original deposit will no longer be returned."] + #[doc = ""] + #[doc = "May only be called from `T::RejectOrigin`."] + #[doc = "- `proposal_id`: The index of a proposal"] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(A) where `A` is the number of approvals"] + #[doc = ""] + #[doc = "Errors:"] + #[doc = "- `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue,"] + #[doc = "i.e., the proposal has not been approved. This could also mean the proposal does not"] + #[doc = "exist altogether, thus there is no way it would have been approved in the first place."] + remove_approval { + #[codec(compact)] + proposal_id: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Error for the treasury pallet."] + pub enum Error { + #[codec(index = 0)] + #[doc = "Proposer's balance is too low."] + InsufficientProposersBalance, + #[codec(index = 1)] + #[doc = "No proposal or bounty at that index."] + InvalidIndex, + #[codec(index = 2)] + #[doc = "Too many approvals in the queue."] + TooManyApprovals, + #[codec(index = 3)] + #[doc = "The spend origin is valid but the amount it is allowed to spend is lower than the"] + #[doc = "amount to be spent."] + InsufficientPermission, + #[codec(index = 4)] + #[doc = "Proposal has not been approved."] + ProposalNotApproved, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "New proposal."] + Proposed { + proposal_index: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "We have ended a spend period and will now allocate funds."] + Spending { + budget_remaining: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Some funds have been allocated."] + Awarded { + proposal_index: ::core::primitive::u32, + award: ::core::primitive::u128, + account: ::subxt::utils::AccountId32, + }, + #[codec(index = 3)] + #[doc = "A proposal was rejected; funds were slashed."] + Rejected { + proposal_index: ::core::primitive::u32, + slashed: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Some of our funds have been burnt."] + Burnt { + burnt_funds: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "Spending has finished; this is the amount that rolls over until next spend."] + Rollover { + rollover_balance: ::core::primitive::u128, + }, + #[codec(index = 6)] + #[doc = "Some funds have been deposited."] + Deposit { value: ::core::primitive::u128 }, + #[codec(index = 7)] + #[doc = "A new spend proposal has been approved."] + SpendApproved { + proposal_index: ::core::primitive::u32, + amount: ::core::primitive::u128, + beneficiary: ::subxt::utils::AccountId32, + }, + #[codec(index = 8)] + #[doc = "The inactive funds of the pallet have been updated."] + UpdatedInactive { + reactivated: ::core::primitive::u128, + deactivated: ::core::primitive::u128, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Proposal<_0, _1> { + pub proposer: _0, + pub value: _1, + pub beneficiary: _0, + pub bond: _1, + } + } + pub mod pallet_utility { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Send a batch of dispatch calls."] + #[doc = ""] + #[doc = "May be called from any origin except `None`."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] + #[doc = ""] + #[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"] + #[doc = "event is deposited. If a call failed and the batch was interrupted, then the"] + #[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"] + #[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"] + #[doc = "event is deposited."] + batch { + calls: ::std::vec::Vec, + }, + #[codec(index = 1)] + #[doc = "Send a call through an indexed pseudonym of the sender."] + #[doc = ""] + #[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"] + #[doc = "use the same filter as the origin of this call."] + #[doc = ""] + #[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."] + #[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"] + #[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"] + #[doc = "in the Multisig pallet instead."] + #[doc = ""] + #[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + as_derivative { + index: ::core::primitive::u16, + call: ::std::boxed::Box, + }, + #[codec(index = 2)] + #[doc = "Send a batch of dispatch calls and atomically execute them."] + #[doc = "The whole transaction will rollback and fail if any of the calls failed."] + #[doc = ""] + #[doc = "May be called from any origin except `None`."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] + batch_all { + calls: ::std::vec::Vec, + }, + #[codec(index = 3)] + #[doc = "Dispatches a function call with a provided origin."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + dispatch_as { + as_origin: ::std::boxed::Box, + call: ::std::boxed::Box, + }, + #[codec(index = 4)] + #[doc = "Send a batch of dispatch calls."] + #[doc = "Unlike `batch`, it allows errors and won't interrupt."] + #[doc = ""] + #[doc = "May be called from any origin except `None`."] + #[doc = ""] + #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] + #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] + #[doc = ""] + #[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"] + #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(C) where C is the number of calls to be batched."] + force_batch { + calls: ::std::vec::Vec, + }, + #[codec(index = 5)] + #[doc = "Dispatch a function call with a specified weight."] + #[doc = ""] + #[doc = "This function does not check the weight of the call, and instead allows the"] + #[doc = "Root origin to specify the weight of the call."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + with_weight { + call: ::std::boxed::Box, + weight: runtime_types::sp_weights::weight_v2::Weight, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Too many calls batched."] + TooManyCalls, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] + #[doc = "well as the error."] + BatchInterrupted { + index: ::core::primitive::u32, + error: runtime_types::sp_runtime::DispatchError, + }, + #[codec(index = 1)] + #[doc = "Batch of dispatches completed fully with no error."] + BatchCompleted, + #[codec(index = 2)] + #[doc = "Batch of dispatches completed but has errors."] + BatchCompletedWithErrors, + #[codec(index = 3)] + #[doc = "A single item within a Batch of dispatches has completed with no error."] + ItemCompleted, + #[codec(index = 4)] + #[doc = "A single item within a Batch of dispatches has completed with error."] + ItemFailed { + error: runtime_types::sp_runtime::DispatchError, + }, + #[codec(index = 5)] + #[doc = "A call was dispatched."] + DispatchedAs { + result: + ::core::result::Result<(), runtime_types::sp_runtime::DispatchError>, + }, + } + } + } + pub mod pallet_validator_manager { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Add new validators to the set."] + #[doc = ""] + #[doc = "The new validators will be active from current session + 2."] + register_validators { + validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + }, + #[codec(index = 1)] + #[doc = "Remove validators from the set."] + #[doc = ""] + #[doc = "The removed validators will be deactivated from current session + 2."] + deregister_validators { + validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "New validators were added to the set."] + ValidatorsRegistered(::std::vec::Vec<::subxt::utils::AccountId32>), + #[codec(index = 1)] + #[doc = "Validators were removed from the set."] + ValidatorsDeregistered(::std::vec::Vec<::subxt::utils::AccountId32>), + } + } + } + pub mod pallet_vote_manager { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;"] + #[doc = "otherwise it is a vote to keep the status quo."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `poll_index`: The index of the poll to vote for."] + #[doc = "- `vote`: The vote configuration."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of polls the voter has voted on."] + vote { + #[codec(compact)] + poll_index: ::core::primitive::u32, + vote: runtime_types::pallet_conviction_voting::vote::AccountVote< + ::core::primitive::u128, + >, + currency: runtime_types::pallet_vote_manager::types::VoteCurrency< + ::core::primitive::u128, + >, + }, + #[codec(index = 1)] + #[doc = "Remove a vote for a poll."] + #[doc = ""] + #[doc = "If:"] + #[doc = "- the poll was cancelled, or"] + #[doc = "- the poll is ongoing, or"] + #[doc = "- the poll has ended such that"] + #[doc = " - the vote of the account was in opposition to the result; or"] + #[doc = " - there was no conviction to the account's vote; or"] + #[doc = " - the account made a split vote"] + #[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"] + #[doc = "funds being available."] + #[doc = ""] + #[doc = "If, however, the poll has ended and:"] + #[doc = "- it finished corresponding to the vote of the account, and"] + #[doc = "- the account made a standard vote with conviction, and"] + #[doc = "- the lock period of the conviction is not over"] + #[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"] + #[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"] + #[doc = "of both the amount locked and the time is it locked for)."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"] + #[doc = "registered for poll `index`."] + #[doc = ""] + #[doc = "- `index`: The index of poll of the vote to be removed."] + #[doc = "- `class`: Optional parameter, if given it indicates the class of the poll. For polls"] + #[doc = " which have finished or are cancelled, this must be `Some`."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + remove_vote { + class: ::core::option::Option<::core::primitive::u16>, + index: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Remove a vote for a poll."] + #[doc = ""] + #[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"] + #[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"] + #[doc = "either because the poll was cancelled, because the voter lost the poll or"] + #[doc = "because the conviction period is over."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account of the vote to be removed; this account must have voted for poll"] + #[doc = " `index`."] + #[doc = "- `index`: The index of poll of the vote to be removed."] + #[doc = "- `class`: The class of the poll."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of polls that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + remove_other_vote { + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + class: ::core::primitive::u16, + index: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Remove the lock caused by prior voting/delegating which has expired within a particular"] + #[doc = "class."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `class`: The class of polls to unlock."] + #[doc = "- `target`: The account to remove the lock on."] + #[doc = ""] + #[doc = "Weight: `O(R)` with R number of vote of target."] + unlock { + class: ::core::primitive::u16, + target: ::subxt::utils::MultiAddress<::subxt::utils::AccountId32, ()>, + index: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The account is already delegating their vote."] + AlreadyDelegating, + #[codec(index = 1)] + #[doc = "The account has insufficient funds to cast the vote."] + InsufficientFunds, + #[codec(index = 2)] + #[doc = "The maximum number of votes for this referendum has been reached."] + NotOngoing, + #[codec(index = 3)] + #[doc = "The account is not a registered voter for the referendum."] + NotVoter, + #[codec(index = 4)] + #[doc = "The account does not have permission to perform the operation."] + NoPermission, + #[codec(index = 5)] + #[doc = "The vote unlock information was not found."] + UnlockVoteNotFound, + #[codec(index = 6)] + #[doc = "The unlock period for the vote has not yet passed."] + UnlockPeriodNotPassed, + #[codec(index = 7)] + #[doc = "Max votes exceeded"] + MaxVotesReached, + #[codec(index = 8)] + #[doc = "Class info missing"] + ClassNeeded, + #[codec(index = 9)] + #[doc = "The account does not have permission, usually related to unlock periods"] + NoPermissionYet, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "An account has voted in a referendum"] + Voted { + voter: ::subxt::utils::AccountId32, + poll_index: ::core::primitive::u32, + vote: runtime_types::pallet_conviction_voting::vote::AccountVote< + ::core::primitive::u128, + >, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BalanceToUnlock<_0, _1, _2> { + pub balance: _0, + pub currency: runtime_types::pallet_vote_manager::types::VoteCurrency<_0>, + pub unlocks_at: _2, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum VoteCurrency<_0> { + #[codec(index = 0)] + Enj, + #[codec(index = 1)] + SEnj(_0), + } + } + } + pub mod pallet_whitelist { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + whitelist_call { call_hash: ::subxt::utils::H256 }, + #[codec(index = 1)] + remove_whitelisted_call { call_hash: ::subxt::utils::H256 }, + #[codec(index = 2)] + dispatch_whitelisted_call { + call_hash: ::subxt::utils::H256, + call_encoded_len: ::core::primitive::u32, + call_weight_witness: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 3)] + dispatch_whitelisted_call_with_preimage { + call: ::std::boxed::Box, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The preimage of the call hash could not be loaded."] + UnavailablePreImage, + #[codec(index = 1)] + #[doc = "The call could not be decoded."] + UndecodableCall, + #[codec(index = 2)] + #[doc = "The weight of the decoded call was higher than the witness."] + InvalidCallWeightWitness, + #[codec(index = 3)] + #[doc = "The call was not whitelisted."] + CallIsNotWhitelisted, + #[codec(index = 4)] + #[doc = "The call was already whitelisted; No-Op."] + CallAlreadyWhitelisted, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + CallWhitelisted { call_hash: ::subxt::utils::H256 }, + #[codec(index = 1)] + WhitelistedCallRemoved { call_hash: ::subxt::utils::H256 }, + #[codec(index = 2)] + WhitelistedCallDispatched { + call_hash: ::subxt::utils::H256, + result: ::core::result::Result< + runtime_types::frame_support::dispatch::PostDispatchInfo, + runtime_types::sp_runtime::DispatchErrorWithPostInfo< + runtime_types::frame_support::dispatch::PostDispatchInfo, + >, + >, + }, + } + } + } + pub mod pallet_xcm { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + send { + dest: ::std::boxed::Box, + message: ::std::boxed::Box, + }, + #[codec(index = 1)] + #[doc = "Teleport some assets from the local chain to some destination chain."] + #[doc = ""] + #[doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] + #[doc = "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,"] + #[doc = "with all fees taken as needed from the asset."] + #[doc = ""] + #[doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] + #[doc = "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send"] + #[doc = " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain."] + #[doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be"] + #[doc = " an `AccountId32` value."] + #[doc = "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the"] + #[doc = " `dest` side. May not be empty."] + #[doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] + #[doc = " fees."] + teleport_assets { + dest: ::std::boxed::Box, + beneficiary: ::std::boxed::Box, + assets: ::std::boxed::Box, + fee_asset_item: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Transfer some assets from the local chain to the sovereign account of a destination"] + #[doc = "chain and forward a notification XCM."] + #[doc = ""] + #[doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] + #[doc = "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,"] + #[doc = "with all fees taken as needed from the asset."] + #[doc = ""] + #[doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] + #[doc = "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send"] + #[doc = " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain."] + #[doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be"] + #[doc = " an `AccountId32` value."] + #[doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the"] + #[doc = " `dest` side."] + #[doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] + #[doc = " fees."] + reserve_transfer_assets { + dest: ::std::boxed::Box, + beneficiary: ::std::boxed::Box, + assets: ::std::boxed::Box, + fee_asset_item: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Execute an XCM message from a local, signed, origin."] + #[doc = ""] + #[doc = "An event is deposited indicating whether `msg` could be executed completely or only"] + #[doc = "partially."] + #[doc = ""] + #[doc = "No more than `max_weight` will be used in its attempted execution. If this is less than the"] + #[doc = "maximum amount of weight that the message could take to be executed, then no execution"] + #[doc = "attempt will be made."] + #[doc = ""] + #[doc = "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully"] + #[doc = "to completion; only that *some* of it was executed."] + execute { + message: ::std::boxed::Box, + max_weight: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 4)] + #[doc = "Extoll that a particular destination can be communicated with through a particular"] + #[doc = "version of XCM."] + #[doc = ""] + #[doc = "- `origin`: Must be an origin specified by AdminOrigin."] + #[doc = "- `location`: The destination that is being described."] + #[doc = "- `xcm_version`: The latest version of XCM that `location` supports."] + force_xcm_version { + location: + ::std::boxed::Box, + xcm_version: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "Set a safe XCM version (the version that XCM should be encoded with if the most recent"] + #[doc = "version a destination can accept is unknown)."] + #[doc = ""] + #[doc = "- `origin`: Must be an origin specified by AdminOrigin."] + #[doc = "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable."] + force_default_xcm_version { + maybe_xcm_version: ::core::option::Option<::core::primitive::u32>, + }, + #[codec(index = 6)] + #[doc = "Ask a location to notify us regarding their XCM version and any changes to it."] + #[doc = ""] + #[doc = "- `origin`: Must be an origin specified by AdminOrigin."] + #[doc = "- `location`: The location to which we should subscribe for XCM version notifications."] + force_subscribe_version_notify { + location: ::std::boxed::Box, + }, + #[codec(index = 7)] + #[doc = "Require that a particular destination should no longer notify us regarding any XCM"] + #[doc = "version changes."] + #[doc = ""] + #[doc = "- `origin`: Must be an origin specified by AdminOrigin."] + #[doc = "- `location`: The location to which we are currently subscribed for XCM version"] + #[doc = " notifications which we no longer desire."] + force_unsubscribe_version_notify { + location: ::std::boxed::Box, + }, + #[codec(index = 8)] + #[doc = "Transfer some assets from the local chain to the sovereign account of a destination"] + #[doc = "chain and forward a notification XCM."] + #[doc = ""] + #[doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] + #[doc = "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight"] + #[doc = "is needed than `weight_limit`, then the operation will fail and the assets send may be"] + #[doc = "at risk."] + #[doc = ""] + #[doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] + #[doc = "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send"] + #[doc = " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain."] + #[doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be"] + #[doc = " an `AccountId32` value."] + #[doc = "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the"] + #[doc = " `dest` side."] + #[doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] + #[doc = " fees."] + #[doc = "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase."] + limited_reserve_transfer_assets { + dest: ::std::boxed::Box, + beneficiary: ::std::boxed::Box, + assets: ::std::boxed::Box, + fee_asset_item: ::core::primitive::u32, + weight_limit: runtime_types::xcm::v3::WeightLimit, + }, + #[codec(index = 9)] + #[doc = "Teleport some assets from the local chain to some destination chain."] + #[doc = ""] + #[doc = "Fee payment on the destination side is made from the asset in the `assets` vector of"] + #[doc = "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight"] + #[doc = "is needed than `weight_limit`, then the operation will fail and the assets send may be"] + #[doc = "at risk."] + #[doc = ""] + #[doc = "- `origin`: Must be capable of withdrawing the `assets` and executing XCM."] + #[doc = "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send"] + #[doc = " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain."] + #[doc = "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be"] + #[doc = " an `AccountId32` value."] + #[doc = "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the"] + #[doc = " `dest` side. May not be empty."] + #[doc = "- `fee_asset_item`: The index into `assets` of the item which should be used to pay"] + #[doc = " fees."] + #[doc = "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase."] + limited_teleport_assets { + dest: ::std::boxed::Box, + beneficiary: ::std::boxed::Box, + assets: ::std::boxed::Box, + fee_asset_item: ::core::primitive::u32, + weight_limit: runtime_types::xcm::v3::WeightLimit, + }, + #[codec(index = 10)] + #[doc = "Set or unset the global suspension state of the XCM executor."] + #[doc = ""] + #[doc = "- `origin`: Must be an origin specified by AdminOrigin."] + #[doc = "- `suspended`: `true` to suspend, `false` to resume."] + force_suspension { suspended: ::core::primitive::bool }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The desired destination was unreachable, generally because there is a no way of routing"] + #[doc = "to it."] + Unreachable, + #[codec(index = 1)] + #[doc = "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps"] + #[doc = "a lack of space for buffering the message."] + SendFailure, + #[codec(index = 2)] + #[doc = "The message execution fails the filter."] + Filtered, + #[codec(index = 3)] + #[doc = "The message's weight could not be determined."] + UnweighableMessage, + #[codec(index = 4)] + #[doc = "The destination `MultiLocation` provided cannot be inverted."] + DestinationNotInvertible, + #[codec(index = 5)] + #[doc = "The assets to be sent are empty."] + Empty, + #[codec(index = 6)] + #[doc = "Could not re-anchor the assets to declare the fees for the destination chain."] + CannotReanchor, + #[codec(index = 7)] + #[doc = "Too many assets have been attempted for transfer."] + TooManyAssets, + #[codec(index = 8)] + #[doc = "Origin is invalid for sending."] + InvalidOrigin, + #[codec(index = 9)] + #[doc = "The version of the `Versioned` value used is not able to be interpreted."] + BadVersion, + #[codec(index = 10)] + #[doc = "The given location could not be used (e.g. because it cannot be expressed in the"] + #[doc = "desired version of XCM)."] + BadLocation, + #[codec(index = 11)] + #[doc = "The referenced subscription could not be found."] + NoSubscription, + #[codec(index = 12)] + #[doc = "The location is invalid since it already has a subscription from us."] + AlreadySubscribed, + #[codec(index = 13)] + #[doc = "Invalid asset for the operation."] + InvalidAsset, + #[codec(index = 14)] + #[doc = "The owner does not own (all) of the asset that they wish to do the operation on."] + LowBalance, + #[codec(index = 15)] + #[doc = "The asset owner has too many locks on the asset."] + TooManyLocks, + #[codec(index = 16)] + #[doc = "The given account is not an identifiable sovereign account for any location."] + AccountNotSovereign, + #[codec(index = 17)] + #[doc = "The operation required fees to be paid which the initiator could not meet."] + FeesNotMet, + #[codec(index = 18)] + #[doc = "A remote lock with the corresponding data could not be found."] + LockNotFound, + #[codec(index = 19)] + #[doc = "The unlock operation cannot succeed because there are still consumers of the lock."] + InUse, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Execution of an XCM message was attempted."] + #[doc = ""] + #[doc = "\\[ outcome \\]"] + Attempted(runtime_types::xcm::v3::traits::Outcome), + #[codec(index = 1)] + #[doc = "A XCM message was sent."] + #[doc = ""] + #[doc = "\\[ origin, destination, message \\]"] + Sent( + runtime_types::xcm::v3::multilocation::MultiLocation, + runtime_types::xcm::v3::multilocation::MultiLocation, + runtime_types::xcm::v3::Xcm, + ), + #[codec(index = 2)] + #[doc = "Query response received which does not match a registered query. This may be because a"] + #[doc = "matching query was never registered, it may be because it is a duplicate response, or"] + #[doc = "because the query timed out."] + #[doc = ""] + #[doc = "\\[ origin location, id \\]"] + UnexpectedResponse( + runtime_types::xcm::v3::multilocation::MultiLocation, + ::core::primitive::u64, + ), + #[codec(index = 3)] + #[doc = "Query response has been received and is ready for taking with `take_response`. There is"] + #[doc = "no registered notification call."] + #[doc = ""] + #[doc = "\\[ id, response \\]"] + ResponseReady(::core::primitive::u64, runtime_types::xcm::v3::Response), + #[codec(index = 4)] + #[doc = "Query response has been received and query is removed. The registered notification has"] + #[doc = "been dispatched and executed successfully."] + #[doc = ""] + #[doc = "\\[ id, pallet index, call index \\]"] + Notified( + ::core::primitive::u64, + ::core::primitive::u8, + ::core::primitive::u8, + ), + #[codec(index = 5)] + #[doc = "Query response has been received and query is removed. The registered notification could"] + #[doc = "not be dispatched because the dispatch weight is greater than the maximum weight"] + #[doc = "originally budgeted by this runtime for the query result."] + #[doc = ""] + #[doc = "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]"] + NotifyOverweight( + ::core::primitive::u64, + ::core::primitive::u8, + ::core::primitive::u8, + runtime_types::sp_weights::weight_v2::Weight, + runtime_types::sp_weights::weight_v2::Weight, + ), + #[codec(index = 6)] + #[doc = "Query response has been received and query is removed. There was a general error with"] + #[doc = "dispatching the notification call."] + #[doc = ""] + #[doc = "\\[ id, pallet index, call index \\]"] + NotifyDispatchError( + ::core::primitive::u64, + ::core::primitive::u8, + ::core::primitive::u8, + ), + #[codec(index = 7)] + #[doc = "Query response has been received and query is removed. The dispatch was unable to be"] + #[doc = "decoded into a `Call`; this might be due to dispatch function having a signature which"] + #[doc = "is not `(origin, QueryId, Response)`."] + #[doc = ""] + #[doc = "\\[ id, pallet index, call index \\]"] + NotifyDecodeFailed( + ::core::primitive::u64, + ::core::primitive::u8, + ::core::primitive::u8, + ), + #[codec(index = 8)] + #[doc = "Expected query response has been received but the origin location of the response does"] + #[doc = "not match that expected. The query remains registered for a later, valid, response to"] + #[doc = "be received and acted upon."] + #[doc = ""] + #[doc = "\\[ origin location, id, expected location \\]"] + InvalidResponder( + runtime_types::xcm::v3::multilocation::MultiLocation, + ::core::primitive::u64, + ::core::option::Option< + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + ), + #[codec(index = 9)] + #[doc = "Expected query response has been received but the expected origin location placed in"] + #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] + #[doc = ""] + #[doc = "This is unexpected (since a location placed in storage in a previously executing"] + #[doc = "runtime should be readable prior to query timeout) and dangerous since the possibly"] + #[doc = "valid response will be dropped. Manual governance intervention is probably going to be"] + #[doc = "needed."] + #[doc = ""] + #[doc = "\\[ origin location, id \\]"] + InvalidResponderVersion( + runtime_types::xcm::v3::multilocation::MultiLocation, + ::core::primitive::u64, + ), + #[codec(index = 10)] + #[doc = "Received query response has been read and removed."] + #[doc = ""] + #[doc = "\\[ id \\]"] + ResponseTaken(::core::primitive::u64), + #[codec(index = 11)] + #[doc = "Some assets have been placed in an asset trap."] + #[doc = ""] + #[doc = "\\[ hash, origin, assets \\]"] + AssetsTrapped( + ::subxt::utils::H256, + runtime_types::xcm::v3::multilocation::MultiLocation, + runtime_types::xcm::VersionedMultiAssets, + ), + #[codec(index = 12)] + #[doc = "An XCM version change notification message has been attempted to be sent."] + #[doc = ""] + #[doc = "The cost of sending it (borne by the chain) is included."] + #[doc = ""] + #[doc = "\\[ destination, result, cost \\]"] + VersionChangeNotified( + runtime_types::xcm::v3::multilocation::MultiLocation, + ::core::primitive::u32, + runtime_types::xcm::v3::multiasset::MultiAssets, + ), + #[codec(index = 13)] + #[doc = "The supported version of a location has been changed. This might be through an"] + #[doc = "automatic notification or a manual intervention."] + #[doc = ""] + #[doc = "\\[ location, XCM version \\]"] + SupportedVersionChanged( + runtime_types::xcm::v3::multilocation::MultiLocation, + ::core::primitive::u32, + ), + #[codec(index = 14)] + #[doc = "A given location which had a version change subscription was dropped owing to an error"] + #[doc = "sending the notification to it."] + #[doc = ""] + #[doc = "\\[ location, query ID, error \\]"] + NotifyTargetSendFail( + runtime_types::xcm::v3::multilocation::MultiLocation, + ::core::primitive::u64, + runtime_types::xcm::v3::traits::Error, + ), + #[codec(index = 15)] + #[doc = "A given location which had a version change subscription was dropped owing to an error"] + #[doc = "migrating the location to our new XCM format."] + #[doc = ""] + #[doc = "\\[ location, query ID \\]"] + NotifyTargetMigrationFail( + runtime_types::xcm::VersionedMultiLocation, + ::core::primitive::u64, + ), + #[codec(index = 16)] + #[doc = "Expected query response has been received but the expected querier location placed in"] + #[doc = "storage by this runtime previously cannot be decoded. The query remains registered."] + #[doc = ""] + #[doc = "This is unexpected (since a location placed in storage in a previously executing"] + #[doc = "runtime should be readable prior to query timeout) and dangerous since the possibly"] + #[doc = "valid response will be dropped. Manual governance intervention is probably going to be"] + #[doc = "needed."] + #[doc = ""] + #[doc = "\\[ origin location, id \\]"] + InvalidQuerierVersion( + runtime_types::xcm::v3::multilocation::MultiLocation, + ::core::primitive::u64, + ), + #[codec(index = 17)] + #[doc = "Expected query response has been received but the querier location of the response does"] + #[doc = "not match the expected. The query remains registered for a later, valid, response to"] + #[doc = "be received and acted upon."] + #[doc = ""] + #[doc = "\\[ origin location, id, expected querier, maybe actual querier \\]"] + InvalidQuerier( + runtime_types::xcm::v3::multilocation::MultiLocation, + ::core::primitive::u64, + runtime_types::xcm::v3::multilocation::MultiLocation, + ::core::option::Option< + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + ), + #[codec(index = 18)] + #[doc = "A remote has requested XCM version change notification from us and we have honored it."] + #[doc = "A version information message is sent to them and its cost is included."] + #[doc = ""] + #[doc = "\\[ destination location, cost \\]"] + VersionNotifyStarted( + runtime_types::xcm::v3::multilocation::MultiLocation, + runtime_types::xcm::v3::multiasset::MultiAssets, + ), + #[codec(index = 19)] + #[doc = "We have requested that a remote chain sends us XCM version change notifications."] + #[doc = ""] + #[doc = "\\[ destination location, cost \\]"] + VersionNotifyRequested( + runtime_types::xcm::v3::multilocation::MultiLocation, + runtime_types::xcm::v3::multiasset::MultiAssets, + ), + #[codec(index = 20)] + #[doc = "We have requested that a remote chain stops sending us XCM version change notifications."] + #[doc = ""] + #[doc = "\\[ destination location, cost \\]"] + VersionNotifyUnrequested( + runtime_types::xcm::v3::multilocation::MultiLocation, + runtime_types::xcm::v3::multiasset::MultiAssets, + ), + #[codec(index = 21)] + #[doc = "Fees were paid from a location for an operation (often for using `SendXcm`)."] + #[doc = ""] + #[doc = "\\[ paying location, fees \\]"] + FeesPaid( + runtime_types::xcm::v3::multilocation::MultiLocation, + runtime_types::xcm::v3::multiasset::MultiAssets, + ), + #[codec(index = 22)] + #[doc = "Some assets have been claimed from an asset trap"] + #[doc = ""] + #[doc = "\\[ hash, origin, assets \\]"] + AssetsClaimed( + ::subxt::utils::H256, + runtime_types::xcm::v3::multilocation::MultiLocation, + runtime_types::xcm::VersionedMultiAssets, + ), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Origin { + #[codec(index = 0)] + Xcm(runtime_types::xcm::v3::multilocation::MultiLocation), + #[codec(index = 1)] + Response(runtime_types::xcm::v3::multilocation::MultiLocation), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum QueryStatus<_0> { + #[codec(index = 0)] + Pending { + responder: runtime_types::xcm::VersionedMultiLocation, + maybe_match_querier: + ::core::option::Option, + maybe_notify: + ::core::option::Option<(::core::primitive::u8, ::core::primitive::u8)>, + timeout: _0, + }, + #[codec(index = 1)] + VersionNotifier { + origin: runtime_types::xcm::VersionedMultiLocation, + is_active: ::core::primitive::bool, + }, + #[codec(index = 2)] + Ready { + response: runtime_types::xcm::VersionedResponse, + at: _0, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RemoteLockedFungibleRecord<_0> { + pub amount: ::core::primitive::u128, + pub owner: runtime_types::xcm::VersionedMultiLocation, + pub locker: runtime_types::xcm::VersionedMultiLocation, + pub consumers: runtime_types::bounded_collections::bounded_vec::BoundedVec<( + _0, + ::core::primitive::u128, + )>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum VersionMigrationStage { + #[codec(index = 0)] + MigrateSupportedVersion, + #[codec(index = 1)] + MigrateVersionNotifiers, + #[codec(index = 2)] + NotifyCurrentTargets( + ::core::option::Option<::std::vec::Vec<::core::primitive::u8>>, + ), + #[codec(index = 3)] + MigrateAndNotifyOldTargets, + } + } + } + pub mod polkadot_core_primitives { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CandidateHash(pub ::subxt::utils::H256); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InboundDownwardMessage<_0> { + pub sent_at: _0, + pub msg: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InboundHrmpMessage<_0> { + pub sent_at: _0, + pub data: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OutboundHrmpMessage<_0> { + pub recipient: _0, + pub data: ::std::vec::Vec<::core::primitive::u8>, + } + } + pub mod polkadot_parachain { + use super::runtime_types; + pub mod primitives { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HeadData(pub ::std::vec::Vec<::core::primitive::u8>); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HrmpChannelId { + pub sender: runtime_types::polkadot_parachain::primitives::Id, + pub recipient: runtime_types::polkadot_parachain::primitives::Id, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Id(pub ::core::primitive::u32); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidationCode(pub ::std::vec::Vec<::core::primitive::u8>); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidationCodeHash(pub ::subxt::utils::H256); + } + } + pub mod polkadot_primitives { + use super::runtime_types; + pub mod v4 { + use super::runtime_types; + pub mod assignment_app { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub runtime_types::sp_core::sr25519::Public); + } + pub mod collator_app { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub runtime_types::sp_core::sr25519::Public); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Signature(pub runtime_types::sp_core::sr25519::Signature); + } + pub mod executor_params { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ExecutorParam { + #[codec(index = 1)] + MaxMemoryPages(::core::primitive::u32), + #[codec(index = 2)] + StackLogicalMax(::core::primitive::u32), + #[codec(index = 3)] + StackNativeMax(::core::primitive::u32), + #[codec(index = 4)] + PrecheckingMaxMemory(::core::primitive::u64), + #[codec(index = 5)] + PvfPrepTimeout( + runtime_types::polkadot_primitives::v4::PvfPrepTimeoutKind, + ::core::primitive::u64, + ), + #[codec(index = 6)] + PvfExecTimeout( + runtime_types::polkadot_primitives::v4::PvfExecTimeoutKind, + ::core::primitive::u64, + ), + #[codec(index = 7)] + WasmExtBulkMemory, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExecutorParams( + pub ::std::vec::Vec< + runtime_types::polkadot_primitives::v4::executor_params::ExecutorParam, + >, + ); + } + pub mod signed { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UncheckedSigned<_0, _1> { + pub payload: _0, + pub validator_index: runtime_types::polkadot_primitives::v4::ValidatorIndex, + pub signature: + runtime_types::polkadot_primitives::v4::validator_app::Signature, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, + } + } + pub mod validator_app { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub runtime_types::sp_core::sr25519::Public); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Signature(pub runtime_types::sp_core::sr25519::Signature); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AvailabilityBitfield( + pub ::subxt::utils::bits::DecodedBits< + ::core::primitive::u8, + ::subxt::utils::bits::Lsb0, + >, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BackedCandidate<_0> { + pub candidate: + runtime_types::polkadot_primitives::v4::CommittedCandidateReceipt<_0>, + pub validity_votes: ::std::vec::Vec< + runtime_types::polkadot_primitives::v4::ValidityAttestation, + >, + pub validator_indices: ::subxt::utils::bits::DecodedBits< + ::core::primitive::u8, + ::subxt::utils::bits::Lsb0, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CandidateCommitments<_0> { + pub upward_messages: + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::std::vec::Vec<::core::primitive::u8>, + >, + pub horizontal_messages: + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::polkadot_core_primitives::OutboundHrmpMessage< + runtime_types::polkadot_parachain::primitives::Id, + >, + >, + pub new_validation_code: ::core::option::Option< + runtime_types::polkadot_parachain::primitives::ValidationCode, + >, + pub head_data: runtime_types::polkadot_parachain::primitives::HeadData, + pub processed_downward_messages: ::core::primitive::u32, + pub hrmp_watermark: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CandidateDescriptor<_0> { + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub relay_parent: _0, + pub collator: runtime_types::polkadot_primitives::v4::collator_app::Public, + pub persisted_validation_data_hash: ::subxt::utils::H256, + pub pov_hash: ::subxt::utils::H256, + pub erasure_root: ::subxt::utils::H256, + pub signature: runtime_types::polkadot_primitives::v4::collator_app::Signature, + pub para_head: ::subxt::utils::H256, + pub validation_code_hash: + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CandidateReceipt<_0> { + pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>, + pub commitments_hash: ::subxt::utils::H256, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CommittedCandidateReceipt<_0> { + pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>, + pub commitments: runtime_types::polkadot_primitives::v4::CandidateCommitments< + ::core::primitive::u32, + >, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CoreIndex(pub ::core::primitive::u32); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum CoreOccupied { + #[codec(index = 0)] + Parathread(runtime_types::polkadot_primitives::v4::ParathreadEntry), + #[codec(index = 1)] + Parachain, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DisputeState<_0> { + pub validators_for: ::subxt::utils::bits::DecodedBits< + ::core::primitive::u8, + ::subxt::utils::bits::Lsb0, + >, + pub validators_against: ::subxt::utils::bits::DecodedBits< + ::core::primitive::u8, + ::subxt::utils::bits::Lsb0, + >, + pub start: _0, + pub concluded_at: ::core::option::Option<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DisputeStatement { + #[codec(index = 0)] + Valid(runtime_types::polkadot_primitives::v4::ValidDisputeStatementKind), + #[codec(index = 1)] + Invalid(runtime_types::polkadot_primitives::v4::InvalidDisputeStatementKind), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DisputeStatementSet { + pub candidate_hash: runtime_types::polkadot_core_primitives::CandidateHash, + pub session: ::core::primitive::u32, + pub statements: ::std::vec::Vec<( + runtime_types::polkadot_primitives::v4::DisputeStatement, + runtime_types::polkadot_primitives::v4::ValidatorIndex, + runtime_types::polkadot_primitives::v4::validator_app::Signature, + )>, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct GroupIndex(pub ::core::primitive::u32); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct IndexedVec<_0, _1>( + pub ::std::vec::Vec<_1>, + #[codec(skip)] pub ::core::marker::PhantomData<_0>, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct InherentData<_0> { + pub bitfields: ::std::vec::Vec< + runtime_types::polkadot_primitives::v4::signed::UncheckedSigned< + runtime_types::polkadot_primitives::v4::AvailabilityBitfield, + runtime_types::polkadot_primitives::v4::AvailabilityBitfield, + >, + >, + pub backed_candidates: ::std::vec::Vec< + runtime_types::polkadot_primitives::v4::BackedCandidate< + ::subxt::utils::H256, + >, + >, + pub disputes: ::std::vec::Vec< + runtime_types::polkadot_primitives::v4::DisputeStatementSet, + >, + pub parent_header: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum InvalidDisputeStatementKind { + #[codec(index = 0)] + Explicit, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ParathreadClaim( + pub runtime_types::polkadot_parachain::primitives::Id, + pub runtime_types::polkadot_primitives::v4::collator_app::Public, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ParathreadEntry { + pub claim: runtime_types::polkadot_primitives::v4::ParathreadClaim, + pub retries: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PvfCheckStatement { + pub accept: ::core::primitive::bool, + pub subject: runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + pub session_index: ::core::primitive::u32, + pub validator_index: runtime_types::polkadot_primitives::v4::ValidatorIndex, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum PvfExecTimeoutKind { + #[codec(index = 0)] + Backing, + #[codec(index = 1)] + Approval, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum PvfPrepTimeoutKind { + #[codec(index = 0)] + Precheck, + #[codec(index = 1)] + Lenient, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ScrapedOnChainVotes<_0> { + pub session: ::core::primitive::u32, + pub backing_validators_per_candidate: ::std::vec::Vec<( + runtime_types::polkadot_primitives::v4::CandidateReceipt<_0>, + ::std::vec::Vec<( + runtime_types::polkadot_primitives::v4::ValidatorIndex, + runtime_types::polkadot_primitives::v4::ValidityAttestation, + )>, + )>, + pub disputes: ::std::vec::Vec< + runtime_types::polkadot_primitives::v4::DisputeStatementSet, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SessionInfo { + pub active_validator_indices: + ::std::vec::Vec, + pub random_seed: [::core::primitive::u8; 32usize], + pub dispute_period: ::core::primitive::u32, + pub validators: runtime_types::polkadot_primitives::v4::IndexedVec< + runtime_types::polkadot_primitives::v4::ValidatorIndex, + runtime_types::polkadot_primitives::v4::validator_app::Public, + >, + pub discovery_keys: + ::std::vec::Vec, + pub assignment_keys: ::std::vec::Vec< + runtime_types::polkadot_primitives::v4::assignment_app::Public, + >, + pub validator_groups: runtime_types::polkadot_primitives::v4::IndexedVec< + runtime_types::polkadot_primitives::v4::GroupIndex, + ::std::vec::Vec, + >, + pub n_cores: ::core::primitive::u32, + pub zeroth_delay_tranche_width: ::core::primitive::u32, + pub relay_vrf_modulo_samples: ::core::primitive::u32, + pub n_delay_tranches: ::core::primitive::u32, + pub no_show_slots: ::core::primitive::u32, + pub needed_approvals: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum UpgradeGoAhead { + #[codec(index = 0)] + Abort, + #[codec(index = 1)] + GoAhead, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum UpgradeRestriction { + #[codec(index = 0)] + Present, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ValidDisputeStatementKind { + #[codec(index = 0)] + Explicit, + #[codec(index = 1)] + BackingSeconded(::subxt::utils::H256), + #[codec(index = 2)] + BackingValid(::subxt::utils::H256), + #[codec(index = 3)] + ApprovalChecking, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ValidatorIndex(pub ::core::primitive::u32); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ValidityAttestation { + #[codec(index = 1)] + Implicit(runtime_types::polkadot_primitives::v4::validator_app::Signature), + #[codec(index = 2)] + Explicit(runtime_types::polkadot_primitives::v4::validator_app::Signature), + } + } + pub mod vstaging { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AsyncBackingParams { + pub max_candidate_depth: ::core::primitive::u32, + pub allowed_ancestry_len: ::core::primitive::u32, + } + } + } + pub mod polkadot_runtime_common { + use super::runtime_types; + pub mod assigned_slots { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] # [doc = "Assign a permanent parachain slot and immediately create a lease for it."] assign_perm_parachain_slot { id : runtime_types :: polkadot_parachain :: primitives :: Id , } , # [codec (index = 1)] # [doc = "Assign a temporary parachain slot. The function tries to create a lease for it"] # [doc = "immediately if `SlotLeasePeriodStart::Current` is specified, and if the number"] # [doc = "of currently active temporary slots is below `MaxTemporarySlotPerLeasePeriod`."] assign_temp_parachain_slot { id : runtime_types :: polkadot_parachain :: primitives :: Id , lease_period_start : runtime_types :: polkadot_runtime_common :: assigned_slots :: SlotLeasePeriodStart , } , # [codec (index = 2)] # [doc = "Unassign a permanent or temporary parachain slot"] unassign_parachain_slot { id : runtime_types :: polkadot_parachain :: primitives :: Id , } , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The specified parachain or parathread is not registered."] + ParaDoesntExist, + #[codec(index = 1)] + #[doc = "Not a parathread."] + NotParathread, + #[codec(index = 2)] + #[doc = "Cannot upgrade parathread."] + CannotUpgrade, + #[codec(index = 3)] + #[doc = "Cannot downgrade parachain."] + CannotDowngrade, + #[codec(index = 4)] + #[doc = "Permanent or Temporary slot already assigned."] + SlotAlreadyAssigned, + #[codec(index = 5)] + #[doc = "Permanent or Temporary slot has not been assigned."] + SlotNotAssigned, + #[codec(index = 6)] + #[doc = "An ongoing lease already exists."] + OngoingLeaseExists, + #[codec(index = 7)] + MaxPermanentSlotsExceeded, + #[codec(index = 8)] + MaxTemporarySlotsExceeded, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A para was assigned a permanent parachain slot"] + PermanentSlotAssigned(runtime_types::polkadot_parachain::primitives::Id), + #[codec(index = 1)] + #[doc = "A para was assigned a temporary parachain slot"] + TemporarySlotAssigned(runtime_types::polkadot_parachain::primitives::Id), + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ParachainTemporarySlot<_0, _1> { + pub manager: _0, + pub period_begin: _1, + pub period_count: _1, + pub last_lease: ::core::option::Option<_1>, + pub lease_count: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum SlotLeasePeriodStart { + #[codec(index = 0)] + Current, + #[codec(index = 1)] + Next, + } + } + pub mod auctions { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Create a new auction."] + #[doc = ""] + #[doc = "This can only happen when there isn't already an auction in progress and may only be"] + #[doc = "called by the root origin. Accepts the `duration` of this auction and the"] + #[doc = "`lease_period_index` of the initial lease period of the four that are to be auctioned."] + new_auction { + #[codec(compact)] + duration: ::core::primitive::u32, + #[codec(compact)] + lease_period_index: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "Make a new bid from an account (including a parachain account) for deploying a new"] + #[doc = "parachain."] + #[doc = ""] + #[doc = "Multiple simultaneous bids from the same bidder are allowed only as long as all active"] + #[doc = "bids overlap each other (i.e. are mutually exclusive). Bids cannot be redacted."] + #[doc = ""] + #[doc = "- `sub` is the sub-bidder ID, allowing for multiple competing bids to be made by (and"] + #[doc = "funded by) the same account."] + #[doc = "- `auction_index` is the index of the auction to bid on. Should just be the present"] + #[doc = "value of `AuctionCounter`."] + #[doc = "- `first_slot` is the first lease period index of the range to bid on. This is the"] + #[doc = "absolute lease period index value, not an auction-specific offset."] + #[doc = "- `last_slot` is the last lease period index of the range to bid on. This is the"] + #[doc = "absolute lease period index value, not an auction-specific offset."] + #[doc = "- `amount` is the amount to bid to be held as deposit for the parachain should the"] + #[doc = "bid win. This amount is held throughout the range."] + bid { + #[codec(compact)] + para: runtime_types::polkadot_parachain::primitives::Id, + #[codec(compact)] + auction_index: ::core::primitive::u32, + #[codec(compact)] + first_slot: ::core::primitive::u32, + #[codec(compact)] + last_slot: ::core::primitive::u32, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Cancel an in-progress auction."] + #[doc = ""] + #[doc = "Can only be called by Root origin."] + cancel_auction, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "This auction is already in progress."] + AuctionInProgress, + #[codec(index = 1)] + #[doc = "The lease period is in the past."] + LeasePeriodInPast, + #[codec(index = 2)] + #[doc = "Para is not registered"] + ParaNotRegistered, + #[codec(index = 3)] + #[doc = "Not a current auction."] + NotCurrentAuction, + #[codec(index = 4)] + #[doc = "Not an auction."] + NotAuction, + #[codec(index = 5)] + #[doc = "Auction has already ended."] + AuctionEnded, + #[codec(index = 6)] + #[doc = "The para is already leased out for part of this range."] + AlreadyLeasedOut, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "An auction started. Provides its index and the block number where it will begin to"] + #[doc = "close and the first lease period of the quadruplet that is auctioned."] + AuctionStarted { + auction_index: ::core::primitive::u32, + lease_period: ::core::primitive::u32, + ending: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "An auction ended. All funds become unreserved."] + AuctionClosed { + auction_index: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Funds were reserved for a winning bid. First balance is the extra amount reserved."] + #[doc = "Second is the total."] + Reserved { + bidder: ::subxt::utils::AccountId32, + extra_reserved: ::core::primitive::u128, + total_amount: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "Funds were unreserved since bidder is no longer active. `[bidder, amount]`"] + Unreserved { + bidder: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Someone attempted to lease the same slot twice for a parachain. The amount is held in reserve"] + #[doc = "but no parachain slot has been leased."] + ReserveConfiscated { + para_id: runtime_types::polkadot_parachain::primitives::Id, + leaser: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 5)] + #[doc = "A new bid has been accepted as the current winner."] + BidAccepted { + bidder: ::subxt::utils::AccountId32, + para_id: runtime_types::polkadot_parachain::primitives::Id, + amount: ::core::primitive::u128, + first_slot: ::core::primitive::u32, + last_slot: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "The winning offset was chosen for an auction. This will map into the `Winning` storage map."] + WinningOffset { + auction_index: ::core::primitive::u32, + block_number: ::core::primitive::u32, + }, + } + } + } + pub mod crowdloan { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Create a new crowdloaning campaign for a parachain slot with the given lease period range."] + #[doc = ""] + #[doc = "This applies a lock to your parachain configuration, ensuring that it cannot be changed"] + #[doc = "by the parachain manager."] + create { + #[codec(compact)] + index: runtime_types::polkadot_parachain::primitives::Id, + #[codec(compact)] + cap: ::core::primitive::u128, + #[codec(compact)] + first_period: ::core::primitive::u32, + #[codec(compact)] + last_period: ::core::primitive::u32, + #[codec(compact)] + end: ::core::primitive::u32, + verifier: + ::core::option::Option, + }, + #[codec(index = 1)] + #[doc = "Contribute to a crowd sale. This will transfer some balance over to fund a parachain"] + #[doc = "slot. It will be withdrawable when the crowdloan has ended and the funds are unused."] + contribute { + #[codec(compact)] + index: runtime_types::polkadot_parachain::primitives::Id, + #[codec(compact)] + value: ::core::primitive::u128, + signature: + ::core::option::Option, + }, + #[codec(index = 2)] + #[doc = "Withdraw full balance of a specific contributor."] + #[doc = ""] + #[doc = "Origin must be signed, but can come from anyone."] + #[doc = ""] + #[doc = "The fund must be either in, or ready for, retirement. For a fund to be *in* retirement, then the retirement"] + #[doc = "flag must be set. For a fund to be ready for retirement, then:"] + #[doc = "- it must not already be in retirement;"] + #[doc = "- the amount of raised funds must be bigger than the _free_ balance of the account;"] + #[doc = "- and either:"] + #[doc = " - the block number must be at least `end`; or"] + #[doc = " - the current lease period must be greater than the fund's `last_period`."] + #[doc = ""] + #[doc = "In this case, the fund's retirement flag is set and its `end` is reset to the current block"] + #[doc = "number."] + #[doc = ""] + #[doc = "- `who`: The account whose contribution should be withdrawn."] + #[doc = "- `index`: The parachain to whose crowdloan the contribution was made."] + withdraw { + who: ::subxt::utils::AccountId32, + #[codec(compact)] + index: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 3)] + #[doc = "Automatically refund contributors of an ended crowdloan."] + #[doc = "Due to weight restrictions, this function may need to be called multiple"] + #[doc = "times to fully refund all users. We will refund `RemoveKeysLimit` users at a time."] + #[doc = ""] + #[doc = "Origin must be signed, but can come from anyone."] + refund { + #[codec(compact)] + index: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 4)] + #[doc = "Remove a fund after the retirement period has ended and all funds have been returned."] + dissolve { + #[codec(compact)] + index: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 5)] + #[doc = "Edit the configuration for an in-progress crowdloan."] + #[doc = ""] + #[doc = "Can only be called by Root origin."] + edit { + #[codec(compact)] + index: runtime_types::polkadot_parachain::primitives::Id, + #[codec(compact)] + cap: ::core::primitive::u128, + #[codec(compact)] + first_period: ::core::primitive::u32, + #[codec(compact)] + last_period: ::core::primitive::u32, + #[codec(compact)] + end: ::core::primitive::u32, + verifier: + ::core::option::Option, + }, + #[codec(index = 6)] + #[doc = "Add an optional memo to an existing crowdloan contribution."] + #[doc = ""] + #[doc = "Origin must be Signed, and the user must have contributed to the crowdloan."] + add_memo { + index: runtime_types::polkadot_parachain::primitives::Id, + memo: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 7)] + #[doc = "Poke the fund into `NewRaise`"] + #[doc = ""] + #[doc = "Origin must be Signed, and the fund has non-zero raise."] + poke { + index: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 8)] + #[doc = "Contribute your entire balance to a crowd sale. This will transfer the entire balance of a user over to fund a parachain"] + #[doc = "slot. It will be withdrawable when the crowdloan has ended and the funds are unused."] + contribute_all { + #[codec(compact)] + index: runtime_types::polkadot_parachain::primitives::Id, + signature: + ::core::option::Option, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The current lease period is more than the first lease period."] + FirstPeriodInPast, + #[codec(index = 1)] + #[doc = "The first lease period needs to at least be less than 3 `max_value`."] + FirstPeriodTooFarInFuture, + #[codec(index = 2)] + #[doc = "Last lease period must be greater than first lease period."] + LastPeriodBeforeFirstPeriod, + #[codec(index = 3)] + #[doc = "The last lease period cannot be more than 3 periods after the first period."] + LastPeriodTooFarInFuture, + #[codec(index = 4)] + #[doc = "The campaign ends before the current block number. The end must be in the future."] + CannotEndInPast, + #[codec(index = 5)] + #[doc = "The end date for this crowdloan is not sensible."] + EndTooFarInFuture, + #[codec(index = 6)] + #[doc = "There was an overflow."] + Overflow, + #[codec(index = 7)] + #[doc = "The contribution was below the minimum, `MinContribution`."] + ContributionTooSmall, + #[codec(index = 8)] + #[doc = "Invalid fund index."] + InvalidParaId, + #[codec(index = 9)] + #[doc = "Contributions exceed maximum amount."] + CapExceeded, + #[codec(index = 10)] + #[doc = "The contribution period has already ended."] + ContributionPeriodOver, + #[codec(index = 11)] + #[doc = "The origin of this call is invalid."] + InvalidOrigin, + #[codec(index = 12)] + #[doc = "This crowdloan does not correspond to a parachain."] + NotParachain, + #[codec(index = 13)] + #[doc = "This parachain lease is still active and retirement cannot yet begin."] + LeaseActive, + #[codec(index = 14)] + #[doc = "This parachain's bid or lease is still active and withdraw cannot yet begin."] + BidOrLeaseActive, + #[codec(index = 15)] + #[doc = "The crowdloan has not yet ended."] + FundNotEnded, + #[codec(index = 16)] + #[doc = "There are no contributions stored in this crowdloan."] + NoContributions, + #[codec(index = 17)] + #[doc = "The crowdloan is not ready to dissolve. Potentially still has a slot or in retirement period."] + NotReadyToDissolve, + #[codec(index = 18)] + #[doc = "Invalid signature."] + InvalidSignature, + #[codec(index = 19)] + #[doc = "The provided memo is too large."] + MemoTooLarge, + #[codec(index = 20)] + #[doc = "The fund is already in `NewRaise`"] + AlreadyInNewRaise, + #[codec(index = 21)] + #[doc = "No contributions allowed during the VRF delay"] + VrfDelayInProgress, + #[codec(index = 22)] + #[doc = "A lease period has not started yet, due to an offset in the starting block."] + NoLeasePeriod, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Create a new crowdloaning campaign."] + Created { + para_id: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 1)] + #[doc = "Contributed to a crowd sale."] + Contributed { + who: ::subxt::utils::AccountId32, + fund_index: runtime_types::polkadot_parachain::primitives::Id, + amount: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Withdrew full balance of a contributor."] + Withdrew { + who: ::subxt::utils::AccountId32, + fund_index: runtime_types::polkadot_parachain::primitives::Id, + amount: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "The loans in a fund have been partially dissolved, i.e. there are some left"] + #[doc = "over child keys that still need to be killed."] + PartiallyRefunded { + para_id: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 4)] + #[doc = "All loans in a fund have been refunded."] + AllRefunded { + para_id: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 5)] + #[doc = "Fund is dissolved."] + Dissolved { + para_id: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 6)] + #[doc = "The result of trying to submit a new bid to the Slots pallet."] + HandleBidResult { + para_id: runtime_types::polkadot_parachain::primitives::Id, + result: ::core::result::Result< + (), + runtime_types::sp_runtime::DispatchError, + >, + }, + #[codec(index = 7)] + #[doc = "The configuration to a crowdloan has been edited."] + Edited { + para_id: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 8)] + #[doc = "A memo has been updated."] + MemoUpdated { + who: ::subxt::utils::AccountId32, + para_id: runtime_types::polkadot_parachain::primitives::Id, + memo: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 9)] + #[doc = "A parachain has been moved to `NewRaise`"] + AddedToNewRaise { + para_id: runtime_types::polkadot_parachain::primitives::Id, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FundInfo<_0, _1, _2, _3> { + pub depositor: _0, + pub verifier: ::core::option::Option, + pub deposit: _1, + pub raised: _1, + pub end: _2, + pub cap: _1, + pub last_contribution: + runtime_types::polkadot_runtime_common::crowdloan::LastContribution<_2>, + pub first_period: _3, + pub last_period: _3, + pub fund_index: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum LastContribution<_0> { + #[codec(index = 0)] + Never, + #[codec(index = 1)] + PreEnding(::core::primitive::u32), + #[codec(index = 2)] + Ending(_0), + } + } + pub mod paras_registrar { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Register head data and validation code for a reserved Para Id."] + #[doc = ""] + #[doc = "## Arguments"] + #[doc = "- `origin`: Must be called by a `Signed` origin."] + #[doc = "- `id`: The para ID. Must be owned/managed by the `origin` signing account."] + #[doc = "- `genesis_head`: The genesis head data of the parachain/thread."] + #[doc = "- `validation_code`: The initial validation code of the parachain/thread."] + #[doc = ""] + #[doc = "## Deposits/Fees"] + #[doc = "The origin signed account must reserve a corresponding deposit for the registration. Anything already"] + #[doc = "reserved previously for this para ID is accounted for."] + #[doc = ""] + #[doc = "## Events"] + #[doc = "The `Registered` event is emitted in case of success."] + register { + id: runtime_types::polkadot_parachain::primitives::Id, + genesis_head: runtime_types::polkadot_parachain::primitives::HeadData, + validation_code: + runtime_types::polkadot_parachain::primitives::ValidationCode, + }, + #[codec(index = 1)] + #[doc = "Force the registration of a Para Id on the relay chain."] + #[doc = ""] + #[doc = "This function must be called by a Root origin."] + #[doc = ""] + #[doc = "The deposit taken can be specified for this registration. Any `ParaId`"] + #[doc = "can be registered, including sub-1000 IDs which are System Parachains."] + force_register { + who: ::subxt::utils::AccountId32, + deposit: ::core::primitive::u128, + id: runtime_types::polkadot_parachain::primitives::Id, + genesis_head: runtime_types::polkadot_parachain::primitives::HeadData, + validation_code: + runtime_types::polkadot_parachain::primitives::ValidationCode, + }, + #[codec(index = 2)] + #[doc = "Deregister a Para Id, freeing all data and returning any deposit."] + #[doc = ""] + #[doc = "The caller must be Root, the `para` owner, or the `para` itself. The para must be a parathread."] + deregister { + id: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 3)] + #[doc = "Swap a parachain with another parachain or parathread."] + #[doc = ""] + #[doc = "The origin must be Root, the `para` owner, or the `para` itself."] + #[doc = ""] + #[doc = "The swap will happen only if there is already an opposite swap pending. If there is not,"] + #[doc = "the swap will be stored in the pending swaps map, ready for a later confirmatory swap."] + #[doc = ""] + #[doc = "The `ParaId`s remain mapped to the same head data and code so external code can rely on"] + #[doc = "`ParaId` to be a long-term identifier of a notional \"parachain\". However, their"] + #[doc = "scheduling info (i.e. whether they're a parathread or parachain), auction information"] + #[doc = "and the auction deposit are switched."] + swap { + id: runtime_types::polkadot_parachain::primitives::Id, + other: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 4)] + #[doc = "Remove a manager lock from a para. This will allow the manager of a"] + #[doc = "previously locked para to deregister or swap a para without using governance."] + #[doc = ""] + #[doc = "Can only be called by the Root origin or the parachain."] + remove_lock { + para: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 5)] + #[doc = "Reserve a Para Id on the relay chain."] + #[doc = ""] + #[doc = "This function will reserve a new Para Id to be owned/managed by the origin account."] + #[doc = "The origin account is able to register head data and validation code using `register` to create"] + #[doc = "a parathread. Using the Slots pallet, a parathread can then be upgraded to get a parachain slot."] + #[doc = ""] + #[doc = "## Arguments"] + #[doc = "- `origin`: Must be called by a `Signed` origin. Becomes the manager/owner of the new para ID."] + #[doc = ""] + #[doc = "## Deposits/Fees"] + #[doc = "The origin must reserve a deposit of `ParaDeposit` for the registration."] + #[doc = ""] + #[doc = "## Events"] + #[doc = "The `Reserved` event is emitted in case of success, which provides the ID reserved for use."] + reserve, + #[codec(index = 6)] + #[doc = "Add a manager lock from a para. This will prevent the manager of a"] + #[doc = "para to deregister or swap a para."] + #[doc = ""] + #[doc = "Can be called by Root, the parachain, or the parachain manager if the parachain is unlocked."] + add_lock { + para: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 7)] + #[doc = "Schedule a parachain upgrade."] + #[doc = ""] + #[doc = "Can be called by Root, the parachain, or the parachain manager if the parachain is unlocked."] + schedule_code_upgrade { + para: runtime_types::polkadot_parachain::primitives::Id, + new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + }, + #[codec(index = 8)] + #[doc = "Set the parachain's current head."] + #[doc = ""] + #[doc = "Can be called by Root, the parachain, or the parachain manager if the parachain is unlocked."] + set_current_head { + para: runtime_types::polkadot_parachain::primitives::Id, + new_head: runtime_types::polkadot_parachain::primitives::HeadData, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The ID is not registered."] + NotRegistered, + #[codec(index = 1)] + #[doc = "The ID is already registered."] + AlreadyRegistered, + #[codec(index = 2)] + #[doc = "The caller is not the owner of this Id."] + NotOwner, + #[codec(index = 3)] + #[doc = "Invalid para code size."] + CodeTooLarge, + #[codec(index = 4)] + #[doc = "Invalid para head data size."] + HeadDataTooLarge, + #[codec(index = 5)] + #[doc = "Para is not a Parachain."] + NotParachain, + #[codec(index = 6)] + #[doc = "Para is not a Parathread."] + NotParathread, + #[codec(index = 7)] + #[doc = "Cannot deregister para"] + CannotDeregister, + #[codec(index = 8)] + #[doc = "Cannot schedule downgrade of parachain to parathread"] + CannotDowngrade, + #[codec(index = 9)] + #[doc = "Cannot schedule upgrade of parathread to parachain"] + CannotUpgrade, + #[codec(index = 10)] + #[doc = "Para is locked from manipulation by the manager. Must use parachain or relay chain governance."] + ParaLocked, + #[codec(index = 11)] + #[doc = "The ID given for registration has not been reserved."] + NotReserved, + #[codec(index = 12)] + #[doc = "Registering parachain with empty code is not allowed."] + EmptyCode, + #[codec(index = 13)] + #[doc = "Cannot perform a parachain slot / lifecycle swap. Check that the state of both paras are"] + #[doc = "correct for the swap to work."] + CannotSwap, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + Registered { + para_id: runtime_types::polkadot_parachain::primitives::Id, + manager: ::subxt::utils::AccountId32, + }, + #[codec(index = 1)] + Deregistered { + para_id: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 2)] + Reserved { + para_id: runtime_types::polkadot_parachain::primitives::Id, + who: ::subxt::utils::AccountId32, + }, + #[codec(index = 3)] + Swapped { + para_id: runtime_types::polkadot_parachain::primitives::Id, + other_id: runtime_types::polkadot_parachain::primitives::Id, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ParaInfo<_0, _1> { + pub manager: _0, + pub deposit: _1, + pub locked: ::core::primitive::bool, + } + } + pub mod paras_sudo_wrapper { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Schedule a para to be initialized at the start of the next session."] + sudo_schedule_para_initialize { + id: runtime_types::polkadot_parachain::primitives::Id, + genesis: + runtime_types::polkadot_runtime_parachains::paras::ParaGenesisArgs, + }, + #[codec(index = 1)] + #[doc = "Schedule a para to be cleaned up at the start of the next session."] + sudo_schedule_para_cleanup { + id: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 2)] + #[doc = "Upgrade a parathread to a parachain"] + sudo_schedule_parathread_upgrade { + id: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 3)] + #[doc = "Downgrade a parachain to a parathread"] + sudo_schedule_parachain_downgrade { + id: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 4)] + #[doc = "Send a downward XCM to the given para."] + #[doc = ""] + #[doc = "The given parachain should exist and the payload should not exceed the preconfigured size"] + #[doc = "`config.max_downward_message_size`."] + sudo_queue_downward_xcm { + id: runtime_types::polkadot_parachain::primitives::Id, + xcm: ::std::boxed::Box, + }, + #[codec(index = 5)] + #[doc = "Forcefully establish a channel from the sender to the recipient."] + #[doc = ""] + #[doc = "This is equivalent to sending an `Hrmp::hrmp_init_open_channel` extrinsic followed by"] + #[doc = "`Hrmp::hrmp_accept_open_channel`."] + sudo_establish_hrmp_channel { + sender: runtime_types::polkadot_parachain::primitives::Id, + recipient: runtime_types::polkadot_parachain::primitives::Id, + max_capacity: ::core::primitive::u32, + max_message_size: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The specified parachain or parathread is not registered."] + ParaDoesntExist, + #[codec(index = 1)] + #[doc = "The specified parachain or parathread is already registered."] + ParaAlreadyExists, + #[codec(index = 2)] + #[doc = "A DMP message couldn't be sent because it exceeds the maximum size allowed for a downward"] + #[doc = "message."] + ExceedsMaxMessageSize, + #[codec(index = 3)] + #[doc = "Could not schedule para cleanup."] + CouldntCleanup, + #[codec(index = 4)] + #[doc = "Not a parathread."] + NotParathread, + #[codec(index = 5)] + #[doc = "Not a parachain."] + NotParachain, + #[codec(index = 6)] + #[doc = "Cannot upgrade parathread."] + CannotUpgrade, + #[codec(index = 7)] + #[doc = "Cannot downgrade parachain."] + CannotDowngrade, + } + } + } + pub mod slots { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Just a connect into the `lease_out` call, in case Root wants to force some lease to happen"] + #[doc = "independently of any other on-chain mechanism to use it."] + #[doc = ""] + #[doc = "The dispatch origin for this call must match `T::ForceOrigin`."] + force_lease { + para: runtime_types::polkadot_parachain::primitives::Id, + leaser: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + period_begin: ::core::primitive::u32, + period_count: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "Clear all leases for a Para Id, refunding any deposits back to the original owners."] + #[doc = ""] + #[doc = "The dispatch origin for this call must match `T::ForceOrigin`."] + clear_all_leases { + para: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 2)] + #[doc = "Try to onboard a parachain that has a lease for the current lease period."] + #[doc = ""] + #[doc = "This function can be useful if there was some state issue with a para that should"] + #[doc = "have onboarded, but was unable to. As long as they have a lease period, we can"] + #[doc = "let them onboard from here."] + #[doc = ""] + #[doc = "Origin must be signed, but can be called by anyone."] + trigger_onboard { + para: runtime_types::polkadot_parachain::primitives::Id, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The parachain ID is not onboarding."] + ParaNotOnboarding, + #[codec(index = 1)] + #[doc = "There was an error with the lease."] + LeaseError, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A new `[lease_period]` is beginning."] + NewLeasePeriod { + lease_period: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "A para has won the right to a continuous set of lease periods as a parachain."] + #[doc = "First balance is any extra amount reserved on top of the para's existing deposit."] + #[doc = "Second balance is the total amount reserved."] + Leased { + para_id: runtime_types::polkadot_parachain::primitives::Id, + leaser: ::subxt::utils::AccountId32, + period_begin: ::core::primitive::u32, + period_count: ::core::primitive::u32, + extra_reserved: ::core::primitive::u128, + total_amount: ::core::primitive::u128, + }, + } + } + } + } + pub mod polkadot_runtime_parachains { + use super::runtime_types; + pub mod configuration { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] # [doc = "Set the validation upgrade cooldown."] set_validation_upgrade_cooldown { new : :: core :: primitive :: u32 , } , # [codec (index = 1)] # [doc = "Set the validation upgrade delay."] set_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [codec (index = 2)] # [doc = "Set the acceptance period for an included candidate."] set_code_retention_period { new : :: core :: primitive :: u32 , } , # [codec (index = 3)] # [doc = "Set the max validation code size for incoming upgrades."] set_max_code_size { new : :: core :: primitive :: u32 , } , # [codec (index = 4)] # [doc = "Set the max POV block size for incoming upgrades."] set_max_pov_size { new : :: core :: primitive :: u32 , } , # [codec (index = 5)] # [doc = "Set the max head data size for paras."] set_max_head_data_size { new : :: core :: primitive :: u32 , } , # [codec (index = 6)] # [doc = "Set the number of parathread execution cores."] set_parathread_cores { new : :: core :: primitive :: u32 , } , # [codec (index = 7)] # [doc = "Set the number of retries for a particular parathread."] set_parathread_retries { new : :: core :: primitive :: u32 , } , # [codec (index = 8)] # [doc = "Set the parachain validator-group rotation frequency"] set_group_rotation_frequency { new : :: core :: primitive :: u32 , } , # [codec (index = 9)] # [doc = "Set the availability period for parachains."] set_chain_availability_period { new : :: core :: primitive :: u32 , } , # [codec (index = 10)] # [doc = "Set the availability period for parathreads."] set_thread_availability_period { new : :: core :: primitive :: u32 , } , # [codec (index = 11)] # [doc = "Set the scheduling lookahead, in expected number of blocks at peak throughput."] set_scheduling_lookahead { new : :: core :: primitive :: u32 , } , # [codec (index = 12)] # [doc = "Set the maximum number of validators to assign to any core."] set_max_validators_per_core { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 13)] # [doc = "Set the maximum number of validators to use in parachain consensus."] set_max_validators { new : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 14)] # [doc = "Set the dispute period, in number of sessions to keep for disputes."] set_dispute_period { new : :: core :: primitive :: u32 , } , # [codec (index = 15)] # [doc = "Set the dispute post conclusion acceptance period."] set_dispute_post_conclusion_acceptance_period { new : :: core :: primitive :: u32 , } , # [codec (index = 18)] # [doc = "Set the no show slots, in number of number of consensus slots."] # [doc = "Must be at least 1."] set_no_show_slots { new : :: core :: primitive :: u32 , } , # [codec (index = 19)] # [doc = "Set the total number of delay tranches."] set_n_delay_tranches { new : :: core :: primitive :: u32 , } , # [codec (index = 20)] # [doc = "Set the zeroth delay tranche width."] set_zeroth_delay_tranche_width { new : :: core :: primitive :: u32 , } , # [codec (index = 21)] # [doc = "Set the number of validators needed to approve a block."] set_needed_approvals { new : :: core :: primitive :: u32 , } , # [codec (index = 22)] # [doc = "Set the number of samples to do of the `RelayVRFModulo` approval assignment criterion."] set_relay_vrf_modulo_samples { new : :: core :: primitive :: u32 , } , # [codec (index = 23)] # [doc = "Sets the maximum items that can present in a upward dispatch queue at once."] set_max_upward_queue_count { new : :: core :: primitive :: u32 , } , # [codec (index = 24)] # [doc = "Sets the maximum total size of items that can present in a upward dispatch queue at once."] set_max_upward_queue_size { new : :: core :: primitive :: u32 , } , # [codec (index = 25)] # [doc = "Set the critical downward message size."] set_max_downward_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 27)] # [doc = "Sets the maximum size of an upward message that can be sent by a candidate."] set_max_upward_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 28)] # [doc = "Sets the maximum number of messages that a candidate can contain."] set_max_upward_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [codec (index = 29)] # [doc = "Sets the number of sessions after which an HRMP open channel request expires."] set_hrmp_open_request_ttl { new : :: core :: primitive :: u32 , } , # [codec (index = 30)] # [doc = "Sets the amount of funds that the sender should provide for opening an HRMP channel."] set_hrmp_sender_deposit { new : :: core :: primitive :: u128 , } , # [codec (index = 31)] # [doc = "Sets the amount of funds that the recipient should provide for accepting opening an HRMP"] # [doc = "channel."] set_hrmp_recipient_deposit { new : :: core :: primitive :: u128 , } , # [codec (index = 32)] # [doc = "Sets the maximum number of messages allowed in an HRMP channel at once."] set_hrmp_channel_max_capacity { new : :: core :: primitive :: u32 , } , # [codec (index = 33)] # [doc = "Sets the maximum total size of messages in bytes allowed in an HRMP channel at once."] set_hrmp_channel_max_total_size { new : :: core :: primitive :: u32 , } , # [codec (index = 34)] # [doc = "Sets the maximum number of inbound HRMP channels a parachain is allowed to accept."] set_hrmp_max_parachain_inbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 35)] # [doc = "Sets the maximum number of inbound HRMP channels a parathread is allowed to accept."] set_hrmp_max_parathread_inbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 36)] # [doc = "Sets the maximum size of a message that could ever be put into an HRMP channel."] set_hrmp_channel_max_message_size { new : :: core :: primitive :: u32 , } , # [codec (index = 37)] # [doc = "Sets the maximum number of outbound HRMP channels a parachain is allowed to open."] set_hrmp_max_parachain_outbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 38)] # [doc = "Sets the maximum number of outbound HRMP channels a parathread is allowed to open."] set_hrmp_max_parathread_outbound_channels { new : :: core :: primitive :: u32 , } , # [codec (index = 39)] # [doc = "Sets the maximum number of outbound HRMP messages can be sent by a candidate."] set_hrmp_max_message_num_per_candidate { new : :: core :: primitive :: u32 , } , # [codec (index = 41)] # [doc = "Enable or disable PVF pre-checking. Consult the field documentation prior executing."] set_pvf_checking_enabled { new : :: core :: primitive :: bool , } , # [codec (index = 42)] # [doc = "Set the number of session changes after which a PVF pre-checking voting is rejected."] set_pvf_voting_ttl { new : :: core :: primitive :: u32 , } , # [codec (index = 43)] # [doc = "Sets the minimum delay between announcing the upgrade block for a parachain until the"] # [doc = "upgrade taking place."] # [doc = ""] # [doc = "See the field documentation for information and constraints for the new value."] set_minimum_validation_upgrade_delay { new : :: core :: primitive :: u32 , } , # [codec (index = 44)] # [doc = "Setting this to true will disable consistency checks for the configuration setters."] # [doc = "Use with caution."] set_bypass_consistency_check { new : :: core :: primitive :: bool , } , # [codec (index = 45)] # [doc = "Set the asynchronous backing parameters."] set_async_backing_params { new : runtime_types :: polkadot_primitives :: vstaging :: AsyncBackingParams , } , # [codec (index = 46)] # [doc = "Set PVF executor parameters."] set_executor_params { new : runtime_types :: polkadot_primitives :: v4 :: executor_params :: ExecutorParams , } , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The new value for a configuration parameter is invalid."] + InvalidNewValue, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HostConfiguration<_0> { + pub max_code_size: ::core::primitive::u32, + pub max_head_data_size: ::core::primitive::u32, + pub max_upward_queue_count: ::core::primitive::u32, + pub max_upward_queue_size: ::core::primitive::u32, + pub max_upward_message_size: ::core::primitive::u32, + pub max_upward_message_num_per_candidate: ::core::primitive::u32, + pub hrmp_max_message_num_per_candidate: ::core::primitive::u32, + pub validation_upgrade_cooldown: _0, + pub validation_upgrade_delay: _0, + pub async_backing_params: + runtime_types::polkadot_primitives::vstaging::AsyncBackingParams, + pub max_pov_size: ::core::primitive::u32, + pub max_downward_message_size: ::core::primitive::u32, + pub hrmp_max_parachain_outbound_channels: ::core::primitive::u32, + pub hrmp_max_parathread_outbound_channels: ::core::primitive::u32, + pub hrmp_sender_deposit: ::core::primitive::u128, + pub hrmp_recipient_deposit: ::core::primitive::u128, + pub hrmp_channel_max_capacity: ::core::primitive::u32, + pub hrmp_channel_max_total_size: ::core::primitive::u32, + pub hrmp_max_parachain_inbound_channels: ::core::primitive::u32, + pub hrmp_max_parathread_inbound_channels: ::core::primitive::u32, + pub hrmp_channel_max_message_size: ::core::primitive::u32, + pub executor_params: + runtime_types::polkadot_primitives::v4::executor_params::ExecutorParams, + pub code_retention_period: _0, + pub parathread_cores: ::core::primitive::u32, + pub parathread_retries: ::core::primitive::u32, + pub group_rotation_frequency: _0, + pub chain_availability_period: _0, + pub thread_availability_period: _0, + pub scheduling_lookahead: ::core::primitive::u32, + pub max_validators_per_core: ::core::option::Option<_0>, + pub max_validators: ::core::option::Option<_0>, + pub dispute_period: ::core::primitive::u32, + pub dispute_post_conclusion_acceptance_period: _0, + pub no_show_slots: ::core::primitive::u32, + pub n_delay_tranches: ::core::primitive::u32, + pub zeroth_delay_tranche_width: ::core::primitive::u32, + pub needed_approvals: ::core::primitive::u32, + pub relay_vrf_modulo_samples: ::core::primitive::u32, + pub pvf_checking_enabled: ::core::primitive::bool, + pub pvf_voting_ttl: ::core::primitive::u32, + pub minimum_validation_upgrade_delay: _0, + } + } + pub mod disputes { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + force_unfreeze, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Duplicate dispute statement sets provided."] + DuplicateDisputeStatementSets, + #[codec(index = 1)] + #[doc = "Ancient dispute statement provided."] + AncientDisputeStatement, + #[codec(index = 2)] + #[doc = "Validator index on statement is out of bounds for session."] + ValidatorIndexOutOfBounds, + #[codec(index = 3)] + #[doc = "Invalid signature on statement."] + InvalidSignature, + #[codec(index = 4)] + #[doc = "Validator vote submitted more than once to dispute."] + DuplicateStatement, + #[codec(index = 5)] + #[doc = "A dispute where there are only votes on one side."] + SingleSidedDispute, + #[codec(index = 6)] + #[doc = "A dispute vote from a malicious backer."] + MaliciousBacker, + #[codec(index = 7)] + #[doc = "No backing votes were provides along dispute statements."] + MissingBackingVotes, + #[codec(index = 8)] + #[doc = "Unconfirmed dispute statement sets provided."] + UnconfirmedDispute, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A dispute has been initiated. \\[candidate hash, dispute location\\]"] + DisputeInitiated( + runtime_types::polkadot_core_primitives::CandidateHash, + runtime_types::polkadot_runtime_parachains::disputes::DisputeLocation, + ), + #[codec(index = 1)] + #[doc = "A dispute has concluded for or against a candidate."] + #[doc = "`\\[para id, candidate hash, dispute result\\]`"] + DisputeConcluded( + runtime_types::polkadot_core_primitives::CandidateHash, + runtime_types::polkadot_runtime_parachains::disputes::DisputeResult, + ), + #[codec(index = 2)] + #[doc = "A dispute has concluded with supermajority against a candidate."] + #[doc = "Block authors should no longer build on top of this head and should"] + #[doc = "instead revert the block at the given height. This should be the"] + #[doc = "number of the child of the last known valid block in the chain."] + Revert(::core::primitive::u32), + } + } + pub mod slashing { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] report_dispute_lost_unsigned { dispute_proof : :: std :: boxed :: Box < runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: DisputeProof > , key_owner_proof : runtime_types :: sp_session :: MembershipProof , } , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The key ownership proof is invalid."] + InvalidKeyOwnershipProof, + #[codec(index = 1)] + #[doc = "The session index is too old or invalid."] + InvalidSessionIndex, + #[codec(index = 2)] + #[doc = "The candidate hash is invalid."] + InvalidCandidateHash, + #[codec(index = 3)] + #[doc = "There is no pending slash for the given validator index and time"] + #[doc = "slot."] + InvalidValidatorIndex, + #[codec(index = 4)] + #[doc = "The validator index does not match the validator id."] + ValidatorIndexIdMismatch, + #[codec(index = 5)] + #[doc = "The given slashing report is valid but already previously reported."] + DuplicateSlashingReport, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DisputeProof { pub time_slot : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: DisputesTimeSlot , pub kind : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: SlashingOffenceKind , pub validator_index : runtime_types :: polkadot_primitives :: v4 :: ValidatorIndex , pub validator_id : runtime_types :: polkadot_primitives :: v4 :: validator_app :: Public , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DisputesTimeSlot { + pub session_index: ::core::primitive::u32, + pub candidate_hash: runtime_types::polkadot_core_primitives::CandidateHash, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PendingSlashes { pub keys : :: subxt :: utils :: KeyedVec < runtime_types :: polkadot_primitives :: v4 :: ValidatorIndex , runtime_types :: polkadot_primitives :: v4 :: validator_app :: Public > , pub kind : runtime_types :: polkadot_runtime_parachains :: disputes :: slashing :: SlashingOffenceKind , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum SlashingOffenceKind { + #[codec(index = 0)] + ForInvalid, + #[codec(index = 1)] + AgainstValid, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DisputeLocation { + #[codec(index = 0)] + Local, + #[codec(index = 1)] + Remote, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DisputeResult { + #[codec(index = 0)] + Valid, + #[codec(index = 1)] + Invalid, + } + } + pub mod hrmp { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Initiate opening a channel from a parachain to a given recipient with given channel"] + #[doc = "parameters."] + #[doc = ""] + #[doc = "- `proposed_max_capacity` - specifies how many messages can be in the channel at once."] + #[doc = "- `proposed_max_message_size` - specifies the maximum size of the messages."] + #[doc = ""] + #[doc = "These numbers are a subject to the relay-chain configuration limits."] + #[doc = ""] + #[doc = "The channel can be opened only after the recipient confirms it and only on a session"] + #[doc = "change."] + hrmp_init_open_channel { + recipient: runtime_types::polkadot_parachain::primitives::Id, + proposed_max_capacity: ::core::primitive::u32, + proposed_max_message_size: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "Accept a pending open channel request from the given sender."] + #[doc = ""] + #[doc = "The channel will be opened only on the next session boundary."] + hrmp_accept_open_channel { + sender: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 2)] + #[doc = "Initiate unilateral closing of a channel. The origin must be either the sender or the"] + #[doc = "recipient in the channel being closed."] + #[doc = ""] + #[doc = "The closure can only happen on a session change."] + hrmp_close_channel { + channel_id: + runtime_types::polkadot_parachain::primitives::HrmpChannelId, + }, + #[codec(index = 3)] + #[doc = "This extrinsic triggers the cleanup of all the HRMP storage items that"] + #[doc = "a para may have. Normally this happens once per session, but this allows"] + #[doc = "you to trigger the cleanup immediately for a specific parachain."] + #[doc = ""] + #[doc = "Origin must be Root."] + #[doc = ""] + #[doc = "Number of inbound and outbound channels for `para` must be provided as witness data of weighing."] + force_clean_hrmp { + para: runtime_types::polkadot_parachain::primitives::Id, + inbound: ::core::primitive::u32, + outbound: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "Force process HRMP open channel requests."] + #[doc = ""] + #[doc = "If there are pending HRMP open channel requests, you can use this"] + #[doc = "function process all of those requests immediately."] + #[doc = ""] + #[doc = "Total number of opening channels must be provided as witness data of weighing."] + force_process_hrmp_open { channels: ::core::primitive::u32 }, + #[codec(index = 5)] + #[doc = "Force process HRMP close channel requests."] + #[doc = ""] + #[doc = "If there are pending HRMP close channel requests, you can use this"] + #[doc = "function process all of those requests immediately."] + #[doc = ""] + #[doc = "Total number of closing channels must be provided as witness data of weighing."] + force_process_hrmp_close { channels: ::core::primitive::u32 }, + #[codec(index = 6)] + #[doc = "This cancels a pending open channel request. It can be canceled by either of the sender"] + #[doc = "or the recipient for that request. The origin must be either of those."] + #[doc = ""] + #[doc = "The cancellation happens immediately. It is not possible to cancel the request if it is"] + #[doc = "already accepted."] + #[doc = ""] + #[doc = "Total number of open requests (i.e. `HrmpOpenChannelRequestsList`) must be provided as"] + #[doc = "witness data."] + hrmp_cancel_open_request { + channel_id: + runtime_types::polkadot_parachain::primitives::HrmpChannelId, + open_requests: ::core::primitive::u32, + }, + #[codec(index = 7)] + #[doc = "Open a channel from a `sender` to a `recipient` `ParaId` using the Root origin. Although"] + #[doc = "opened by Root, the `max_capacity` and `max_message_size` are still subject to the Relay"] + #[doc = "Chain's configured limits."] + #[doc = ""] + #[doc = "Expected use is when one of the `ParaId`s involved in the channel is governed by the"] + #[doc = "Relay Chain, e.g. a common good parachain."] + force_open_hrmp_channel { + sender: runtime_types::polkadot_parachain::primitives::Id, + recipient: runtime_types::polkadot_parachain::primitives::Id, + max_capacity: ::core::primitive::u32, + max_message_size: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "The sender tried to open a channel to themselves."] + OpenHrmpChannelToSelf, + #[codec(index = 1)] + #[doc = "The recipient is not a valid para."] + OpenHrmpChannelInvalidRecipient, + #[codec(index = 2)] + #[doc = "The requested capacity is zero."] + OpenHrmpChannelZeroCapacity, + #[codec(index = 3)] + #[doc = "The requested capacity exceeds the global limit."] + OpenHrmpChannelCapacityExceedsLimit, + #[codec(index = 4)] + #[doc = "The requested maximum message size is 0."] + OpenHrmpChannelZeroMessageSize, + #[codec(index = 5)] + #[doc = "The open request requested the message size that exceeds the global limit."] + OpenHrmpChannelMessageSizeExceedsLimit, + #[codec(index = 6)] + #[doc = "The channel already exists"] + OpenHrmpChannelAlreadyExists, + #[codec(index = 7)] + #[doc = "There is already a request to open the same channel."] + OpenHrmpChannelAlreadyRequested, + #[codec(index = 8)] + #[doc = "The sender already has the maximum number of allowed outbound channels."] + OpenHrmpChannelLimitExceeded, + #[codec(index = 9)] + #[doc = "The channel from the sender to the origin doesn't exist."] + AcceptHrmpChannelDoesntExist, + #[codec(index = 10)] + #[doc = "The channel is already confirmed."] + AcceptHrmpChannelAlreadyConfirmed, + #[codec(index = 11)] + #[doc = "The recipient already has the maximum number of allowed inbound channels."] + AcceptHrmpChannelLimitExceeded, + #[codec(index = 12)] + #[doc = "The origin tries to close a channel where it is neither the sender nor the recipient."] + CloseHrmpChannelUnauthorized, + #[codec(index = 13)] + #[doc = "The channel to be closed doesn't exist."] + CloseHrmpChannelDoesntExist, + #[codec(index = 14)] + #[doc = "The channel close request is already requested."] + CloseHrmpChannelAlreadyUnderway, + #[codec(index = 15)] + #[doc = "Canceling is requested by neither the sender nor recipient of the open channel request."] + CancelHrmpOpenChannelUnauthorized, + #[codec(index = 16)] + #[doc = "The open request doesn't exist."] + OpenHrmpChannelDoesntExist, + #[codec(index = 17)] + #[doc = "Cannot cancel an HRMP open channel request because it is already confirmed."] + OpenHrmpChannelAlreadyConfirmed, + #[codec(index = 18)] + #[doc = "The provided witness data is wrong."] + WrongWitness, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Open HRMP channel requested."] + #[doc = "`[sender, recipient, proposed_max_capacity, proposed_max_message_size]`"] + OpenChannelRequested( + runtime_types::polkadot_parachain::primitives::Id, + runtime_types::polkadot_parachain::primitives::Id, + ::core::primitive::u32, + ::core::primitive::u32, + ), + #[codec(index = 1)] + #[doc = "An HRMP channel request sent by the receiver was canceled by either party."] + #[doc = "`[by_parachain, channel_id]`"] + OpenChannelCanceled( + runtime_types::polkadot_parachain::primitives::Id, + runtime_types::polkadot_parachain::primitives::HrmpChannelId, + ), + #[codec(index = 2)] + #[doc = "Open HRMP channel accepted. `[sender, recipient]`"] + OpenChannelAccepted( + runtime_types::polkadot_parachain::primitives::Id, + runtime_types::polkadot_parachain::primitives::Id, + ), + #[codec(index = 3)] + #[doc = "HRMP channel closed. `[by_parachain, channel_id]`"] + ChannelClosed( + runtime_types::polkadot_parachain::primitives::Id, + runtime_types::polkadot_parachain::primitives::HrmpChannelId, + ), + #[codec(index = 4)] + #[doc = "An HRMP channel was opened via Root origin."] + #[doc = "`[sender, recipient, proposed_max_capacity, proposed_max_message_size]`"] + HrmpChannelForceOpened( + runtime_types::polkadot_parachain::primitives::Id, + runtime_types::polkadot_parachain::primitives::Id, + ::core::primitive::u32, + ::core::primitive::u32, + ), + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HrmpChannel { + pub max_capacity: ::core::primitive::u32, + pub max_total_size: ::core::primitive::u32, + pub max_message_size: ::core::primitive::u32, + pub msg_count: ::core::primitive::u32, + pub total_size: ::core::primitive::u32, + pub mqc_head: ::core::option::Option<::subxt::utils::H256>, + pub sender_deposit: ::core::primitive::u128, + pub recipient_deposit: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct HrmpOpenChannelRequest { + pub confirmed: ::core::primitive::bool, + pub _age: ::core::primitive::u32, + pub sender_deposit: ::core::primitive::u128, + pub max_message_size: ::core::primitive::u32, + pub max_capacity: ::core::primitive::u32, + pub max_total_size: ::core::primitive::u32, + } + } + pub mod inclusion { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call {} + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Validator indices are out of order or contains duplicates."] + UnsortedOrDuplicateValidatorIndices, + #[codec(index = 1)] + #[doc = "Dispute statement sets are out of order or contain duplicates."] + UnsortedOrDuplicateDisputeStatementSet, + #[codec(index = 2)] + #[doc = "Backed candidates are out of order (core index) or contain duplicates."] + UnsortedOrDuplicateBackedCandidates, + #[codec(index = 3)] + #[doc = "A different relay parent was provided compared to the on-chain stored one."] + UnexpectedRelayParent, + #[codec(index = 4)] + #[doc = "Availability bitfield has unexpected size."] + WrongBitfieldSize, + #[codec(index = 5)] + #[doc = "Bitfield consists of zeros only."] + BitfieldAllZeros, + #[codec(index = 6)] + #[doc = "Multiple bitfields submitted by same validator or validators out of order by index."] + BitfieldDuplicateOrUnordered, + #[codec(index = 7)] + #[doc = "Validator index out of bounds."] + ValidatorIndexOutOfBounds, + #[codec(index = 8)] + #[doc = "Invalid signature"] + InvalidBitfieldSignature, + #[codec(index = 9)] + #[doc = "Candidate submitted but para not scheduled."] + UnscheduledCandidate, + #[codec(index = 10)] + #[doc = "Candidate scheduled despite pending candidate already existing for the para."] + CandidateScheduledBeforeParaFree, + #[codec(index = 11)] + #[doc = "Candidate included with the wrong collator."] + WrongCollator, + #[codec(index = 12)] + #[doc = "Scheduled cores out of order."] + ScheduledOutOfOrder, + #[codec(index = 13)] + #[doc = "Head data exceeds the configured maximum."] + HeadDataTooLarge, + #[codec(index = 14)] + #[doc = "Code upgrade prematurely."] + PrematureCodeUpgrade, + #[codec(index = 15)] + #[doc = "Output code is too large"] + NewCodeTooLarge, + #[codec(index = 16)] + #[doc = "Candidate not in parent context."] + CandidateNotInParentContext, + #[codec(index = 17)] + #[doc = "Invalid group index in core assignment."] + InvalidGroupIndex, + #[codec(index = 18)] + #[doc = "Insufficient (non-majority) backing."] + InsufficientBacking, + #[codec(index = 19)] + #[doc = "Invalid (bad signature, unknown validator, etc.) backing."] + InvalidBacking, + #[codec(index = 20)] + #[doc = "Collator did not sign PoV."] + NotCollatorSigned, + #[codec(index = 21)] + #[doc = "The validation data hash does not match expected."] + ValidationDataHashMismatch, + #[codec(index = 22)] + #[doc = "The downward message queue is not processed correctly."] + IncorrectDownwardMessageHandling, + #[codec(index = 23)] + #[doc = "At least one upward message sent does not pass the acceptance criteria."] + InvalidUpwardMessages, + #[codec(index = 24)] + #[doc = "The candidate didn't follow the rules of HRMP watermark advancement."] + HrmpWatermarkMishandling, + #[codec(index = 25)] + #[doc = "The HRMP messages sent by the candidate is not valid."] + InvalidOutboundHrmp, + #[codec(index = 26)] + #[doc = "The validation code hash of the candidate is not valid."] + InvalidValidationCodeHash, + #[codec(index = 27)] + #[doc = "The `para_head` hash in the candidate descriptor doesn't match the hash of the actual para head in the"] + #[doc = "commitments."] + ParaHeadMismatch, + #[codec(index = 28)] + #[doc = "A bitfield that references a freed core,"] + #[doc = "either intentionally or as part of a concluded"] + #[doc = "invalid dispute."] + BitfieldReferencesFreedCore, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "A candidate was backed. `[candidate, head_data]`"] + CandidateBacked( + runtime_types::polkadot_primitives::v4::CandidateReceipt< + ::subxt::utils::H256, + >, + runtime_types::polkadot_parachain::primitives::HeadData, + runtime_types::polkadot_primitives::v4::CoreIndex, + runtime_types::polkadot_primitives::v4::GroupIndex, + ), + #[codec(index = 1)] + #[doc = "A candidate was included. `[candidate, head_data]`"] + CandidateIncluded( + runtime_types::polkadot_primitives::v4::CandidateReceipt< + ::subxt::utils::H256, + >, + runtime_types::polkadot_parachain::primitives::HeadData, + runtime_types::polkadot_primitives::v4::CoreIndex, + runtime_types::polkadot_primitives::v4::GroupIndex, + ), + #[codec(index = 2)] + #[doc = "A candidate timed out. `[candidate, head_data]`"] + CandidateTimedOut( + runtime_types::polkadot_primitives::v4::CandidateReceipt< + ::subxt::utils::H256, + >, + runtime_types::polkadot_parachain::primitives::HeadData, + runtime_types::polkadot_primitives::v4::CoreIndex, + ), + #[codec(index = 3)] + #[doc = "Some upward messages have been received and will be processed."] + UpwardMessagesReceived { + from: runtime_types::polkadot_parachain::primitives::Id, + count: ::core::primitive::u32, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AggregateMessageOrigin { + #[codec(index = 0)] + Ump(runtime_types::polkadot_runtime_parachains::inclusion::UmpQueueId), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AvailabilityBitfieldRecord<_0> { + pub bitfield: runtime_types::polkadot_primitives::v4::AvailabilityBitfield, + pub submitted_at: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CandidatePendingAvailability<_0, _1> { + pub core: runtime_types::polkadot_primitives::v4::CoreIndex, + pub hash: runtime_types::polkadot_core_primitives::CandidateHash, + pub descriptor: runtime_types::polkadot_primitives::v4::CandidateDescriptor<_0>, + pub availability_votes: ::subxt::utils::bits::DecodedBits< + ::core::primitive::u8, + ::subxt::utils::bits::Lsb0, + >, + pub backers: ::subxt::utils::bits::DecodedBits< + ::core::primitive::u8, + ::subxt::utils::bits::Lsb0, + >, + pub relay_parent_number: _1, + pub backed_in_number: _1, + pub backing_group: runtime_types::polkadot_primitives::v4::GroupIndex, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum UmpQueueId { + #[codec(index = 0)] + Para(runtime_types::polkadot_parachain::primitives::Id), + } + } + pub mod initializer { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Issue a signal to the consensus engine to forcibly act as though all parachain"] + #[doc = "blocks in all relay chain blocks up to and including the given number in the current"] + #[doc = "chain are valid and should be finalized."] + force_approve { up_to: ::core::primitive::u32 }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BufferedSessionChange { + pub validators: ::std::vec::Vec< + runtime_types::polkadot_primitives::v4::validator_app::Public, + >, + pub queued: ::std::vec::Vec< + runtime_types::polkadot_primitives::v4::validator_app::Public, + >, + pub session_index: ::core::primitive::u32, + } + } + pub mod origin { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Origin { + #[codec(index = 0)] + Parachain(runtime_types::polkadot_parachain::primitives::Id), + } + } + } + pub mod paras { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Set the storage for the parachain validation code immediately."] + force_set_current_code { + para: runtime_types::polkadot_parachain::primitives::Id, + new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + }, + #[codec(index = 1)] + #[doc = "Set the storage for the current parachain head data immediately."] + force_set_current_head { + para: runtime_types::polkadot_parachain::primitives::Id, + new_head: runtime_types::polkadot_parachain::primitives::HeadData, + }, + #[codec(index = 2)] + #[doc = "Schedule an upgrade as if it was scheduled in the given relay parent block."] + force_schedule_code_upgrade { + para: runtime_types::polkadot_parachain::primitives::Id, + new_code: runtime_types::polkadot_parachain::primitives::ValidationCode, + relay_parent_number: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Note a new block head for para within the context of the current block."] + force_note_new_head { + para: runtime_types::polkadot_parachain::primitives::Id, + new_head: runtime_types::polkadot_parachain::primitives::HeadData, + }, + #[codec(index = 4)] + #[doc = "Put a parachain directly into the next session's action queue."] + #[doc = "We can't queue it any sooner than this without going into the"] + #[doc = "initializer..."] + force_queue_action { + para: runtime_types::polkadot_parachain::primitives::Id, + }, + #[codec(index = 5)] + #[doc = "Adds the validation code to the storage."] + #[doc = ""] + #[doc = "The code will not be added if it is already present. Additionally, if PVF pre-checking"] + #[doc = "is running for that code, it will be instantly accepted."] + #[doc = ""] + #[doc = "Otherwise, the code will be added into the storage. Note that the code will be added"] + #[doc = "into storage with reference count 0. This is to account the fact that there are no users"] + #[doc = "for this code yet. The caller will have to make sure that this code eventually gets"] + #[doc = "used by some parachain or removed from the storage to avoid storage leaks. For the latter"] + #[doc = "prefer to use the `poke_unused_validation_code` dispatchable to raw storage manipulation."] + #[doc = ""] + #[doc = "This function is mainly meant to be used for upgrading parachains that do not follow"] + #[doc = "the go-ahead signal while the PVF pre-checking feature is enabled."] + add_trusted_validation_code { + validation_code: + runtime_types::polkadot_parachain::primitives::ValidationCode, + }, + #[codec(index = 6)] + #[doc = "Remove the validation code from the storage iff the reference count is 0."] + #[doc = ""] + #[doc = "This is better than removing the storage directly, because it will not remove the code"] + #[doc = "that was suddenly got used by some parachain while this dispatchable was pending"] + #[doc = "dispatching."] + poke_unused_validation_code { + validation_code_hash: + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + }, + #[codec(index = 7)] + #[doc = "Includes a statement for a PVF pre-checking vote. Potentially, finalizes the vote and"] + #[doc = "enacts the results if that was the last vote before achieving the supermajority."] + include_pvf_check_statement { + stmt: runtime_types::polkadot_primitives::v4::PvfCheckStatement, + signature: + runtime_types::polkadot_primitives::v4::validator_app::Signature, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Para is not registered in our system."] + NotRegistered, + #[codec(index = 1)] + #[doc = "Para cannot be onboarded because it is already tracked by our system."] + CannotOnboard, + #[codec(index = 2)] + #[doc = "Para cannot be offboarded at this time."] + CannotOffboard, + #[codec(index = 3)] + #[doc = "Para cannot be upgraded to a parachain."] + CannotUpgrade, + #[codec(index = 4)] + #[doc = "Para cannot be downgraded to a parathread."] + CannotDowngrade, + #[codec(index = 5)] + #[doc = "The statement for PVF pre-checking is stale."] + PvfCheckStatementStale, + #[codec(index = 6)] + #[doc = "The statement for PVF pre-checking is for a future session."] + PvfCheckStatementFuture, + #[codec(index = 7)] + #[doc = "Claimed validator index is out of bounds."] + PvfCheckValidatorIndexOutOfBounds, + #[codec(index = 8)] + #[doc = "The signature for the PVF pre-checking is invalid."] + PvfCheckInvalidSignature, + #[codec(index = 9)] + #[doc = "The given validator already has cast a vote."] + PvfCheckDoubleVote, + #[codec(index = 10)] + #[doc = "The given PVF does not exist at the moment of process a vote."] + PvfCheckSubjectInvalid, + #[codec(index = 11)] + #[doc = "Parachain cannot currently schedule a code upgrade."] + CannotUpgradeCode, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + pub enum Event { + #[codec(index = 0)] + #[doc = "Current code has been updated for a Para. `para_id`"] + CurrentCodeUpdated(runtime_types::polkadot_parachain::primitives::Id), + #[codec(index = 1)] + #[doc = "Current head has been updated for a Para. `para_id`"] + CurrentHeadUpdated(runtime_types::polkadot_parachain::primitives::Id), + #[codec(index = 2)] + #[doc = "A code upgrade has been scheduled for a Para. `para_id`"] + CodeUpgradeScheduled(runtime_types::polkadot_parachain::primitives::Id), + #[codec(index = 3)] + #[doc = "A new head has been noted for a Para. `para_id`"] + NewHeadNoted(runtime_types::polkadot_parachain::primitives::Id), + #[codec(index = 4)] + #[doc = "A para has been queued to execute pending actions. `para_id`"] + ActionQueued( + runtime_types::polkadot_parachain::primitives::Id, + ::core::primitive::u32, + ), + #[codec(index = 5)] + #[doc = "The given para either initiated or subscribed to a PVF check for the given validation"] + #[doc = "code. `code_hash` `para_id`"] + PvfCheckStarted( + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + runtime_types::polkadot_parachain::primitives::Id, + ), + #[codec(index = 6)] + #[doc = "The given validation code was accepted by the PVF pre-checking vote."] + #[doc = "`code_hash` `para_id`"] + PvfCheckAccepted( + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + runtime_types::polkadot_parachain::primitives::Id, + ), + #[codec(index = 7)] + #[doc = "The given validation code was rejected by the PVF pre-checking vote."] + #[doc = "`code_hash` `para_id`"] + PvfCheckRejected( + runtime_types::polkadot_parachain::primitives::ValidationCodeHash, + runtime_types::polkadot_parachain::primitives::Id, + ), + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ParaGenesisArgs { + pub genesis_head: runtime_types::polkadot_parachain::primitives::HeadData, + pub validation_code: + runtime_types::polkadot_parachain::primitives::ValidationCode, + pub para_kind: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ParaLifecycle { + #[codec(index = 0)] + Onboarding, + #[codec(index = 1)] + Parathread, + #[codec(index = 2)] + Parachain, + #[codec(index = 3)] + UpgradingParathread, + #[codec(index = 4)] + DowngradingParachain, + #[codec(index = 5)] + OffboardingParathread, + #[codec(index = 6)] + OffboardingParachain, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ParaPastCodeMeta<_0> { + pub upgrade_times: ::std::vec::Vec< + runtime_types::polkadot_runtime_parachains::paras::ReplacementTimes<_0>, + >, + pub last_pruned: ::core::option::Option<_0>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PvfCheckActiveVoteState<_0> { + pub votes_accept: ::subxt::utils::bits::DecodedBits< + ::core::primitive::u8, + ::subxt::utils::bits::Lsb0, + >, + pub votes_reject: ::subxt::utils::bits::DecodedBits< + ::core::primitive::u8, + ::subxt::utils::bits::Lsb0, + >, + pub age: ::core::primitive::u32, + pub created_at: _0, + pub causes: ::std::vec::Vec< + runtime_types::polkadot_runtime_parachains::paras::PvfCheckCause<_0>, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum PvfCheckCause<_0> { + #[codec(index = 0)] + Onboarding(runtime_types::polkadot_parachain::primitives::Id), + #[codec(index = 1)] + Upgrade { + id: runtime_types::polkadot_parachain::primitives::Id, + relay_parent_number: _0, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReplacementTimes<_0> { + pub expected_at: _0, + pub activated_at: _0, + } + } + pub mod paras_inherent { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Enter the paras inherent. This will process bitfields and backed candidates."] + enter { + data: runtime_types::polkadot_primitives::v4::InherentData< + runtime_types::sp_runtime::generic::header::Header< + ::core::primitive::u32, + runtime_types::sp_runtime::traits::BlakeTwo256, + >, + >, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + pub enum Error { + #[codec(index = 0)] + #[doc = "Inclusion inherent called more than once per block."] + TooManyInclusionInherents, + #[codec(index = 1)] + #[doc = "The hash of the submitted parent header doesn't correspond to the saved block hash of"] + #[doc = "the parent."] + InvalidParentHeader, + #[codec(index = 2)] + #[doc = "Disputed candidate that was concluded invalid."] + CandidateConcludedInvalid, + #[codec(index = 3)] + #[doc = "The data given to the inherent will result in an overweight block."] + InherentOverweight, + #[codec(index = 4)] + #[doc = "The ordering of dispute statements was invalid."] + DisputeStatementsUnsortedOrDuplicates, + #[codec(index = 5)] + #[doc = "A dispute statement was invalid."] + DisputeInvalid, + } + } + } + pub mod scheduler { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AssignmentKind { + #[codec(index = 0)] + Parachain, + #[codec(index = 1)] + Parathread( + runtime_types::polkadot_primitives::v4::collator_app::Public, + ::core::primitive::u32, + ), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CoreAssignment { + pub core: runtime_types::polkadot_primitives::v4::CoreIndex, + pub para_id: runtime_types::polkadot_parachain::primitives::Id, + pub kind: runtime_types::polkadot_runtime_parachains::scheduler::AssignmentKind, + pub group_idx: runtime_types::polkadot_primitives::v4::GroupIndex, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ParathreadClaimQueue { + pub queue: ::std::vec::Vec< + runtime_types::polkadot_runtime_parachains::scheduler::QueuedParathread, + >, + pub next_core_offset: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueuedParathread { + pub claim: runtime_types::polkadot_primitives::v4::ParathreadEntry, + pub core_offset: ::core::primitive::u32, + } + } + pub mod shared { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call {} + } + } + } + pub mod sp_arithmetic { + use super::runtime_types; + pub mod fixed_point { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FixedI64(pub ::core::primitive::i64); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct FixedU128(pub ::core::primitive::u128); + } + pub mod per_things { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PerU16(pub ::core::primitive::u16); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Perbill(pub ::core::primitive::u32); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Percent(pub ::core::primitive::u8); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Permill(pub ::core::primitive::u32); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ArithmeticError { + #[codec(index = 0)] + Underflow, + #[codec(index = 1)] + Overflow, + #[codec(index = 2)] + DivisionByZero, + } + } + pub mod sp_authority_discovery { + use super::runtime_types; + pub mod app { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub runtime_types::sp_core::sr25519::Public); + } + } + pub mod sp_consensus_babe { + use super::runtime_types; + pub mod app { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub runtime_types::sp_core::sr25519::Public); + } + pub mod digests { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum NextConfigDescriptor { + #[codec(index = 1)] + V1 { + c: (::core::primitive::u64, ::core::primitive::u64), + allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum PreDigest { + #[codec(index = 1)] + Primary(runtime_types::sp_consensus_babe::digests::PrimaryPreDigest), + #[codec(index = 2)] + SecondaryPlain( + runtime_types::sp_consensus_babe::digests::SecondaryPlainPreDigest, + ), + #[codec(index = 3)] + SecondaryVRF(runtime_types::sp_consensus_babe::digests::SecondaryVRFPreDigest), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PrimaryPreDigest { + pub authority_index: ::core::primitive::u32, + pub slot: runtime_types::sp_consensus_slots::Slot, + pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SecondaryPlainPreDigest { + pub authority_index: ::core::primitive::u32, + pub slot: runtime_types::sp_consensus_slots::Slot, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SecondaryVRFPreDigest { + pub authority_index: ::core::primitive::u32, + pub slot: runtime_types::sp_consensus_slots::Slot, + pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AllowedSlots { + #[codec(index = 0)] + PrimarySlots, + #[codec(index = 1)] + PrimaryAndSecondaryPlainSlots, + #[codec(index = 2)] + PrimaryAndSecondaryVRFSlots, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BabeEpochConfiguration { + pub c: (::core::primitive::u64, ::core::primitive::u64), + pub allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots, + } + } + pub mod sp_consensus_beefy { + use super::runtime_types; + pub mod commitment { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Commitment<_0> { + pub payload: runtime_types::sp_consensus_beefy::payload::Payload, + pub block_number: _0, + pub validator_set_id: ::core::primitive::u64, + } + } + pub mod crypto { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub runtime_types::sp_core::ecdsa::Public); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Signature(pub runtime_types::sp_core::ecdsa::Signature); + } + pub mod mmr { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BeefyAuthoritySet<_0> { + pub id: ::core::primitive::u64, + pub len: ::core::primitive::u32, + pub root: _0, + } + } + pub mod payload { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Payload( + pub ::std::vec::Vec<( + [::core::primitive::u8; 2usize], + ::std::vec::Vec<::core::primitive::u8>, + )>, + ); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct EquivocationProof<_0, _1, _2> { + pub first: runtime_types::sp_consensus_beefy::VoteMessage<_0, _1, _2>, + pub second: runtime_types::sp_consensus_beefy::VoteMessage<_0, _1, _2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct VoteMessage<_0, _1, _2> { + pub commitment: runtime_types::sp_consensus_beefy::commitment::Commitment<_0>, + pub id: _1, + pub signature: _2, + } + } + pub mod sp_consensus_grandpa { + use super::runtime_types; + pub mod app { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub runtime_types::sp_core::ed25519::Public); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Signature(pub runtime_types::sp_core::ed25519::Signature); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Equivocation<_0, _1> { + #[codec(index = 0)] + Prevote( + runtime_types::finality_grandpa::Equivocation< + runtime_types::sp_consensus_grandpa::app::Public, + runtime_types::finality_grandpa::Prevote<_0, _1>, + runtime_types::sp_consensus_grandpa::app::Signature, + >, + ), + #[codec(index = 1)] + Precommit( + runtime_types::finality_grandpa::Equivocation< + runtime_types::sp_consensus_grandpa::app::Public, + runtime_types::finality_grandpa::Precommit<_0, _1>, + runtime_types::sp_consensus_grandpa::app::Signature, + >, + ), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct EquivocationProof<_0, _1> { + pub set_id: ::core::primitive::u64, + pub equivocation: runtime_types::sp_consensus_grandpa::Equivocation<_0, _1>, + } + } + pub mod sp_consensus_slots { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct EquivocationProof<_0, _1> { + pub offender: _1, + pub slot: runtime_types::sp_consensus_slots::Slot, + pub first_header: _0, + pub second_header: _0, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Slot(pub ::core::primitive::u64); + } + pub mod sp_core { + use super::runtime_types; + pub mod crypto { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct KeyTypeId(pub [::core::primitive::u8; 4usize]); + } + pub mod ecdsa { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub [::core::primitive::u8; 33usize]); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Signature(pub [::core::primitive::u8; 65usize]); + } + pub mod ed25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub [::core::primitive::u8; 32usize]); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Signature(pub [::core::primitive::u8; 64usize]); + } + pub mod offchain { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OpaqueMultiaddr(pub ::std::vec::Vec<::core::primitive::u8>); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OpaqueNetworkState { + pub peer_id: runtime_types::sp_core::OpaquePeerId, + pub external_addresses: + ::std::vec::Vec, + } + } + pub mod sr25519 { + use super::runtime_types; + pub mod vrf { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct VrfSignature { + pub output: [::core::primitive::u8; 32usize], + pub proof: [::core::primitive::u8; 64usize], + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Public(pub [::core::primitive::u8; 32usize]); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Signature(pub [::core::primitive::u8; 64usize]); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OpaquePeerId(pub ::std::vec::Vec<::core::primitive::u8>); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Void {} + } + pub mod sp_npos_elections { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ElectionScore { + pub minimal_stake: ::core::primitive::u128, + pub sum_stake: ::core::primitive::u128, + pub sum_stake_squared: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Support<_0> { + pub total: ::core::primitive::u128, + pub voters: ::std::vec::Vec<(_0, ::core::primitive::u128)>, + } + } + pub mod sp_runtime { + use super::runtime_types; + pub mod generic { + use super::runtime_types; + pub mod digest { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Digest { + pub logs: + ::std::vec::Vec, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DigestItem { + #[codec(index = 6)] + PreRuntime( + [::core::primitive::u8; 4usize], + ::std::vec::Vec<::core::primitive::u8>, + ), + #[codec(index = 4)] + Consensus( + [::core::primitive::u8; 4usize], + ::std::vec::Vec<::core::primitive::u8>, + ), + #[codec(index = 5)] + Seal( + [::core::primitive::u8; 4usize], + ::std::vec::Vec<::core::primitive::u8>, + ), + #[codec(index = 0)] + Other(::std::vec::Vec<::core::primitive::u8>), + #[codec(index = 8)] + RuntimeEnvironmentUpdated, + } + } + pub mod era { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Era { + #[codec(index = 0)] + Immortal, + #[codec(index = 1)] + Mortal1(::core::primitive::u8), + #[codec(index = 2)] + Mortal2(::core::primitive::u8), + #[codec(index = 3)] + Mortal3(::core::primitive::u8), + #[codec(index = 4)] + Mortal4(::core::primitive::u8), + #[codec(index = 5)] + Mortal5(::core::primitive::u8), + #[codec(index = 6)] + Mortal6(::core::primitive::u8), + #[codec(index = 7)] + Mortal7(::core::primitive::u8), + #[codec(index = 8)] + Mortal8(::core::primitive::u8), + #[codec(index = 9)] + Mortal9(::core::primitive::u8), + #[codec(index = 10)] + Mortal10(::core::primitive::u8), + #[codec(index = 11)] + Mortal11(::core::primitive::u8), + #[codec(index = 12)] + Mortal12(::core::primitive::u8), + #[codec(index = 13)] + Mortal13(::core::primitive::u8), + #[codec(index = 14)] + Mortal14(::core::primitive::u8), + #[codec(index = 15)] + Mortal15(::core::primitive::u8), + #[codec(index = 16)] + Mortal16(::core::primitive::u8), + #[codec(index = 17)] + Mortal17(::core::primitive::u8), + #[codec(index = 18)] + Mortal18(::core::primitive::u8), + #[codec(index = 19)] + Mortal19(::core::primitive::u8), + #[codec(index = 20)] + Mortal20(::core::primitive::u8), + #[codec(index = 21)] + Mortal21(::core::primitive::u8), + #[codec(index = 22)] + Mortal22(::core::primitive::u8), + #[codec(index = 23)] + Mortal23(::core::primitive::u8), + #[codec(index = 24)] + Mortal24(::core::primitive::u8), + #[codec(index = 25)] + Mortal25(::core::primitive::u8), + #[codec(index = 26)] + Mortal26(::core::primitive::u8), + #[codec(index = 27)] + Mortal27(::core::primitive::u8), + #[codec(index = 28)] + Mortal28(::core::primitive::u8), + #[codec(index = 29)] + Mortal29(::core::primitive::u8), + #[codec(index = 30)] + Mortal30(::core::primitive::u8), + #[codec(index = 31)] + Mortal31(::core::primitive::u8), + #[codec(index = 32)] + Mortal32(::core::primitive::u8), + #[codec(index = 33)] + Mortal33(::core::primitive::u8), + #[codec(index = 34)] + Mortal34(::core::primitive::u8), + #[codec(index = 35)] + Mortal35(::core::primitive::u8), + #[codec(index = 36)] + Mortal36(::core::primitive::u8), + #[codec(index = 37)] + Mortal37(::core::primitive::u8), + #[codec(index = 38)] + Mortal38(::core::primitive::u8), + #[codec(index = 39)] + Mortal39(::core::primitive::u8), + #[codec(index = 40)] + Mortal40(::core::primitive::u8), + #[codec(index = 41)] + Mortal41(::core::primitive::u8), + #[codec(index = 42)] + Mortal42(::core::primitive::u8), + #[codec(index = 43)] + Mortal43(::core::primitive::u8), + #[codec(index = 44)] + Mortal44(::core::primitive::u8), + #[codec(index = 45)] + Mortal45(::core::primitive::u8), + #[codec(index = 46)] + Mortal46(::core::primitive::u8), + #[codec(index = 47)] + Mortal47(::core::primitive::u8), + #[codec(index = 48)] + Mortal48(::core::primitive::u8), + #[codec(index = 49)] + Mortal49(::core::primitive::u8), + #[codec(index = 50)] + Mortal50(::core::primitive::u8), + #[codec(index = 51)] + Mortal51(::core::primitive::u8), + #[codec(index = 52)] + Mortal52(::core::primitive::u8), + #[codec(index = 53)] + Mortal53(::core::primitive::u8), + #[codec(index = 54)] + Mortal54(::core::primitive::u8), + #[codec(index = 55)] + Mortal55(::core::primitive::u8), + #[codec(index = 56)] + Mortal56(::core::primitive::u8), + #[codec(index = 57)] + Mortal57(::core::primitive::u8), + #[codec(index = 58)] + Mortal58(::core::primitive::u8), + #[codec(index = 59)] + Mortal59(::core::primitive::u8), + #[codec(index = 60)] + Mortal60(::core::primitive::u8), + #[codec(index = 61)] + Mortal61(::core::primitive::u8), + #[codec(index = 62)] + Mortal62(::core::primitive::u8), + #[codec(index = 63)] + Mortal63(::core::primitive::u8), + #[codec(index = 64)] + Mortal64(::core::primitive::u8), + #[codec(index = 65)] + Mortal65(::core::primitive::u8), + #[codec(index = 66)] + Mortal66(::core::primitive::u8), + #[codec(index = 67)] + Mortal67(::core::primitive::u8), + #[codec(index = 68)] + Mortal68(::core::primitive::u8), + #[codec(index = 69)] + Mortal69(::core::primitive::u8), + #[codec(index = 70)] + Mortal70(::core::primitive::u8), + #[codec(index = 71)] + Mortal71(::core::primitive::u8), + #[codec(index = 72)] + Mortal72(::core::primitive::u8), + #[codec(index = 73)] + Mortal73(::core::primitive::u8), + #[codec(index = 74)] + Mortal74(::core::primitive::u8), + #[codec(index = 75)] + Mortal75(::core::primitive::u8), + #[codec(index = 76)] + Mortal76(::core::primitive::u8), + #[codec(index = 77)] + Mortal77(::core::primitive::u8), + #[codec(index = 78)] + Mortal78(::core::primitive::u8), + #[codec(index = 79)] + Mortal79(::core::primitive::u8), + #[codec(index = 80)] + Mortal80(::core::primitive::u8), + #[codec(index = 81)] + Mortal81(::core::primitive::u8), + #[codec(index = 82)] + Mortal82(::core::primitive::u8), + #[codec(index = 83)] + Mortal83(::core::primitive::u8), + #[codec(index = 84)] + Mortal84(::core::primitive::u8), + #[codec(index = 85)] + Mortal85(::core::primitive::u8), + #[codec(index = 86)] + Mortal86(::core::primitive::u8), + #[codec(index = 87)] + Mortal87(::core::primitive::u8), + #[codec(index = 88)] + Mortal88(::core::primitive::u8), + #[codec(index = 89)] + Mortal89(::core::primitive::u8), + #[codec(index = 90)] + Mortal90(::core::primitive::u8), + #[codec(index = 91)] + Mortal91(::core::primitive::u8), + #[codec(index = 92)] + Mortal92(::core::primitive::u8), + #[codec(index = 93)] + Mortal93(::core::primitive::u8), + #[codec(index = 94)] + Mortal94(::core::primitive::u8), + #[codec(index = 95)] + Mortal95(::core::primitive::u8), + #[codec(index = 96)] + Mortal96(::core::primitive::u8), + #[codec(index = 97)] + Mortal97(::core::primitive::u8), + #[codec(index = 98)] + Mortal98(::core::primitive::u8), + #[codec(index = 99)] + Mortal99(::core::primitive::u8), + #[codec(index = 100)] + Mortal100(::core::primitive::u8), + #[codec(index = 101)] + Mortal101(::core::primitive::u8), + #[codec(index = 102)] + Mortal102(::core::primitive::u8), + #[codec(index = 103)] + Mortal103(::core::primitive::u8), + #[codec(index = 104)] + Mortal104(::core::primitive::u8), + #[codec(index = 105)] + Mortal105(::core::primitive::u8), + #[codec(index = 106)] + Mortal106(::core::primitive::u8), + #[codec(index = 107)] + Mortal107(::core::primitive::u8), + #[codec(index = 108)] + Mortal108(::core::primitive::u8), + #[codec(index = 109)] + Mortal109(::core::primitive::u8), + #[codec(index = 110)] + Mortal110(::core::primitive::u8), + #[codec(index = 111)] + Mortal111(::core::primitive::u8), + #[codec(index = 112)] + Mortal112(::core::primitive::u8), + #[codec(index = 113)] + Mortal113(::core::primitive::u8), + #[codec(index = 114)] + Mortal114(::core::primitive::u8), + #[codec(index = 115)] + Mortal115(::core::primitive::u8), + #[codec(index = 116)] + Mortal116(::core::primitive::u8), + #[codec(index = 117)] + Mortal117(::core::primitive::u8), + #[codec(index = 118)] + Mortal118(::core::primitive::u8), + #[codec(index = 119)] + Mortal119(::core::primitive::u8), + #[codec(index = 120)] + Mortal120(::core::primitive::u8), + #[codec(index = 121)] + Mortal121(::core::primitive::u8), + #[codec(index = 122)] + Mortal122(::core::primitive::u8), + #[codec(index = 123)] + Mortal123(::core::primitive::u8), + #[codec(index = 124)] + Mortal124(::core::primitive::u8), + #[codec(index = 125)] + Mortal125(::core::primitive::u8), + #[codec(index = 126)] + Mortal126(::core::primitive::u8), + #[codec(index = 127)] + Mortal127(::core::primitive::u8), + #[codec(index = 128)] + Mortal128(::core::primitive::u8), + #[codec(index = 129)] + Mortal129(::core::primitive::u8), + #[codec(index = 130)] + Mortal130(::core::primitive::u8), + #[codec(index = 131)] + Mortal131(::core::primitive::u8), + #[codec(index = 132)] + Mortal132(::core::primitive::u8), + #[codec(index = 133)] + Mortal133(::core::primitive::u8), + #[codec(index = 134)] + Mortal134(::core::primitive::u8), + #[codec(index = 135)] + Mortal135(::core::primitive::u8), + #[codec(index = 136)] + Mortal136(::core::primitive::u8), + #[codec(index = 137)] + Mortal137(::core::primitive::u8), + #[codec(index = 138)] + Mortal138(::core::primitive::u8), + #[codec(index = 139)] + Mortal139(::core::primitive::u8), + #[codec(index = 140)] + Mortal140(::core::primitive::u8), + #[codec(index = 141)] + Mortal141(::core::primitive::u8), + #[codec(index = 142)] + Mortal142(::core::primitive::u8), + #[codec(index = 143)] + Mortal143(::core::primitive::u8), + #[codec(index = 144)] + Mortal144(::core::primitive::u8), + #[codec(index = 145)] + Mortal145(::core::primitive::u8), + #[codec(index = 146)] + Mortal146(::core::primitive::u8), + #[codec(index = 147)] + Mortal147(::core::primitive::u8), + #[codec(index = 148)] + Mortal148(::core::primitive::u8), + #[codec(index = 149)] + Mortal149(::core::primitive::u8), + #[codec(index = 150)] + Mortal150(::core::primitive::u8), + #[codec(index = 151)] + Mortal151(::core::primitive::u8), + #[codec(index = 152)] + Mortal152(::core::primitive::u8), + #[codec(index = 153)] + Mortal153(::core::primitive::u8), + #[codec(index = 154)] + Mortal154(::core::primitive::u8), + #[codec(index = 155)] + Mortal155(::core::primitive::u8), + #[codec(index = 156)] + Mortal156(::core::primitive::u8), + #[codec(index = 157)] + Mortal157(::core::primitive::u8), + #[codec(index = 158)] + Mortal158(::core::primitive::u8), + #[codec(index = 159)] + Mortal159(::core::primitive::u8), + #[codec(index = 160)] + Mortal160(::core::primitive::u8), + #[codec(index = 161)] + Mortal161(::core::primitive::u8), + #[codec(index = 162)] + Mortal162(::core::primitive::u8), + #[codec(index = 163)] + Mortal163(::core::primitive::u8), + #[codec(index = 164)] + Mortal164(::core::primitive::u8), + #[codec(index = 165)] + Mortal165(::core::primitive::u8), + #[codec(index = 166)] + Mortal166(::core::primitive::u8), + #[codec(index = 167)] + Mortal167(::core::primitive::u8), + #[codec(index = 168)] + Mortal168(::core::primitive::u8), + #[codec(index = 169)] + Mortal169(::core::primitive::u8), + #[codec(index = 170)] + Mortal170(::core::primitive::u8), + #[codec(index = 171)] + Mortal171(::core::primitive::u8), + #[codec(index = 172)] + Mortal172(::core::primitive::u8), + #[codec(index = 173)] + Mortal173(::core::primitive::u8), + #[codec(index = 174)] + Mortal174(::core::primitive::u8), + #[codec(index = 175)] + Mortal175(::core::primitive::u8), + #[codec(index = 176)] + Mortal176(::core::primitive::u8), + #[codec(index = 177)] + Mortal177(::core::primitive::u8), + #[codec(index = 178)] + Mortal178(::core::primitive::u8), + #[codec(index = 179)] + Mortal179(::core::primitive::u8), + #[codec(index = 180)] + Mortal180(::core::primitive::u8), + #[codec(index = 181)] + Mortal181(::core::primitive::u8), + #[codec(index = 182)] + Mortal182(::core::primitive::u8), + #[codec(index = 183)] + Mortal183(::core::primitive::u8), + #[codec(index = 184)] + Mortal184(::core::primitive::u8), + #[codec(index = 185)] + Mortal185(::core::primitive::u8), + #[codec(index = 186)] + Mortal186(::core::primitive::u8), + #[codec(index = 187)] + Mortal187(::core::primitive::u8), + #[codec(index = 188)] + Mortal188(::core::primitive::u8), + #[codec(index = 189)] + Mortal189(::core::primitive::u8), + #[codec(index = 190)] + Mortal190(::core::primitive::u8), + #[codec(index = 191)] + Mortal191(::core::primitive::u8), + #[codec(index = 192)] + Mortal192(::core::primitive::u8), + #[codec(index = 193)] + Mortal193(::core::primitive::u8), + #[codec(index = 194)] + Mortal194(::core::primitive::u8), + #[codec(index = 195)] + Mortal195(::core::primitive::u8), + #[codec(index = 196)] + Mortal196(::core::primitive::u8), + #[codec(index = 197)] + Mortal197(::core::primitive::u8), + #[codec(index = 198)] + Mortal198(::core::primitive::u8), + #[codec(index = 199)] + Mortal199(::core::primitive::u8), + #[codec(index = 200)] + Mortal200(::core::primitive::u8), + #[codec(index = 201)] + Mortal201(::core::primitive::u8), + #[codec(index = 202)] + Mortal202(::core::primitive::u8), + #[codec(index = 203)] + Mortal203(::core::primitive::u8), + #[codec(index = 204)] + Mortal204(::core::primitive::u8), + #[codec(index = 205)] + Mortal205(::core::primitive::u8), + #[codec(index = 206)] + Mortal206(::core::primitive::u8), + #[codec(index = 207)] + Mortal207(::core::primitive::u8), + #[codec(index = 208)] + Mortal208(::core::primitive::u8), + #[codec(index = 209)] + Mortal209(::core::primitive::u8), + #[codec(index = 210)] + Mortal210(::core::primitive::u8), + #[codec(index = 211)] + Mortal211(::core::primitive::u8), + #[codec(index = 212)] + Mortal212(::core::primitive::u8), + #[codec(index = 213)] + Mortal213(::core::primitive::u8), + #[codec(index = 214)] + Mortal214(::core::primitive::u8), + #[codec(index = 215)] + Mortal215(::core::primitive::u8), + #[codec(index = 216)] + Mortal216(::core::primitive::u8), + #[codec(index = 217)] + Mortal217(::core::primitive::u8), + #[codec(index = 218)] + Mortal218(::core::primitive::u8), + #[codec(index = 219)] + Mortal219(::core::primitive::u8), + #[codec(index = 220)] + Mortal220(::core::primitive::u8), + #[codec(index = 221)] + Mortal221(::core::primitive::u8), + #[codec(index = 222)] + Mortal222(::core::primitive::u8), + #[codec(index = 223)] + Mortal223(::core::primitive::u8), + #[codec(index = 224)] + Mortal224(::core::primitive::u8), + #[codec(index = 225)] + Mortal225(::core::primitive::u8), + #[codec(index = 226)] + Mortal226(::core::primitive::u8), + #[codec(index = 227)] + Mortal227(::core::primitive::u8), + #[codec(index = 228)] + Mortal228(::core::primitive::u8), + #[codec(index = 229)] + Mortal229(::core::primitive::u8), + #[codec(index = 230)] + Mortal230(::core::primitive::u8), + #[codec(index = 231)] + Mortal231(::core::primitive::u8), + #[codec(index = 232)] + Mortal232(::core::primitive::u8), + #[codec(index = 233)] + Mortal233(::core::primitive::u8), + #[codec(index = 234)] + Mortal234(::core::primitive::u8), + #[codec(index = 235)] + Mortal235(::core::primitive::u8), + #[codec(index = 236)] + Mortal236(::core::primitive::u8), + #[codec(index = 237)] + Mortal237(::core::primitive::u8), + #[codec(index = 238)] + Mortal238(::core::primitive::u8), + #[codec(index = 239)] + Mortal239(::core::primitive::u8), + #[codec(index = 240)] + Mortal240(::core::primitive::u8), + #[codec(index = 241)] + Mortal241(::core::primitive::u8), + #[codec(index = 242)] + Mortal242(::core::primitive::u8), + #[codec(index = 243)] + Mortal243(::core::primitive::u8), + #[codec(index = 244)] + Mortal244(::core::primitive::u8), + #[codec(index = 245)] + Mortal245(::core::primitive::u8), + #[codec(index = 246)] + Mortal246(::core::primitive::u8), + #[codec(index = 247)] + Mortal247(::core::primitive::u8), + #[codec(index = 248)] + Mortal248(::core::primitive::u8), + #[codec(index = 249)] + Mortal249(::core::primitive::u8), + #[codec(index = 250)] + Mortal250(::core::primitive::u8), + #[codec(index = 251)] + Mortal251(::core::primitive::u8), + #[codec(index = 252)] + Mortal252(::core::primitive::u8), + #[codec(index = 253)] + Mortal253(::core::primitive::u8), + #[codec(index = 254)] + Mortal254(::core::primitive::u8), + #[codec(index = 255)] + Mortal255(::core::primitive::u8), + } + } + pub mod header { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Header<_0, _1> { + pub parent_hash: ::subxt::utils::H256, + #[codec(compact)] + pub number: _0, + pub state_root: ::subxt::utils::H256, + pub extrinsics_root: ::subxt::utils::H256, + pub digest: runtime_types::sp_runtime::generic::digest::Digest, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, + } + } + } + pub mod traits { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BlakeTwo256; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum DispatchError { + #[codec(index = 0)] + Other, + #[codec(index = 1)] + CannotLookup, + #[codec(index = 2)] + BadOrigin, + #[codec(index = 3)] + Module(runtime_types::sp_runtime::ModuleError), + #[codec(index = 4)] + ConsumerRemaining, + #[codec(index = 5)] + NoProviders, + #[codec(index = 6)] + TooManyConsumers, + #[codec(index = 7)] + Token(runtime_types::sp_runtime::TokenError), + #[codec(index = 8)] + Arithmetic(runtime_types::sp_arithmetic::ArithmeticError), + #[codec(index = 9)] + Transactional(runtime_types::sp_runtime::TransactionalError), + #[codec(index = 10)] + Exhausted, + #[codec(index = 11)] + Corruption, + #[codec(index = 12)] + Unavailable, + #[codec(index = 13)] + RootNotAllowed, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DispatchErrorWithPostInfo<_0> { + pub post_info: _0, + pub error: runtime_types::sp_runtime::DispatchError, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ModuleError { + pub index: ::core::primitive::u8, + pub error: [::core::primitive::u8; 4usize], + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum MultiSignature { + #[codec(index = 0)] + Ed25519(runtime_types::sp_core::ed25519::Signature), + #[codec(index = 1)] + Sr25519(runtime_types::sp_core::sr25519::Signature), + #[codec(index = 2)] + Ecdsa(runtime_types::sp_core::ecdsa::Signature), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum MultiSigner { + #[codec(index = 0)] + Ed25519(runtime_types::sp_core::ed25519::Public), + #[codec(index = 1)] + Sr25519(runtime_types::sp_core::sr25519::Public), + #[codec(index = 2)] + Ecdsa(runtime_types::sp_core::ecdsa::Public), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum TokenError { + #[codec(index = 0)] + FundsUnavailable, + #[codec(index = 1)] + OnlyProvider, + #[codec(index = 2)] + BelowMinimum, + #[codec(index = 3)] + CannotCreate, + #[codec(index = 4)] + UnknownAsset, + #[codec(index = 5)] + Frozen, + #[codec(index = 6)] + Unsupported, + #[codec(index = 7)] + CannotCreateHold, + #[codec(index = 8)] + NotExpendable, + #[codec(index = 9)] + Blocked, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum TransactionalError { + #[codec(index = 0)] + LimitReached, + #[codec(index = 1)] + NoLayer, + } + } + pub mod sp_session { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MembershipProof { + pub session: ::core::primitive::u32, + pub trie_nodes: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, + pub validator_count: ::core::primitive::u32, + } + } + pub mod sp_staking { + use super::runtime_types; + pub mod offence { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct OffenceDetails<_0, _1> { + pub offender: _1, + pub reporters: ::std::vec::Vec<_0>, + } + } + } + pub mod sp_version { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RuntimeVersion { + pub spec_name: ::std::string::String, + pub impl_name: ::std::string::String, + pub authoring_version: ::core::primitive::u32, + pub spec_version: ::core::primitive::u32, + pub impl_version: ::core::primitive::u32, + pub apis: + ::std::vec::Vec<([::core::primitive::u8; 8usize], ::core::primitive::u32)>, + pub transaction_version: ::core::primitive::u32, + pub state_version: ::core::primitive::u8, + } + } + pub mod sp_weights { + use super::runtime_types; + pub mod weight_v2 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Weight { + #[codec(compact)] + pub ref_time: ::core::primitive::u64, + #[codec(compact)] + pub proof_size: ::core::primitive::u64, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct RuntimeDbWeight { + pub read: ::core::primitive::u64, + pub write: ::core::primitive::u64, + } + } + pub mod xcm { + use super::runtime_types; + pub mod double_encoded { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DoubleEncoded { + pub encoded: ::std::vec::Vec<::core::primitive::u8>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct DoubleEncoded2 { + pub encoded: ::std::vec::Vec<::core::primitive::u8>, + } + } + pub mod v2 { + use super::runtime_types; + pub mod junction { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Junction { + #[codec(index = 0)] + Parachain(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 1)] + AccountId32 { + network: runtime_types::xcm::v2::NetworkId, + id: [::core::primitive::u8; 32usize], + }, + #[codec(index = 2)] + AccountIndex64 { + network: runtime_types::xcm::v2::NetworkId, + #[codec(compact)] + index: ::core::primitive::u64, + }, + #[codec(index = 3)] + AccountKey20 { + network: runtime_types::xcm::v2::NetworkId, + key: [::core::primitive::u8; 20usize], + }, + #[codec(index = 4)] + PalletInstance(::core::primitive::u8), + #[codec(index = 5)] + GeneralIndex(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 6)] + GeneralKey( + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 7)] + OnlyChild, + #[codec(index = 8)] + Plurality { + id: runtime_types::xcm::v2::BodyId, + part: runtime_types::xcm::v2::BodyPart, + }, + } + } + pub mod multiasset { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AssetId { + #[codec(index = 0)] + Concrete(runtime_types::xcm::v2::multilocation::MultiLocation), + #[codec(index = 1)] + Abstract(::std::vec::Vec<::core::primitive::u8>), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AssetInstance { + #[codec(index = 0)] + Undefined, + #[codec(index = 1)] + Index(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 2)] + Array4([::core::primitive::u8; 4usize]), + #[codec(index = 3)] + Array8([::core::primitive::u8; 8usize]), + #[codec(index = 4)] + Array16([::core::primitive::u8; 16usize]), + #[codec(index = 5)] + Array32([::core::primitive::u8; 32usize]), + #[codec(index = 6)] + Blob(::std::vec::Vec<::core::primitive::u8>), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Fungibility { + #[codec(index = 0)] + Fungible(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 1)] + NonFungible(runtime_types::xcm::v2::multiasset::AssetInstance), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiAsset { + pub id: runtime_types::xcm::v2::multiasset::AssetId, + pub fun: runtime_types::xcm::v2::multiasset::Fungibility, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum MultiAssetFilter { + #[codec(index = 0)] + Definite(runtime_types::xcm::v2::multiasset::MultiAssets), + #[codec(index = 1)] + Wild(runtime_types::xcm::v2::multiasset::WildMultiAsset), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiAssets( + pub ::std::vec::Vec, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WildFungibility { + #[codec(index = 0)] + Fungible, + #[codec(index = 1)] + NonFungible, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WildMultiAsset { + #[codec(index = 0)] + All, + #[codec(index = 1)] + AllOf { + id: runtime_types::xcm::v2::multiasset::AssetId, + fun: runtime_types::xcm::v2::multiasset::WildFungibility, + }, + } + } + pub mod multilocation { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Junctions { + #[codec(index = 0)] + Here, + #[codec(index = 1)] + X1(runtime_types::xcm::v2::junction::Junction), + #[codec(index = 2)] + X2( + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + ), + #[codec(index = 3)] + X3( + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + ), + #[codec(index = 4)] + X4( + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + ), + #[codec(index = 5)] + X5( + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + ), + #[codec(index = 6)] + X6( + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + ), + #[codec(index = 7)] + X7( + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + ), + #[codec(index = 8)] + X8( + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + runtime_types::xcm::v2::junction::Junction, + ), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiLocation { + pub parents: ::core::primitive::u8, + pub interior: runtime_types::xcm::v2::multilocation::Junctions, + } + } + pub mod traits { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Error { + #[codec(index = 0)] + Overflow, + #[codec(index = 1)] + Unimplemented, + #[codec(index = 2)] + UntrustedReserveLocation, + #[codec(index = 3)] + UntrustedTeleportLocation, + #[codec(index = 4)] + MultiLocationFull, + #[codec(index = 5)] + MultiLocationNotInvertible, + #[codec(index = 6)] + BadOrigin, + #[codec(index = 7)] + InvalidLocation, + #[codec(index = 8)] + AssetNotFound, + #[codec(index = 9)] + FailedToTransactAsset, + #[codec(index = 10)] + NotWithdrawable, + #[codec(index = 11)] + LocationCannotHold, + #[codec(index = 12)] + ExceedsMaxMessageSize, + #[codec(index = 13)] + DestinationUnsupported, + #[codec(index = 14)] + Transport, + #[codec(index = 15)] + Unroutable, + #[codec(index = 16)] + UnknownClaim, + #[codec(index = 17)] + FailedToDecode, + #[codec(index = 18)] + MaxWeightInvalid, + #[codec(index = 19)] + NotHoldingFees, + #[codec(index = 20)] + TooExpensive, + #[codec(index = 21)] + Trap(::core::primitive::u64), + #[codec(index = 22)] + UnhandledXcmVersion, + #[codec(index = 23)] + WeightLimitReached(::core::primitive::u64), + #[codec(index = 24)] + Barrier, + #[codec(index = 25)] + WeightNotComputable, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BodyId { + #[codec(index = 0)] + Unit, + #[codec(index = 1)] + Named( + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 2)] + Index(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 3)] + Executive, + #[codec(index = 4)] + Technical, + #[codec(index = 5)] + Legislative, + #[codec(index = 6)] + Judicial, + #[codec(index = 7)] + Defense, + #[codec(index = 8)] + Administration, + #[codec(index = 9)] + Treasury, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BodyPart { + #[codec(index = 0)] + Voice, + #[codec(index = 1)] + Members { + #[codec(compact)] + count: ::core::primitive::u32, + }, + #[codec(index = 2)] + Fraction { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + #[codec(index = 3)] + AtLeastProportion { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + #[codec(index = 4)] + MoreThanProportion { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Instruction { + #[codec(index = 0)] + WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets), + #[codec(index = 1)] + ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets), + #[codec(index = 2)] + ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets), + #[codec(index = 3)] + QueryResponse { + #[codec(compact)] + query_id: ::core::primitive::u64, + response: runtime_types::xcm::v2::Response, + #[codec(compact)] + max_weight: ::core::primitive::u64, + }, + #[codec(index = 4)] + TransferAsset { + assets: runtime_types::xcm::v2::multiasset::MultiAssets, + beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation, + }, + #[codec(index = 5)] + TransferReserveAsset { + assets: runtime_types::xcm::v2::multiasset::MultiAssets, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, + xcm: runtime_types::xcm::v2::Xcm, + }, + #[codec(index = 6)] + Transact { + origin_type: runtime_types::xcm::v2::OriginKind, + #[codec(compact)] + require_weight_at_most: ::core::primitive::u64, + call: runtime_types::xcm::double_encoded::DoubleEncoded, + }, + #[codec(index = 7)] + HrmpNewChannelOpenRequest { + #[codec(compact)] + sender: ::core::primitive::u32, + #[codec(compact)] + max_message_size: ::core::primitive::u32, + #[codec(compact)] + max_capacity: ::core::primitive::u32, + }, + #[codec(index = 8)] + HrmpChannelAccepted { + #[codec(compact)] + recipient: ::core::primitive::u32, + }, + #[codec(index = 9)] + HrmpChannelClosing { + #[codec(compact)] + initiator: ::core::primitive::u32, + #[codec(compact)] + sender: ::core::primitive::u32, + #[codec(compact)] + recipient: ::core::primitive::u32, + }, + #[codec(index = 10)] + ClearOrigin, + #[codec(index = 11)] + DescendOrigin(runtime_types::xcm::v2::multilocation::Junctions), + #[codec(index = 12)] + ReportError { + #[codec(compact)] + query_id: ::core::primitive::u64, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, + #[codec(compact)] + max_response_weight: ::core::primitive::u64, + }, + #[codec(index = 13)] + DepositAsset { + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + #[codec(compact)] + max_assets: ::core::primitive::u32, + beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation, + }, + #[codec(index = 14)] + DepositReserveAsset { + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + #[codec(compact)] + max_assets: ::core::primitive::u32, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, + xcm: runtime_types::xcm::v2::Xcm, + }, + #[codec(index = 15)] + ExchangeAsset { + give: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + receive: runtime_types::xcm::v2::multiasset::MultiAssets, + }, + #[codec(index = 16)] + InitiateReserveWithdraw { + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + reserve: runtime_types::xcm::v2::multilocation::MultiLocation, + xcm: runtime_types::xcm::v2::Xcm, + }, + #[codec(index = 17)] + InitiateTeleport { + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, + xcm: runtime_types::xcm::v2::Xcm, + }, + #[codec(index = 18)] + QueryHolding { + #[codec(compact)] + query_id: ::core::primitive::u64, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + #[codec(compact)] + max_response_weight: ::core::primitive::u64, + }, + #[codec(index = 19)] + BuyExecution { + fees: runtime_types::xcm::v2::multiasset::MultiAsset, + weight_limit: runtime_types::xcm::v2::WeightLimit, + }, + #[codec(index = 20)] + RefundSurplus, + #[codec(index = 21)] + SetErrorHandler(runtime_types::xcm::v2::Xcm), + #[codec(index = 22)] + SetAppendix(runtime_types::xcm::v2::Xcm), + #[codec(index = 23)] + ClearError, + #[codec(index = 24)] + ClaimAsset { + assets: runtime_types::xcm::v2::multiasset::MultiAssets, + ticket: runtime_types::xcm::v2::multilocation::MultiLocation, + }, + #[codec(index = 25)] + Trap(#[codec(compact)] ::core::primitive::u64), + #[codec(index = 26)] + SubscribeVersion { + #[codec(compact)] + query_id: ::core::primitive::u64, + #[codec(compact)] + max_response_weight: ::core::primitive::u64, + }, + #[codec(index = 27)] + UnsubscribeVersion, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Instruction2 { + #[codec(index = 0)] + WithdrawAsset(runtime_types::xcm::v2::multiasset::MultiAssets), + #[codec(index = 1)] + ReserveAssetDeposited(runtime_types::xcm::v2::multiasset::MultiAssets), + #[codec(index = 2)] + ReceiveTeleportedAsset(runtime_types::xcm::v2::multiasset::MultiAssets), + #[codec(index = 3)] + QueryResponse { + #[codec(compact)] + query_id: ::core::primitive::u64, + response: runtime_types::xcm::v2::Response, + #[codec(compact)] + max_weight: ::core::primitive::u64, + }, + #[codec(index = 4)] + TransferAsset { + assets: runtime_types::xcm::v2::multiasset::MultiAssets, + beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation, + }, + #[codec(index = 5)] + TransferReserveAsset { + assets: runtime_types::xcm::v2::multiasset::MultiAssets, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, + xcm: runtime_types::xcm::v2::Xcm, + }, + #[codec(index = 6)] + Transact { + origin_type: runtime_types::xcm::v2::OriginKind, + #[codec(compact)] + require_weight_at_most: ::core::primitive::u64, + call: runtime_types::xcm::double_encoded::DoubleEncoded2, + }, + #[codec(index = 7)] + HrmpNewChannelOpenRequest { + #[codec(compact)] + sender: ::core::primitive::u32, + #[codec(compact)] + max_message_size: ::core::primitive::u32, + #[codec(compact)] + max_capacity: ::core::primitive::u32, + }, + #[codec(index = 8)] + HrmpChannelAccepted { + #[codec(compact)] + recipient: ::core::primitive::u32, + }, + #[codec(index = 9)] + HrmpChannelClosing { + #[codec(compact)] + initiator: ::core::primitive::u32, + #[codec(compact)] + sender: ::core::primitive::u32, + #[codec(compact)] + recipient: ::core::primitive::u32, + }, + #[codec(index = 10)] + ClearOrigin, + #[codec(index = 11)] + DescendOrigin(runtime_types::xcm::v2::multilocation::Junctions), + #[codec(index = 12)] + ReportError { + #[codec(compact)] + query_id: ::core::primitive::u64, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, + #[codec(compact)] + max_response_weight: ::core::primitive::u64, + }, + #[codec(index = 13)] + DepositAsset { + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + #[codec(compact)] + max_assets: ::core::primitive::u32, + beneficiary: runtime_types::xcm::v2::multilocation::MultiLocation, + }, + #[codec(index = 14)] + DepositReserveAsset { + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + #[codec(compact)] + max_assets: ::core::primitive::u32, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, + xcm: runtime_types::xcm::v2::Xcm, + }, + #[codec(index = 15)] + ExchangeAsset { + give: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + receive: runtime_types::xcm::v2::multiasset::MultiAssets, + }, + #[codec(index = 16)] + InitiateReserveWithdraw { + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + reserve: runtime_types::xcm::v2::multilocation::MultiLocation, + xcm: runtime_types::xcm::v2::Xcm, + }, + #[codec(index = 17)] + InitiateTeleport { + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, + xcm: runtime_types::xcm::v2::Xcm, + }, + #[codec(index = 18)] + QueryHolding { + #[codec(compact)] + query_id: ::core::primitive::u64, + dest: runtime_types::xcm::v2::multilocation::MultiLocation, + assets: runtime_types::xcm::v2::multiasset::MultiAssetFilter, + #[codec(compact)] + max_response_weight: ::core::primitive::u64, + }, + #[codec(index = 19)] + BuyExecution { + fees: runtime_types::xcm::v2::multiasset::MultiAsset, + weight_limit: runtime_types::xcm::v2::WeightLimit, + }, + #[codec(index = 20)] + RefundSurplus, + #[codec(index = 21)] + SetErrorHandler(runtime_types::xcm::v2::Xcm2), + #[codec(index = 22)] + SetAppendix(runtime_types::xcm::v2::Xcm2), + #[codec(index = 23)] + ClearError, + #[codec(index = 24)] + ClaimAsset { + assets: runtime_types::xcm::v2::multiasset::MultiAssets, + ticket: runtime_types::xcm::v2::multilocation::MultiLocation, + }, + #[codec(index = 25)] + Trap(#[codec(compact)] ::core::primitive::u64), + #[codec(index = 26)] + SubscribeVersion { + #[codec(compact)] + query_id: ::core::primitive::u64, + #[codec(compact)] + max_response_weight: ::core::primitive::u64, + }, + #[codec(index = 27)] + UnsubscribeVersion, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum NetworkId { + #[codec(index = 0)] + Any, + #[codec(index = 1)] + Named( + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 2)] + Polkadot, + #[codec(index = 3)] + Kusama, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum OriginKind { + #[codec(index = 0)] + Native, + #[codec(index = 1)] + SovereignAccount, + #[codec(index = 2)] + Superuser, + #[codec(index = 3)] + Xcm, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Response { + #[codec(index = 0)] + Null, + #[codec(index = 1)] + Assets(runtime_types::xcm::v2::multiasset::MultiAssets), + #[codec(index = 2)] + ExecutionResult( + ::core::option::Option<( + ::core::primitive::u32, + runtime_types::xcm::v2::traits::Error, + )>, + ), + #[codec(index = 3)] + Version(::core::primitive::u32), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WeightLimit { + #[codec(index = 0)] + Unlimited, + #[codec(index = 1)] + Limited(#[codec(compact)] ::core::primitive::u64), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Xcm(pub ::std::vec::Vec); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Xcm2(pub ::std::vec::Vec); + } + pub mod v3 { + use super::runtime_types; + pub mod junction { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BodyId { + #[codec(index = 0)] + Unit, + #[codec(index = 1)] + Moniker([::core::primitive::u8; 4usize]), + #[codec(index = 2)] + Index(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 3)] + Executive, + #[codec(index = 4)] + Technical, + #[codec(index = 5)] + Legislative, + #[codec(index = 6)] + Judicial, + #[codec(index = 7)] + Defense, + #[codec(index = 8)] + Administration, + #[codec(index = 9)] + Treasury, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum BodyPart { + #[codec(index = 0)] + Voice, + #[codec(index = 1)] + Members { + #[codec(compact)] + count: ::core::primitive::u32, + }, + #[codec(index = 2)] + Fraction { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + #[codec(index = 3)] + AtLeastProportion { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + #[codec(index = 4)] + MoreThanProportion { + #[codec(compact)] + nom: ::core::primitive::u32, + #[codec(compact)] + denom: ::core::primitive::u32, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Junction { + #[codec(index = 0)] + Parachain(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 1)] + AccountId32 { + network: + ::core::option::Option, + id: [::core::primitive::u8; 32usize], + }, + #[codec(index = 2)] + AccountIndex64 { + network: + ::core::option::Option, + #[codec(compact)] + index: ::core::primitive::u64, + }, + #[codec(index = 3)] + AccountKey20 { + network: + ::core::option::Option, + key: [::core::primitive::u8; 20usize], + }, + #[codec(index = 4)] + PalletInstance(::core::primitive::u8), + #[codec(index = 5)] + GeneralIndex(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 6)] + GeneralKey { + length: ::core::primitive::u8, + data: [::core::primitive::u8; 32usize], + }, + #[codec(index = 7)] + OnlyChild, + #[codec(index = 8)] + Plurality { + id: runtime_types::xcm::v3::junction::BodyId, + part: runtime_types::xcm::v3::junction::BodyPart, + }, + #[codec(index = 9)] + GlobalConsensus(runtime_types::xcm::v3::junction::NetworkId), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum NetworkId { + #[codec(index = 0)] + ByGenesis([::core::primitive::u8; 32usize]), + #[codec(index = 1)] + ByFork { + block_number: ::core::primitive::u64, + block_hash: [::core::primitive::u8; 32usize], + }, + #[codec(index = 2)] + Polkadot, + #[codec(index = 3)] + Kusama, + #[codec(index = 4)] + Westend, + #[codec(index = 5)] + Rococo, + #[codec(index = 6)] + Wococo, + #[codec(index = 7)] + Ethereum { + #[codec(compact)] + chain_id: ::core::primitive::u64, + }, + #[codec(index = 8)] + BitcoinCore, + #[codec(index = 9)] + BitcoinCash, + } + } + pub mod junctions { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Junctions { + #[codec(index = 0)] + Here, + #[codec(index = 1)] + X1(runtime_types::xcm::v3::junction::Junction), + #[codec(index = 2)] + X2( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 3)] + X3( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 4)] + X4( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 5)] + X5( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 6)] + X6( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 7)] + X7( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + #[codec(index = 8)] + X8( + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + runtime_types::xcm::v3::junction::Junction, + ), + } + } + pub mod multiasset { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AssetId { + #[codec(index = 0)] + Concrete(runtime_types::xcm::v3::multilocation::MultiLocation), + #[codec(index = 1)] + Abstract([::core::primitive::u8; 32usize]), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AssetInstance { + #[codec(index = 0)] + Undefined, + #[codec(index = 1)] + Index(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 2)] + Array4([::core::primitive::u8; 4usize]), + #[codec(index = 3)] + Array8([::core::primitive::u8; 8usize]), + #[codec(index = 4)] + Array16([::core::primitive::u8; 16usize]), + #[codec(index = 5)] + Array32([::core::primitive::u8; 32usize]), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Fungibility { + #[codec(index = 0)] + Fungible(#[codec(compact)] ::core::primitive::u128), + #[codec(index = 1)] + NonFungible(runtime_types::xcm::v3::multiasset::AssetInstance), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiAsset { + pub id: runtime_types::xcm::v3::multiasset::AssetId, + pub fun: runtime_types::xcm::v3::multiasset::Fungibility, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum MultiAssetFilter { + #[codec(index = 0)] + Definite(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 1)] + Wild(runtime_types::xcm::v3::multiasset::WildMultiAsset), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiAssets( + pub ::std::vec::Vec, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WildFungibility { + #[codec(index = 0)] + Fungible, + #[codec(index = 1)] + NonFungible, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WildMultiAsset { + #[codec(index = 0)] + All, + #[codec(index = 1)] + AllOf { + id: runtime_types::xcm::v3::multiasset::AssetId, + fun: runtime_types::xcm::v3::multiasset::WildFungibility, + }, + #[codec(index = 2)] + AllCounted(#[codec(compact)] ::core::primitive::u32), + #[codec(index = 3)] + AllOfCounted { + id: runtime_types::xcm::v3::multiasset::AssetId, + fun: runtime_types::xcm::v3::multiasset::WildFungibility, + #[codec(compact)] + count: ::core::primitive::u32, + }, + } + } + pub mod multilocation { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct MultiLocation { + pub parents: ::core::primitive::u8, + pub interior: runtime_types::xcm::v3::junctions::Junctions, + } + } + pub mod traits { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Error { + #[codec(index = 0)] + Overflow, + #[codec(index = 1)] + Unimplemented, + #[codec(index = 2)] + UntrustedReserveLocation, + #[codec(index = 3)] + UntrustedTeleportLocation, + #[codec(index = 4)] + LocationFull, + #[codec(index = 5)] + LocationNotInvertible, + #[codec(index = 6)] + BadOrigin, + #[codec(index = 7)] + InvalidLocation, + #[codec(index = 8)] + AssetNotFound, + #[codec(index = 9)] + FailedToTransactAsset, + #[codec(index = 10)] + NotWithdrawable, + #[codec(index = 11)] + LocationCannotHold, + #[codec(index = 12)] + ExceedsMaxMessageSize, + #[codec(index = 13)] + DestinationUnsupported, + #[codec(index = 14)] + Transport, + #[codec(index = 15)] + Unroutable, + #[codec(index = 16)] + UnknownClaim, + #[codec(index = 17)] + FailedToDecode, + #[codec(index = 18)] + MaxWeightInvalid, + #[codec(index = 19)] + NotHoldingFees, + #[codec(index = 20)] + TooExpensive, + #[codec(index = 21)] + Trap(::core::primitive::u64), + #[codec(index = 22)] + ExpectationFalse, + #[codec(index = 23)] + PalletNotFound, + #[codec(index = 24)] + NameMismatch, + #[codec(index = 25)] + VersionIncompatible, + #[codec(index = 26)] + HoldingWouldOverflow, + #[codec(index = 27)] + ExportError, + #[codec(index = 28)] + ReanchorFailed, + #[codec(index = 29)] + NoDeal, + #[codec(index = 30)] + FeesNotMet, + #[codec(index = 31)] + LockError, + #[codec(index = 32)] + NoPermission, + #[codec(index = 33)] + Unanchored, + #[codec(index = 34)] + NotDepositable, + #[codec(index = 35)] + UnhandledXcmVersion, + #[codec(index = 36)] + WeightLimitReached(runtime_types::sp_weights::weight_v2::Weight), + #[codec(index = 37)] + Barrier, + #[codec(index = 38)] + WeightNotComputable, + #[codec(index = 39)] + ExceedsStackLimit, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Outcome { + #[codec(index = 0)] + Complete(runtime_types::sp_weights::weight_v2::Weight), + #[codec(index = 1)] + Incomplete( + runtime_types::sp_weights::weight_v2::Weight, + runtime_types::xcm::v3::traits::Error, + ), + #[codec(index = 2)] + Error(runtime_types::xcm::v3::traits::Error), + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Instruction { + #[codec(index = 0)] + WithdrawAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 1)] + ReserveAssetDeposited(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 2)] + ReceiveTeleportedAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 3)] + QueryResponse { + #[codec(compact)] + query_id: ::core::primitive::u64, + response: runtime_types::xcm::v3::Response, + max_weight: runtime_types::sp_weights::weight_v2::Weight, + querier: ::core::option::Option< + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + }, + #[codec(index = 4)] + TransferAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssets, + beneficiary: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 5)] + TransferReserveAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssets, + dest: runtime_types::xcm::v3::multilocation::MultiLocation, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 6)] + Transact { + origin_kind: runtime_types::xcm::v2::OriginKind, + require_weight_at_most: runtime_types::sp_weights::weight_v2::Weight, + call: runtime_types::xcm::double_encoded::DoubleEncoded, + }, + #[codec(index = 7)] + HrmpNewChannelOpenRequest { + #[codec(compact)] + sender: ::core::primitive::u32, + #[codec(compact)] + max_message_size: ::core::primitive::u32, + #[codec(compact)] + max_capacity: ::core::primitive::u32, + }, + #[codec(index = 8)] + HrmpChannelAccepted { + #[codec(compact)] + recipient: ::core::primitive::u32, + }, + #[codec(index = 9)] + HrmpChannelClosing { + #[codec(compact)] + initiator: ::core::primitive::u32, + #[codec(compact)] + sender: ::core::primitive::u32, + #[codec(compact)] + recipient: ::core::primitive::u32, + }, + #[codec(index = 10)] + ClearOrigin, + #[codec(index = 11)] + DescendOrigin(runtime_types::xcm::v3::junctions::Junctions), + #[codec(index = 12)] + ReportError(runtime_types::xcm::v3::QueryResponseInfo), + #[codec(index = 13)] + DepositAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + beneficiary: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 14)] + DepositReserveAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + dest: runtime_types::xcm::v3::multilocation::MultiLocation, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 15)] + ExchangeAsset { + give: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + want: runtime_types::xcm::v3::multiasset::MultiAssets, + maximal: ::core::primitive::bool, + }, + #[codec(index = 16)] + InitiateReserveWithdraw { + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + reserve: runtime_types::xcm::v3::multilocation::MultiLocation, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 17)] + InitiateTeleport { + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + dest: runtime_types::xcm::v3::multilocation::MultiLocation, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 18)] + ReportHolding { + response_info: runtime_types::xcm::v3::QueryResponseInfo, + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + }, + #[codec(index = 19)] + BuyExecution { + fees: runtime_types::xcm::v3::multiasset::MultiAsset, + weight_limit: runtime_types::xcm::v3::WeightLimit, + }, + #[codec(index = 20)] + RefundSurplus, + #[codec(index = 21)] + SetErrorHandler(runtime_types::xcm::v3::Xcm), + #[codec(index = 22)] + SetAppendix(runtime_types::xcm::v3::Xcm), + #[codec(index = 23)] + ClearError, + #[codec(index = 24)] + ClaimAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssets, + ticket: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 25)] + Trap(#[codec(compact)] ::core::primitive::u64), + #[codec(index = 26)] + SubscribeVersion { + #[codec(compact)] + query_id: ::core::primitive::u64, + max_response_weight: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 27)] + UnsubscribeVersion, + #[codec(index = 28)] + BurnAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 29)] + ExpectAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 30)] + ExpectOrigin( + ::core::option::Option< + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + ), + #[codec(index = 31)] + ExpectError( + ::core::option::Option<( + ::core::primitive::u32, + runtime_types::xcm::v3::traits::Error, + )>, + ), + #[codec(index = 32)] + ExpectTransactStatus(runtime_types::xcm::v3::MaybeErrorCode), + #[codec(index = 33)] + QueryPallet { + module_name: ::std::vec::Vec<::core::primitive::u8>, + response_info: runtime_types::xcm::v3::QueryResponseInfo, + }, + #[codec(index = 34)] + ExpectPallet { + #[codec(compact)] + index: ::core::primitive::u32, + name: ::std::vec::Vec<::core::primitive::u8>, + module_name: ::std::vec::Vec<::core::primitive::u8>, + #[codec(compact)] + crate_major: ::core::primitive::u32, + #[codec(compact)] + min_crate_minor: ::core::primitive::u32, + }, + #[codec(index = 35)] + ReportTransactStatus(runtime_types::xcm::v3::QueryResponseInfo), + #[codec(index = 36)] + ClearTransactStatus, + #[codec(index = 37)] + UniversalOrigin(runtime_types::xcm::v3::junction::Junction), + #[codec(index = 38)] + ExportMessage { + network: runtime_types::xcm::v3::junction::NetworkId, + destination: runtime_types::xcm::v3::junctions::Junctions, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 39)] + LockAsset { + asset: runtime_types::xcm::v3::multiasset::MultiAsset, + unlocker: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 40)] + UnlockAsset { + asset: runtime_types::xcm::v3::multiasset::MultiAsset, + target: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 41)] + NoteUnlockable { + asset: runtime_types::xcm::v3::multiasset::MultiAsset, + owner: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 42)] + RequestUnlock { + asset: runtime_types::xcm::v3::multiasset::MultiAsset, + locker: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 43)] + SetFeesMode { + jit_withdraw: ::core::primitive::bool, + }, + #[codec(index = 44)] + SetTopic([::core::primitive::u8; 32usize]), + #[codec(index = 45)] + ClearTopic, + #[codec(index = 46)] + AliasOrigin(runtime_types::xcm::v3::multilocation::MultiLocation), + #[codec(index = 47)] + UnpaidExecution { + weight_limit: runtime_types::xcm::v3::WeightLimit, + check_origin: ::core::option::Option< + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Instruction2 { + #[codec(index = 0)] + WithdrawAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 1)] + ReserveAssetDeposited(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 2)] + ReceiveTeleportedAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 3)] + QueryResponse { + #[codec(compact)] + query_id: ::core::primitive::u64, + response: runtime_types::xcm::v3::Response, + max_weight: runtime_types::sp_weights::weight_v2::Weight, + querier: ::core::option::Option< + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + }, + #[codec(index = 4)] + TransferAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssets, + beneficiary: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 5)] + TransferReserveAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssets, + dest: runtime_types::xcm::v3::multilocation::MultiLocation, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 6)] + Transact { + origin_kind: runtime_types::xcm::v2::OriginKind, + require_weight_at_most: runtime_types::sp_weights::weight_v2::Weight, + call: runtime_types::xcm::double_encoded::DoubleEncoded2, + }, + #[codec(index = 7)] + HrmpNewChannelOpenRequest { + #[codec(compact)] + sender: ::core::primitive::u32, + #[codec(compact)] + max_message_size: ::core::primitive::u32, + #[codec(compact)] + max_capacity: ::core::primitive::u32, + }, + #[codec(index = 8)] + HrmpChannelAccepted { + #[codec(compact)] + recipient: ::core::primitive::u32, + }, + #[codec(index = 9)] + HrmpChannelClosing { + #[codec(compact)] + initiator: ::core::primitive::u32, + #[codec(compact)] + sender: ::core::primitive::u32, + #[codec(compact)] + recipient: ::core::primitive::u32, + }, + #[codec(index = 10)] + ClearOrigin, + #[codec(index = 11)] + DescendOrigin(runtime_types::xcm::v3::junctions::Junctions), + #[codec(index = 12)] + ReportError(runtime_types::xcm::v3::QueryResponseInfo), + #[codec(index = 13)] + DepositAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + beneficiary: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 14)] + DepositReserveAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + dest: runtime_types::xcm::v3::multilocation::MultiLocation, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 15)] + ExchangeAsset { + give: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + want: runtime_types::xcm::v3::multiasset::MultiAssets, + maximal: ::core::primitive::bool, + }, + #[codec(index = 16)] + InitiateReserveWithdraw { + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + reserve: runtime_types::xcm::v3::multilocation::MultiLocation, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 17)] + InitiateTeleport { + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + dest: runtime_types::xcm::v3::multilocation::MultiLocation, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 18)] + ReportHolding { + response_info: runtime_types::xcm::v3::QueryResponseInfo, + assets: runtime_types::xcm::v3::multiasset::MultiAssetFilter, + }, + #[codec(index = 19)] + BuyExecution { + fees: runtime_types::xcm::v3::multiasset::MultiAsset, + weight_limit: runtime_types::xcm::v3::WeightLimit, + }, + #[codec(index = 20)] + RefundSurplus, + #[codec(index = 21)] + SetErrorHandler(runtime_types::xcm::v3::Xcm2), + #[codec(index = 22)] + SetAppendix(runtime_types::xcm::v3::Xcm2), + #[codec(index = 23)] + ClearError, + #[codec(index = 24)] + ClaimAsset { + assets: runtime_types::xcm::v3::multiasset::MultiAssets, + ticket: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 25)] + Trap(#[codec(compact)] ::core::primitive::u64), + #[codec(index = 26)] + SubscribeVersion { + #[codec(compact)] + query_id: ::core::primitive::u64, + max_response_weight: runtime_types::sp_weights::weight_v2::Weight, + }, + #[codec(index = 27)] + UnsubscribeVersion, + #[codec(index = 28)] + BurnAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 29)] + ExpectAsset(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 30)] + ExpectOrigin( + ::core::option::Option< + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + ), + #[codec(index = 31)] + ExpectError( + ::core::option::Option<( + ::core::primitive::u32, + runtime_types::xcm::v3::traits::Error, + )>, + ), + #[codec(index = 32)] + ExpectTransactStatus(runtime_types::xcm::v3::MaybeErrorCode), + #[codec(index = 33)] + QueryPallet { + module_name: ::std::vec::Vec<::core::primitive::u8>, + response_info: runtime_types::xcm::v3::QueryResponseInfo, + }, + #[codec(index = 34)] + ExpectPallet { + #[codec(compact)] + index: ::core::primitive::u32, + name: ::std::vec::Vec<::core::primitive::u8>, + module_name: ::std::vec::Vec<::core::primitive::u8>, + #[codec(compact)] + crate_major: ::core::primitive::u32, + #[codec(compact)] + min_crate_minor: ::core::primitive::u32, + }, + #[codec(index = 35)] + ReportTransactStatus(runtime_types::xcm::v3::QueryResponseInfo), + #[codec(index = 36)] + ClearTransactStatus, + #[codec(index = 37)] + UniversalOrigin(runtime_types::xcm::v3::junction::Junction), + #[codec(index = 38)] + ExportMessage { + network: runtime_types::xcm::v3::junction::NetworkId, + destination: runtime_types::xcm::v3::junctions::Junctions, + xcm: runtime_types::xcm::v3::Xcm, + }, + #[codec(index = 39)] + LockAsset { + asset: runtime_types::xcm::v3::multiasset::MultiAsset, + unlocker: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 40)] + UnlockAsset { + asset: runtime_types::xcm::v3::multiasset::MultiAsset, + target: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 41)] + NoteUnlockable { + asset: runtime_types::xcm::v3::multiasset::MultiAsset, + owner: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 42)] + RequestUnlock { + asset: runtime_types::xcm::v3::multiasset::MultiAsset, + locker: runtime_types::xcm::v3::multilocation::MultiLocation, + }, + #[codec(index = 43)] + SetFeesMode { + jit_withdraw: ::core::primitive::bool, + }, + #[codec(index = 44)] + SetTopic([::core::primitive::u8; 32usize]), + #[codec(index = 45)] + ClearTopic, + #[codec(index = 46)] + AliasOrigin(runtime_types::xcm::v3::multilocation::MultiLocation), + #[codec(index = 47)] + UnpaidExecution { + weight_limit: runtime_types::xcm::v3::WeightLimit, + check_origin: ::core::option::Option< + runtime_types::xcm::v3::multilocation::MultiLocation, + >, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum MaybeErrorCode { + #[codec(index = 0)] + Success, + #[codec(index = 1)] + Error( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 2)] + TruncatedError( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct PalletInfo { + #[codec(compact)] + pub index: ::core::primitive::u32, + pub name: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + pub module_name: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + #[codec(compact)] + pub major: ::core::primitive::u32, + #[codec(compact)] + pub minor: ::core::primitive::u32, + #[codec(compact)] + pub patch: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct QueryResponseInfo { + pub destination: runtime_types::xcm::v3::multilocation::MultiLocation, + #[codec(compact)] + pub query_id: ::core::primitive::u64, + pub max_weight: runtime_types::sp_weights::weight_v2::Weight, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Response { + #[codec(index = 0)] + Null, + #[codec(index = 1)] + Assets(runtime_types::xcm::v3::multiasset::MultiAssets), + #[codec(index = 2)] + ExecutionResult( + ::core::option::Option<( + ::core::primitive::u32, + runtime_types::xcm::v3::traits::Error, + )>, + ), + #[codec(index = 3)] + Version(::core::primitive::u32), + #[codec(index = 4)] + PalletsInfo( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::xcm::v3::PalletInfo, + >, + ), + #[codec(index = 5)] + DispatchResult(runtime_types::xcm::v3::MaybeErrorCode), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum WeightLimit { + #[codec(index = 0)] + Unlimited, + #[codec(index = 1)] + Limited(runtime_types::sp_weights::weight_v2::Weight), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Xcm(pub ::std::vec::Vec); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Xcm2(pub ::std::vec::Vec); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum VersionedAssetId { + #[codec(index = 3)] + V3(runtime_types::xcm::v3::multiasset::AssetId), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum VersionedMultiAssets { + #[codec(index = 1)] + V2(runtime_types::xcm::v2::multiasset::MultiAssets), + #[codec(index = 3)] + V3(runtime_types::xcm::v3::multiasset::MultiAssets), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum VersionedMultiLocation { + #[codec(index = 1)] + V2(runtime_types::xcm::v2::multilocation::MultiLocation), + #[codec(index = 3)] + V3(runtime_types::xcm::v3::multilocation::MultiLocation), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum VersionedResponse { + #[codec(index = 2)] + V2(runtime_types::xcm::v2::Response), + #[codec(index = 3)] + V3(runtime_types::xcm::v3::Response), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum VersionedXcm { + #[codec(index = 2)] + V2(runtime_types::xcm::v2::Xcm), + #[codec(index = 3)] + V3(runtime_types::xcm::v3::Xcm), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Debug, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum VersionedXcm2 { + #[codec(index = 2)] + V2(runtime_types::xcm::v2::Xcm2), + #[codec(index = 3)] + V3(runtime_types::xcm::v3::Xcm2), + } + } + } +}