diff --git a/all.json b/all.json new file mode 100644 index 0000000000..03d8558800 --- /dev/null +++ b/all.json @@ -0,0 +1,68187 @@ +[ + 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", + "AccountData" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "free", + "type": 6, + "typeName": "Balance" + }, + { + "name": "reserved", + "type": 6, + "typeName": "Balance" + }, + { + "name": "misc_frozen", + "type": 6, + "typeName": "Balance" + }, + { + "name": "fee_frozen", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 6, + "type": { + "def": { + "primitive": "u128" + } + } + }, + { + "id": 7, + "type": { + "path": [ + "frame_support", + "dispatch", + "PerDispatchClass" + ], + "params": [ + { + "name": "T", + "type": 8 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "normal", + "type": 8, + "typeName": "T" + }, + { + "name": "operational", + "type": 8, + "typeName": "T" + }, + { + "name": "mandatory", + "type": 8, + "typeName": "T" + } + ] + } + } + } + }, + { + "id": 8, + "type": { + "path": [ + "sp_weights", + "weight_v2", + "Weight" + ], + "def": { + "composite": { + "fields": [ + { + "name": "ref_time", + "type": 9, + "typeName": "u64" + }, + { + "name": "proof_size", + "type": 9, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 9, + "type": { + "def": { + "compact": { + "type": 10 + } + } + } + }, + { + "id": 10, + "type": { + "def": { + "primitive": "u64" + } + } + }, + { + "id": 11, + "type": { + "path": [ + "primitive_types", + "H256" + ], + "def": { + "composite": { + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ] + } + } + } + }, + { + "id": 12, + "type": { + "def": { + "sequence": { + "type": 2 + } + } + } + }, + { + "id": 13, + "type": { + "path": [ + "sp_runtime", + "generic", + "digest", + "Digest" + ], + "def": { + "composite": { + "fields": [ + { + "name": "logs", + "type": 14, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 14, + "type": { + "def": { + "sequence": { + "type": 15 + } + } + } + }, + { + "id": 15, + "type": { + "path": [ + "sp_runtime", + "generic", + "digest", + "DigestItem" + ], + "def": { + "variant": { + "variants": [ + { + "name": "PreRuntime", + "fields": [ + { + "type": 16, + "typeName": "ConsensusEngineId" + }, + { + "type": 12, + "typeName": "Vec" + } + ], + "index": 6 + }, + { + "name": "Consensus", + "fields": [ + { + "type": 16, + "typeName": "ConsensusEngineId" + }, + { + "type": 12, + "typeName": "Vec" + } + ], + "index": 4 + }, + { + "name": "Seal", + "fields": [ + { + "type": 16, + "typeName": "ConsensusEngineId" + }, + { + "type": 12, + "typeName": "Vec" + } + ], + "index": 5 + }, + { + "name": "Other", + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ], + "index": 0 + }, + { + "name": "RuntimeEnvironmentUpdated", + "index": 8 + } + ] + } + } + } + }, + { + "id": 16, + "type": { + "def": { + "array": { + "len": 4, + "type": 2 + } + } + } + }, + { + "id": 17, + "type": { + "def": { + "sequence": { + "type": 18 + } + } + } + }, + { + "id": 18, + "type": { + "path": [ + "frame_system", + "EventRecord" + ], + "params": [ + { + "name": "E", + "type": 19 + }, + { + "name": "T", + "type": 11 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "phase", + "type": 401, + "typeName": "Phase" + }, + { + "name": "event", + "type": 19, + "typeName": "E" + }, + { + "name": "topics", + "type": 402, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 19, + "type": { + "path": [ + "kitchensink_runtime", + "RuntimeEvent" + ], + "def": { + "variant": { + "variants": [ + { + "name": "System", + "fields": [ + { + "type": 20, + "typeName": "frame_system::Event" + } + ], + "index": 0 + }, + { + "name": "Utility", + "fields": [ + { + "type": 29, + "typeName": "pallet_utility::Event" + } + ], + "index": 1 + }, + { + "name": "Indices", + "fields": [ + { + "type": 32, + "typeName": "pallet_indices::Event" + } + ], + "index": 5 + }, + { + "name": "Balances", + "fields": [ + { + "type": 33, + "typeName": "pallet_balances::Event" + } + ], + "index": 6 + }, + { + "name": "TransactionPayment", + "fields": [ + { + "type": 35, + "typeName": "pallet_transaction_payment::Event" + } + ], + "index": 7 + }, + { + "name": "AssetTxPayment", + "fields": [ + { + "type": 36, + "typeName": "pallet_asset_tx_payment::Event" + } + ], + "index": 8 + }, + { + "name": "ElectionProviderMultiPhase", + "fields": [ + { + "type": 38, + "typeName": "pallet_election_provider_multi_phase::Event" + } + ], + "index": 9 + }, + { + "name": "Staking", + "fields": [ + { + "type": 45, + "typeName": "pallet_staking::Event" + } + ], + "index": 10 + }, + { + "name": "Session", + "fields": [ + { + "type": 50, + "typeName": "pallet_session::Event" + } + ], + "index": 11 + }, + { + "name": "Democracy", + "fields": [ + { + "type": 51, + "typeName": "pallet_democracy::Event" + } + ], + "index": 12 + }, + { + "name": "Council", + "fields": [ + { + "type": 56, + "typeName": "pallet_collective::Event" + } + ], + "index": 13 + }, + { + "name": "TechnicalCommittee", + "fields": [ + { + "type": 57, + "typeName": "pallet_collective::Event" + } + ], + "index": 14 + }, + { + "name": "Elections", + "fields": [ + { + "type": 58, + "typeName": "pallet_elections_phragmen::Event" + } + ], + "index": 15 + }, + { + "name": "TechnicalMembership", + "fields": [ + { + "type": 61, + "typeName": "pallet_membership::Event" + } + ], + "index": 16 + }, + { + "name": "Grandpa", + "fields": [ + { + "type": 62, + "typeName": "pallet_grandpa::Event" + } + ], + "index": 17 + }, + { + "name": "Treasury", + "fields": [ + { + "type": 67, + "typeName": "pallet_treasury::Event" + } + ], + "index": 18 + }, + { + "name": "Contracts", + "fields": [ + { + "type": 68, + "typeName": "pallet_contracts::Event" + } + ], + "index": 19 + }, + { + "name": "Sudo", + "fields": [ + { + "type": 69, + "typeName": "pallet_sudo::Event" + } + ], + "index": 20 + }, + { + "name": "ImOnline", + "fields": [ + { + "type": 70, + "typeName": "pallet_im_online::Event" + } + ], + "index": 21 + }, + { + "name": "Offences", + "fields": [ + { + "type": 79, + "typeName": "pallet_offences::Event" + } + ], + "index": 23 + }, + { + "name": "Identity", + "fields": [ + { + "type": 81, + "typeName": "pallet_identity::Event" + } + ], + "index": 26 + }, + { + "name": "Society", + "fields": [ + { + "type": 82, + "typeName": "pallet_society::Event" + } + ], + "index": 27 + }, + { + "name": "Recovery", + "fields": [ + { + "type": 84, + "typeName": "pallet_recovery::Event" + } + ], + "index": 28 + }, + { + "name": "Vesting", + "fields": [ + { + "type": 85, + "typeName": "pallet_vesting::Event" + } + ], + "index": 29 + }, + { + "name": "Scheduler", + "fields": [ + { + "type": 86, + "typeName": "pallet_scheduler::Event" + } + ], + "index": 30 + }, + { + "name": "Glutton", + "fields": [ + { + "type": 89, + "typeName": "pallet_glutton::Event" + } + ], + "index": 31 + }, + { + "name": "Preimage", + "fields": [ + { + "type": 90, + "typeName": "pallet_preimage::Event" + } + ], + "index": 32 + }, + { + "name": "Proxy", + "fields": [ + { + "type": 91, + "typeName": "pallet_proxy::Event" + } + ], + "index": 33 + }, + { + "name": "Multisig", + "fields": [ + { + "type": 94, + "typeName": "pallet_multisig::Event" + } + ], + "index": 34 + }, + { + "name": "Bounties", + "fields": [ + { + "type": 96, + "typeName": "pallet_bounties::Event" + } + ], + "index": 35 + }, + { + "name": "Tips", + "fields": [ + { + "type": 97, + "typeName": "pallet_tips::Event" + } + ], + "index": 36 + }, + { + "name": "Assets", + "fields": [ + { + "type": 98, + "typeName": "pallet_assets::Event" + } + ], + "index": 37 + }, + { + "name": "Lottery", + "fields": [ + { + "type": 99, + "typeName": "pallet_lottery::Event" + } + ], + "index": 39 + }, + { + "name": "Nis", + "fields": [ + { + "type": 101, + "typeName": "pallet_nis::Event" + } + ], + "index": 40 + }, + { + "name": "Uniques", + "fields": [ + { + "type": 103, + "typeName": "pallet_uniques::Event" + } + ], + "index": 41 + }, + { + "name": "Nfts", + "fields": [ + { + "type": 108, + "typeName": "pallet_nfts::Event" + } + ], + "index": 42 + }, + { + "name": "TransactionStorage", + "fields": [ + { + "type": 113, + "typeName": "pallet_transaction_storage::Event" + } + ], + "index": 43 + }, + { + "name": "VoterList", + "fields": [ + { + "type": 114, + "typeName": "pallet_bags_list::Event" + } + ], + "index": 44 + }, + { + "name": "StateTrieMigration", + "fields": [ + { + "type": 115, + "typeName": "pallet_state_trie_migration::Event" + } + ], + "index": 45 + }, + { + "name": "ChildBounties", + "fields": [ + { + "type": 118, + "typeName": "pallet_child_bounties::Event" + } + ], + "index": 46 + }, + { + "name": "Referenda", + "fields": [ + { + "type": 119, + "typeName": "pallet_referenda::Event" + } + ], + "index": 47 + }, + { + "name": "Remark", + "fields": [ + { + "type": 383, + "typeName": "pallet_remark::Event" + } + ], + "index": 48 + }, + { + "name": "ConvictionVoting", + "fields": [ + { + "type": 384, + "typeName": "pallet_conviction_voting::Event" + } + ], + "index": 50 + }, + { + "name": "Whitelist", + "fields": [ + { + "type": 385, + "typeName": "pallet_whitelist::Event" + } + ], + "index": 51 + }, + { + "name": "AllianceMotion", + "fields": [ + { + "type": 390, + "typeName": "pallet_collective::Event" + } + ], + "index": 52 + }, + { + "name": "Alliance", + "fields": [ + { + "type": 391, + "typeName": "pallet_alliance::Event" + } + ], + "index": 53 + }, + { + "name": "NominationPools", + "fields": [ + { + "type": 392, + "typeName": "pallet_nomination_pools::Event" + } + ], + "index": 54 + }, + { + "name": "RankedPolls", + "fields": [ + { + "type": 393, + "typeName": "pallet_referenda::Event" + } + ], + "index": 55 + }, + { + "name": "RankedCollective", + "fields": [ + { + "type": 395, + "typeName": "pallet_ranked_collective::Event" + } + ], + "index": 56 + }, + { + "name": "FastUnstake", + "fields": [ + { + "type": 397, + "typeName": "pallet_fast_unstake::Event" + } + ], + "index": 57 + }, + { + "name": "MessageQueue", + "fields": [ + { + "type": 398, + "typeName": "pallet_message_queue::Event" + } + ], + "index": 58 + }, + { + "name": "Pov", + "fields": [ + { + "type": 400, + "typeName": "frame_benchmarking_pallet_pov::Event" + } + ], + "index": 59 + } + ] + } + } + } + }, + { + "id": 20, + "type": { + "path": [ + "frame_system", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "ExtrinsicSuccess", + "fields": [ + { + "name": "dispatch_info", + "type": 21, + "typeName": "DispatchInfo" + } + ], + "index": 0, + "docs": [ + "An extrinsic completed successfully." + ] + }, + { + "name": "ExtrinsicFailed", + "fields": [ + { + "name": "dispatch_error", + "type": 24, + "typeName": "DispatchError" + }, + { + "name": "dispatch_info", + "type": 21, + "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": 11, + "typeName": "T::Hash" + } + ], + "index": 5, + "docs": [ + "On on-chain remark happened." + ] + } + ] + } + }, + "docs": [ + "Event for the System pallet." + ] + } + }, + { + "id": 21, + "type": { + "path": [ + "frame_support", + "dispatch", + "DispatchInfo" + ], + "def": { + "composite": { + "fields": [ + { + "name": "weight", + "type": 8, + "typeName": "Weight" + }, + { + "name": "class", + "type": 22, + "typeName": "DispatchClass" + }, + { + "name": "pays_fee", + "type": 23, + "typeName": "Pays" + } + ] + } + } + } + }, + { + "id": 22, + "type": { + "path": [ + "frame_support", + "dispatch", + "DispatchClass" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Normal", + "index": 0 + }, + { + "name": "Operational", + "index": 1 + }, + { + "name": "Mandatory", + "index": 2 + } + ] + } + } + } + }, + { + "id": 23, + "type": { + "path": [ + "frame_support", + "dispatch", + "Pays" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Yes", + "index": 0 + }, + { + "name": "No", + "index": 1 + } + ] + } + } + } + }, + { + "id": 24, + "type": { + "path": [ + "sp_runtime", + "DispatchError" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Other", + "index": 0 + }, + { + "name": "CannotLookup", + "index": 1 + }, + { + "name": "BadOrigin", + "index": 2 + }, + { + "name": "Module", + "fields": [ + { + "type": 25, + "typeName": "ModuleError" + } + ], + "index": 3 + }, + { + "name": "ConsumerRemaining", + "index": 4 + }, + { + "name": "NoProviders", + "index": 5 + }, + { + "name": "TooManyConsumers", + "index": 6 + }, + { + "name": "Token", + "fields": [ + { + "type": 26, + "typeName": "TokenError" + } + ], + "index": 7 + }, + { + "name": "Arithmetic", + "fields": [ + { + "type": 27, + "typeName": "ArithmeticError" + } + ], + "index": 8 + }, + { + "name": "Transactional", + "fields": [ + { + "type": 28, + "typeName": "TransactionalError" + } + ], + "index": 9 + }, + { + "name": "Exhausted", + "index": 10 + }, + { + "name": "Corruption", + "index": 11 + }, + { + "name": "Unavailable", + "index": 12 + } + ] + } + } + } + }, + { + "id": 25, + "type": { + "path": [ + "sp_runtime", + "ModuleError" + ], + "def": { + "composite": { + "fields": [ + { + "name": "index", + "type": 2, + "typeName": "u8" + }, + { + "name": "error", + "type": 16, + "typeName": "[u8; MAX_MODULE_ERROR_ENCODED_SIZE]" + } + ] + } + } + } + }, + { + "id": 26, + "type": { + "path": [ + "sp_runtime", + "TokenError" + ], + "def": { + "variant": { + "variants": [ + { + "name": "NoFunds", + "index": 0 + }, + { + "name": "WouldDie", + "index": 1 + }, + { + "name": "BelowMinimum", + "index": 2 + }, + { + "name": "CannotCreate", + "index": 3 + }, + { + "name": "UnknownAsset", + "index": 4 + }, + { + "name": "Frozen", + "index": 5 + }, + { + "name": "Unsupported", + "index": 6 + } + ] + } + } + } + }, + { + "id": 27, + "type": { + "path": [ + "sp_arithmetic", + "ArithmeticError" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Underflow", + "index": 0 + }, + { + "name": "Overflow", + "index": 1 + }, + { + "name": "DivisionByZero", + "index": 2 + } + ] + } + } + } + }, + { + "id": 28, + "type": { + "path": [ + "sp_runtime", + "TransactionalError" + ], + "def": { + "variant": { + "variants": [ + { + "name": "LimitReached", + "index": 0 + }, + { + "name": "NoLayer", + "index": 1 + } + ] + } + } + } + }, + { + "id": 29, + "type": { + "path": [ + "pallet_utility", + "pallet", + "Event" + ], + "def": { + "variant": { + "variants": [ + { + "name": "BatchInterrupted", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "u32" + }, + { + "name": "error", + "type": 24, + "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": 24, + "typeName": "DispatchError" + } + ], + "index": 4, + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ] + }, + { + "name": "DispatchedAs", + "fields": [ + { + "name": "result", + "type": 30, + "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": 30, + "type": { + "path": [ + "Result" + ], + "params": [ + { + "name": "T", + "type": 31 + }, + { + "name": "E", + "type": 24 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Ok", + "fields": [ + { + "type": 31 + } + ], + "index": 0 + }, + { + "name": "Err", + "fields": [ + { + "type": 24 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 31, + "type": { + "def": { + "tuple": [] + } + } + }, + { + "id": 32, + "type": { + "path": [ + "pallet_indices", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "IndexAssigned", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "index", + "type": 4, + "typeName": "T::AccountIndex" + } + ], + "index": 0, + "docs": [ + "A account index was assigned." + ] + }, + { + "name": "IndexFreed", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "T::AccountIndex" + } + ], + "index": 1, + "docs": [ + "A account index has been freed up (unassigned)." + ] + }, + { + "name": "IndexFrozen", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "T::AccountIndex" + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 2, + "docs": [ + "A account index has been frozen to its current account 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": 33, + "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" + }, + { + "name": "reserved", + "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": 34, + "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)." + ] + } + ] + } + }, + "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": 34, + "type": { + "path": [ + "frame_support", + "traits", + "tokens", + "misc", + "BalanceStatus" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Free", + "index": 0 + }, + { + "name": "Reserved", + "index": 1 + } + ] + } + } + } + }, + { + "id": 35, + "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": 36, + "type": { + "path": [ + "pallet_asset_tx_payment", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "AssetTxFeePaid", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "actual_fee", + "type": 6, + "typeName": "AssetBalanceOf" + }, + { + "name": "tip", + "type": 6, + "typeName": "AssetBalanceOf" + }, + { + "name": "asset_id", + "type": 37, + "typeName": "Option>" + } + ], + "index": 0, + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_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": 37, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 4 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 38, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "SolutionStored", + "fields": [ + { + "name": "compute", + "type": 39, + "typeName": "ElectionCompute" + }, + { + "name": "origin", + "type": 40, + "typeName": "Option" + }, + { + "name": "prev_ejected", + "type": 41, + "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": 39, + "typeName": "ElectionCompute" + }, + { + "name": "score", + "type": 42, + "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": 43, + "typeName": "Phase" + }, + { + "name": "to", + "type": 43, + "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": 39, + "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": 40, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 0 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 41, + "type": { + "def": { + "primitive": "bool" + } + } + }, + { + "id": 42, + "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": 43, + "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": 44, + "typeName": "(bool, Bn)" + } + ], + "index": 2 + }, + { + "name": "Emergency", + "index": 3 + } + ] + } + } + } + }, + { + "id": 44, + "type": { + "def": { + "tuple": [ + 41, + 4 + ] + } + } + }, + { + "id": 45, + "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": 46, + "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": 47, + "typeName": "ValidatorPrefs" + } + ], + "index": 13, + "docs": [ + "A validator has set their preferences." + ] + }, + { + "name": "ForceEra", + "fields": [ + { + "name": "mode", + "type": 49, + "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": 46, + "type": { + "path": [ + "sp_arithmetic", + "per_things", + "Perbill" + ], + "def": { + "composite": { + "fields": [ + { + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 47, + "type": { + "path": [ + "pallet_staking", + "ValidatorPrefs" + ], + "def": { + "composite": { + "fields": [ + { + "name": "commission", + "type": 48, + "typeName": "Perbill" + }, + { + "name": "blocked", + "type": 41, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 48, + "type": { + "def": { + "compact": { + "type": 46 + } + } + } + }, + { + "id": 49, + "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": 50, + "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": 51, + "type": { + "path": [ + "pallet_democracy", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Proposed", + "fields": [ + { + "name": "proposal_index", + "type": 4, + "typeName": "PropIndex" + }, + { + "name": "deposit", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 0, + "docs": [ + "A motion has been proposed by a public account." + ] + }, + { + "name": "Tabled", + "fields": [ + { + "name": "proposal_index", + "type": 4, + "typeName": "PropIndex" + }, + { + "name": "deposit", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "A public proposal has been tabled for referendum vote." + ] + }, + { + "name": "ExternalTabled", + "index": 2, + "docs": [ + "An external proposal has been tabled." + ] + }, + { + "name": "Started", + "fields": [ + { + "name": "ref_index", + "type": 4, + "typeName": "ReferendumIndex" + }, + { + "name": "threshold", + "type": 52, + "typeName": "VoteThreshold" + } + ], + "index": 3, + "docs": [ + "A referendum has begun." + ] + }, + { + "name": "Passed", + "fields": [ + { + "name": "ref_index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 4, + "docs": [ + "A proposal has been approved by referendum." + ] + }, + { + "name": "NotPassed", + "fields": [ + { + "name": "ref_index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 5, + "docs": [ + "A proposal has been rejected by referendum." + ] + }, + { + "name": "Cancelled", + "fields": [ + { + "name": "ref_index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 6, + "docs": [ + "A referendum has been cancelled." + ] + }, + { + "name": "Delegated", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "target", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 7, + "docs": [ + "An account has delegated their vote to another account." + ] + }, + { + "name": "Undelegated", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 8, + "docs": [ + "An account has cancelled a previous delegation operation." + ] + }, + { + "name": "Vetoed", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "proposal_hash", + "type": 11, + "typeName": "H256" + }, + { + "name": "until", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 9, + "docs": [ + "An external proposal has been vetoed." + ] + }, + { + "name": "Blacklisted", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "H256" + } + ], + "index": 10, + "docs": [ + "A proposal_hash has been blacklisted permanently." + ] + }, + { + "name": "Voted", + "fields": [ + { + "name": "voter", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "ref_index", + "type": 4, + "typeName": "ReferendumIndex" + }, + { + "name": "vote", + "type": 53, + "typeName": "AccountVote>" + } + ], + "index": 11, + "docs": [ + "An account has voted in a referendum" + ] + }, + { + "name": "Seconded", + "fields": [ + { + "name": "seconder", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "prop_index", + "type": 4, + "typeName": "PropIndex" + } + ], + "index": 12, + "docs": [ + "An account has secconded a proposal" + ] + }, + { + "name": "ProposalCanceled", + "fields": [ + { + "name": "prop_index", + "type": 4, + "typeName": "PropIndex" + } + ], + "index": 13, + "docs": [ + "A proposal got canceled." + ] + }, + { + "name": "MetadataSet", + "fields": [ + { + "name": "owner", + "type": 55, + "typeName": "MetadataOwner", + "docs": [ + "Metadata owner." + ] + }, + { + "name": "hash", + "type": 11, + "typeName": "PreimageHash", + "docs": [ + "Preimage hash." + ] + } + ], + "index": 14, + "docs": [ + "Metadata for a proposal or a referendum has been set." + ] + }, + { + "name": "MetadataCleared", + "fields": [ + { + "name": "owner", + "type": 55, + "typeName": "MetadataOwner", + "docs": [ + "Metadata owner." + ] + }, + { + "name": "hash", + "type": 11, + "typeName": "PreimageHash", + "docs": [ + "Preimage hash." + ] + } + ], + "index": 15, + "docs": [ + "Metadata for a proposal or a referendum has been cleared." + ] + }, + { + "name": "MetadataTransferred", + "fields": [ + { + "name": "prev_owner", + "type": 55, + "typeName": "MetadataOwner", + "docs": [ + "Previous metadata owner." + ] + }, + { + "name": "owner", + "type": 55, + "typeName": "MetadataOwner", + "docs": [ + "New metadata owner." + ] + }, + { + "name": "hash", + "type": 11, + "typeName": "PreimageHash", + "docs": [ + "Preimage hash." + ] + } + ], + "index": 16, + "docs": [ + "Metadata has been transferred to new owner." + ] + } + ] + } + }, + "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": 52, + "type": { + "path": [ + "pallet_democracy", + "vote_threshold", + "VoteThreshold" + ], + "def": { + "variant": { + "variants": [ + { + "name": "SuperMajorityApprove", + "index": 0 + }, + { + "name": "SuperMajorityAgainst", + "index": 1 + }, + { + "name": "SimpleMajority", + "index": 2 + } + ] + } + } + } + }, + { + "id": 53, + "type": { + "path": [ + "pallet_democracy", + "vote", + "AccountVote" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Standard", + "fields": [ + { + "name": "vote", + "type": 54, + "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 + } + ] + } + } + } + }, + { + "id": 54, + "type": { + "path": [ + "pallet_democracy", + "vote", + "Vote" + ], + "def": { + "composite": { + "fields": [ + { + "type": 2 + } + ] + } + } + } + }, + { + "id": 55, + "type": { + "path": [ + "pallet_democracy", + "types", + "MetadataOwner" + ], + "def": { + "variant": { + "variants": [ + { + "name": "External", + "index": 0 + }, + { + "name": "Proposal", + "fields": [ + { + "type": 4, + "typeName": "PropIndex" + } + ], + "index": 1 + }, + { + "name": "Referendum", + "fields": [ + { + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 56, + "type": { + "path": [ + "pallet_collective", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Proposed", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "proposal_index", + "type": 4, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "threshold", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0, + "docs": [ + "A motion (given hash) has been proposed (by given account) with a threshold (given", + "`MemberCount`)." + ] + }, + { + "name": "Voted", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "voted", + "type": 41, + "typeName": "bool" + }, + { + "name": "yes", + "type": 4, + "typeName": "MemberCount" + }, + { + "name": "no", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 1, + "docs": [ + "A motion (given hash) has been voted on by given account, leaving", + "a tally (yes votes and no votes given respectively as `MemberCount`)." + ] + }, + { + "name": "Approved", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 2, + "docs": [ + "A motion was approved by the required threshold." + ] + }, + { + "name": "Disapproved", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 3, + "docs": [ + "A motion was not approved by the required threshold." + ] + }, + { + "name": "Executed", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "result", + "type": 30, + "typeName": "DispatchResult" + } + ], + "index": 4, + "docs": [ + "A motion was executed; result will be `Ok` if it returned without error." + ] + }, + { + "name": "MemberExecuted", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "result", + "type": 30, + "typeName": "DispatchResult" + } + ], + "index": 5, + "docs": [ + "A single member did some action; result will be `Ok` if it returned without error." + ] + }, + { + "name": "Closed", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "yes", + "type": 4, + "typeName": "MemberCount" + }, + { + "name": "no", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 6, + "docs": [ + "A proposal was closed because its threshold was reached or after its duration was up." + ] + } + ] + } + }, + "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": 57, + "type": { + "path": [ + "pallet_collective", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Proposed", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "proposal_index", + "type": 4, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "threshold", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0, + "docs": [ + "A motion (given hash) has been proposed (by given account) with a threshold (given", + "`MemberCount`)." + ] + }, + { + "name": "Voted", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "voted", + "type": 41, + "typeName": "bool" + }, + { + "name": "yes", + "type": 4, + "typeName": "MemberCount" + }, + { + "name": "no", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 1, + "docs": [ + "A motion (given hash) has been voted on by given account, leaving", + "a tally (yes votes and no votes given respectively as `MemberCount`)." + ] + }, + { + "name": "Approved", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 2, + "docs": [ + "A motion was approved by the required threshold." + ] + }, + { + "name": "Disapproved", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 3, + "docs": [ + "A motion was not approved by the required threshold." + ] + }, + { + "name": "Executed", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "result", + "type": 30, + "typeName": "DispatchResult" + } + ], + "index": 4, + "docs": [ + "A motion was executed; result will be `Ok` if it returned without error." + ] + }, + { + "name": "MemberExecuted", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "result", + "type": 30, + "typeName": "DispatchResult" + } + ], + "index": 5, + "docs": [ + "A single member did some action; result will be `Ok` if it returned without error." + ] + }, + { + "name": "Closed", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "yes", + "type": 4, + "typeName": "MemberCount" + }, + { + "name": "no", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 6, + "docs": [ + "A proposal was closed because its threshold was reached or after its duration was up." + ] + } + ] + } + }, + "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_elections_phragmen", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NewTerm", + "fields": [ + { + "name": "new_members", + "type": 59, + "typeName": "Vec<(::AccountId, BalanceOf)>" + } + ], + "index": 0, + "docs": [ + "A new term with new_members. This indicates that enough candidates existed to run", + "the election, not that enough have has been elected. The inner value must be examined", + "for this purpose. A `NewTerm(\\[\\])` indicates that some candidates got their bond", + "slashed and none were elected, whilst `EmptyTerm` means that no candidates existed to", + "begin with." + ] + }, + { + "name": "EmptyTerm", + "index": 1, + "docs": [ + "No (or not enough) candidates existed for this round. This is different from", + "`NewTerm(\\[\\])`. See the description of `NewTerm`." + ] + }, + { + "name": "ElectionError", + "index": 2, + "docs": [ + "Internal error happened while trying to perform election." + ] + }, + { + "name": "MemberKicked", + "fields": [ + { + "name": "member", + "type": 0, + "typeName": "::AccountId" + } + ], + "index": 3, + "docs": [ + "A member has been removed. This should always be followed by either `NewTerm` or", + "`EmptyTerm`." + ] + }, + { + "name": "Renounced", + "fields": [ + { + "name": "candidate", + "type": 0, + "typeName": "::AccountId" + } + ], + "index": 4, + "docs": [ + "Someone has renounced their candidacy." + ] + }, + { + "name": "CandidateSlashed", + "fields": [ + { + "name": "candidate", + "type": 0, + "typeName": "::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 5, + "docs": [ + "A candidate was slashed by amount due to failing to obtain a seat as member or", + "runner-up.", + "", + "Note that old members and runners-up are also candidates." + ] + }, + { + "name": "SeatHolderSlashed", + "fields": [ + { + "name": "seat_holder", + "type": 0, + "typeName": "::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 6, + "docs": [ + "A seat holder was slashed by amount by being forcefully 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": 59, + "type": { + "def": { + "sequence": { + "type": 60 + } + } + } + }, + { + "id": 60, + "type": { + "def": { + "tuple": [ + 0, + 6 + ] + } + } + }, + { + "id": 61, + "type": { + "path": [ + "pallet_membership", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "MemberAdded", + "index": 0, + "docs": [ + "The given member was added; see the transaction for who." + ] + }, + { + "name": "MemberRemoved", + "index": 1, + "docs": [ + "The given member was removed; see the transaction for who." + ] + }, + { + "name": "MembersSwapped", + "index": 2, + "docs": [ + "Two members were swapped; see the transaction for who." + ] + }, + { + "name": "MembersReset", + "index": 3, + "docs": [ + "The membership was reset; see the transaction for who the new set is." + ] + }, + { + "name": "KeyChanged", + "index": 4, + "docs": [ + "One of the members' keys changed." + ] + }, + { + "name": "Dummy", + "index": 5, + "docs": [ + "Phantom member, never used." + ] + } + ] + } + }, + "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": 62, + "type": { + "path": [ + "pallet_grandpa", + "pallet", + "Event" + ], + "def": { + "variant": { + "variants": [ + { + "name": "NewAuthorities", + "fields": [ + { + "name": "authority_set", + "type": 63, + "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": 63, + "type": { + "def": { + "sequence": { + "type": 64 + } + } + } + }, + { + "id": 64, + "type": { + "def": { + "tuple": [ + 65, + 10 + ] + } + } + }, + { + "id": 65, + "type": { + "path": [ + "sp_consensus_grandpa", + "app", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 66, + "typeName": "ed25519::Public" + } + ] + } + } + } + }, + { + "id": 66, + "type": { + "path": [ + "sp_core", + "ed25519", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ] + } + } + } + }, + { + "id": 67, + "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": 68, + "type": { + "path": [ + "pallet_contracts", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Instantiated", + "fields": [ + { + "name": "deployer", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "contract", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 0, + "docs": [ + "Contract deployed by address at the specified address." + ] + }, + { + "name": "Terminated", + "fields": [ + { + "name": "contract", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The contract that was terminated." + ] + }, + { + "name": "beneficiary", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that received the contracts remaining balance" + ] + } + ], + "index": 1, + "docs": [ + "Contract has been removed.", + "", + "# Note", + "", + "The only way for a contract to be removed and emitting this event is by calling", + "`seal_terminate`." + ] + }, + { + "name": "CodeStored", + "fields": [ + { + "name": "code_hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 2, + "docs": [ + "Code with the specified hash has been stored." + ] + }, + { + "name": "ContractEmitted", + "fields": [ + { + "name": "contract", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The contract that emitted the event." + ] + }, + { + "name": "data", + "type": 12, + "typeName": "Vec", + "docs": [ + "Data supplied by the contract. Metadata generated during contract compilation", + "is needed to decode it." + ] + } + ], + "index": 3, + "docs": [ + "A custom event emitted by the contract." + ] + }, + { + "name": "CodeRemoved", + "fields": [ + { + "name": "code_hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 4, + "docs": [ + "A code with the specified hash was removed." + ] + }, + { + "name": "ContractCodeUpdated", + "fields": [ + { + "name": "contract", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The contract that has been updated." + ] + }, + { + "name": "new_code_hash", + "type": 11, + "typeName": "T::Hash", + "docs": [ + "New code hash that was set for the contract." + ] + }, + { + "name": "old_code_hash", + "type": 11, + "typeName": "T::Hash", + "docs": [ + "Previous code hash of the contract." + ] + } + ], + "index": 5, + "docs": [ + "A contract's code was updated." + ] + }, + { + "name": "Called", + "fields": [ + { + "name": "caller", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The account that called the `contract`." + ] + }, + { + "name": "contract", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The contract that was called." + ] + } + ], + "index": 6, + "docs": [ + "A contract was called either by a plain account or another contract.", + "", + "# Note", + "", + "Please keep in mind that like all events this is only emitted for successful", + "calls. This is because on failure all storage changes including events are", + "rolled back." + ] + }, + { + "name": "DelegateCalled", + "fields": [ + { + "name": "contract", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The contract that performed the delegate call and hence in whose context", + "the `code_hash` is executed." + ] + }, + { + "name": "code_hash", + "type": 11, + "typeName": "CodeHash", + "docs": [ + "The code hash that was delegate called." + ] + } + ], + "index": 7, + "docs": [ + "A contract delegate called a code hash.", + "", + "# Note", + "", + "Please keep in mind that like all events this is only emitted for successful", + "calls. This is because on failure all storage changes including events are", + "rolled back." + ] + } + ] + } + }, + "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": 69, + "type": { + "path": [ + "pallet_sudo", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Sudid", + "fields": [ + { + "name": "sudo_result", + "type": 30, + "typeName": "DispatchResult" + } + ], + "index": 0, + "docs": [ + "A sudo just took place. \\[result\\]" + ] + }, + { + "name": "KeyChanged", + "fields": [ + { + "name": "old_sudoer", + "type": 40, + "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": 30, + "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": 70, + "type": { + "path": [ + "pallet_im_online", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "HeartbeatReceived", + "fields": [ + { + "name": "authority_id", + "type": 71, + "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": 73, + "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": 71, + "type": { + "path": [ + "pallet_im_online", + "sr25519", + "app_sr25519", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 72, + "typeName": "sr25519::Public" + } + ] + } + } + } + }, + { + "id": 72, + "type": { + "path": [ + "sp_core", + "sr25519", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ] + } + } + } + }, + { + "id": 73, + "type": { + "def": { + "sequence": { + "type": 74 + } + } + } + }, + { + "id": 74, + "type": { + "def": { + "tuple": [ + 0, + 75 + ] + } + } + }, + { + "id": 75, + "type": { + "path": [ + "pallet_staking", + "Exposure" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "total", + "type": 76, + "typeName": "Balance" + }, + { + "name": "own", + "type": 76, + "typeName": "Balance" + }, + { + "name": "others", + "type": 77, + "typeName": "Vec>" + } + ] + } + } + } + }, + { + "id": 76, + "type": { + "def": { + "compact": { + "type": 6 + } + } + } + }, + { + "id": 77, + "type": { + "def": { + "sequence": { + "type": 78 + } + } + } + }, + { + "id": 78, + "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": 76, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 79, + "type": { + "path": [ + "pallet_offences", + "pallet", + "Event" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Offence", + "fields": [ + { + "name": "kind", + "type": 80, + "typeName": "Kind" + }, + { + "name": "timeslot", + "type": 12, + "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": 80, + "type": { + "def": { + "array": { + "len": 16, + "type": 2 + } + } + } + }, + { + "id": 81, + "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": 82, + "type": { + "path": [ + "pallet_society", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Founded", + "fields": [ + { + "name": "founder", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 0, + "docs": [ + "The society is founded by the given identity." + ] + }, + { + "name": "Bid", + "fields": [ + { + "name": "candidate_id", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "offer", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "A membership bid just happened. The given account is the candidate's ID and their offer", + "is the second." + ] + }, + { + "name": "Vouch", + "fields": [ + { + "name": "candidate_id", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "offer", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "vouching", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 2, + "docs": [ + "A membership bid just happened by vouching. The given account is the candidate's ID and", + "their offer is the second. The vouching party is the third." + ] + }, + { + "name": "AutoUnbid", + "fields": [ + { + "name": "candidate", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 3, + "docs": [ + "A candidate was dropped (due to an excess of bids in the system)." + ] + }, + { + "name": "Unbid", + "fields": [ + { + "name": "candidate", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 4, + "docs": [ + "A candidate was dropped (by their request)." + ] + }, + { + "name": "Unvouch", + "fields": [ + { + "name": "candidate", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 5, + "docs": [ + "A candidate was dropped (by request of who vouched for them)." + ] + }, + { + "name": "Inducted", + "fields": [ + { + "name": "primary", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "candidates", + "type": 83, + "typeName": "Vec" + } + ], + "index": 6, + "docs": [ + "A group of candidates have been inducted. The batch's primary is the first value, the", + "batch in full is the second." + ] + }, + { + "name": "SuspendedMemberJudgement", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "judged", + "type": 41, + "typeName": "bool" + } + ], + "index": 7, + "docs": [ + "A suspended member has been judged." + ] + }, + { + "name": "CandidateSuspended", + "fields": [ + { + "name": "candidate", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 8, + "docs": [ + "A candidate has been suspended" + ] + }, + { + "name": "MemberSuspended", + "fields": [ + { + "name": "member", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 9, + "docs": [ + "A member has been suspended" + ] + }, + { + "name": "Challenged", + "fields": [ + { + "name": "member", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 10, + "docs": [ + "A member has been challenged" + ] + }, + { + "name": "Vote", + "fields": [ + { + "name": "candidate", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "voter", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "vote", + "type": 41, + "typeName": "bool" + } + ], + "index": 11, + "docs": [ + "A vote has been placed" + ] + }, + { + "name": "DefenderVote", + "fields": [ + { + "name": "voter", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "vote", + "type": 41, + "typeName": "bool" + } + ], + "index": 12, + "docs": [ + "A vote has been placed for a defending member" + ] + }, + { + "name": "NewMaxMembers", + "fields": [ + { + "name": "max", + "type": 4, + "typeName": "u32" + } + ], + "index": 13, + "docs": [ + "A new \\[max\\] member count has been set" + ] + }, + { + "name": "Unfounded", + "fields": [ + { + "name": "founder", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 14, + "docs": [ + "Society is unfounded." + ] + }, + { + "name": "Deposit", + "fields": [ + { + "name": "value", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 15, + "docs": [ + "Some funds were deposited into the society account." + ] + }, + { + "name": "SkepticsChosen", + "fields": [ + { + "name": "skeptics", + "type": 83, + "typeName": "Vec" + } + ], + "index": 16, + "docs": [ + "A group of members has been choosen as Skeptics" + ] + } + ] + } + }, + "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": 83, + "type": { + "def": { + "sequence": { + "type": 0 + } + } + } + }, + { + "id": 84, + "type": { + "path": [ + "pallet_recovery", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "RecoveryCreated", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 0, + "docs": [ + "A recovery process has been set up for an account." + ] + }, + { + "name": "RecoveryInitiated", + "fields": [ + { + "name": "lost_account", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "rescuer_account", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 1, + "docs": [ + "A recovery process has been initiated for lost account by rescuer account." + ] + }, + { + "name": "RecoveryVouched", + "fields": [ + { + "name": "lost_account", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "rescuer_account", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "sender", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 2, + "docs": [ + "A recovery process for lost account by rescuer account has been vouched for by sender." + ] + }, + { + "name": "RecoveryClosed", + "fields": [ + { + "name": "lost_account", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "rescuer_account", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 3, + "docs": [ + "A recovery process for lost account by rescuer account has been closed." + ] + }, + { + "name": "AccountRecovered", + "fields": [ + { + "name": "lost_account", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "rescuer_account", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 4, + "docs": [ + "Lost account has been successfully recovered by rescuer account." + ] + }, + { + "name": "RecoveryRemoved", + "fields": [ + { + "name": "lost_account", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 5, + "docs": [ + "A recovery process has been removed for an account." + ] + } + ] + } + }, + "docs": [ + "Events type." + ] + } + }, + { + "id": 85, + "type": { + "path": [ + "pallet_vesting", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "VestingUpdated", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "unvested", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 0, + "docs": [ + "The amount vested has been updated. This could indicate a change in funds available.", + "The balance given is the amount which is left unvested (and thus locked)." + ] + }, + { + "name": "VestingCompleted", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 1, + "docs": [ + "An \\[account\\] has become fully vested." + ] + } + ] + } + }, + "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": 86, + "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": 87, + "typeName": "TaskAddress" + }, + { + "name": "id", + "type": 88, + "typeName": "Option" + }, + { + "name": "result", + "type": 30, + "typeName": "DispatchResult" + } + ], + "index": 2, + "docs": [ + "Dispatched some task." + ] + }, + { + "name": "CallUnavailable", + "fields": [ + { + "name": "task", + "type": 87, + "typeName": "TaskAddress" + }, + { + "name": "id", + "type": 88, + "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": 87, + "typeName": "TaskAddress" + }, + { + "name": "id", + "type": 88, + "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": 87, + "typeName": "TaskAddress" + }, + { + "name": "id", + "type": 88, + "typeName": "Option" + } + ], + "index": 5, + "docs": [ + "The given task can never be executed since it is overweight." + ] + } + ] + } + }, + "docs": [ + "Events type." + ] + } + }, + { + "id": 87, + "type": { + "def": { + "tuple": [ + 4, + 4 + ] + } + } + }, + { + "id": 88, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 1 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 1 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 89, + "type": { + "path": [ + "pallet_glutton", + "pallet", + "Event" + ], + "def": { + "variant": { + "variants": [ + { + "name": "PalletInitialized", + "fields": [ + { + "name": "reinit", + "type": 41, + "typeName": "bool" + } + ], + "index": 0, + "docs": [ + "The pallet has been (re)initialized by root." + ] + }, + { + "name": "ComputationLimitSet", + "fields": [ + { + "name": "compute", + "type": 46, + "typeName": "Perbill" + } + ], + "index": 1, + "docs": [ + "The computation limit has been updated by root." + ] + }, + { + "name": "StorageLimitSet", + "fields": [ + { + "name": "storage", + "type": 46, + "typeName": "Perbill" + } + ], + "index": 2, + "docs": [ + "The storage limit has been updated by root." + ] + } + ] + } + }, + "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": 90, + "type": { + "path": [ + "pallet_preimage", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noted", + "fields": [ + { + "name": "hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 0, + "docs": [ + "A preimage has been noted." + ] + }, + { + "name": "Requested", + "fields": [ + { + "name": "hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 1, + "docs": [ + "A preimage has been requested." + ] + }, + { + "name": "Cleared", + "fields": [ + { + "name": "hash", + "type": 11, + "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": 91, + "type": { + "path": [ + "pallet_proxy", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "ProxyExecuted", + "fields": [ + { + "name": "result", + "type": 30, + "typeName": "DispatchResult" + } + ], + "index": 0, + "docs": [ + "A proxy was executed correctly, with the given." + ] + }, + { + "name": "PureCreated", + "fields": [ + { + "name": "pure", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "proxy_type", + "type": 92, + "typeName": "T::ProxyType" + }, + { + "name": "disambiguation_index", + "type": 93, + "typeName": "u16" + } + ], + "index": 1, + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ] + }, + { + "name": "Announced", + "fields": [ + { + "name": "real", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "proxy", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "call_hash", + "type": 11, + "typeName": "CallHashOf" + } + ], + "index": 2, + "docs": [ + "An announcement was placed to make a call in the future." + ] + }, + { + "name": "ProxyAdded", + "fields": [ + { + "name": "delegator", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "delegatee", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "proxy_type", + "type": 92, + "typeName": "T::ProxyType" + }, + { + "name": "delay", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 3, + "docs": [ + "A proxy was added." + ] + }, + { + "name": "ProxyRemoved", + "fields": [ + { + "name": "delegator", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "delegatee", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "proxy_type", + "type": 92, + "typeName": "T::ProxyType" + }, + { + "name": "delay", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 4, + "docs": [ + "A proxy was removed." + ] + } + ] + } + }, + "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": 92, + "type": { + "path": [ + "kitchensink_runtime", + "ProxyType" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Any", + "index": 0 + }, + { + "name": "NonTransfer", + "index": 1 + }, + { + "name": "Governance", + "index": 2 + }, + { + "name": "Staking", + "index": 3 + } + ] + } + } + } + }, + { + "id": 93, + "type": { + "def": { + "primitive": "u16" + } + } + }, + { + "id": 94, + "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": 95, + "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": 95, + "typeName": "Timepoint" + }, + { + "name": "multisig", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "call_hash", + "type": 1, + "typeName": "CallHash" + }, + { + "name": "result", + "type": 30, + "typeName": "DispatchResult" + } + ], + "index": 2, + "docs": [ + "A multisig operation has been executed." + ] + }, + { + "name": "MultisigCancelled", + "fields": [ + { + "name": "cancelling", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "timepoint", + "type": 95, + "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": 95, + "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": 96, + "type": { + "path": [ + "pallet_bounties", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "BountyProposed", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "BountyIndex" + } + ], + "index": 0, + "docs": [ + "New bounty proposal." + ] + }, + { + "name": "BountyRejected", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "BountyIndex" + }, + { + "name": "bond", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "A bounty proposal was rejected; funds were slashed." + ] + }, + { + "name": "BountyBecameActive", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "BountyIndex" + } + ], + "index": 2, + "docs": [ + "A bounty proposal is funded and became active." + ] + }, + { + "name": "BountyAwarded", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "BountyIndex" + }, + { + "name": "beneficiary", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 3, + "docs": [ + "A bounty is awarded to a beneficiary." + ] + }, + { + "name": "BountyClaimed", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "BountyIndex" + }, + { + "name": "payout", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "beneficiary", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 4, + "docs": [ + "A bounty is claimed by beneficiary." + ] + }, + { + "name": "BountyCanceled", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "BountyIndex" + } + ], + "index": 5, + "docs": [ + "A bounty is cancelled." + ] + }, + { + "name": "BountyExtended", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "BountyIndex" + } + ], + "index": 6, + "docs": [ + "A bounty expiry is extended." + ] + } + ] + } + }, + "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": 97, + "type": { + "path": [ + "pallet_tips", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NewTip", + "fields": [ + { + "name": "tip_hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 0, + "docs": [ + "A new tip suggestion has been opened." + ] + }, + { + "name": "TipClosing", + "fields": [ + { + "name": "tip_hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 1, + "docs": [ + "A tip suggestion has reached threshold and is closing." + ] + }, + { + "name": "TipClosed", + "fields": [ + { + "name": "tip_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "payout", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 2, + "docs": [ + "A tip suggestion has been closed." + ] + }, + { + "name": "TipRetracted", + "fields": [ + { + "name": "tip_hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 3, + "docs": [ + "A tip suggestion has been retracted." + ] + }, + { + "name": "TipSlashed", + "fields": [ + { + "name": "tip_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "finder", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "deposit", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 4, + "docs": [ + "A tip suggestion has been slashed." + ] + } + ] + } + }, + "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": 98, + "type": { + "path": [ + "pallet_assets", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Created", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "creator", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 0, + "docs": [ + "Some asset class was created." + ] + }, + { + "name": "Issued", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 1, + "docs": [ + "Some assets were issued." + ] + }, + { + "name": "Transferred", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "from", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "to", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 2, + "docs": [ + "Some assets were transferred." + ] + }, + { + "name": "Burned", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "balance", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 3, + "docs": [ + "Some assets were destroyed." + ] + }, + { + "name": "TeamChanged", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "issuer", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "admin", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "freezer", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 4, + "docs": [ + "The management team changed." + ] + }, + { + "name": "OwnerChanged", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 5, + "docs": [ + "The owner changed." + ] + }, + { + "name": "Frozen", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 6, + "docs": [ + "Some account `who` was frozen." + ] + }, + { + "name": "Thawed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 7, + "docs": [ + "Some account `who` was thawed." + ] + }, + { + "name": "AssetFrozen", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + } + ], + "index": 8, + "docs": [ + "Some asset `asset_id` was frozen." + ] + }, + { + "name": "AssetThawed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + } + ], + "index": 9, + "docs": [ + "Some asset `asset_id` was thawed." + ] + }, + { + "name": "AccountsDestroyed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "accounts_destroyed", + "type": 4, + "typeName": "u32" + }, + { + "name": "accounts_remaining", + "type": 4, + "typeName": "u32" + } + ], + "index": 10, + "docs": [ + "Accounts were destroyed for given asset." + ] + }, + { + "name": "ApprovalsDestroyed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "approvals_destroyed", + "type": 4, + "typeName": "u32" + }, + { + "name": "approvals_remaining", + "type": 4, + "typeName": "u32" + } + ], + "index": 11, + "docs": [ + "Approvals were destroyed for given asset." + ] + }, + { + "name": "DestructionStarted", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + } + ], + "index": 12, + "docs": [ + "An asset class is in the process of being destroyed." + ] + }, + { + "name": "Destroyed", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + } + ], + "index": 13, + "docs": [ + "An asset class was destroyed." + ] + }, + { + "name": "ForceCreated", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 14, + "docs": [ + "Some asset class was force-created." + ] + }, + { + "name": "MetadataSet", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "name", + "type": 12, + "typeName": "Vec" + }, + { + "name": "symbol", + "type": 12, + "typeName": "Vec" + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8" + }, + { + "name": "is_frozen", + "type": 41, + "typeName": "bool" + } + ], + "index": 15, + "docs": [ + "New metadata has been set for an asset." + ] + }, + { + "name": "MetadataCleared", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + } + ], + "index": 16, + "docs": [ + "Metadata has been cleared for an asset." + ] + }, + { + "name": "ApprovedTransfer", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "source", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 17, + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ] + }, + { + "name": "ApprovalCancelled", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 18, + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ] + }, + { + "name": "TransferredApproved", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "destination", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 19, + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ] + }, + { + "name": "AssetStatusChanged", + "fields": [ + { + "name": "asset_id", + "type": 4, + "typeName": "T::AssetId" + } + ], + "index": 20, + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ] + } + ] + } + }, + "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": 99, + "type": { + "path": [ + "pallet_lottery", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "LotteryStarted", + "index": 0, + "docs": [ + "A lottery has been started!" + ] + }, + { + "name": "CallsUpdated", + "index": 1, + "docs": [ + "A new set of calls have been set!" + ] + }, + { + "name": "Winner", + "fields": [ + { + "name": "winner", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "lottery_balance", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 2, + "docs": [ + "A winner has been chosen!" + ] + }, + { + "name": "TicketBought", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "call_index", + "type": 100, + "typeName": "CallIndex" + } + ], + "index": 3, + "docs": [ + "A ticket has been bought!" + ] + } + ] + } + }, + "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": 100, + "type": { + "def": { + "tuple": [ + 2, + 2 + ] + } + } + }, + { + "id": 101, + "type": { + "path": [ + "pallet_nis", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "BidPlaced", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "duration", + "type": 4, + "typeName": "u32" + } + ], + "index": 0, + "docs": [ + "A bid was successfully placed." + ] + }, + { + "name": "BidRetracted", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "duration", + "type": 4, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "A bid was successfully removed (before being accepted)." + ] + }, + { + "name": "BidDropped", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "duration", + "type": 4, + "typeName": "u32" + } + ], + "index": 2, + "docs": [ + "A bid was dropped from a queue because of another, more substantial, bid was present." + ] + }, + { + "name": "Issued", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReceiptIndex", + "docs": [ + "The identity of the receipt." + ] + }, + { + "name": "expiry", + "type": 4, + "typeName": "T::BlockNumber", + "docs": [ + "The block number at which the receipt may be thawed." + ] + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The owner of the receipt." + ] + }, + { + "name": "proportion", + "type": 102, + "typeName": "Perquintill", + "docs": [ + "The proportion of the effective total issuance which the receipt represents." + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount of funds which were debited from the owner." + ] + } + ], + "index": 3, + "docs": [ + "A bid was accepted. The balance may not be released until expiry." + ] + }, + { + "name": "Thawed", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReceiptIndex", + "docs": [ + "The identity of the receipt." + ] + }, + { + "name": "who", + "type": 0, + "typeName": "T::AccountId", + "docs": [ + "The owner." + ] + }, + { + "name": "proportion", + "type": 102, + "typeName": "Perquintill", + "docs": [ + "The proportion of the effective total issuance by which the owner was debited." + ] + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf", + "docs": [ + "The amount by which the owner was credited." + ] + }, + { + "name": "dropped", + "type": 41, + "typeName": "bool", + "docs": [ + "If `true` then the receipt is done." + ] + } + ], + "index": 4, + "docs": [ + "An receipt has been (at least partially) thawed." + ] + }, + { + "name": "Funded", + "fields": [ + { + "name": "deficit", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 5, + "docs": [ + "An automatic funding of the deficit was made." + ] + }, + { + "name": "Transferred", + "fields": [ + { + "name": "from", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "to", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "index", + "type": 4, + "typeName": "ReceiptIndex" + } + ], + "index": 6, + "docs": [ + "A receipt was transfered." + ] + } + ] + } + }, + "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": 102, + "type": { + "path": [ + "sp_arithmetic", + "per_things", + "Perquintill" + ], + "def": { + "composite": { + "fields": [ + { + "type": 10, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 103, + "type": { + "path": [ + "pallet_uniques", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Created", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "creator", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 0, + "docs": [ + "A `collection` was created." + ] + }, + { + "name": "ForceCreated", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 1, + "docs": [ + "A `collection` was force-created." + ] + }, + { + "name": "Destroyed", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 2, + "docs": [ + "A `collection` was destroyed." + ] + }, + { + "name": "Issued", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 3, + "docs": [ + "An `item` was issued." + ] + }, + { + "name": "Transferred", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "from", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "to", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 4, + "docs": [ + "An `item` was transferred." + ] + }, + { + "name": "Burned", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 5, + "docs": [ + "An `item` was destroyed." + ] + }, + { + "name": "Frozen", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 6, + "docs": [ + "Some `item` was frozen." + ] + }, + { + "name": "Thawed", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 7, + "docs": [ + "Some `item` was thawed." + ] + }, + { + "name": "CollectionFrozen", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 8, + "docs": [ + "Some `collection` was frozen." + ] + }, + { + "name": "CollectionThawed", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 9, + "docs": [ + "Some `collection` was thawed." + ] + }, + { + "name": "OwnerChanged", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "new_owner", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 10, + "docs": [ + "The owner changed." + ] + }, + { + "name": "TeamChanged", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "issuer", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "admin", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "freezer", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 11, + "docs": [ + "The management team changed." + ] + }, + { + "name": "ApprovedTransfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 12, + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ] + }, + { + "name": "ApprovalCancelled", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 13, + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ] + }, + { + "name": "ItemStatusChanged", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 14, + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ] + }, + { + "name": "CollectionMetadataSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "data", + "type": 104, + "typeName": "BoundedVec" + }, + { + "name": "is_frozen", + "type": 41, + "typeName": "bool" + } + ], + "index": 15, + "docs": [ + "New metadata has been set for a `collection`." + ] + }, + { + "name": "CollectionMetadataCleared", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 16, + "docs": [ + "Metadata has been cleared for a `collection`." + ] + }, + { + "name": "MetadataSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "data", + "type": 104, + "typeName": "BoundedVec" + }, + { + "name": "is_frozen", + "type": 41, + "typeName": "bool" + } + ], + "index": 17, + "docs": [ + "New metadata has been set for an item." + ] + }, + { + "name": "MetadataCleared", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 18, + "docs": [ + "Metadata has been cleared for an item." + ] + }, + { + "name": "Redeposited", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "successful_items", + "type": 105, + "typeName": "Vec" + } + ], + "index": 19, + "docs": [ + "Metadata has been cleared for an item." + ] + }, + { + "name": "AttributeSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_item", + "type": 37, + "typeName": "Option" + }, + { + "name": "key", + "type": 106, + "typeName": "BoundedVec" + }, + { + "name": "value", + "type": 107, + "typeName": "BoundedVec" + } + ], + "index": 20, + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ] + }, + { + "name": "AttributeCleared", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_item", + "type": 37, + "typeName": "Option" + }, + { + "name": "key", + "type": 106, + "typeName": "BoundedVec" + } + ], + "index": 21, + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ] + }, + { + "name": "OwnershipAcceptanceChanged", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "maybe_collection", + "type": 37, + "typeName": "Option" + } + ], + "index": 22, + "docs": [ + "Ownership acceptance has changed for an account." + ] + }, + { + "name": "CollectionMaxSupplySet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "max_supply", + "type": 4, + "typeName": "u32" + } + ], + "index": 23, + "docs": [ + "Max supply has been set for a collection." + ] + }, + { + "name": "ItemPriceSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "price", + "type": 6, + "typeName": "ItemPrice" + }, + { + "name": "whitelisted_buyer", + "type": 40, + "typeName": "Option" + } + ], + "index": 24, + "docs": [ + "The price was set for the instance." + ] + }, + { + "name": "ItemPriceRemoved", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 25, + "docs": [ + "The price for the instance was removed." + ] + }, + { + "name": "ItemBought", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "price", + "type": 6, + "typeName": "ItemPrice" + }, + { + "name": "seller", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "buyer", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 26, + "docs": [ + "An item was bought." + ] + } + ] + } + }, + "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": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 105, + "type": { + "def": { + "sequence": { + "type": 4 + } + } + } + }, + { + "id": 106, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 107, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 108, + "type": { + "path": [ + "pallet_nfts", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Created", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "creator", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 0, + "docs": [ + "A `collection` was created." + ] + }, + { + "name": "ForceCreated", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 1, + "docs": [ + "A `collection` was force-created." + ] + }, + { + "name": "Destroyed", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 2, + "docs": [ + "A `collection` was destroyed." + ] + }, + { + "name": "Issued", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 3, + "docs": [ + "An `item` was issued." + ] + }, + { + "name": "Transferred", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "from", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "to", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 4, + "docs": [ + "An `item` was transferred." + ] + }, + { + "name": "Burned", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 5, + "docs": [ + "An `item` was destroyed." + ] + }, + { + "name": "ItemTransferLocked", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 6, + "docs": [ + "An `item` became non-transferable." + ] + }, + { + "name": "ItemTransferUnlocked", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 7, + "docs": [ + "An `item` became transferable." + ] + }, + { + "name": "ItemPropertiesLocked", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "lock_metadata", + "type": 41, + "typeName": "bool" + }, + { + "name": "lock_attributes", + "type": 41, + "typeName": "bool" + } + ], + "index": 8, + "docs": [ + "`item` metadata or attributes were locked." + ] + }, + { + "name": "CollectionLocked", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 9, + "docs": [ + "Some `collection` was locked." + ] + }, + { + "name": "OwnerChanged", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "new_owner", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 10, + "docs": [ + "The owner changed." + ] + }, + { + "name": "TeamChanged", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "issuer", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "admin", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "freezer", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 11, + "docs": [ + "The management team changed." + ] + }, + { + "name": "TransferApproved", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "deadline", + "type": 37, + "typeName": "Option<::BlockNumber>" + } + ], + "index": 12, + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ] + }, + { + "name": "ApprovalCancelled", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 13, + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ] + }, + { + "name": "AllApprovalsCancelled", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "owner", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 14, + "docs": [ + "All approvals of an item got cancelled." + ] + }, + { + "name": "CollectionConfigChanged", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 15, + "docs": [ + "A `collection` has had its config changed by the `Force` origin." + ] + }, + { + "name": "CollectionMetadataSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "data", + "type": 104, + "typeName": "BoundedVec" + } + ], + "index": 16, + "docs": [ + "New metadata has been set for a `collection`." + ] + }, + { + "name": "CollectionMetadataCleared", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 17, + "docs": [ + "Metadata has been cleared for a `collection`." + ] + }, + { + "name": "ItemMetadataSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "data", + "type": 104, + "typeName": "BoundedVec" + } + ], + "index": 18, + "docs": [ + "New metadata has been set for an item." + ] + }, + { + "name": "ItemMetadataCleared", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 19, + "docs": [ + "Metadata has been cleared for an item." + ] + }, + { + "name": "Redeposited", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "successful_items", + "type": 105, + "typeName": "Vec" + } + ], + "index": 20, + "docs": [ + "The deposit for a set of `item`s within a `collection` has been updated." + ] + }, + { + "name": "AttributeSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_item", + "type": 37, + "typeName": "Option" + }, + { + "name": "key", + "type": 106, + "typeName": "BoundedVec" + }, + { + "name": "value", + "type": 107, + "typeName": "BoundedVec" + }, + { + "name": "namespace", + "type": 109, + "typeName": "AttributeNamespace" + } + ], + "index": 21, + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ] + }, + { + "name": "AttributeCleared", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_item", + "type": 37, + "typeName": "Option" + }, + { + "name": "key", + "type": 106, + "typeName": "BoundedVec" + }, + { + "name": "namespace", + "type": 109, + "typeName": "AttributeNamespace" + } + ], + "index": 22, + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ] + }, + { + "name": "ItemAttributesApprovalAdded", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 23, + "docs": [ + "A new approval to modify item attributes was added." + ] + }, + { + "name": "ItemAttributesApprovalRemoved", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "delegate", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 24, + "docs": [ + "A new approval to modify item attributes was removed." + ] + }, + { + "name": "OwnershipAcceptanceChanged", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "maybe_collection", + "type": 37, + "typeName": "Option" + } + ], + "index": 25, + "docs": [ + "Ownership acceptance has changed for an account." + ] + }, + { + "name": "CollectionMaxSupplySet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "max_supply", + "type": 4, + "typeName": "u32" + } + ], + "index": 26, + "docs": [ + "Max supply has been set for a collection." + ] + }, + { + "name": "CollectionMintSettingsUpdated", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 27, + "docs": [ + "Mint settings for a collection had changed." + ] + }, + { + "name": "NextCollectionIdIncremented", + "fields": [ + { + "name": "next_id", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 28, + "docs": [ + "Event gets emitted when the `NextCollectionId` gets incremented." + ] + }, + { + "name": "ItemPriceSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "price", + "type": 6, + "typeName": "ItemPrice" + }, + { + "name": "whitelisted_buyer", + "type": 40, + "typeName": "Option" + } + ], + "index": 29, + "docs": [ + "The price was set for the item." + ] + }, + { + "name": "ItemPriceRemoved", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 30, + "docs": [ + "The price for the item was removed." + ] + }, + { + "name": "ItemBought", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "price", + "type": 6, + "typeName": "ItemPrice" + }, + { + "name": "seller", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "buyer", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 31, + "docs": [ + "An item was bought." + ] + }, + { + "name": "TipSent", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "sender", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "receiver", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "DepositBalanceOf" + } + ], + "index": 32, + "docs": [ + "A tip was sent." + ] + }, + { + "name": "SwapCreated", + "fields": [ + { + "name": "offered_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "offered_item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "desired_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "desired_item", + "type": 37, + "typeName": "Option" + }, + { + "name": "price", + "type": 110, + "typeName": "Option>>" + }, + { + "name": "deadline", + "type": 4, + "typeName": "::BlockNumber" + } + ], + "index": 33, + "docs": [ + "An `item` swap intent was created." + ] + }, + { + "name": "SwapCancelled", + "fields": [ + { + "name": "offered_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "offered_item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "desired_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "desired_item", + "type": 37, + "typeName": "Option" + }, + { + "name": "price", + "type": 110, + "typeName": "Option>>" + }, + { + "name": "deadline", + "type": 4, + "typeName": "::BlockNumber" + } + ], + "index": 34, + "docs": [ + "The swap was cancelled." + ] + }, + { + "name": "SwapClaimed", + "fields": [ + { + "name": "sent_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "sent_item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "sent_item_owner", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "received_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "received_item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "received_item_owner", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "price", + "type": 110, + "typeName": "Option>>" + }, + { + "name": "deadline", + "type": 4, + "typeName": "::BlockNumber" + } + ], + "index": 35, + "docs": [ + "The swap has been claimed." + ] + }, + { + "name": "PreSignedAttributesSet", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "namespace", + "type": 109, + "typeName": "AttributeNamespace" + } + ], + "index": 36, + "docs": [ + "New attributes have been set for an `item` of the `collection`." + ] + } + ] + } + }, + "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": 109, + "type": { + "path": [ + "frame_support", + "traits", + "tokens", + "misc", + "AttributeNamespace" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Pallet", + "index": 0 + }, + { + "name": "CollectionOwner", + "index": 1 + }, + { + "name": "ItemOwner", + "index": 2 + }, + { + "name": "Account", + "fields": [ + { + "type": 0, + "typeName": "AccountId" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 110, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 111 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 111 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 111, + "type": { + "path": [ + "pallet_nfts", + "types", + "PriceWithDirection" + ], + "params": [ + { + "name": "Amount", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "amount", + "type": 6, + "typeName": "Amount" + }, + { + "name": "direction", + "type": 112, + "typeName": "PriceDirection" + } + ] + } + } + } + }, + { + "id": 112, + "type": { + "path": [ + "pallet_nfts", + "types", + "PriceDirection" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Send", + "index": 0 + }, + { + "name": "Receive", + "index": 1 + } + ] + } + } + } + }, + { + "id": 113, + "type": { + "path": [ + "pallet_transaction_storage", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Stored", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "u32" + } + ], + "index": 0, + "docs": [ + "Stored data under specified index." + ] + }, + { + "name": "Renewed", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "Renewed data under specified index." + ] + }, + { + "name": "ProofChecked", + "index": 2, + "docs": [ + "Storage proof was successfully checked." + ] + } + ] + } + }, + "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": [ + "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": 10, + "typeName": "T::Score" + }, + { + "name": "to", + "type": 10, + "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": 10, + "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": 115, + "type": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Migrated", + "fields": [ + { + "name": "top", + "type": 4, + "typeName": "u32" + }, + { + "name": "child", + "type": 4, + "typeName": "u32" + }, + { + "name": "compute", + "type": 116, + "typeName": "MigrationCompute" + } + ], + "index": 0, + "docs": [ + "Given number of `(top, child)` keys were migrated respectively, with the given", + "`compute`." + ] + }, + { + "name": "Slashed", + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "Some account got slashed by the given amount." + ] + }, + { + "name": "AutoMigrationFinished", + "index": 2, + "docs": [ + "The auto migration task finished." + ] + }, + { + "name": "Halted", + "fields": [ + { + "name": "error", + "type": 117, + "typeName": "Error" + } + ], + "index": 3, + "docs": [ + "Migration got halted due to an error or miss-configuration." + ] + } + ] + } + }, + "docs": [ + "Inner events of this pallet." + ] + } + }, + { + "id": 116, + "type": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "MigrationCompute" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Signed", + "index": 0 + }, + { + "name": "Auto", + "index": 1 + } + ] + } + } + } + }, + { + "id": 117, + "type": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "MaxSignedLimits", + "index": 0, + "docs": [ + "Max signed limits not respected." + ] + }, + { + "name": "KeyTooLong", + "index": 1, + "docs": [ + "A key was longer than the configured maximum.", + "", + "This means that the migration halted at the current [`Progress`] and", + "can be resumed with a larger [`crate::Config::MaxKeyLen`] value.", + "Retrying with the same [`crate::Config::MaxKeyLen`] value will not work.", + "The value should only be increased to avoid a storage migration for the currently", + "stored [`crate::Progress::LastKey`]." + ] + }, + { + "name": "NotEnoughFunds", + "index": 2, + "docs": [ + "submitter does not have enough funds." + ] + }, + { + "name": "BadWitness", + "index": 3, + "docs": [ + "Bad witness data provided." + ] + }, + { + "name": "SignedMigrationNotAllowed", + "index": 4, + "docs": [ + "Signed migration is not allowed because the maximum limit is not set yet." + ] + }, + { + "name": "BadChildRoot", + "index": 5, + "docs": [ + "Bad child root 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": 118, + "type": { + "path": [ + "pallet_child_bounties", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Added", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "BountyIndex" + }, + { + "name": "child_index", + "type": 4, + "typeName": "BountyIndex" + } + ], + "index": 0, + "docs": [ + "A child-bounty is added." + ] + }, + { + "name": "Awarded", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "BountyIndex" + }, + { + "name": "child_index", + "type": 4, + "typeName": "BountyIndex" + }, + { + "name": "beneficiary", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 1, + "docs": [ + "A child-bounty is awarded to a beneficiary." + ] + }, + { + "name": "Claimed", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "BountyIndex" + }, + { + "name": "child_index", + "type": 4, + "typeName": "BountyIndex" + }, + { + "name": "payout", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "beneficiary", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 2, + "docs": [ + "A child-bounty is claimed by beneficiary." + ] + }, + { + "name": "Canceled", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "BountyIndex" + }, + { + "name": "child_index", + "type": 4, + "typeName": "BountyIndex" + } + ], + "index": 3, + "docs": [ + "A child-bounty is 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": 119, + "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": 93, + "typeName": "TrackIdOf", + "docs": [ + "The track (and by extension proposal dispatch origin) of this referendum." + ] + }, + { + "name": "proposal", + "type": 120, + "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": 93, + "typeName": "TrackIdOf", + "docs": [ + "The track (and by extension proposal dispatch origin) of this referendum." + ] + }, + { + "name": "proposal", + "type": 120, + "typeName": "BoundedCallOf", + "docs": [ + "The proposal for the referendum." + ] + }, + { + "name": "tally", + "type": 382, + "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": 382, + "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": 382, + "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": 382, + "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": 382, + "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": 382, + "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": 11, + "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": 11, + "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": 120, + "type": { + "path": [ + "frame_support", + "traits", + "preimages", + "Bounded" + ], + "params": [ + { + "name": "T", + "type": 121 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Legacy", + "fields": [ + { + "name": "hash", + "type": 11, + "typeName": "Hash" + } + ], + "index": 0 + }, + { + "name": "Inline", + "fields": [ + { + "type": 381, + "typeName": "BoundedInline" + } + ], + "index": 1 + }, + { + "name": "Lookup", + "fields": [ + { + "name": "hash", + "type": 11, + "typeName": "Hash" + }, + { + "name": "len", + "type": 4, + "typeName": "u32" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 121, + "type": { + "path": [ + "kitchensink_runtime", + "RuntimeCall" + ], + "def": { + "variant": { + "variants": [ + { + "name": "System", + "fields": [ + { + "type": 122, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 0 + }, + { + "name": "Utility", + "fields": [ + { + "type": 126, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 1 + }, + { + "name": "Babe", + "fields": [ + { + "type": 134, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 2 + }, + { + "name": "Timestamp", + "fields": [ + { + "type": 145, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 3 + }, + { + "name": "Indices", + "fields": [ + { + "type": 146, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 5 + }, + { + "name": "Balances", + "fields": [ + { + "type": 149, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 6 + }, + { + "name": "ElectionProviderMultiPhase", + "fields": [ + { + "type": 150, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 9 + }, + { + "name": "Staking", + "fields": [ + { + "type": 208, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 10 + }, + { + "name": "Session", + "fields": [ + { + "type": 216, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 11 + }, + { + "name": "Democracy", + "fields": [ + { + "type": 219, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 12 + }, + { + "name": "Council", + "fields": [ + { + "type": 222, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 13 + }, + { + "name": "TechnicalCommittee", + "fields": [ + { + "type": 225, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 14 + }, + { + "name": "Elections", + "fields": [ + { + "type": 226, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 15 + }, + { + "name": "TechnicalMembership", + "fields": [ + { + "type": 228, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 16 + }, + { + "name": "Grandpa", + "fields": [ + { + "type": 229, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 17 + }, + { + "name": "Treasury", + "fields": [ + { + "type": 241, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 18 + }, + { + "name": "Contracts", + "fields": [ + { + "type": 242, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 19 + }, + { + "name": "Sudo", + "fields": [ + { + "type": 245, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 20 + }, + { + "name": "ImOnline", + "fields": [ + { + "type": 246, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 21 + }, + { + "name": "Identity", + "fields": [ + { + "type": 254, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 26 + }, + { + "name": "Society", + "fields": [ + { + "type": 295, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 27 + }, + { + "name": "Recovery", + "fields": [ + { + "type": 297, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 28 + }, + { + "name": "Vesting", + "fields": [ + { + "type": 298, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 29 + }, + { + "name": "Scheduler", + "fields": [ + { + "type": 300, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 30 + }, + { + "name": "Glutton", + "fields": [ + { + "type": 302, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 31 + }, + { + "name": "Preimage", + "fields": [ + { + "type": 303, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 32 + }, + { + "name": "Proxy", + "fields": [ + { + "type": 304, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 33 + }, + { + "name": "Multisig", + "fields": [ + { + "type": 306, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 34 + }, + { + "name": "Bounties", + "fields": [ + { + "type": 308, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 35 + }, + { + "name": "Tips", + "fields": [ + { + "type": 309, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 36 + }, + { + "name": "Assets", + "fields": [ + { + "type": 310, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 37 + }, + { + "name": "Lottery", + "fields": [ + { + "type": 311, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 39 + }, + { + "name": "Nis", + "fields": [ + { + "type": 312, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 40 + }, + { + "name": "Uniques", + "fields": [ + { + "type": 314, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 41 + }, + { + "name": "Nfts", + "fields": [ + { + "type": 318, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 42 + }, + { + "name": "TransactionStorage", + "fields": [ + { + "type": 339, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 43 + }, + { + "name": "VoterList", + "fields": [ + { + "type": 341, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 44 + }, + { + "name": "StateTrieMigration", + "fields": [ + { + "type": 342, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 45 + }, + { + "name": "ChildBounties", + "fields": [ + { + "type": 348, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 46 + }, + { + "name": "Referenda", + "fields": [ + { + "type": 349, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 47 + }, + { + "name": "Remark", + "fields": [ + { + "type": 351, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 48 + }, + { + "name": "RootTesting", + "fields": [ + { + "type": 352, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 49 + }, + { + "name": "ConvictionVoting", + "fields": [ + { + "type": 353, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 50 + }, + { + "name": "Whitelist", + "fields": [ + { + "type": 358, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 51 + }, + { + "name": "AllianceMotion", + "fields": [ + { + "type": 359, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 52 + }, + { + "name": "Alliance", + "fields": [ + { + "type": 360, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 53 + }, + { + "name": "NominationPools", + "fields": [ + { + "type": 369, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 54 + }, + { + "name": "RankedPolls", + "fields": [ + { + "type": 376, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 55 + }, + { + "name": "RankedCollective", + "fields": [ + { + "type": 377, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 56 + }, + { + "name": "FastUnstake", + "fields": [ + { + "type": 378, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 57 + }, + { + "name": "MessageQueue", + "fields": [ + { + "type": 379, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 58 + }, + { + "name": "Pov", + "fields": [ + { + "type": 380, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 59 + } + ] + } + } + } + }, + { + "id": 122, + "type": { + "path": [ + "frame_system", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "remark", + "fields": [ + { + "name": "remark", + "type": 12, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Make some on-chain remark.", + "", + "## Complexity", + "- `O(1)`" + ] + }, + { + "name": "set_heap_pages", + "fields": [ + { + "name": "pages", + "type": 10, + "typeName": "u64" + } + ], + "index": 1, + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ] + }, + { + "name": "set_code", + "fields": [ + { + "name": "code", + "type": 12, + "typeName": "Vec" + } + ], + "index": 2, + "docs": [ + "Set the new runtime code.", + "", + "## Complexity", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`" + ] + }, + { + "name": "set_code_without_checks", + "fields": [ + { + "name": "code", + "type": 12, + "typeName": "Vec" + } + ], + "index": 3, + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "## Complexity", + "- `O(C)` where `C` length of `code`" + ] + }, + { + "name": "set_storage", + "fields": [ + { + "name": "items", + "type": 123, + "typeName": "Vec" + } + ], + "index": 4, + "docs": [ + "Set some items of storage." + ] + }, + { + "name": "kill_storage", + "fields": [ + { + "name": "keys", + "type": 125, + "typeName": "Vec" + } + ], + "index": 5, + "docs": [ + "Kill some items from storage." + ] + }, + { + "name": "kill_prefix", + "fields": [ + { + "name": "prefix", + "type": 12, + "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": 12, + "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": 123, + "type": { + "def": { + "sequence": { + "type": 124 + } + } + } + }, + { + "id": 124, + "type": { + "def": { + "tuple": [ + 12, + 12 + ] + } + } + }, + { + "id": 125, + "type": { + "def": { + "sequence": { + "type": 12 + } + } + } + }, + { + "id": 126, + "type": { + "path": [ + "pallet_utility", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "batch", + "fields": [ + { + "name": "calls", + "type": 127, + "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": 93, + "typeName": "u16" + }, + { + "name": "call", + "type": 121, + "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": 127, + "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": 128, + "typeName": "Box" + }, + { + "name": "call", + "type": 121, + "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": 127, + "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": 121, + "typeName": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": 8, + "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": 127, + "type": { + "def": { + "sequence": { + "type": 121 + } + } + } + }, + { + "id": 128, + "type": { + "path": [ + "kitchensink_runtime", + "OriginCaller" + ], + "def": { + "variant": { + "variants": [ + { + "name": "system", + "fields": [ + { + "type": 129, + "typeName": "frame_system::Origin" + } + ], + "index": 0 + }, + { + "name": "Council", + "fields": [ + { + "type": 130, + "typeName": "pallet_collective::Origin" + } + ], + "index": 13 + }, + { + "name": "TechnicalCommittee", + "fields": [ + { + "type": 131, + "typeName": "pallet_collective::Origin" + } + ], + "index": 14 + }, + { + "name": "AllianceMotion", + "fields": [ + { + "type": 132, + "typeName": "pallet_collective::Origin" + } + ], + "index": 52 + }, + { + "name": "Void", + "fields": [ + { + "type": 133, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::Void" + } + ], + "index": 4 + } + ] + } + } + } + }, + { + "id": 129, + "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": 130, + "type": { + "path": [ + "pallet_collective", + "RawOrigin" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Members", + "fields": [ + { + "type": 4, + "typeName": "MemberCount" + }, + { + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0 + }, + { + "name": "Member", + "fields": [ + { + "type": 0, + "typeName": "AccountId" + } + ], + "index": 1 + }, + { + "name": "_Phantom", + "index": 2 + } + ] + } + } + } + }, + { + "id": 131, + "type": { + "path": [ + "pallet_collective", + "RawOrigin" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Members", + "fields": [ + { + "type": 4, + "typeName": "MemberCount" + }, + { + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0 + }, + { + "name": "Member", + "fields": [ + { + "type": 0, + "typeName": "AccountId" + } + ], + "index": 1 + }, + { + "name": "_Phantom", + "index": 2 + } + ] + } + } + } + }, + { + "id": 132, + "type": { + "path": [ + "pallet_collective", + "RawOrigin" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Members", + "fields": [ + { + "type": 4, + "typeName": "MemberCount" + }, + { + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0 + }, + { + "name": "Member", + "fields": [ + { + "type": 0, + "typeName": "AccountId" + } + ], + "index": 1 + }, + { + "name": "_Phantom", + "index": 2 + } + ] + } + } + } + }, + { + "id": 133, + "type": { + "path": [ + "sp_core", + "Void" + ], + "def": { + "variant": {} + } + } + }, + { + "id": 134, + "type": { + "path": [ + "pallet_babe", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "report_equivocation", + "fields": [ + { + "name": "equivocation_proof", + "type": 135, + "typeName": "Box>" + }, + { + "name": "key_owner_proof", + "type": 141, + "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": 135, + "typeName": "Box>" + }, + { + "name": "key_owner_proof", + "type": 141, + "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": 142, + "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": 135, + "type": { + "path": [ + "sp_consensus_slots", + "EquivocationProof" + ], + "params": [ + { + "name": "Header", + "type": 136 + }, + { + "name": "Id", + "type": 139 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "offender", + "type": 139, + "typeName": "Id" + }, + { + "name": "slot", + "type": 140, + "typeName": "Slot" + }, + { + "name": "first_header", + "type": 136, + "typeName": "Header" + }, + { + "name": "second_header", + "type": 136, + "typeName": "Header" + } + ] + } + } + } + }, + { + "id": 136, + "type": { + "path": [ + "sp_runtime", + "generic", + "header", + "Header" + ], + "params": [ + { + "name": "Number", + "type": 4 + }, + { + "name": "Hash", + "type": 137 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "parent_hash", + "type": 11, + "typeName": "Hash::Output" + }, + { + "name": "number", + "type": 138, + "typeName": "Number" + }, + { + "name": "state_root", + "type": 11, + "typeName": "Hash::Output" + }, + { + "name": "extrinsics_root", + "type": 11, + "typeName": "Hash::Output" + }, + { + "name": "digest", + "type": 13, + "typeName": "Digest" + } + ] + } + } + } + }, + { + "id": 137, + "type": { + "path": [ + "sp_runtime", + "traits", + "BlakeTwo256" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 138, + "type": { + "def": { + "compact": { + "type": 4 + } + } + } + }, + { + "id": 139, + "type": { + "path": [ + "sp_consensus_babe", + "app", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 72, + "typeName": "sr25519::Public" + } + ] + } + } + } + }, + { + "id": 140, + "type": { + "path": [ + "sp_consensus_slots", + "Slot" + ], + "def": { + "composite": { + "fields": [ + { + "type": 10, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 141, + "type": { + "path": [ + "sp_session", + "MembershipProof" + ], + "def": { + "composite": { + "fields": [ + { + "name": "session", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "trie_nodes", + "type": 125, + "typeName": "Vec>" + }, + { + "name": "validator_count", + "type": 4, + "typeName": "ValidatorCount" + } + ] + } + } + } + }, + { + "id": 142, + "type": { + "path": [ + "sp_consensus_babe", + "digests", + "NextConfigDescriptor" + ], + "def": { + "variant": { + "variants": [ + { + "name": "V1", + "fields": [ + { + "name": "c", + "type": 143, + "typeName": "(u64, u64)" + }, + { + "name": "allowed_slots", + "type": 144, + "typeName": "AllowedSlots" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 143, + "type": { + "def": { + "tuple": [ + 10, + 10 + ] + } + } + }, + { + "id": 144, + "type": { + "path": [ + "sp_consensus_babe", + "AllowedSlots" + ], + "def": { + "variant": { + "variants": [ + { + "name": "PrimarySlots", + "index": 0 + }, + { + "name": "PrimaryAndSecondaryPlainSlots", + "index": 1 + }, + { + "name": "PrimaryAndSecondaryVRFSlots", + "index": 2 + } + ] + } + } + } + }, + { + "id": 145, + "type": { + "path": [ + "pallet_timestamp", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "set", + "fields": [ + { + "name": "now", + "type": 9, + "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": 146, + "type": { + "path": [ + "pallet_indices", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "claim", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "T::AccountIndex" + } + ], + "index": 0, + "docs": [ + "Assign an previously unassigned index.", + "", + "Payment: `Deposit` is reserved from the sender account.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `index`: the index to be claimed. This must not be in use.", + "", + "Emits `IndexAssigned` if successful.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "new", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "index", + "type": 4, + "typeName": "T::AccountIndex" + } + ], + "index": 1, + "docs": [ + "Assign an index already owned by the sender to another account. The balance reservation", + "is effectively transferred to the new account.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `index`: the index to be re-assigned. This must be owned by the sender.", + "- `new`: the new owner of the index. This function is a no-op if it is equal to sender.", + "", + "Emits `IndexAssigned` if successful.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "free", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "T::AccountIndex" + } + ], + "index": 2, + "docs": [ + "Free up an index owned by the sender.", + "", + "Payment: Any previous deposit placed for the index is unreserved in the sender account.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must own the index.", + "", + "- `index`: the index to be freed. This must be owned by the sender.", + "", + "Emits `IndexFreed` if successful.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "force_transfer", + "fields": [ + { + "name": "new", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "index", + "type": 4, + "typeName": "T::AccountIndex" + }, + { + "name": "freeze", + "type": 41, + "typeName": "bool" + } + ], + "index": 3, + "docs": [ + "Force an index to an account. This doesn't require a deposit. If the index is already", + "held, then any deposit is reimbursed to its current owner.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "- `index`: the index to be (re-)assigned.", + "- `new`: the new owner of the index. This function is a no-op if it is equal to sender.", + "- `freeze`: if set to `true`, will freeze the index so it cannot be transferred.", + "", + "Emits `IndexAssigned` if successful.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "freeze", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "T::AccountIndex" + } + ], + "index": 4, + "docs": [ + "Freeze an index so it will always point to the sender account. This consumes the", + "deposit.", + "", + "The dispatch origin for this call must be _Signed_ and the signing account must have a", + "non-frozen account `index`.", + "", + "- `index`: the index to be frozen in place.", + "", + "Emits `IndexFrozen` if successful.", + "", + "## Complexity", + "- `O(1)`." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 147, + "type": { + "path": [ + "sp_runtime", + "multiaddress", + "MultiAddress" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "AccountIndex", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Id", + "fields": [ + { + "type": 0, + "typeName": "AccountId" + } + ], + "index": 0 + }, + { + "name": "Index", + "fields": [ + { + "type": 138, + "typeName": "AccountIndex" + } + ], + "index": 1 + }, + { + "name": "Raw", + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ], + "index": 2 + }, + { + "name": "Address32", + "fields": [ + { + "type": 1, + "typeName": "[u8; 32]" + } + ], + "index": 3 + }, + { + "name": "Address20", + "fields": [ + { + "type": 148, + "typeName": "[u8; 20]" + } + ], + "index": 4 + } + ] + } + } + } + }, + { + "id": 148, + "type": { + "def": { + "array": { + "len": 20, + "type": 2 + } + } + } + }, + { + "id": 149, + "type": { + "path": [ + "pallet_balances", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "transfer", + "fields": [ + { + "name": "dest", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 76, + "typeName": "T::Balance" + } + ], + "index": 0, + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer` 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.", + "", + "## Complexity", + "- Dependent on arguments but not critical, given proper implementations for input config", + " types. See related functions below.", + "- It contains a limited number of reads and writes internally and no complex", + " computation.", + "", + "Related functions:", + "", + " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", + " - Transferring balances to accounts that did not exist before will cause", + " `T::OnNewAccount::on_new_account` to be called.", + " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", + " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check", + " that the transfer will not kill the origin account." + ] + }, + { + "name": "set_balance", + "fields": [ + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": 76, + "typeName": "T::Balance" + }, + { + "name": "new_reserved", + "type": 76, + "typeName": "T::Balance" + } + ], + "index": 1, + "docs": [ + "Set the balances of a given account.", + "", + "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", + "also alter the total issuance of the system (`TotalIssuance`) appropriately.", + "If the new free or reserved balance is below the existential deposit,", + "it will reset the account nonce (`frame_system::AccountNonce`).", + "", + "The dispatch origin for this call is `root`." + ] + }, + { + "name": "force_transfer", + "fields": [ + { + "name": "source", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 76, + "typeName": "T::Balance" + } + ], + "index": 2, + "docs": [ + "Exactly as `transfer`, except the origin must be root and the source account may be", + "specified.", + "## Complexity", + "- Same as transfer, but additional read and write because the source account is not", + " assumed to be in the overlay." + ] + }, + { + "name": "transfer_keep_alive", + "fields": [ + { + "name": "dest", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 76, + "typeName": "T::Balance" + } + ], + "index": 3, + "docs": [ + "Same as the [`transfer`] call, but with a check that the transfer will not kill the", + "origin account.", + "", + "99% of the time you want [`transfer`] instead.", + "", + "[`transfer`]: struct.Pallet.html#method.transfer" + ] + }, + { + "name": "transfer_all", + "fields": [ + { + "name": "dest", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": 41, + "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). ## Complexity", + "- O(1). Just like transfer, but reading the user's transferable balance first." + ] + }, + { + "name": "force_unreserve", + "fields": [ + { + "name": "who", + "type": 147, + "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." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 150, + "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": 151, + "typeName": "Box>>" + }, + { + "name": "witness", + "type": 203, + "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": 204, + "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": 205, + "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": 151, + "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": 37, + "typeName": "Option" + }, + { + "name": "maybe_max_targets", + "type": 37, + "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": 151, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "RawSolution" + ], + "params": [ + { + "name": "S", + "type": 152 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "solution", + "type": 152, + "typeName": "S" + }, + { + "name": "score", + "type": 42, + "typeName": "ElectionScore" + }, + { + "name": "round", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 152, + "type": { + "path": [ + "kitchensink_runtime", + "NposSolution16" + ], + "def": { + "composite": { + "fields": [ + { + "name": "votes1", + "type": 153 + }, + { + "name": "votes2", + "type": 156 + }, + { + "name": "votes3", + "type": 161 + }, + { + "name": "votes4", + "type": 164 + }, + { + "name": "votes5", + "type": 167 + }, + { + "name": "votes6", + "type": 170 + }, + { + "name": "votes7", + "type": 173 + }, + { + "name": "votes8", + "type": 176 + }, + { + "name": "votes9", + "type": 179 + }, + { + "name": "votes10", + "type": 182 + }, + { + "name": "votes11", + "type": 185 + }, + { + "name": "votes12", + "type": 188 + }, + { + "name": "votes13", + "type": 191 + }, + { + "name": "votes14", + "type": 194 + }, + { + "name": "votes15", + "type": 197 + }, + { + "name": "votes16", + "type": 200 + } + ] + } + } + } + }, + { + "id": 153, + "type": { + "def": { + "sequence": { + "type": 154 + } + } + } + }, + { + "id": 154, + "type": { + "def": { + "tuple": [ + 138, + 155 + ] + } + } + }, + { + "id": 155, + "type": { + "def": { + "compact": { + "type": 93 + } + } + } + }, + { + "id": 156, + "type": { + "def": { + "sequence": { + "type": 157 + } + } + } + }, + { + "id": 157, + "type": { + "def": { + "tuple": [ + 138, + 158, + 155 + ] + } + } + }, + { + "id": 158, + "type": { + "def": { + "tuple": [ + 155, + 159 + ] + } + } + }, + { + "id": 159, + "type": { + "def": { + "compact": { + "type": 160 + } + } + } + }, + { + "id": 160, + "type": { + "path": [ + "sp_arithmetic", + "per_things", + "PerU16" + ], + "def": { + "composite": { + "fields": [ + { + "type": 93, + "typeName": "u16" + } + ] + } + } + } + }, + { + "id": 161, + "type": { + "def": { + "sequence": { + "type": 162 + } + } + } + }, + { + "id": 162, + "type": { + "def": { + "tuple": [ + 138, + 163, + 155 + ] + } + } + }, + { + "id": 163, + "type": { + "def": { + "array": { + "len": 2, + "type": 158 + } + } + } + }, + { + "id": 164, + "type": { + "def": { + "sequence": { + "type": 165 + } + } + } + }, + { + "id": 165, + "type": { + "def": { + "tuple": [ + 138, + 166, + 155 + ] + } + } + }, + { + "id": 166, + "type": { + "def": { + "array": { + "len": 3, + "type": 158 + } + } + } + }, + { + "id": 167, + "type": { + "def": { + "sequence": { + "type": 168 + } + } + } + }, + { + "id": 168, + "type": { + "def": { + "tuple": [ + 138, + 169, + 155 + ] + } + } + }, + { + "id": 169, + "type": { + "def": { + "array": { + "len": 4, + "type": 158 + } + } + } + }, + { + "id": 170, + "type": { + "def": { + "sequence": { + "type": 171 + } + } + } + }, + { + "id": 171, + "type": { + "def": { + "tuple": [ + 138, + 172, + 155 + ] + } + } + }, + { + "id": 172, + "type": { + "def": { + "array": { + "len": 5, + "type": 158 + } + } + } + }, + { + "id": 173, + "type": { + "def": { + "sequence": { + "type": 174 + } + } + } + }, + { + "id": 174, + "type": { + "def": { + "tuple": [ + 138, + 175, + 155 + ] + } + } + }, + { + "id": 175, + "type": { + "def": { + "array": { + "len": 6, + "type": 158 + } + } + } + }, + { + "id": 176, + "type": { + "def": { + "sequence": { + "type": 177 + } + } + } + }, + { + "id": 177, + "type": { + "def": { + "tuple": [ + 138, + 178, + 155 + ] + } + } + }, + { + "id": 178, + "type": { + "def": { + "array": { + "len": 7, + "type": 158 + } + } + } + }, + { + "id": 179, + "type": { + "def": { + "sequence": { + "type": 180 + } + } + } + }, + { + "id": 180, + "type": { + "def": { + "tuple": [ + 138, + 181, + 155 + ] + } + } + }, + { + "id": 181, + "type": { + "def": { + "array": { + "len": 8, + "type": 158 + } + } + } + }, + { + "id": 182, + "type": { + "def": { + "sequence": { + "type": 183 + } + } + } + }, + { + "id": 183, + "type": { + "def": { + "tuple": [ + 138, + 184, + 155 + ] + } + } + }, + { + "id": 184, + "type": { + "def": { + "array": { + "len": 9, + "type": 158 + } + } + } + }, + { + "id": 185, + "type": { + "def": { + "sequence": { + "type": 186 + } + } + } + }, + { + "id": 186, + "type": { + "def": { + "tuple": [ + 138, + 187, + 155 + ] + } + } + }, + { + "id": 187, + "type": { + "def": { + "array": { + "len": 10, + "type": 158 + } + } + } + }, + { + "id": 188, + "type": { + "def": { + "sequence": { + "type": 189 + } + } + } + }, + { + "id": 189, + "type": { + "def": { + "tuple": [ + 138, + 190, + 155 + ] + } + } + }, + { + "id": 190, + "type": { + "def": { + "array": { + "len": 11, + "type": 158 + } + } + } + }, + { + "id": 191, + "type": { + "def": { + "sequence": { + "type": 192 + } + } + } + }, + { + "id": 192, + "type": { + "def": { + "tuple": [ + 138, + 193, + 155 + ] + } + } + }, + { + "id": 193, + "type": { + "def": { + "array": { + "len": 12, + "type": 158 + } + } + } + }, + { + "id": 194, + "type": { + "def": { + "sequence": { + "type": 195 + } + } + } + }, + { + "id": 195, + "type": { + "def": { + "tuple": [ + 138, + 196, + 155 + ] + } + } + }, + { + "id": 196, + "type": { + "def": { + "array": { + "len": 13, + "type": 158 + } + } + } + }, + { + "id": 197, + "type": { + "def": { + "sequence": { + "type": 198 + } + } + } + }, + { + "id": 198, + "type": { + "def": { + "tuple": [ + 138, + 199, + 155 + ] + } + } + }, + { + "id": 199, + "type": { + "def": { + "array": { + "len": 14, + "type": 158 + } + } + } + }, + { + "id": 200, + "type": { + "def": { + "sequence": { + "type": 201 + } + } + } + }, + { + "id": 201, + "type": { + "def": { + "tuple": [ + 138, + 202, + 155 + ] + } + } + }, + { + "id": 202, + "type": { + "def": { + "array": { + "len": 15, + "type": 158 + } + } + } + }, + { + "id": 203, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "SolutionOrSnapshotSize" + ], + "def": { + "composite": { + "fields": [ + { + "name": "voters", + "type": 138, + "typeName": "u32" + }, + { + "name": "targets", + "type": 138, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 204, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 42 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 42 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 205, + "type": { + "def": { + "sequence": { + "type": 206 + } + } + } + }, + { + "id": 206, + "type": { + "def": { + "tuple": [ + 0, + 207 + ] + } + } + }, + { + "id": 207, + "type": { + "path": [ + "sp_npos_elections", + "Support" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "total", + "type": 6, + "typeName": "ExtendedBalance" + }, + { + "name": "voters", + "type": 59, + "typeName": "Vec<(AccountId, ExtendedBalance)>" + } + ] + } + } + } + }, + { + "id": 208, + "type": { + "path": [ + "pallet_staking", + "pallet", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "bond", + "fields": [ + { + "name": "controller", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "payee", + "type": 209, + "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": 76, + "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": 76, + "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": 47, + "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": 210, + "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": 209, + "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", + "fields": [ + { + "name": "controller", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 8, + "docs": [ + "(Re-)set the controller of a stash.", + "", + "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": 138, + "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": 138, + "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": 211, + "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": 83, + "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": 105, + "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": 76, + "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": 210, + "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": 212, + "typeName": "ConfigOp>" + }, + { + "name": "min_validator_bond", + "type": 212, + "typeName": "ConfigOp>" + }, + { + "name": "max_nominator_count", + "type": 213, + "typeName": "ConfigOp" + }, + { + "name": "max_validator_count", + "type": 213, + "typeName": "ConfigOp" + }, + { + "name": "chill_threshold", + "type": 214, + "typeName": "ConfigOp" + }, + { + "name": "min_commission", + "type": 215, + "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": 46, + "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": 209, + "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": 210, + "type": { + "def": { + "sequence": { + "type": 147 + } + } + } + }, + { + "id": 211, + "type": { + "path": [ + "sp_arithmetic", + "per_things", + "Percent" + ], + "def": { + "composite": { + "fields": [ + { + "type": 2, + "typeName": "u8" + } + ] + } + } + } + }, + { + "id": 212, + "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": 213, + "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": 214, + "type": { + "path": [ + "pallet_staking", + "pallet", + "pallet", + "ConfigOp" + ], + "params": [ + { + "name": "T", + "type": 211 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noop", + "index": 0 + }, + { + "name": "Set", + "fields": [ + { + "type": 211, + "typeName": "T" + } + ], + "index": 1 + }, + { + "name": "Remove", + "index": 2 + } + ] + } + } + } + }, + { + "id": 215, + "type": { + "path": [ + "pallet_staking", + "pallet", + "pallet", + "ConfigOp" + ], + "params": [ + { + "name": "T", + "type": 46 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noop", + "index": 0 + }, + { + "name": "Set", + "fields": [ + { + "type": 46, + "typeName": "T" + } + ], + "index": 1 + }, + { + "name": "Remove", + "index": 2 + } + ] + } + } + } + }, + { + "id": 216, + "type": { + "path": [ + "pallet_session", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "set_keys", + "fields": [ + { + "name": "keys", + "type": 217, + "typeName": "T::Keys" + }, + { + "name": "proof", + "type": 12, + "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": 217, + "type": { + "path": [ + "kitchensink_runtime", + "SessionKeys" + ], + "def": { + "composite": { + "fields": [ + { + "name": "grandpa", + "type": 65, + "typeName": "::Public" + }, + { + "name": "babe", + "type": 139, + "typeName": "::Public" + }, + { + "name": "im_online", + "type": 71, + "typeName": "::Public" + }, + { + "name": "authority_discovery", + "type": 218, + "typeName": "::Public" + } + ] + } + } + } + }, + { + "id": 218, + "type": { + "path": [ + "sp_authority_discovery", + "app", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 72, + "typeName": "sr25519::Public" + } + ] + } + } + } + }, + { + "id": 219, + "type": { + "path": [ + "pallet_democracy", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "propose", + "fields": [ + { + "name": "proposal", + "type": 120, + "typeName": "BoundedCallOf" + }, + { + "name": "value", + "type": 76, + "typeName": "BalanceOf" + } + ], + "index": 0, + "docs": [ + "Propose a sensitive action to be taken.", + "", + "The dispatch origin of this call must be _Signed_ and the sender must", + "have funds to cover the deposit.", + "", + "- `proposal_hash`: The hash of the proposal preimage.", + "- `value`: The amount of deposit (must be at least `MinimumDeposit`).", + "", + "Emits `Proposed`." + ] + }, + { + "name": "second", + "fields": [ + { + "name": "proposal", + "type": 138, + "typeName": "PropIndex" + } + ], + "index": 1, + "docs": [ + "Signals agreement with a particular proposal.", + "", + "The dispatch origin of this call must be _Signed_ and the sender", + "must have funds to cover the deposit, equal to the original deposit.", + "", + "- `proposal`: The index of the proposal to second." + ] + }, + { + "name": "vote", + "fields": [ + { + "name": "ref_index", + "type": 138, + "typeName": "ReferendumIndex" + }, + { + "name": "vote", + "type": 53, + "typeName": "AccountVote>" + } + ], + "index": 2, + "docs": [ + "Vote in a referendum. 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_.", + "", + "- `ref_index`: The index of the referendum to vote for.", + "- `vote`: The vote configuration." + ] + }, + { + "name": "emergency_cancel", + "fields": [ + { + "name": "ref_index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 3, + "docs": [ + "Schedule an emergency cancellation of a referendum. Cannot happen twice to the same", + "referendum.", + "", + "The dispatch origin of this call must be `CancellationOrigin`.", + "", + "-`ref_index`: The index of the referendum to cancel.", + "", + "Weight: `O(1)`." + ] + }, + { + "name": "external_propose", + "fields": [ + { + "name": "proposal", + "type": 120, + "typeName": "BoundedCallOf" + } + ], + "index": 4, + "docs": [ + "Schedule a referendum to be tabled once it is legal to schedule an external", + "referendum.", + "", + "The dispatch origin of this call must be `ExternalOrigin`.", + "", + "- `proposal_hash`: The preimage hash of the proposal." + ] + }, + { + "name": "external_propose_majority", + "fields": [ + { + "name": "proposal", + "type": 120, + "typeName": "BoundedCallOf" + } + ], + "index": 5, + "docs": [ + "Schedule a majority-carries referendum to be tabled next once it is legal to schedule", + "an external referendum.", + "", + "The dispatch of this call must be `ExternalMajorityOrigin`.", + "", + "- `proposal_hash`: The preimage hash of the proposal.", + "", + "Unlike `external_propose`, blacklisting has no effect on this and it may replace a", + "pre-scheduled `external_propose` call.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "external_propose_default", + "fields": [ + { + "name": "proposal", + "type": 120, + "typeName": "BoundedCallOf" + } + ], + "index": 6, + "docs": [ + "Schedule a negative-turnout-bias referendum to be tabled next once it is legal to", + "schedule an external referendum.", + "", + "The dispatch of this call must be `ExternalDefaultOrigin`.", + "", + "- `proposal_hash`: The preimage hash of the proposal.", + "", + "Unlike `external_propose`, blacklisting has no effect on this and it may replace a", + "pre-scheduled `external_propose` call.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "fast_track", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "H256" + }, + { + "name": "voting_period", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "delay", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 7, + "docs": [ + "Schedule the currently externally-proposed majority-carries referendum to be tabled", + "immediately. If there is no externally-proposed referendum currently, or if there is one", + "but it is not a majority-carries referendum then it fails.", + "", + "The dispatch of this call must be `FastTrackOrigin`.", + "", + "- `proposal_hash`: The hash of the current external proposal.", + "- `voting_period`: The period that is allowed for voting on this proposal. Increased to", + "\tMust be always greater than zero.", + "\tFor `FastTrackOrigin` must be equal or greater than `FastTrackVotingPeriod`.", + "- `delay`: The number of block after voting has ended in approval and this should be", + " enacted. This doesn't have a minimum amount.", + "", + "Emits `Started`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "veto_external", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "H256" + } + ], + "index": 8, + "docs": [ + "Veto and blacklist the external proposal hash.", + "", + "The dispatch origin of this call must be `VetoOrigin`.", + "", + "- `proposal_hash`: The preimage hash of the proposal to veto and blacklist.", + "", + "Emits `Vetoed`.", + "", + "Weight: `O(V + log(V))` where V is number of `existing vetoers`" + ] + }, + { + "name": "cancel_referendum", + "fields": [ + { + "name": "ref_index", + "type": 138, + "typeName": "ReferendumIndex" + } + ], + "index": 9, + "docs": [ + "Remove a referendum.", + "", + "The dispatch origin of this call must be _Root_.", + "", + "- `ref_index`: The index of the referendum to cancel.", + "", + "# Weight: `O(1)`." + ] + }, + { + "name": "delegate", + "fields": [ + { + "name": "to", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "conviction", + "type": 220, + "typeName": "Conviction" + }, + { + "name": "balance", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 10, + "docs": [ + "Delegate the voting power (with some given conviction) of the sending account.", + "", + "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.", + "- `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 referendums the voter delegating to has", + " voted on. Weight is charged as if maximum votes." + ] + }, + { + "name": "undelegate", + "index": 11, + "docs": [ + "Undelegate the voting power of the sending account.", + "", + "Tokens may be unlocked following once an amount of time consistent with the lock period", + "of the conviction with which the delegation was issued.", + "", + "The dispatch origin of this call must be _Signed_ and the signing account must be", + "currently delegating.", + "", + "Emits `Undelegated`.", + "", + "Weight: `O(R)` where R is the number of referendums the voter delegating to has", + " voted on. Weight is charged as if maximum votes." + ] + }, + { + "name": "clear_public_proposals", + "index": 12, + "docs": [ + "Clears all public proposals.", + "", + "The dispatch origin of this call must be _Root_.", + "", + "Weight: `O(1)`." + ] + }, + { + "name": "unlock", + "fields": [ + { + "name": "target", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 13, + "docs": [ + "Unlock tokens that have an expired lock.", + "", + "The dispatch origin of this call must be _Signed_.", + "", + "- `target`: The account to remove the lock on.", + "", + "Weight: `O(R)` with R number of vote of target." + ] + }, + { + "name": "remove_vote", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 14, + "docs": [ + "Remove a vote for a referendum.", + "", + "If:", + "- the referendum was cancelled, or", + "- the referendum is ongoing, or", + "- the referendum 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 referendum 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 referendum `index`.", + "", + "- `index`: The index of referendum of the vote to be removed.", + "", + "Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.", + " Weight is calculated for the maximum number of vote." + ] + }, + { + "name": "remove_other_vote", + "fields": [ + { + "name": "target", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 15, + "docs": [ + "Remove a vote for a referendum.", + "", + "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 referendum was cancelled, because the voter lost the referendum 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", + " referendum `index`.", + "- `index`: The index of referendum of the vote to be removed.", + "", + "Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.", + " Weight is calculated for the maximum number of vote." + ] + }, + { + "name": "blacklist", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "H256" + }, + { + "name": "maybe_ref_index", + "type": 37, + "typeName": "Option" + } + ], + "index": 16, + "docs": [ + "Permanently place a proposal into the blacklist. This prevents it from ever being", + "proposed again.", + "", + "If called on a queued public or external proposal, then this will result in it being", + "removed. If the `ref_index` supplied is an active referendum with the proposal hash,", + "then it will be cancelled.", + "", + "The dispatch origin of this call must be `BlacklistOrigin`.", + "", + "- `proposal_hash`: The proposal hash to blacklist permanently.", + "- `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be", + "cancelled.", + "", + "Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a", + " reasonable value)." + ] + }, + { + "name": "cancel_proposal", + "fields": [ + { + "name": "prop_index", + "type": 138, + "typeName": "PropIndex" + } + ], + "index": 17, + "docs": [ + "Remove a proposal.", + "", + "The dispatch origin of this call must be `CancelProposalOrigin`.", + "", + "- `prop_index`: The index of the proposal to cancel.", + "", + "Weight: `O(p)` where `p = PublicProps::::decode_len()`" + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "owner", + "type": 55, + "typeName": "MetadataOwner" + }, + { + "name": "maybe_hash", + "type": 221, + "typeName": "Option" + } + ], + "index": 18, + "docs": [ + "Set or clear a metadata of a proposal or a referendum.", + "", + "Parameters:", + "- `origin`: Must correspond to the `MetadataOwner`.", + " - `ExternalOrigin` for an external proposal with the `SuperMajorityApprove`", + " threshold.", + " - `ExternalDefaultOrigin` for an external proposal with the `SuperMajorityAgainst`", + " threshold.", + " - `ExternalMajorityOrigin` for an external proposal with the `SimpleMajority`", + " threshold.", + " - `Signed` by a creator for a public proposal.", + " - `Signed` to clear a metadata for a finished referendum.", + " - `Root` to set a metadata for an ongoing referendum.", + "- `owner`: an identifier of a metadata owner.", + "- `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": 220, + "type": { + "path": [ + "pallet_democracy", + "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": 221, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 11 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 11 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 222, + "type": { + "path": [ + "pallet_collective", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "set_members", + "fields": [ + { + "name": "new_members", + "type": 83, + "typeName": "Vec" + }, + { + "name": "prime", + "type": 40, + "typeName": "Option" + }, + { + "name": "old_count", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0, + "docs": [ + "Set the collective's membership.", + "", + "- `new_members`: The new member list. Be nice to the chain and provide it sorted.", + "- `prime`: The prime member whose vote sets the default.", + "- `old_count`: The upper bound for the previous number of members in storage. Used for", + " weight estimation.", + "", + "The dispatch of this call must be `SetMembersOrigin`.", + "", + "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but", + " the weight estimations rely on it to estimate dispatchable weight.", + "", + "# WARNING:", + "", + "The `pallet-collective` can also be managed by logic outside of the pallet through the", + "implementation of the trait [`ChangeMembers`].", + "Any call to `set_members` must be careful that the member set doesn't get out of sync", + "with other logic managing the member set.", + "", + "## Complexity:", + "- `O(MP + N)` where:", + " - `M` old-members-count (code- and governance-bounded)", + " - `N` new-members-count (code- and governance-bounded)", + " - `P` proposals-count (code-bounded)" + ] + }, + { + "name": "execute", + "fields": [ + { + "name": "proposal", + "type": 121, + "typeName": "Box<>::Proposal>" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "Dispatch a proposal from a member using the `Member` origin.", + "", + "Origin must be a member of the collective.", + "", + "## Complexity:", + "- `O(B + M + P)` where:", + "- `B` is `proposal` size in bytes (length-fee-bounded)", + "- `M` members-count (code-bounded)", + "- `P` complexity of dispatching `proposal`" + ] + }, + { + "name": "propose", + "fields": [ + { + "name": "threshold", + "type": 138, + "typeName": "MemberCount" + }, + { + "name": "proposal", + "type": 121, + "typeName": "Box<>::Proposal>" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 2, + "docs": [ + "Add a new proposal to either be voted on or executed directly.", + "", + "Requires the sender to be member.", + "", + "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)", + "or put up for voting.", + "", + "## Complexity", + "- `O(B + M + P1)` or `O(B + M + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - branching is influenced by `threshold` where:", + " - `P1` is proposal execution complexity (`threshold < 2`)", + " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)" + ] + }, + { + "name": "vote", + "fields": [ + { + "name": "proposal", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 138, + "typeName": "ProposalIndex" + }, + { + "name": "approve", + "type": 41, + "typeName": "bool" + } + ], + "index": 3, + "docs": [ + "Add an aye or nay vote for the sender to the given proposal.", + "", + "Requires the sender to be a member.", + "", + "Transaction fees will 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.", + "## Complexity", + "- `O(M)` where `M` is members-count (code- and governance-bounded)" + ] + }, + { + "name": "close_old_weight", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 138, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 223, + "typeName": "OldWeight" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 4, + "docs": [ + "Close a vote that is either approved, disapproved or whose voting period has ended.", + "", + "May be called by any signed account in order to finish voting and close the proposal.", + "", + "If called before the end of the voting period it will only close the vote if it is", + "has enough votes to be approved or disapproved.", + "", + "If called after the end of the voting period abstentions are counted as rejections", + "unless there is a prime member set and the prime member cast an approval.", + "", + "If the close operation completes successfully with disapproval, the transaction fee will", + "be waived. Otherwise execution of the approved operation will be charged to the caller.", + "", + "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed", + "proposal.", + "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", + "`storage::read` so it is `size_of::() == 4` larger than the pure length.", + "", + "## Complexity", + "- `O(B + M + P1 + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - `P1` is the complexity of `proposal` preimage.", + " - `P2` is proposal-count (code-bounded)" + ] + }, + { + "name": "disapprove_proposal", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 5, + "docs": [ + "Disapprove a proposal, close, and remove it from the system, regardless of its current", + "state.", + "", + "Must be called by the Root origin.", + "", + "Parameters:", + "* `proposal_hash`: The hash of the proposal that should be disapproved.", + "", + "## Complexity", + "O(P) where P is the number of max proposals" + ] + }, + { + "name": "close", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 138, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 8, + "typeName": "Weight" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 6, + "docs": [ + "Close a vote that is either approved, disapproved or whose voting period has ended.", + "", + "May be called by any signed account in order to finish voting and close the proposal.", + "", + "If called before the end of the voting period it will only close the vote if it is", + "has enough votes to be approved or disapproved.", + "", + "If called after the end of the voting period abstentions are counted as rejections", + "unless there is a prime member set and the prime member cast an approval.", + "", + "If the close operation completes successfully with disapproval, the transaction fee will", + "be waived. Otherwise execution of the approved operation will be charged to the caller.", + "", + "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed", + "proposal.", + "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", + "`storage::read` so it is `size_of::() == 4` larger than the pure length.", + "", + "## Complexity", + "- `O(B + M + P1 + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - `P1` is the complexity of `proposal` preimage.", + " - `P2` is proposal-count (code-bounded)" + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 223, + "type": { + "def": { + "compact": { + "type": 224 + } + } + } + }, + { + "id": 224, + "type": { + "path": [ + "sp_weights", + "OldWeight" + ], + "def": { + "composite": { + "fields": [ + { + "type": 10, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 225, + "type": { + "path": [ + "pallet_collective", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "set_members", + "fields": [ + { + "name": "new_members", + "type": 83, + "typeName": "Vec" + }, + { + "name": "prime", + "type": 40, + "typeName": "Option" + }, + { + "name": "old_count", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0, + "docs": [ + "Set the collective's membership.", + "", + "- `new_members`: The new member list. Be nice to the chain and provide it sorted.", + "- `prime`: The prime member whose vote sets the default.", + "- `old_count`: The upper bound for the previous number of members in storage. Used for", + " weight estimation.", + "", + "The dispatch of this call must be `SetMembersOrigin`.", + "", + "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but", + " the weight estimations rely on it to estimate dispatchable weight.", + "", + "# WARNING:", + "", + "The `pallet-collective` can also be managed by logic outside of the pallet through the", + "implementation of the trait [`ChangeMembers`].", + "Any call to `set_members` must be careful that the member set doesn't get out of sync", + "with other logic managing the member set.", + "", + "## Complexity:", + "- `O(MP + N)` where:", + " - `M` old-members-count (code- and governance-bounded)", + " - `N` new-members-count (code- and governance-bounded)", + " - `P` proposals-count (code-bounded)" + ] + }, + { + "name": "execute", + "fields": [ + { + "name": "proposal", + "type": 121, + "typeName": "Box<>::Proposal>" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "Dispatch a proposal from a member using the `Member` origin.", + "", + "Origin must be a member of the collective.", + "", + "## Complexity:", + "- `O(B + M + P)` where:", + "- `B` is `proposal` size in bytes (length-fee-bounded)", + "- `M` members-count (code-bounded)", + "- `P` complexity of dispatching `proposal`" + ] + }, + { + "name": "propose", + "fields": [ + { + "name": "threshold", + "type": 138, + "typeName": "MemberCount" + }, + { + "name": "proposal", + "type": 121, + "typeName": "Box<>::Proposal>" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 2, + "docs": [ + "Add a new proposal to either be voted on or executed directly.", + "", + "Requires the sender to be member.", + "", + "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)", + "or put up for voting.", + "", + "## Complexity", + "- `O(B + M + P1)` or `O(B + M + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - branching is influenced by `threshold` where:", + " - `P1` is proposal execution complexity (`threshold < 2`)", + " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)" + ] + }, + { + "name": "vote", + "fields": [ + { + "name": "proposal", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 138, + "typeName": "ProposalIndex" + }, + { + "name": "approve", + "type": 41, + "typeName": "bool" + } + ], + "index": 3, + "docs": [ + "Add an aye or nay vote for the sender to the given proposal.", + "", + "Requires the sender to be a member.", + "", + "Transaction fees will 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.", + "## Complexity", + "- `O(M)` where `M` is members-count (code- and governance-bounded)" + ] + }, + { + "name": "close_old_weight", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 138, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 223, + "typeName": "OldWeight" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 4, + "docs": [ + "Close a vote that is either approved, disapproved or whose voting period has ended.", + "", + "May be called by any signed account in order to finish voting and close the proposal.", + "", + "If called before the end of the voting period it will only close the vote if it is", + "has enough votes to be approved or disapproved.", + "", + "If called after the end of the voting period abstentions are counted as rejections", + "unless there is a prime member set and the prime member cast an approval.", + "", + "If the close operation completes successfully with disapproval, the transaction fee will", + "be waived. Otherwise execution of the approved operation will be charged to the caller.", + "", + "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed", + "proposal.", + "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", + "`storage::read` so it is `size_of::() == 4` larger than the pure length.", + "", + "## Complexity", + "- `O(B + M + P1 + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - `P1` is the complexity of `proposal` preimage.", + " - `P2` is proposal-count (code-bounded)" + ] + }, + { + "name": "disapprove_proposal", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 5, + "docs": [ + "Disapprove a proposal, close, and remove it from the system, regardless of its current", + "state.", + "", + "Must be called by the Root origin.", + "", + "Parameters:", + "* `proposal_hash`: The hash of the proposal that should be disapproved.", + "", + "## Complexity", + "O(P) where P is the number of max proposals" + ] + }, + { + "name": "close", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 138, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 8, + "typeName": "Weight" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 6, + "docs": [ + "Close a vote that is either approved, disapproved or whose voting period has ended.", + "", + "May be called by any signed account in order to finish voting and close the proposal.", + "", + "If called before the end of the voting period it will only close the vote if it is", + "has enough votes to be approved or disapproved.", + "", + "If called after the end of the voting period abstentions are counted as rejections", + "unless there is a prime member set and the prime member cast an approval.", + "", + "If the close operation completes successfully with disapproval, the transaction fee will", + "be waived. Otherwise execution of the approved operation will be charged to the caller.", + "", + "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed", + "proposal.", + "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", + "`storage::read` so it is `size_of::() == 4` larger than the pure length.", + "", + "## Complexity", + "- `O(B + M + P1 + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - `P1` is the complexity of `proposal` preimage.", + " - `P2` is proposal-count (code-bounded)" + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 226, + "type": { + "path": [ + "pallet_elections_phragmen", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "vote", + "fields": [ + { + "name": "votes", + "type": 83, + "typeName": "Vec" + }, + { + "name": "value", + "type": 76, + "typeName": "BalanceOf" + } + ], + "index": 0, + "docs": [ + "Vote for a set of candidates for the upcoming round of election. This can be called to", + "set the initial votes, or update already existing votes.", + "", + "Upon initial voting, `value` units of `who`'s balance is locked and a deposit amount is", + "reserved. The deposit is based on the number of votes and can be updated over time.", + "", + "The `votes` should:", + " - not be empty.", + " - be less than the number of possible candidates. Note that all current members and", + " runners-up are also automatically candidates for the next round.", + "", + "If `value` is more than `who`'s free balance, then the maximum of the two is used.", + "", + "The dispatch origin of this call must be signed.", + "", + "### Warning", + "", + "It is the responsibility of the caller to **NOT** place all of their balance into the", + "lock and keep some for further operations." + ] + }, + { + "name": "remove_voter", + "index": 1, + "docs": [ + "Remove `origin` as a voter.", + "", + "This removes the lock and returns the deposit.", + "", + "The dispatch origin of this call must be signed and be a voter." + ] + }, + { + "name": "submit_candidacy", + "fields": [ + { + "name": "candidate_count", + "type": 138, + "typeName": "u32" + } + ], + "index": 2, + "docs": [ + "Submit oneself for candidacy. A fixed amount of deposit is recorded.", + "", + "All candidates are wiped at the end of the term. They either become a member/runner-up,", + "or leave the system while their deposit is slashed.", + "", + "The dispatch origin of this call must be signed.", + "", + "### Warning", + "", + "Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]", + "to get their deposit back. Losing the spot in an election will always lead to a slash.", + "", + "The number of current candidates must be provided as witness data.", + "## Complexity", + "O(C + log(C)) where C is candidate_count." + ] + }, + { + "name": "renounce_candidacy", + "fields": [ + { + "name": "renouncing", + "type": 227, + "typeName": "Renouncing" + } + ], + "index": 3, + "docs": [ + "Renounce one's intention to be a candidate for the next election round. 3 potential", + "outcomes exist:", + "", + "- `origin` is a candidate and not elected in any set. In this case, the deposit is", + " unreserved, returned and origin is removed as a candidate.", + "- `origin` is a current runner-up. In this case, the deposit is unreserved, returned and", + " origin is removed as a runner-up.", + "- `origin` is a current member. In this case, the deposit is unreserved and origin is", + " removed as a member, consequently not being a candidate for the next round anymore.", + " Similar to [`remove_member`](Self::remove_member), if replacement runners exists, they", + " are immediately used. If the prime is renouncing, then no prime will exist until the", + " next round.", + "", + "The dispatch origin of this call must be signed, and have one of the above roles.", + "The type of renouncing must be provided as witness data.", + "", + "## Complexity", + " - Renouncing::Candidate(count): O(count + log(count))", + " - Renouncing::Member: O(1)", + " - Renouncing::RunnerUp: O(1)" + ] + }, + { + "name": "remove_member", + "fields": [ + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "slash_bond", + "type": 41, + "typeName": "bool" + }, + { + "name": "rerun_election", + "type": 41, + "typeName": "bool" + } + ], + "index": 4, + "docs": [ + "Remove a particular member from the set. This is effective immediately and the bond of", + "the outgoing member is slashed.", + "", + "If a runner-up is available, then the best runner-up will be removed and replaces the", + "outgoing member. Otherwise, if `rerun_election` is `true`, a new phragmen election is", + "started, else, nothing happens.", + "", + "If `slash_bond` is set to true, the bond of the member being removed is slashed. Else,", + "it is returned.", + "", + "The dispatch origin of this call must be root.", + "", + "Note that this does not affect the designated block number of the next election.", + "", + "## Complexity", + "- Check details of remove_and_replace_member() and do_phragmen()." + ] + }, + { + "name": "clean_defunct_voters", + "fields": [ + { + "name": "num_voters", + "type": 4, + "typeName": "u32" + }, + { + "name": "num_defunct", + "type": 4, + "typeName": "u32" + } + ], + "index": 5, + "docs": [ + "Clean all voters who are defunct (i.e. they do not serve any purpose at all). The", + "deposit of the removed voters are returned.", + "", + "This is an root function to be used only for cleaning the state.", + "", + "The dispatch origin of this call must be root.", + "", + "## Complexity", + "- Check is_defunct_voter() details." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 227, + "type": { + "path": [ + "pallet_elections_phragmen", + "Renouncing" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Member", + "index": 0 + }, + { + "name": "RunnerUp", + "index": 1 + }, + { + "name": "Candidate", + "fields": [ + { + "type": 138, + "typeName": "u32" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 228, + "type": { + "path": [ + "pallet_membership", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "add_member", + "fields": [ + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 0, + "docs": [ + "Add a member `who` to the set.", + "", + "May only be called from `T::AddOrigin`." + ] + }, + { + "name": "remove_member", + "fields": [ + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 1, + "docs": [ + "Remove a member `who` from the set.", + "", + "May only be called from `T::RemoveOrigin`." + ] + }, + { + "name": "swap_member", + "fields": [ + { + "name": "remove", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "add", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 2, + "docs": [ + "Swap out one member `remove` for another `add`.", + "", + "May only be called from `T::SwapOrigin`.", + "", + "Prime membership is *not* passed from `remove` to `add`, if extant." + ] + }, + { + "name": "reset_members", + "fields": [ + { + "name": "members", + "type": 83, + "typeName": "Vec" + } + ], + "index": 3, + "docs": [ + "Change the membership to a new set, disregarding the existing membership. Be nice and", + "pass `members` pre-sorted.", + "", + "May only be called from `T::ResetOrigin`." + ] + }, + { + "name": "change_key", + "fields": [ + { + "name": "new", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 4, + "docs": [ + "Swap out the sending member for some other key `new`.", + "", + "May only be called from `Signed` origin of a current member.", + "", + "Prime membership is passed from the origin account to `new`, if extant." + ] + }, + { + "name": "set_prime", + "fields": [ + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 5, + "docs": [ + "Set the prime member. Must be a current member.", + "", + "May only be called from `T::PrimeOrigin`." + ] + }, + { + "name": "clear_prime", + "index": 6, + "docs": [ + "Remove the prime member if it exists.", + "", + "May only be called from `T::PrimeOrigin`." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 229, + "type": { + "path": [ + "pallet_grandpa", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "report_equivocation", + "fields": [ + { + "name": "equivocation_proof", + "type": 230, + "typeName": "Box>" + }, + { + "name": "key_owner_proof", + "type": 141, + "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": 230, + "typeName": "Box>" + }, + { + "name": "key_owner_proof", + "type": 141, + "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": 230, + "type": { + "path": [ + "sp_consensus_grandpa", + "EquivocationProof" + ], + "params": [ + { + "name": "H", + "type": 11 + }, + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "set_id", + "type": 10, + "typeName": "SetId" + }, + { + "name": "equivocation", + "type": 231, + "typeName": "Equivocation" + } + ] + } + } + } + }, + { + "id": 231, + "type": { + "path": [ + "sp_consensus_grandpa", + "Equivocation" + ], + "params": [ + { + "name": "H", + "type": 11 + }, + { + "name": "N", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Prevote", + "fields": [ + { + "type": 232, + "typeName": "grandpa::Equivocation,\nAuthoritySignature>" + } + ], + "index": 0 + }, + { + "name": "Precommit", + "fields": [ + { + "type": 238, + "typeName": "grandpa::Equivocation,\nAuthoritySignature>" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 232, + "type": { + "path": [ + "finality_grandpa", + "Equivocation" + ], + "params": [ + { + "name": "Id", + "type": 65 + }, + { + "name": "V", + "type": 233 + }, + { + "name": "S", + "type": 234 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "round_number", + "type": 10, + "typeName": "u64" + }, + { + "name": "identity", + "type": 65, + "typeName": "Id" + }, + { + "name": "first", + "type": 237, + "typeName": "(V, S)" + }, + { + "name": "second", + "type": 237, + "typeName": "(V, S)" + } + ] + } + } + } + }, + { + "id": 233, + "type": { + "path": [ + "finality_grandpa", + "Prevote" + ], + "params": [ + { + "name": "H", + "type": 11 + }, + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "target_hash", + "type": 11, + "typeName": "H" + }, + { + "name": "target_number", + "type": 4, + "typeName": "N" + } + ] + } + } + } + }, + { + "id": 234, + "type": { + "path": [ + "sp_consensus_grandpa", + "app", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 235, + "typeName": "ed25519::Signature" + } + ] + } + } + } + }, + { + "id": 235, + "type": { + "path": [ + "sp_core", + "ed25519", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 236, + "typeName": "[u8; 64]" + } + ] + } + } + } + }, + { + "id": 236, + "type": { + "def": { + "array": { + "len": 64, + "type": 2 + } + } + } + }, + { + "id": 237, + "type": { + "def": { + "tuple": [ + 233, + 234 + ] + } + } + }, + { + "id": 238, + "type": { + "path": [ + "finality_grandpa", + "Equivocation" + ], + "params": [ + { + "name": "Id", + "type": 65 + }, + { + "name": "V", + "type": 239 + }, + { + "name": "S", + "type": 234 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "round_number", + "type": 10, + "typeName": "u64" + }, + { + "name": "identity", + "type": 65, + "typeName": "Id" + }, + { + "name": "first", + "type": 240, + "typeName": "(V, S)" + }, + { + "name": "second", + "type": 240, + "typeName": "(V, S)" + } + ] + } + } + } + }, + { + "id": 239, + "type": { + "path": [ + "finality_grandpa", + "Precommit" + ], + "params": [ + { + "name": "H", + "type": 11 + }, + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "target_hash", + "type": 11, + "typeName": "H" + }, + { + "name": "target_number", + "type": 4, + "typeName": "N" + } + ] + } + } + } + }, + { + "id": 240, + "type": { + "def": { + "tuple": [ + 239, + 234 + ] + } + } + }, + { + "id": 241, + "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": 76, + "typeName": "BalanceOf" + }, + { + "name": "beneficiary", + "type": 147, + "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": 138, + "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": 138, + "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": 76, + "typeName": "BalanceOf" + }, + { + "name": "beneficiary", + "type": 147, + "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": 138, + "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": 242, + "type": { + "path": [ + "pallet_contracts", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "call_old_weight", + "fields": [ + { + "name": "dest", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "gas_limit", + "type": 223, + "typeName": "OldWeight" + }, + { + "name": "storage_deposit_limit", + "type": 243, + "typeName": "Option< as codec::HasCompact>::Type>" + }, + { + "name": "data", + "type": 12, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Deprecated version if [`Self::call`] for use in an in-storage `Call`." + ] + }, + { + "name": "instantiate_with_code_old_weight", + "fields": [ + { + "name": "value", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "gas_limit", + "type": 223, + "typeName": "OldWeight" + }, + { + "name": "storage_deposit_limit", + "type": 243, + "typeName": "Option< as codec::HasCompact>::Type>" + }, + { + "name": "code", + "type": 12, + "typeName": "Vec" + }, + { + "name": "data", + "type": 12, + "typeName": "Vec" + }, + { + "name": "salt", + "type": 12, + "typeName": "Vec" + } + ], + "index": 1, + "docs": [ + "Deprecated version if [`Self::instantiate_with_code`] for use in an in-storage `Call`." + ] + }, + { + "name": "instantiate_old_weight", + "fields": [ + { + "name": "value", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "gas_limit", + "type": 223, + "typeName": "OldWeight" + }, + { + "name": "storage_deposit_limit", + "type": 243, + "typeName": "Option< as codec::HasCompact>::Type>" + }, + { + "name": "code_hash", + "type": 11, + "typeName": "CodeHash" + }, + { + "name": "data", + "type": 12, + "typeName": "Vec" + }, + { + "name": "salt", + "type": 12, + "typeName": "Vec" + } + ], + "index": 2, + "docs": [ + "Deprecated version if [`Self::instantiate`] for use in an in-storage `Call`." + ] + }, + { + "name": "upload_code", + "fields": [ + { + "name": "code", + "type": 12, + "typeName": "Vec" + }, + { + "name": "storage_deposit_limit", + "type": 243, + "typeName": "Option< as codec::HasCompact>::Type>" + }, + { + "name": "determinism", + "type": 244, + "typeName": "Determinism" + } + ], + "index": 3, + "docs": [ + "Upload new `code` without instantiating a contract from it.", + "", + "If the code does not already exist a deposit is reserved from the caller", + "and unreserved only when [`Self::remove_code`] is called. The size of the reserve", + "depends on the instrumented size of the the supplied `code`.", + "", + "If the code already exists in storage it will still return `Ok` and upgrades", + "the in storage version to the current", + "[`InstructionWeights::version`](InstructionWeights).", + "", + "- `determinism`: If this is set to any other value but [`Determinism::Deterministic`]", + " then the only way to use this code is to delegate call into it from an offchain", + " execution. Set to [`Determinism::Deterministic`] if in doubt.", + "", + "# Note", + "", + "Anyone can instantiate a contract from any uploaded code and thus prevent its removal.", + "To avoid this situation a constructor could employ access control so that it can", + "only be instantiated by permissioned entities. The same is true when uploading", + "through [`Self::instantiate_with_code`]." + ] + }, + { + "name": "remove_code", + "fields": [ + { + "name": "code_hash", + "type": 11, + "typeName": "CodeHash" + } + ], + "index": 4, + "docs": [ + "Remove the code stored under `code_hash` and refund the deposit to its owner.", + "", + "A code can only be removed by its original uploader (its owner) and only if it is", + "not used by any contract." + ] + }, + { + "name": "set_code", + "fields": [ + { + "name": "dest", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "code_hash", + "type": 11, + "typeName": "CodeHash" + } + ], + "index": 5, + "docs": [ + "Privileged function that changes the code of an existing contract.", + "", + "This takes care of updating refcounts and all other necessary operations. Returns", + "an error if either the `code_hash` or `dest` do not exist.", + "", + "# Note", + "", + "This does **not** change the address of the contract in question. This means", + "that the contract address is no longer derived from its code hash after calling", + "this dispatchable." + ] + }, + { + "name": "call", + "fields": [ + { + "name": "dest", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "gas_limit", + "type": 8, + "typeName": "Weight" + }, + { + "name": "storage_deposit_limit", + "type": 243, + "typeName": "Option< as codec::HasCompact>::Type>" + }, + { + "name": "data", + "type": 12, + "typeName": "Vec" + } + ], + "index": 6, + "docs": [ + "Makes a call to an account, optionally transferring some balance.", + "", + "# Parameters", + "", + "* `dest`: Address of the contract to call.", + "* `value`: The balance to transfer from the `origin` to `dest`.", + "* `gas_limit`: The gas limit enforced when executing the constructor.", + "* `storage_deposit_limit`: The maximum amount of balance that can be charged from the", + " caller to pay for the storage consumed.", + "* `data`: The input data to pass to the contract.", + "", + "* If the account is a smart-contract account, the associated code will be", + "executed and any value will be transferred.", + "* If the account is a regular account, any value will be transferred.", + "* If no account exists and the call value is not less than `existential_deposit`,", + "a regular account will be created and any value will be transferred." + ] + }, + { + "name": "instantiate_with_code", + "fields": [ + { + "name": "value", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "gas_limit", + "type": 8, + "typeName": "Weight" + }, + { + "name": "storage_deposit_limit", + "type": 243, + "typeName": "Option< as codec::HasCompact>::Type>" + }, + { + "name": "code", + "type": 12, + "typeName": "Vec" + }, + { + "name": "data", + "type": 12, + "typeName": "Vec" + }, + { + "name": "salt", + "type": 12, + "typeName": "Vec" + } + ], + "index": 7, + "docs": [ + "Instantiates a new contract from the supplied `code` optionally transferring", + "some balance.", + "", + "This dispatchable has the same effect as calling [`Self::upload_code`] +", + "[`Self::instantiate`]. Bundling them together provides efficiency gains. Please", + "also check the documentation of [`Self::upload_code`].", + "", + "# Parameters", + "", + "* `value`: The balance to transfer from the `origin` to the newly created contract.", + "* `gas_limit`: The gas limit enforced when executing the constructor.", + "* `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved", + " from the caller to pay for the storage consumed.", + "* `code`: The contract code to deploy in raw bytes.", + "* `data`: The input data to pass to the contract constructor.", + "* `salt`: Used for the address derivation. See [`Pallet::contract_address`].", + "", + "Instantiation is executed as follows:", + "", + "- The supplied `code` is instrumented, deployed, and a `code_hash` is created for that", + " code.", + "- If the `code_hash` already exists on the chain the underlying `code` will be shared.", + "- The destination address is computed based on the sender, code_hash and the salt.", + "- The smart-contract account is created at the computed address.", + "- The `value` is transferred to the new account.", + "- The `deploy` function is executed in the context of the newly-created account." + ] + }, + { + "name": "instantiate", + "fields": [ + { + "name": "value", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "gas_limit", + "type": 8, + "typeName": "Weight" + }, + { + "name": "storage_deposit_limit", + "type": 243, + "typeName": "Option< as codec::HasCompact>::Type>" + }, + { + "name": "code_hash", + "type": 11, + "typeName": "CodeHash" + }, + { + "name": "data", + "type": 12, + "typeName": "Vec" + }, + { + "name": "salt", + "type": 12, + "typeName": "Vec" + } + ], + "index": 8, + "docs": [ + "Instantiates a contract from a previously deployed wasm binary.", + "", + "This function is identical to [`Self::instantiate_with_code`] but without the", + "code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary", + "must be supplied." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 243, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 76 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 76 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 244, + "type": { + "path": [ + "pallet_contracts", + "wasm", + "Determinism" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Deterministic", + "index": 0 + }, + { + "name": "AllowIndeterminism", + "index": 1 + } + ] + } + } + } + }, + { + "id": 245, + "type": { + "path": [ + "pallet_sudo", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "sudo", + "fields": [ + { + "name": "call", + "type": 121, + "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": 121, + "typeName": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": 8, + "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": 147, + "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": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "call", + "type": 121, + "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": 246, + "type": { + "path": [ + "pallet_im_online", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "heartbeat", + "fields": [ + { + "name": "heartbeat", + "type": 247, + "typeName": "Heartbeat" + }, + { + "name": "signature", + "type": 252, + "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": 247, + "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": 248, + "typeName": "OpaqueNetworkState" + }, + { + "name": "session_index", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "authority_index", + "type": 4, + "typeName": "AuthIndex" + }, + { + "name": "validators_len", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 248, + "type": { + "path": [ + "sp_core", + "offchain", + "OpaqueNetworkState" + ], + "def": { + "composite": { + "fields": [ + { + "name": "peer_id", + "type": 249, + "typeName": "OpaquePeerId" + }, + { + "name": "external_addresses", + "type": 250, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 249, + "type": { + "path": [ + "sp_core", + "OpaquePeerId" + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 250, + "type": { + "def": { + "sequence": { + "type": 251 + } + } + } + }, + { + "id": 251, + "type": { + "path": [ + "sp_core", + "offchain", + "OpaqueMultiaddr" + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 252, + "type": { + "path": [ + "pallet_im_online", + "sr25519", + "app_sr25519", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 253, + "typeName": "sr25519::Signature" + } + ] + } + } + } + }, + { + "id": 253, + "type": { + "path": [ + "sp_core", + "sr25519", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 236, + "typeName": "[u8; 64]" + } + ] + } + } + } + }, + { + "id": 254, + "type": { + "path": [ + "pallet_identity", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "add_registrar", + "fields": [ + { + "name": "account", + "type": 147, + "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": 255, + "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": 290, + "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": 138, + "typeName": "RegistrarIndex" + }, + { + "name": "max_fee", + "type": 76, + "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": 138, + "typeName": "RegistrarIndex" + }, + { + "name": "fee", + "type": 76, + "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": 138, + "typeName": "RegistrarIndex" + }, + { + "name": "new", + "type": 147, + "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": 138, + "typeName": "RegistrarIndex" + }, + { + "name": "fields", + "type": 292, + "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": 138, + "typeName": "RegistrarIndex" + }, + { + "name": "target", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "judgement", + "type": 294, + "typeName": "Judgement>" + }, + { + "name": "identity", + "type": 11, + "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": 147, + "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": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "data", + "type": 258, + "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": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "data", + "type": 258, + "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": 147, + "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": 255, + "type": { + "path": [ + "pallet_identity", + "types", + "IdentityInfo" + ], + "params": [ + { + "name": "FieldLimit", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "additional", + "type": 256, + "typeName": "BoundedVec<(Data, Data), FieldLimit>" + }, + { + "name": "display", + "type": 258, + "typeName": "Data" + }, + { + "name": "legal", + "type": 258, + "typeName": "Data" + }, + { + "name": "web", + "type": 258, + "typeName": "Data" + }, + { + "name": "riot", + "type": 258, + "typeName": "Data" + }, + { + "name": "email", + "type": 258, + "typeName": "Data" + }, + { + "name": "pgp_fingerprint", + "type": 289, + "typeName": "Option<[u8; 20]>" + }, + { + "name": "image", + "type": 258, + "typeName": "Data" + }, + { + "name": "twitter", + "type": 258, + "typeName": "Data" + } + ] + } + } + } + }, + { + "id": 256, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 257 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 288, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 257, + "type": { + "def": { + "tuple": [ + 258, + 258 + ] + } + } + }, + { + "id": 258, + "type": { + "path": [ + "pallet_identity", + "types", + "Data" + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Raw0", + "fields": [ + { + "type": 259 + } + ], + "index": 1 + }, + { + "name": "Raw1", + "fields": [ + { + "type": 260 + } + ], + "index": 2 + }, + { + "name": "Raw2", + "fields": [ + { + "type": 261 + } + ], + "index": 3 + }, + { + "name": "Raw3", + "fields": [ + { + "type": 262 + } + ], + "index": 4 + }, + { + "name": "Raw4", + "fields": [ + { + "type": 16 + } + ], + "index": 5 + }, + { + "name": "Raw5", + "fields": [ + { + "type": 263 + } + ], + "index": 6 + }, + { + "name": "Raw6", + "fields": [ + { + "type": 264 + } + ], + "index": 7 + }, + { + "name": "Raw7", + "fields": [ + { + "type": 265 + } + ], + "index": 8 + }, + { + "name": "Raw8", + "fields": [ + { + "type": 266 + } + ], + "index": 9 + }, + { + "name": "Raw9", + "fields": [ + { + "type": 267 + } + ], + "index": 10 + }, + { + "name": "Raw10", + "fields": [ + { + "type": 268 + } + ], + "index": 11 + }, + { + "name": "Raw11", + "fields": [ + { + "type": 269 + } + ], + "index": 12 + }, + { + "name": "Raw12", + "fields": [ + { + "type": 270 + } + ], + "index": 13 + }, + { + "name": "Raw13", + "fields": [ + { + "type": 271 + } + ], + "index": 14 + }, + { + "name": "Raw14", + "fields": [ + { + "type": 272 + } + ], + "index": 15 + }, + { + "name": "Raw15", + "fields": [ + { + "type": 273 + } + ], + "index": 16 + }, + { + "name": "Raw16", + "fields": [ + { + "type": 80 + } + ], + "index": 17 + }, + { + "name": "Raw17", + "fields": [ + { + "type": 274 + } + ], + "index": 18 + }, + { + "name": "Raw18", + "fields": [ + { + "type": 275 + } + ], + "index": 19 + }, + { + "name": "Raw19", + "fields": [ + { + "type": 276 + } + ], + "index": 20 + }, + { + "name": "Raw20", + "fields": [ + { + "type": 148 + } + ], + "index": 21 + }, + { + "name": "Raw21", + "fields": [ + { + "type": 277 + } + ], + "index": 22 + }, + { + "name": "Raw22", + "fields": [ + { + "type": 278 + } + ], + "index": 23 + }, + { + "name": "Raw23", + "fields": [ + { + "type": 279 + } + ], + "index": 24 + }, + { + "name": "Raw24", + "fields": [ + { + "type": 280 + } + ], + "index": 25 + }, + { + "name": "Raw25", + "fields": [ + { + "type": 281 + } + ], + "index": 26 + }, + { + "name": "Raw26", + "fields": [ + { + "type": 282 + } + ], + "index": 27 + }, + { + "name": "Raw27", + "fields": [ + { + "type": 283 + } + ], + "index": 28 + }, + { + "name": "Raw28", + "fields": [ + { + "type": 284 + } + ], + "index": 29 + }, + { + "name": "Raw29", + "fields": [ + { + "type": 285 + } + ], + "index": 30 + }, + { + "name": "Raw30", + "fields": [ + { + "type": 286 + } + ], + "index": 31 + }, + { + "name": "Raw31", + "fields": [ + { + "type": 287 + } + ], + "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": 259, + "type": { + "def": { + "array": { + "len": 0, + "type": 2 + } + } + } + }, + { + "id": 260, + "type": { + "def": { + "array": { + "len": 1, + "type": 2 + } + } + } + }, + { + "id": 261, + "type": { + "def": { + "array": { + "len": 2, + "type": 2 + } + } + } + }, + { + "id": 262, + "type": { + "def": { + "array": { + "len": 3, + "type": 2 + } + } + } + }, + { + "id": 263, + "type": { + "def": { + "array": { + "len": 5, + "type": 2 + } + } + } + }, + { + "id": 264, + "type": { + "def": { + "array": { + "len": 6, + "type": 2 + } + } + } + }, + { + "id": 265, + "type": { + "def": { + "array": { + "len": 7, + "type": 2 + } + } + } + }, + { + "id": 266, + "type": { + "def": { + "array": { + "len": 8, + "type": 2 + } + } + } + }, + { + "id": 267, + "type": { + "def": { + "array": { + "len": 9, + "type": 2 + } + } + } + }, + { + "id": 268, + "type": { + "def": { + "array": { + "len": 10, + "type": 2 + } + } + } + }, + { + "id": 269, + "type": { + "def": { + "array": { + "len": 11, + "type": 2 + } + } + } + }, + { + "id": 270, + "type": { + "def": { + "array": { + "len": 12, + "type": 2 + } + } + } + }, + { + "id": 271, + "type": { + "def": { + "array": { + "len": 13, + "type": 2 + } + } + } + }, + { + "id": 272, + "type": { + "def": { + "array": { + "len": 14, + "type": 2 + } + } + } + }, + { + "id": 273, + "type": { + "def": { + "array": { + "len": 15, + "type": 2 + } + } + } + }, + { + "id": 274, + "type": { + "def": { + "array": { + "len": 17, + "type": 2 + } + } + } + }, + { + "id": 275, + "type": { + "def": { + "array": { + "len": 18, + "type": 2 + } + } + } + }, + { + "id": 276, + "type": { + "def": { + "array": { + "len": 19, + "type": 2 + } + } + } + }, + { + "id": 277, + "type": { + "def": { + "array": { + "len": 21, + "type": 2 + } + } + } + }, + { + "id": 278, + "type": { + "def": { + "array": { + "len": 22, + "type": 2 + } + } + } + }, + { + "id": 279, + "type": { + "def": { + "array": { + "len": 23, + "type": 2 + } + } + } + }, + { + "id": 280, + "type": { + "def": { + "array": { + "len": 24, + "type": 2 + } + } + } + }, + { + "id": 281, + "type": { + "def": { + "array": { + "len": 25, + "type": 2 + } + } + } + }, + { + "id": 282, + "type": { + "def": { + "array": { + "len": 26, + "type": 2 + } + } + } + }, + { + "id": 283, + "type": { + "def": { + "array": { + "len": 27, + "type": 2 + } + } + } + }, + { + "id": 284, + "type": { + "def": { + "array": { + "len": 28, + "type": 2 + } + } + } + }, + { + "id": 285, + "type": { + "def": { + "array": { + "len": 29, + "type": 2 + } + } + } + }, + { + "id": 286, + "type": { + "def": { + "array": { + "len": 30, + "type": 2 + } + } + } + }, + { + "id": 287, + "type": { + "def": { + "array": { + "len": 31, + "type": 2 + } + } + } + }, + { + "id": 288, + "type": { + "def": { + "sequence": { + "type": 257 + } + } + } + }, + { + "id": 289, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 148 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 148 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 290, + "type": { + "def": { + "sequence": { + "type": 291 + } + } + } + }, + { + "id": 291, + "type": { + "def": { + "tuple": [ + 0, + 258 + ] + } + } + }, + { + "id": 292, + "type": { + "path": [ + "pallet_identity", + "types", + "BitFlags" + ], + "params": [ + { + "name": "T", + "type": 293 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 10, + "typeName": "IdentityField" + } + ] + } + } + } + }, + { + "id": 293, + "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": 294, + "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": 295, + "type": { + "path": [ + "pallet_society", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "bid", + "fields": [ + { + "name": "value", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 0, + "docs": [ + "A user outside of the society can make a bid for entry.", + "", + "Payment: `CandidateDeposit` will be reserved for making a bid. It is returned", + "when the bid becomes a member, or if the bid calls `unbid`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `value`: A one time payment the bid would like to receive when joining the society.", + "", + "## Complexity", + "- O(M + B + C + logM + logB + X)", + "\t - B (len of bids)", + " - C (len of candidates)", + " - M (len of members)", + " - X (balance reserve)" + ] + }, + { + "name": "unbid", + "fields": [ + { + "name": "pos", + "type": 4, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "A bidder can remove their bid for entry into society.", + "By doing so, they will have their candidate deposit returned or", + "they will unvouch their voucher.", + "", + "Payment: The bid deposit is unreserved if the user made a bid.", + "", + "The dispatch origin for this call must be _Signed_ and a bidder.", + "", + "Parameters:", + "- `pos`: Position in the `Bids` vector of the bid who wants to unbid.", + "", + "## Complexity", + "- O(B + X)", + " - B (len of bids)", + " - X (balance unreserve)" + ] + }, + { + "name": "vouch", + "fields": [ + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "tip", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 2, + "docs": [ + "As a member, vouch for someone to join society by placing a bid on their behalf.", + "", + "There is no deposit required to vouch for a new bid, but a member can only vouch for", + "one bid at a time. If the bid becomes a suspended candidate and ultimately rejected by", + "the suspension judgement origin, the member will be banned from vouching again.", + "", + "As a vouching member, you can claim a tip if the candidate is accepted. This tip will", + "be paid as a portion of the reward the member will receive for joining the society.", + "", + "The dispatch origin for this call must be _Signed_ and a member.", + "", + "Parameters:", + "- `who`: The user who you would like to vouch for.", + "- `value`: The total reward to be paid between you and the candidate if they become", + "a member in the society.", + "- `tip`: Your cut of the total `value` payout when the candidate is inducted into", + "the society. Tips larger than `value` will be saturated upon payout.", + "", + "## Complexity", + "- O(M + B + C + logM + logB + X)", + " - B (len of bids)", + " - C (len of candidates)", + " - M (len of members)", + " - X (balance reserve)" + ] + }, + { + "name": "unvouch", + "fields": [ + { + "name": "pos", + "type": 4, + "typeName": "u32" + } + ], + "index": 3, + "docs": [ + "As a vouching member, unvouch a bid. This only works while vouched user is", + "only a bidder (and not a candidate).", + "", + "The dispatch origin for this call must be _Signed_ and a vouching member.", + "", + "Parameters:", + "- `pos`: Position in the `Bids` vector of the bid who should be unvouched.", + "", + "## Complexity", + "- O(B)", + " - B (len of bids)" + ] + }, + { + "name": "vote", + "fields": [ + { + "name": "candidate", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "approve", + "type": 41, + "typeName": "bool" + } + ], + "index": 4, + "docs": [ + "As a member, vote on a candidate.", + "", + "The dispatch origin for this call must be _Signed_ and a member.", + "", + "Parameters:", + "- `candidate`: The candidate that the member would like to bid on.", + "- `approve`: A boolean which says if the candidate should be approved (`true`) or", + " rejected (`false`).", + "", + "## Complexity", + "- O(M + logM + C)", + " - C (len of candidates)", + " - M (len of members)" + ] + }, + { + "name": "defender_vote", + "fields": [ + { + "name": "approve", + "type": 41, + "typeName": "bool" + } + ], + "index": 5, + "docs": [ + "As a member, vote on the defender.", + "", + "The dispatch origin for this call must be _Signed_ and a member.", + "", + "Parameters:", + "- `approve`: A boolean which says if the candidate should be", + "approved (`true`) or rejected (`false`).", + "", + "## Complexity", + "- O(M + logM)", + " - M (len of members)" + ] + }, + { + "name": "payout", + "index": 6, + "docs": [ + "Transfer the first matured payout for the sender and remove it from the records.", + "", + "NOTE: This extrinsic needs to be called multiple times to claim multiple matured", + "payouts.", + "", + "Payment: The member will receive a payment equal to their first matured", + "payout to their free balance.", + "", + "The dispatch origin for this call must be _Signed_ and a member with", + "payouts remaining.", + "", + "## Complexity", + "- O(M + logM + P + X)", + " - M (len of members)", + " - P (number of payouts for a particular member)", + " - X (currency transfer call)" + ] + }, + { + "name": "found", + "fields": [ + { + "name": "founder", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "max_members", + "type": 4, + "typeName": "u32" + }, + { + "name": "rules", + "type": 12, + "typeName": "Vec" + } + ], + "index": 7, + "docs": [ + "Found the society.", + "", + "This is done as a discrete action in order to allow for the", + "pallet to be included into a running chain and can only be done once.", + "", + "The dispatch origin for this call must be from the _FounderSetOrigin_.", + "", + "Parameters:", + "- `founder` - The first member and head of the newly founded society.", + "- `max_members` - The initial max number of members for the society.", + "- `rules` - The rules of this society concerning membership.", + "", + "## Complexity", + "- O(1)" + ] + }, + { + "name": "unfound", + "index": 8, + "docs": [ + "Annul the founding of the society.", + "", + "The dispatch origin for this call must be Signed, and the signing account must be both", + "the `Founder` and the `Head`. This implies that it may only be done when there is one", + "member.", + "", + "## Complexity", + "- O(1)" + ] + }, + { + "name": "judge_suspended_member", + "fields": [ + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "forgive", + "type": 41, + "typeName": "bool" + } + ], + "index": 9, + "docs": [ + "Allow suspension judgement origin to make judgement on a suspended member.", + "", + "If a suspended member is forgiven, we simply add them back as a member, not affecting", + "any of the existing storage items for that member.", + "", + "If a suspended member is rejected, remove all associated storage items, including", + "their payouts, and remove any vouched bids they currently have.", + "", + "The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.", + "", + "Parameters:", + "- `who` - The suspended member to be judged.", + "- `forgive` - A boolean representing whether the suspension judgement origin forgives", + " (`true`) or rejects (`false`) a suspended member.", + "", + "## Complexity", + "- O(M + logM + B)", + " - B (len of bids)", + " - M (len of members)" + ] + }, + { + "name": "judge_suspended_candidate", + "fields": [ + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "judgement", + "type": 296, + "typeName": "Judgement" + } + ], + "index": 10, + "docs": [ + "Allow suspended judgement origin to make judgement on a suspended candidate.", + "", + "If the judgement is `Approve`, we add them to society as a member with the appropriate", + "payment for joining society.", + "", + "If the judgement is `Reject`, we either slash the deposit of the bid, giving it back", + "to the society treasury, or we ban the voucher from vouching again.", + "", + "If the judgement is `Rebid`, we put the candidate back in the bid pool and let them go", + "through the induction process again.", + "", + "The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.", + "", + "Parameters:", + "- `who` - The suspended candidate to be judged.", + "- `judgement` - `Approve`, `Reject`, or `Rebid`.", + "", + "## Complexity", + "- O(M + logM + B + X)", + " - B (len of bids)", + " - M (len of members)", + " - X (balance action)" + ] + }, + { + "name": "set_max_members", + "fields": [ + { + "name": "max", + "type": 4, + "typeName": "u32" + } + ], + "index": 11, + "docs": [ + "Allows root origin to change the maximum number of members in society.", + "Max membership count must be greater than 1.", + "", + "The dispatch origin for this call must be from _ROOT_.", + "", + "Parameters:", + "- `max` - The maximum number of members for the society.", + "", + "## Complexity", + "- O(1)" + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 296, + "type": { + "path": [ + "pallet_society", + "Judgement" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Rebid", + "index": 0 + }, + { + "name": "Reject", + "index": 1 + }, + { + "name": "Approve", + "index": 2 + } + ] + } + } + } + }, + { + "id": 297, + "type": { + "path": [ + "pallet_recovery", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "as_recovered", + "fields": [ + { + "name": "account", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "call", + "type": 121, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 0, + "docs": [ + "Send a call through a recovered account.", + "", + "The dispatch origin for this call must be _Signed_ and registered to", + "be able to make calls on behalf of the recovered account.", + "", + "Parameters:", + "- `account`: The recovered account you want to make a call on-behalf-of.", + "- `call`: The call you want to make with the recovered account." + ] + }, + { + "name": "set_recovered", + "fields": [ + { + "name": "lost", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "rescuer", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 1, + "docs": [ + "Allow ROOT to bypass the recovery process and set an a rescuer account", + "for a lost account directly.", + "", + "The dispatch origin for this call must be _ROOT_.", + "", + "Parameters:", + "- `lost`: The \"lost account\" to be recovered.", + "- `rescuer`: The \"rescuer account\" which can call as the lost account." + ] + }, + { + "name": "create_recovery", + "fields": [ + { + "name": "friends", + "type": 83, + "typeName": "Vec" + }, + { + "name": "threshold", + "type": 93, + "typeName": "u16" + }, + { + "name": "delay_period", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 2, + "docs": [ + "Create a recovery configuration for your account. This makes your account recoverable.", + "", + "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance", + "will be reserved for storing the recovery configuration. This deposit is returned", + "in full when the user calls `remove_recovery`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be", + " ordered and contain no duplicate values.", + "- `threshold`: The number of friends that must vouch for a recovery attempt before the", + " account can be recovered. Should be less than or equal to the length of the list of", + " friends.", + "- `delay_period`: The number of blocks after a recovery attempt is initialized that", + " needs to pass before the account can be recovered." + ] + }, + { + "name": "initiate_recovery", + "fields": [ + { + "name": "account", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 3, + "docs": [ + "Initiate the process for recovering a recoverable account.", + "", + "Payment: `RecoveryDeposit` balance will be reserved for initiating the", + "recovery process. This deposit will always be repatriated to the account", + "trying to be recovered. See `close_recovery`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `account`: The lost account that you want to recover. This account needs to be", + " recoverable (i.e. have a recovery configuration)." + ] + }, + { + "name": "vouch_recovery", + "fields": [ + { + "name": "lost", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "rescuer", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 4, + "docs": [ + "Allow a \"friend\" of a recoverable account to vouch for an active recovery", + "process for that account.", + "", + "The dispatch origin for this call must be _Signed_ and must be a \"friend\"", + "for the recoverable account.", + "", + "Parameters:", + "- `lost`: The lost account that you want to recover.", + "- `rescuer`: The account trying to rescue the lost account that you want to vouch for.", + "", + "The combination of these two parameters must point to an active recovery", + "process." + ] + }, + { + "name": "claim_recovery", + "fields": [ + { + "name": "account", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 5, + "docs": [ + "Allow a successful rescuer to claim their recovered account.", + "", + "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\"", + "who has successfully completed the account recovery process: collected", + "`threshold` or more vouches, waited `delay_period` blocks since initiation.", + "", + "Parameters:", + "- `account`: The lost account that you want to claim has been successfully recovered by", + " you." + ] + }, + { + "name": "close_recovery", + "fields": [ + { + "name": "rescuer", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 6, + "docs": [ + "As the controller of a recoverable account, close an active recovery", + "process for your account.", + "", + "Payment: By calling this function, the recoverable account will receive", + "the recovery deposit `RecoveryDeposit` placed by the rescuer.", + "", + "The dispatch origin for this call must be _Signed_ and must be a", + "recoverable account with an active recovery process for it.", + "", + "Parameters:", + "- `rescuer`: The account trying to rescue this recoverable account." + ] + }, + { + "name": "remove_recovery", + "index": 7, + "docs": [ + "Remove the recovery process for your account. Recovered accounts are still accessible.", + "", + "NOTE: The user must make sure to call `close_recovery` on all active", + "recovery attempts before calling this function else it will fail.", + "", + "Payment: By calling this function the recoverable account will unreserve", + "their recovery configuration deposit.", + "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)", + "", + "The dispatch origin for this call must be _Signed_ and must be a", + "recoverable account (i.e. has a recovery configuration)." + ] + }, + { + "name": "cancel_recovered", + "fields": [ + { + "name": "account", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 8, + "docs": [ + "Cancel the ability to use `as_recovered` for `account`.", + "", + "The dispatch origin for this call must be _Signed_ and registered to", + "be able to make calls on behalf of the recovered account.", + "", + "Parameters:", + "- `account`: The recovered account you are able to call on-behalf-of." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 298, + "type": { + "path": [ + "pallet_vesting", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "vest", + "index": 0, + "docs": [ + "Unlock any vested funds of the sender account.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must have funds still", + "locked under this pallet.", + "", + "Emits either `VestingCompleted` or `VestingUpdated`.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "vest_other", + "fields": [ + { + "name": "target", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 1, + "docs": [ + "Unlock any vested funds of a `target` account.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `target`: The account whose vested funds should be unlocked. Must have funds still", + "locked under this pallet.", + "", + "Emits either `VestingCompleted` or `VestingUpdated`.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "vested_transfer", + "fields": [ + { + "name": "target", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "schedule", + "type": 299, + "typeName": "VestingInfo, T::BlockNumber>" + } + ], + "index": 2, + "docs": [ + "Create a vested transfer.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `target`: The account receiving the vested funds.", + "- `schedule`: The vesting schedule attached to the transfer.", + "", + "Emits `VestingCreated`.", + "", + "NOTE: This will unlock all schedules through the current block.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "force_vested_transfer", + "fields": [ + { + "name": "source", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "target", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "schedule", + "type": 299, + "typeName": "VestingInfo, T::BlockNumber>" + } + ], + "index": 3, + "docs": [ + "Force a vested transfer.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "- `source`: The account whose funds should be transferred.", + "- `target`: The account that should be transferred the vested funds.", + "- `schedule`: The vesting schedule attached to the transfer.", + "", + "Emits `VestingCreated`.", + "", + "NOTE: This will unlock all schedules through the current block.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "merge_schedules", + "fields": [ + { + "name": "schedule1_index", + "type": 4, + "typeName": "u32" + }, + { + "name": "schedule2_index", + "type": 4, + "typeName": "u32" + } + ], + "index": 4, + "docs": [ + "Merge two vesting schedules together, creating a new vesting schedule that unlocks over", + "the highest possible start and end blocks. If both schedules have already started the", + "current block will be used as the schedule start; with the caveat that if one schedule", + "is finished by the current block, the other will be treated as the new merged schedule,", + "unmodified.", + "", + "NOTE: If `schedule1_index == schedule2_index` this is a no-op.", + "NOTE: This will unlock all schedules through the current block prior to merging.", + "NOTE: If both schedules have ended by the current block, no new schedule will be created", + "and both will be removed.", + "", + "Merged schedule attributes:", + "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,", + " current_block)`.", + "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`.", + "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `schedule1_index`: index of the first schedule to merge.", + "- `schedule2_index`: index of the second schedule to merge." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 299, + "type": { + "path": [ + "pallet_vesting", + "vesting_info", + "VestingInfo" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "locked", + "type": 6, + "typeName": "Balance" + }, + { + "name": "per_block", + "type": 6, + "typeName": "Balance" + }, + { + "name": "starting_block", + "type": 4, + "typeName": "BlockNumber" + } + ] + } + } + } + }, + { + "id": 300, + "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": 301, + "typeName": "Option>" + }, + { + "name": "priority", + "type": 2, + "typeName": "schedule::Priority" + }, + { + "name": "call", + "type": 121, + "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": 301, + "typeName": "Option>" + }, + { + "name": "priority", + "type": 2, + "typeName": "schedule::Priority" + }, + { + "name": "call", + "type": 121, + "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": 301, + "typeName": "Option>" + }, + { + "name": "priority", + "type": 2, + "typeName": "schedule::Priority" + }, + { + "name": "call", + "type": 121, + "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": 301, + "typeName": "Option>" + }, + { + "name": "priority", + "type": 2, + "typeName": "schedule::Priority" + }, + { + "name": "call", + "type": 121, + "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": 301, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 87 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 87 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 302, + "type": { + "path": [ + "pallet_glutton", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "initialize_pallet", + "fields": [ + { + "name": "new_count", + "type": 4, + "typeName": "u32" + }, + { + "name": "witness_count", + "type": 37, + "typeName": "Option" + } + ], + "index": 0, + "docs": [ + "Initializes the pallet by writing into `TrashData`.", + "", + "Only callable by Root. A good default for `trash_count` is `5_000`." + ] + }, + { + "name": "set_compute", + "fields": [ + { + "name": "compute", + "type": 46, + "typeName": "Perbill" + } + ], + "index": 1, + "docs": [ + "Set the `Compute` storage value that determines how much of the", + "block's weight `ref_time` to use during `on_idle`.", + "", + "Only callable by Root." + ] + }, + { + "name": "set_storage", + "fields": [ + { + "name": "storage", + "type": 46, + "typeName": "Perbill" + } + ], + "index": 2, + "docs": [ + "Set the `Storage` storage value that determines the PoV size usage", + "for each block.", + "", + "Only callable by Root." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 303, + "type": { + "path": [ + "pallet_preimage", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "note_preimage", + "fields": [ + { + "name": "bytes", + "type": 12, + "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": 11, + "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": 11, + "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": 11, + "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": 304, + "type": { + "path": [ + "pallet_proxy", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "proxy", + "fields": [ + { + "name": "real", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": 305, + "typeName": "Option" + }, + { + "name": "call", + "type": 121, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 0, + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ] + }, + { + "name": "add_proxy", + "fields": [ + { + "name": "delegate", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": 92, + "typeName": "T::ProxyType" + }, + { + "name": "delay", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 1, + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero." + ] + }, + { + "name": "remove_proxy", + "fields": [ + { + "name": "delegate", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": 92, + "typeName": "T::ProxyType" + }, + { + "name": "delay", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 2, + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account." + ] + }, + { + "name": "remove_proxies", + "index": 3, + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `pure`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**" + ] + }, + { + "name": "create_pure", + "fields": [ + { + "name": "proxy_type", + "type": 92, + "typeName": "T::ProxyType" + }, + { + "name": "delay", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "index", + "type": 93, + "typeName": "u16" + } + ], + "index": 4, + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit." + ] + }, + { + "name": "kill_pure", + "fields": [ + { + "name": "spawner", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": 92, + "typeName": "T::ProxyType" + }, + { + "name": "index", + "type": 93, + "typeName": "u16" + }, + { + "name": "height", + "type": 138, + "typeName": "T::BlockNumber" + }, + { + "name": "ext_index", + "type": 138, + "typeName": "u32" + } + ], + "index": 5, + "docs": [ + "Removes a previously spawned pure proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`pure` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `pure` to create this account.", + "- `index`: The disambiguation index originally passed to `pure`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `pure`.", + "- `height`: The height of the chain when the call to `pure` was processed.", + "- `ext_index`: The extrinsic index in which the call to `pure` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created pure", + "account whose `pure` call has corresponding parameters." + ] + }, + { + "name": "announce", + "fields": [ + { + "name": "real", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": 11, + "typeName": "CallHashOf" + } + ], + "index": 6, + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ] + }, + { + "name": "remove_announcement", + "fields": [ + { + "name": "real", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": 11, + "typeName": "CallHashOf" + } + ], + "index": 7, + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ] + }, + { + "name": "reject_announcement", + "fields": [ + { + "name": "delegate", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": 11, + "typeName": "CallHashOf" + } + ], + "index": 8, + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made." + ] + }, + { + "name": "proxy_announced", + "fields": [ + { + "name": "delegate", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "real", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": 305, + "typeName": "Option" + }, + { + "name": "call", + "type": 121, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 9, + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 305, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 92 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 92 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 306, + "type": { + "path": [ + "pallet_multisig", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "as_multi_threshold_1", + "fields": [ + { + "name": "other_signatories", + "type": 83, + "typeName": "Vec" + }, + { + "name": "call", + "type": 121, + "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": 93, + "typeName": "u16" + }, + { + "name": "other_signatories", + "type": 83, + "typeName": "Vec" + }, + { + "name": "maybe_timepoint", + "type": 307, + "typeName": "Option>" + }, + { + "name": "call", + "type": 121, + "typeName": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": 8, + "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": 93, + "typeName": "u16" + }, + { + "name": "other_signatories", + "type": 83, + "typeName": "Vec" + }, + { + "name": "maybe_timepoint", + "type": 307, + "typeName": "Option>" + }, + { + "name": "call_hash", + "type": 1, + "typeName": "[u8; 32]" + }, + { + "name": "max_weight", + "type": 8, + "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": 93, + "typeName": "u16" + }, + { + "name": "other_signatories", + "type": 83, + "typeName": "Vec" + }, + { + "name": "timepoint", + "type": 95, + "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": 307, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 95 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 95 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 308, + "type": { + "path": [ + "pallet_bounties", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "propose_bounty", + "fields": [ + { + "name": "value", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "description", + "type": 12, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Propose a new bounty.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as", + "`DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,", + "or slashed when rejected.", + "", + "- `curator`: The curator account whom will manage this bounty.", + "- `fee`: The curator fee.", + "- `value`: The total payment amount of this bounty, curator fee included.", + "- `description`: The description of this bounty." + ] + }, + { + "name": "approve_bounty", + "fields": [ + { + "name": "bounty_id", + "type": 138, + "typeName": "BountyIndex" + } + ], + "index": 1, + "docs": [ + "Approve a bounty proposal. At a later time, the bounty will be funded and become active", + "and the original deposit will be returned.", + "", + "May only be called from `T::SpendOrigin`.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "propose_curator", + "fields": [ + { + "name": "bounty_id", + "type": 138, + "typeName": "BountyIndex" + }, + { + "name": "curator", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "fee", + "type": 76, + "typeName": "BalanceOf" + } + ], + "index": 2, + "docs": [ + "Assign a curator to a funded bounty.", + "", + "May only be called from `T::SpendOrigin`.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "unassign_curator", + "fields": [ + { + "name": "bounty_id", + "type": 138, + "typeName": "BountyIndex" + } + ], + "index": 3, + "docs": [ + "Unassign curator from a bounty.", + "", + "This function can only be called by the `RejectOrigin` a signed origin.", + "", + "If this function is called by the `RejectOrigin`, we assume that the curator is", + "malicious or inactive. As a result, we will slash the curator when possible.", + "", + "If the origin is the curator, we take this as a sign they are unable to do their job and", + "they willingly give up. We could slash them, but for now we allow them to recover their", + "deposit and exit without issue. (We may want to change this if it is abused.)", + "", + "Finally, the origin can be anyone if and only if the curator is \"inactive\". This allows", + "anyone in the community to call out that a curator is not doing their due diligence, and", + "we should pick a new curator. In this case the curator should also be slashed.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "accept_curator", + "fields": [ + { + "name": "bounty_id", + "type": 138, + "typeName": "BountyIndex" + } + ], + "index": 4, + "docs": [ + "Accept the curator role for a bounty.", + "A deposit will be reserved from curator and refund upon successful payout.", + "", + "May only be called from the curator.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "award_bounty", + "fields": [ + { + "name": "bounty_id", + "type": 138, + "typeName": "BountyIndex" + }, + { + "name": "beneficiary", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 5, + "docs": [ + "Award bounty to a beneficiary account. The beneficiary will be able to claim the funds", + "after a delay.", + "", + "The dispatch origin for this call must be the curator of this bounty.", + "", + "- `bounty_id`: Bounty ID to award.", + "- `beneficiary`: The beneficiary account whom will receive the payout.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "claim_bounty", + "fields": [ + { + "name": "bounty_id", + "type": 138, + "typeName": "BountyIndex" + } + ], + "index": 6, + "docs": [ + "Claim the payout from an awarded bounty after payout delay.", + "", + "The dispatch origin for this call must be the beneficiary of this bounty.", + "", + "- `bounty_id`: Bounty ID to claim.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "close_bounty", + "fields": [ + { + "name": "bounty_id", + "type": 138, + "typeName": "BountyIndex" + } + ], + "index": 7, + "docs": [ + "Cancel a proposed or active bounty. All the funds will be sent to treasury and", + "the curator deposit will be unreserved if possible.", + "", + "Only `T::RejectOrigin` is able to cancel a bounty.", + "", + "- `bounty_id`: Bounty ID to cancel.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "extend_bounty_expiry", + "fields": [ + { + "name": "bounty_id", + "type": 138, + "typeName": "BountyIndex" + }, + { + "name": "remark", + "type": 12, + "typeName": "Vec" + } + ], + "index": 8, + "docs": [ + "Extend the expiry time of an active bounty.", + "", + "The dispatch origin for this call must be the curator of this bounty.", + "", + "- `bounty_id`: Bounty ID to extend.", + "- `remark`: additional information.", + "", + "## Complexity", + "- O(1)." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 309, + "type": { + "path": [ + "pallet_tips", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "report_awesome", + "fields": [ + { + "name": "reason", + "type": 12, + "typeName": "Vec" + }, + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 0, + "docs": [ + "Report something `reason` that deserves a tip and claim any eventual the finder's fee.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as", + "`DataDepositPerByte` for each byte in `reason`.", + "", + "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be", + " a UTF-8-encoded URL.", + "- `who`: The account which should be credited for the tip.", + "", + "Emits `NewTip` if successful.", + "", + "## Complexity", + "- `O(R)` where `R` length of `reason`.", + " - encoding and hashing of 'reason'" + ] + }, + { + "name": "retract_tip", + "fields": [ + { + "name": "hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 1, + "docs": [ + "Retract a prior tip-report from `report_awesome`, and cancel the process of tipping.", + "", + "If successful, the original deposit will be unreserved.", + "", + "The dispatch origin for this call must be _Signed_ and the tip identified by `hash`", + "must have been reported by the signing account through `report_awesome` (and not", + "through `tip_new`).", + "", + "- `hash`: The identity of the open tip for which a tip value is declared. This is formed", + " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.", + "", + "Emits `TipRetracted` if successful.", + "", + "## Complexity", + "- `O(1)`", + " - Depends on the length of `T::Hash` which is fixed." + ] + }, + { + "name": "tip_new", + "fields": [ + { + "name": "reason", + "type": 12, + "typeName": "Vec" + }, + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "tip_value", + "type": 76, + "typeName": "BalanceOf" + } + ], + "index": 2, + "docs": [ + "Give a tip for something new; no finder's fee will be taken.", + "", + "The dispatch origin for this call must be _Signed_ and the signing account must be a", + "member of the `Tippers` set.", + "", + "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be", + " a UTF-8-encoded URL.", + "- `who`: The account which should be credited for the tip.", + "- `tip_value`: The amount of tip that the sender would like to give. The median tip", + " value of active tippers will be given to the `who`.", + "", + "Emits `NewTip` if successful.", + "", + "## Complexity", + "- `O(R + T)` where `R` length of `reason`, `T` is the number of tippers.", + " - `O(T)`: decoding `Tipper` vec of length `T`. `T` is charged as upper bound given by", + " `ContainsLengthBound`. The actual cost depends on the implementation of", + " `T::Tippers`.", + " - `O(R)`: hashing and encoding of reason of length `R`" + ] + }, + { + "name": "tip", + "fields": [ + { + "name": "hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "tip_value", + "type": 76, + "typeName": "BalanceOf" + } + ], + "index": 3, + "docs": [ + "Declare a tip value for an already-open tip.", + "", + "The dispatch origin for this call must be _Signed_ and the signing account must be a", + "member of the `Tippers` set.", + "", + "- `hash`: The identity of the open tip for which a tip value is declared. This is formed", + " as the hash of the tuple of the hash of the original tip `reason` and the beneficiary", + " account ID.", + "- `tip_value`: The amount of tip that the sender would like to give. The median tip", + " value of active tippers will be given to the `who`.", + "", + "Emits `TipClosing` if the threshold of tippers has been reached and the countdown period", + "has started.", + "", + "## Complexity", + "- `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`, insert", + " tip and check closing, `T` is charged as upper bound given by `ContainsLengthBound`.", + " The actual cost depends on the implementation of `T::Tippers`.", + "", + " Actually weight could be lower as it depends on how many tips are in `OpenTip` but it", + " is weighted as if almost full i.e of length `T-1`." + ] + }, + { + "name": "close_tip", + "fields": [ + { + "name": "hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 4, + "docs": [ + "Close and payout a tip.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "The tip identified by `hash` must have finished its countdown period.", + "", + "- `hash`: The identity of the open tip for which a tip value is declared. This is formed", + " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.", + "", + "## Complexity", + "- : `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`. `T`", + " is charged as upper bound given by `ContainsLengthBound`. The actual cost depends on", + " the implementation of `T::Tippers`." + ] + }, + { + "name": "slash_tip", + "fields": [ + { + "name": "hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 5, + "docs": [ + "Remove and slash an already-open tip.", + "", + "May only be called from `T::RejectOrigin`.", + "", + "As a result, the finder is slashed and the deposits are lost.", + "", + "Emits `TipSlashed` if successful.", + "", + "## Complexity", + "- O(1)." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 310, + "type": { + "path": [ + "pallet_assets", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "create", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "admin", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": 6, + "typeName": "T::Balance" + } + ], + "index": 0, + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_create", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "owner", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": 41, + "typeName": "bool" + }, + { + "name": "min_balance", + "type": 76, + "typeName": "T::Balance" + } + ], + "index": 1, + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "start_destroy", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + } + ], + "index": 2, + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "The asset class must be frozen before calling `start_destroy`." + ] + }, + { + "name": "destroy_accounts", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + } + ], + "index": 3, + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ] + }, + { + "name": "destroy_approvals", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + } + ], + "index": 4, + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ] + }, + { + "name": "finish_destroy", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + } + ], + "index": 5, + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ] + }, + { + "name": "mint", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "beneficiary", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 76, + "typeName": "T::Balance" + } + ], + "index": 6, + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ] + }, + { + "name": "burn", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 76, + "typeName": "T::Balance" + } + ], + "index": 7, + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "target", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 76, + "typeName": "T::Balance" + } + ], + "index": 8, + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ] + }, + { + "name": "transfer_keep_alive", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "target", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 76, + "typeName": "T::Balance" + } + ], + "index": 9, + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ] + }, + { + "name": "force_transfer", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "source", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 76, + "typeName": "T::Balance" + } + ], + "index": 10, + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ] + }, + { + "name": "freeze", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 11, + "docs": [ + "Disallow further unprivileged transfers from an account.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 12, + "docs": [ + "Allow unprivileged transfers from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "freeze_asset", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + } + ], + "index": 13, + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw_asset", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + } + ], + "index": 14, + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_ownership", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "owner", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 15, + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_team", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "issuer", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 16, + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "name", + "type": 12, + "typeName": "Vec" + }, + { + "name": "symbol", + "type": 12, + "typeName": "Vec" + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8" + } + ], + "index": 17, + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_metadata", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + } + ], + "index": 18, + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_set_metadata", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "name", + "type": 12, + "typeName": "Vec" + }, + { + "name": "symbol", + "type": 12, + "typeName": "Vec" + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8" + }, + { + "name": "is_frozen", + "type": 41, + "typeName": "bool" + } + ], + "index": 19, + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ] + }, + { + "name": "force_clear_metadata", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + } + ], + "index": 20, + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_asset_status", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "owner", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": 76, + "typeName": "T::Balance" + }, + { + "name": "is_sufficient", + "type": 41, + "typeName": "bool" + }, + { + "name": "is_frozen", + "type": 41, + "typeName": "bool" + } + ], + "index": 21, + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "approve_transfer", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "delegate", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 76, + "typeName": "T::Balance" + } + ], + "index": 22, + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "cancel_approval", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "delegate", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 23, + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_cancel_approval", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "owner", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 24, + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_approved", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "owner", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 76, + "typeName": "T::Balance" + } + ], + "index": 25, + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "touch", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + } + ], + "index": 26, + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ] + }, + { + "name": "refund", + "fields": [ + { + "name": "id", + "type": 138, + "typeName": "T::AssetIdParameter" + }, + { + "name": "allow_burn", + "type": 41, + "typeName": "bool" + } + ], + "index": 27, + "docs": [ + "Return the deposit (if any) of an asset account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for the account to be created.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 311, + "type": { + "path": [ + "pallet_lottery", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "buy_ticket", + "fields": [ + { + "name": "call", + "type": 121, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 0, + "docs": [ + "Buy a ticket to enter the lottery.", + "", + "This extrinsic acts as a passthrough function for `call`. In all", + "situations where `call` alone would succeed, this extrinsic should", + "succeed.", + "", + "If `call` is successful, then we will attempt to purchase a ticket,", + "which may fail silently. To detect success of a ticket purchase, you", + "should listen for the `TicketBought` event.", + "", + "This extrinsic must be called by a signed origin." + ] + }, + { + "name": "set_calls", + "fields": [ + { + "name": "calls", + "type": 127, + "typeName": "Vec<::RuntimeCall>" + } + ], + "index": 1, + "docs": [ + "Set calls in storage which can be used to purchase a lottery ticket.", + "", + "This function only matters if you use the `ValidateCall` implementation", + "provided by this pallet, which uses storage to determine the valid calls.", + "", + "This extrinsic must be called by the Manager origin." + ] + }, + { + "name": "start_lottery", + "fields": [ + { + "name": "price", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "length", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "delay", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "repeat", + "type": 41, + "typeName": "bool" + } + ], + "index": 2, + "docs": [ + "Start a lottery using the provided configuration.", + "", + "This extrinsic must be called by the `ManagerOrigin`.", + "", + "Parameters:", + "", + "* `price`: The cost of a single ticket.", + "* `length`: How long the lottery should run for starting at the current block.", + "* `delay`: How long after the lottery end we should wait before picking a winner.", + "* `repeat`: If the lottery should repeat when completed." + ] + }, + { + "name": "stop_repeat", + "index": 3, + "docs": [ + "If a lottery is repeating, you can use this to stop the repeat.", + "The lottery will continue to run to completion.", + "", + "This extrinsic must be called by the `ManagerOrigin`." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 312, + "type": { + "path": [ + "pallet_nis", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "place_bid", + "fields": [ + { + "name": "amount", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "duration", + "type": 4, + "typeName": "u32" + } + ], + "index": 0, + "docs": [ + "Place a bid.", + "", + "Origin must be Signed, and account must have at least `amount` in free balance.", + "", + "- `amount`: The amount of the bid; these funds will be reserved, and if/when", + " consolidated, removed. Must be at least `MinBid`.", + "- `duration`: The number of periods before which the newly consolidated bid may be", + " thawed. Must be greater than 1 and no more than `QueueCount`.", + "", + "Complexities:", + "- `Queues[duration].len()` (just take max)." + ] + }, + { + "name": "retract_bid", + "fields": [ + { + "name": "amount", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "duration", + "type": 4, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "Retract a previously placed bid.", + "", + "Origin must be Signed, and the account should have previously issued a still-active bid", + "of `amount` for `duration`.", + "", + "- `amount`: The amount of the previous bid.", + "- `duration`: The duration of the previous bid." + ] + }, + { + "name": "fund_deficit", + "index": 2, + "docs": [ + "Ensure we have sufficient funding for all potential payouts.", + "", + "- `origin`: Must be accepted by `FundOrigin`." + ] + }, + { + "name": "thaw_private", + "fields": [ + { + "name": "index", + "type": 138, + "typeName": "ReceiptIndex" + }, + { + "name": "maybe_proportion", + "type": 313, + "typeName": "Option" + } + ], + "index": 3, + "docs": [ + "Reduce or remove an outstanding receipt, placing the according proportion of funds into", + "the account of the owner.", + "", + "- `origin`: Must be Signed and the account must be the owner of the receipt `index` as", + " well as any fungible counterpart.", + "- `index`: The index of the receipt.", + "- `portion`: If `Some`, then only the given portion of the receipt should be thawed. If", + " `None`, then all of it should be." + ] + }, + { + "name": "thaw_communal", + "fields": [ + { + "name": "index", + "type": 138, + "typeName": "ReceiptIndex" + } + ], + "index": 4, + "docs": [ + "Reduce or remove an outstanding receipt, placing the according proportion of funds into", + "the account of the owner.", + "", + "- `origin`: Must be Signed and the account must be the owner of the fungible counterpart", + " for receipt `index`.", + "- `index`: The index of the receipt." + ] + }, + { + "name": "communify", + "fields": [ + { + "name": "index", + "type": 138, + "typeName": "ReceiptIndex" + } + ], + "index": 5, + "docs": [ + "Make a private receipt communal and create fungible counterparts for its owner." + ] + }, + { + "name": "privatize", + "fields": [ + { + "name": "index", + "type": 138, + "typeName": "ReceiptIndex" + } + ], + "index": 6, + "docs": [ + "Make a communal receipt private and burn fungible counterparts from its owner." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 313, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 102 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 102 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 314, + "type": { + "path": [ + "pallet_uniques", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "create", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "admin", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 0, + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `collection`: The identifier of the new collection. This must not be currently in use.", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_create", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "owner", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": 41, + "typeName": "bool" + } + ], + "index": 1, + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `collection`: The identifier of the new item. This must not be currently in use.", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions", + "over this item, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "destroy", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "witness", + "type": 315, + "typeName": "DestroyWitness" + } + ], + "index": 2, + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ] + }, + { + "name": "mint", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "owner", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 3, + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: The item value of the item to be minted.", + "- `beneficiary`: The initial owner of the minted item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "burn", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "check_owner", + "type": 316, + "typeName": "Option>" + } + ], + "index": 4, + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item of the item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "dest", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 5, + "docs": [ + "Move an item from the sender account to another.", + "", + "This resets the approved account of the item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item of the item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "redeposit", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "items", + "type": 105, + "typeName": "Vec" + } + ], + "index": 6, + "docs": [ + "Reevaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown of the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ] + }, + { + "name": "freeze", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 7, + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be frozen.", + "- `item`: The item of the item to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 8, + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be thawed.", + "- `item`: The item of the item to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "freeze_collection", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 9, + "docs": [ + "Disallow further unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "", + "Emits `CollectionFrozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw_collection", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 10, + "docs": [ + "Re-allow unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection to be thawed.", + "", + "Emits `CollectionThawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_ownership", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "owner", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 11, + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_team", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "issuer", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 12, + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "approve_transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "delegate", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 13, + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be", + "either the owner of the `item` or the admin of the collection.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item of the item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "", + "Important NOTE: The `approved` account gets reset after each transfer.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "cancel_approval", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "maybe_check_delegate", + "type": 316, + "typeName": "Option>" + } + ], + "index": 14, + "docs": [ + "Cancel the prior approval for the transfer of an item by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the item of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_item_status", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "owner", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": 41, + "typeName": "bool" + }, + { + "name": "is_frozen", + "type": 41, + "typeName": "bool" + } + ], + "index": 15, + "docs": [ + "Alter the attributes of a given item.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the item.", + "- `owner`: The new Owner of this item.", + "- `issuer`: The new Issuer of this item.", + "- `admin`: The new Admin of this item.", + "- `freezer`: The new Freezer of this item.", + "- `free_holding`: Whether a deposit is taken for holding an item of this collection.", + "- `is_frozen`: Whether this collection is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `ItemStatusChanged` with the identity of the item.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_attribute", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_item", + "type": 37, + "typeName": "Option" + }, + { + "name": "key", + "type": 106, + "typeName": "BoundedVec" + }, + { + "name": "value", + "type": 107, + "typeName": "BoundedVec" + } + ], + "index": 16, + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_attribute", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_item", + "type": 37, + "typeName": "Option" + }, + { + "name": "key", + "type": 106, + "typeName": "BoundedVec" + } + ], + "index": 17, + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "data", + "type": 104, + "typeName": "BoundedVec" + }, + { + "name": "is_frozen", + "type": 41, + "typeName": "bool" + } + ], + "index": 18, + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 19, + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_collection_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "data", + "type": 104, + "typeName": "BoundedVec" + }, + { + "name": "is_frozen", + "type": 41, + "typeName": "bool" + } + ], + "index": 20, + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_collection_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 21, + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_accept_ownership", + "fields": [ + { + "name": "maybe_collection", + "type": 37, + "typeName": "Option" + } + ], + "index": 22, + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ] + }, + { + "name": "set_collection_max_supply", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "max_supply", + "type": 4, + "typeName": "u32" + } + ], + "index": 23, + "docs": [ + "Set the maximum amount of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Note: This function can only succeed once per collection.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum amount of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ] + }, + { + "name": "set_price", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "price", + "type": 317, + "typeName": "Option>" + }, + { + "name": "whitelisted_buyer", + "type": 316, + "typeName": "Option>" + } + ], + "index": 24, + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ] + }, + { + "name": "buy_item", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "bid_price", + "type": 6, + "typeName": "ItemPrice" + } + ], + "index": 25, + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 315, + "type": { + "path": [ + "pallet_uniques", + "types", + "DestroyWitness" + ], + "def": { + "composite": { + "fields": [ + { + "name": "items", + "type": 138, + "typeName": "u32" + }, + { + "name": "item_metadatas", + "type": 138, + "typeName": "u32" + }, + { + "name": "attributes", + "type": 138, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 316, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 147 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 147 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 317, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 6 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 318, + "type": { + "path": [ + "pallet_nfts", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "create", + "fields": [ + { + "name": "admin", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "config", + "type": 319, + "typeName": "CollectionConfigFor" + } + ], + "index": 0, + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_create", + "fields": [ + { + "name": "owner", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "config", + "type": 319, + "typeName": "CollectionConfigFor" + } + ], + "index": 1, + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions over this item, but may later change and configure the permissions using", + " `transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "destroy", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "witness", + "type": 326, + "typeName": "DestroyWitness" + } + ], + "index": 2, + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ] + }, + { + "name": "mint", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "mint_to", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "witness_data", + "type": 327, + "typeName": "Option>" + } + ], + "index": 3, + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: An identifier of the new item.", + "- `mint_to`: Account into which the item will be minted.", + "- `witness_data`: When the mint type is `HolderOf(collection_id)`, then the owned", + " item_id from that collection needs to be provided within the witness data object.", + "", + "Note: the deposit will be taken from the `origin` and not the `owner` of the `item`.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_mint", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "mint_to", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "item_config", + "type": 329, + "typeName": "ItemConfig" + } + ], + "index": 4, + "docs": [ + "Mint an item of a particular collection from a privileged origin.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: An identifier of the new item.", + "- `mint_to`: Account into which the item will be minted.", + "- `item_config`: A config of the new item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "burn", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "check_owner", + "type": 316, + "typeName": "Option>" + } + ], + "index": 5, + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "dest", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 6, + "docs": [ + "Move an item from the sender account to another.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "redeposit", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "items", + "type": 105, + "typeName": "Vec" + } + ], + "index": 7, + "docs": [ + "Re-evaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection of the items to be reevaluated.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown or the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ] + }, + { + "name": "lock_item_transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 8, + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be changed.", + "- `item`: The item to become non-transferable.", + "", + "Emits `ItemTransferLocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "unlock_item_transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 9, + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be changed.", + "- `item`: The item to become transferable.", + "", + "Emits `ItemTransferUnlocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "lock_collection", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "lock_settings", + "type": 320, + "typeName": "CollectionSettings" + } + ], + "index": 10, + "docs": [ + "Disallows specified settings for the whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be locked.", + "- `lock_settings`: The settings to be locked.", + "", + "Note: it's possible to only lock(set) the setting, but not to unset it.", + "Emits `CollectionLocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_ownership", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "owner", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 11, + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_team", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "issuer", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 12, + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_collection_owner", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "owner", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 13, + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the collection.", + "- `owner`: The new Owner of this collection.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_collection_config", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "config", + "type": 319, + "typeName": "CollectionConfigFor" + } + ], + "index": 14, + "docs": [ + "Change the config of a collection.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the collection.", + "- `config`: The new config of this collection.", + "", + "Emits `CollectionConfigChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "approve_transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "delegate", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "maybe_deadline", + "type": 37, + "typeName": "Option<::BlockNumber>" + } + ], + "index": 15, + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "- `maybe_deadline`: Optional deadline for the approval. Specified by providing the", + "\tnumber of blocks after which the approval will expire", + "", + "Emits `TransferApproved` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "cancel_approval", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "delegate", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 16, + "docs": [ + "Cancel one of the transfer approvals for a specific item.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the collection of whose approval will be cancelled.", + "- `delegate`: The account that is going to loose their approval.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_all_transfer_approvals", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 17, + "docs": [ + "Cancel all the approvals of a specific item.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approvals will be cleared.", + "- `item`: The item of the collection of whose approvals will be cleared.", + "", + "Emits `AllApprovalsCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "lock_item_properties", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "lock_metadata", + "type": 41, + "typeName": "bool" + }, + { + "name": "lock_attributes", + "type": 41, + "typeName": "bool" + } + ], + "index": 18, + "docs": [ + "Disallows changing the metadata or attributes of the item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "- `collection`: The collection if the `item`.", + "- `item`: An item to be locked.", + "- `lock_metadata`: Specifies whether the metadata should be locked.", + "- `lock_attributes`: Specifies whether the attributes in the `CollectionOwner` namespace", + " should be locked.", + "", + "Note: `lock_attributes` affects the attributes in the `CollectionOwner` namespace", + "only. When the metadata or attributes are locked, it won't be possible the unlock them.", + "", + "Emits `ItemPropertiesLocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_attribute", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_item", + "type": 37, + "typeName": "Option" + }, + { + "name": "namespace", + "type": 109, + "typeName": "AttributeNamespace" + }, + { + "name": "key", + "type": 106, + "typeName": "BoundedVec" + }, + { + "name": "value", + "type": 107, + "typeName": "BoundedVec" + } + ], + "index": 19, + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be Signed and must conform to the namespace ruleset:", + "- `CollectionOwner` namespace could be modified by the `collection` owner only;", + "- `ItemOwner` namespace could be modified by the `maybe_item` owner only. `maybe_item`", + " should be set in that case;", + "- `Account(AccountId)` namespace could be modified only when the `origin` was given a", + " permission to do so;", + "", + "The funds of `origin` are reserved according to the formula:", + "`AttributeDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_set_attribute", + "fields": [ + { + "name": "set_as", + "type": 40, + "typeName": "Option" + }, + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_item", + "type": 37, + "typeName": "Option" + }, + { + "name": "namespace", + "type": 109, + "typeName": "AttributeNamespace" + }, + { + "name": "key", + "type": 106, + "typeName": "BoundedVec" + }, + { + "name": "value", + "type": 107, + "typeName": "BoundedVec" + } + ], + "index": 20, + "docs": [ + "Force-set an attribute for a collection or item.", + "", + "Origin must be `ForceOrigin`.", + "", + "If the attribute already exists and it was set by another account, the deposit", + "will be returned to the previous owner.", + "", + "- `set_as`: An optional owner of the attribute.", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_attribute", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_item", + "type": 37, + "typeName": "Option" + }, + { + "name": "namespace", + "type": 109, + "typeName": "AttributeNamespace" + }, + { + "name": "key", + "type": 106, + "typeName": "BoundedVec" + } + ], + "index": 21, + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "attribute.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "approve_item_attributes", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "delegate", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 22, + "docs": [ + "Approve item's attributes to be changed by a delegated third-party account.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: A collection of the item.", + "- `item`: The item that holds attributes.", + "- `delegate`: The account to delegate permission to change attributes of the item.", + "", + "Emits `ItemAttributesApprovalAdded` on success." + ] + }, + { + "name": "cancel_item_attributes_approval", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "delegate", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "witness", + "type": 330, + "typeName": "CancelAttributesApprovalWitness" + } + ], + "index": 23, + "docs": [ + "Cancel the previously provided approval to change item's attributes.", + "All the previously set attributes by the `delegate` will be removed.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: Collection that the item is contained within.", + "- `item`: The item that holds attributes.", + "- `delegate`: The previously approved account to remove.", + "", + "Emits `ItemAttributesApprovalRemoved` on success." + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "data", + "type": 104, + "typeName": "BoundedVec" + } + ], + "index": 24, + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "", + "Emits `ItemMetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 25, + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `ItemMetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_collection_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "data", + "type": 104, + "typeName": "BoundedVec" + } + ], + "index": 26, + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_collection_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 27, + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_accept_ownership", + "fields": [ + { + "name": "maybe_collection", + "type": 37, + "typeName": "Option" + } + ], + "index": 28, + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ] + }, + { + "name": "set_collection_max_supply", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "max_supply", + "type": 4, + "typeName": "u32" + } + ], + "index": 29, + "docs": [ + "Set the maximum number of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum number of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ] + }, + { + "name": "update_mint_settings", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "mint_settings", + "type": 322, + "typeName": "MintSettings,::BlockNumber, T::\nCollectionId,>" + } + ], + "index": 30, + "docs": [ + "Update mint settings.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "- `collection`: The identifier of the collection to change.", + "- `mint_settings`: The new mint settings.", + "", + "Emits `CollectionMintSettingsUpdated` event when successful." + ] + }, + { + "name": "set_price", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "price", + "type": 317, + "typeName": "Option>" + }, + { + "name": "whitelisted_buyer", + "type": 316, + "typeName": "Option>" + } + ], + "index": 31, + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ] + }, + { + "name": "buy_item", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "bid_price", + "type": 6, + "typeName": "ItemPrice" + } + ], + "index": 32, + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ] + }, + { + "name": "pay_tips", + "fields": [ + { + "name": "tips", + "type": 331, + "typeName": "BoundedVec, T::MaxTips>" + } + ], + "index": 33, + "docs": [ + "Allows to pay the tips.", + "", + "Origin must be Signed.", + "", + "- `tips`: Tips array.", + "", + "Emits `TipSent` on every tip transfer." + ] + }, + { + "name": "create_swap", + "fields": [ + { + "name": "offered_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "offered_item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "desired_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_desired_item", + "type": 37, + "typeName": "Option" + }, + { + "name": "maybe_price", + "type": 110, + "typeName": "Option>>" + }, + { + "name": "duration", + "type": 4, + "typeName": "::BlockNumber" + } + ], + "index": 34, + "docs": [ + "Register a new atomic swap, declaring an intention to send an `item` in exchange for", + "`desired_item` from origin to target on the current blockchain.", + "The target can execute the swap during the specified `duration` of blocks (if set).", + "Additionally, the price could be set for the desired `item`.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item an owner wants to give.", + "- `desired_collection`: The collection of the desired item.", + "- `desired_item`: The desired item an owner wants to receive.", + "- `maybe_price`: The price an owner is willing to pay or receive for the desired `item`.", + "- `duration`: A deadline for the swap. Specified by providing the number of blocks", + "\tafter which the swap will expire.", + "", + "Emits `SwapCreated` on success." + ] + }, + { + "name": "cancel_swap", + "fields": [ + { + "name": "offered_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "offered_item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 35, + "docs": [ + "Cancel an atomic swap.", + "", + "Origin must be Signed.", + "Origin must be an owner of the `item` if the deadline hasn't expired.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item an owner wants to give.", + "", + "Emits `SwapCancelled` on success." + ] + }, + { + "name": "claim_swap", + "fields": [ + { + "name": "send_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "send_item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "receive_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "receive_item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "witness_price", + "type": 110, + "typeName": "Option>>" + } + ], + "index": 36, + "docs": [ + "Claim an atomic swap.", + "This method executes a pending swap, that was created by a counterpart before.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `send_collection`: The collection of the item to be sent.", + "- `send_item`: The item to be sent.", + "- `receive_collection`: The collection of the item to be received.", + "- `receive_item`: The item to be received.", + "- `witness_price`: A price that was previously agreed on.", + "", + "Emits `SwapClaimed` on success." + ] + }, + { + "name": "mint_pre_signed", + "fields": [ + { + "name": "mint_data", + "type": 334, + "typeName": "PreSignedMintOf" + }, + { + "name": "signature", + "type": 335, + "typeName": "T::OffchainSignature" + }, + { + "name": "signer", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 37, + "docs": [ + "Mint an item by providing the pre-signed approval.", + "", + "Origin must be Signed.", + "", + "- `mint_data`: The pre-signed approval that consists of the information about the item,", + " its metadata, attributes, who can mint it (`None` for anyone) and until what block", + " number.", + "- `signature`: The signature of the `data` object.", + "- `signer`: The `data` object's signer. Should be an owner of the collection.", + "", + "Emits `Issued` on success.", + "Emits `AttributeSet` if the attributes were provided.", + "Emits `ItemMetadataSet` if the metadata was not empty." + ] + }, + { + "name": "set_attributes_pre_signed", + "fields": [ + { + "name": "data", + "type": 338, + "typeName": "PreSignedAttributesOf" + }, + { + "name": "signature", + "type": 335, + "typeName": "T::OffchainSignature" + }, + { + "name": "signer", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 38, + "docs": [ + "Set attributes for an item by providing the pre-signed approval.", + "", + "Origin must be Signed and must be an owner of the `data.item`.", + "", + "- `data`: The pre-signed approval that consists of the information about the item,", + " attributes to update and until what block number.", + "- `signature`: The signature of the `data` object.", + "- `signer`: The `data` object's signer. Should be an owner of the collection for the", + " `CollectionOwner` namespace.", + "", + "Emits `AttributeSet` for each provided attribute.", + "Emits `ItemAttributesApprovalAdded` if the approval wasn't set before.", + "Emits `PreSignedAttributesSet` on success." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 319, + "type": { + "path": [ + "pallet_nfts", + "types", + "CollectionConfig" + ], + "params": [ + { + "name": "Price", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "CollectionId", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "settings", + "type": 320, + "typeName": "CollectionSettings" + }, + { + "name": "max_supply", + "type": 37, + "typeName": "Option" + }, + { + "name": "mint_settings", + "type": 322, + "typeName": "MintSettings" + } + ] + } + } + } + }, + { + "id": 320, + "type": { + "path": [ + "pallet_nfts", + "types", + "BitFlags" + ], + "params": [ + { + "name": "T", + "type": 321 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 10, + "typeName": "CollectionSetting" + } + ] + } + } + } + }, + { + "id": 321, + "type": { + "path": [ + "pallet_nfts", + "types", + "CollectionSetting" + ], + "def": { + "variant": { + "variants": [ + { + "name": "TransferableItems", + "index": 1 + }, + { + "name": "UnlockedMetadata", + "index": 2 + }, + { + "name": "UnlockedAttributes", + "index": 4 + }, + { + "name": "UnlockedMaxSupply", + "index": 8 + }, + { + "name": "DepositRequired", + "index": 16 + } + ] + } + } + } + }, + { + "id": 322, + "type": { + "path": [ + "pallet_nfts", + "types", + "MintSettings" + ], + "params": [ + { + "name": "Price", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "CollectionId", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "mint_type", + "type": 323, + "typeName": "MintType" + }, + { + "name": "price", + "type": 317, + "typeName": "Option" + }, + { + "name": "start_block", + "type": 37, + "typeName": "Option" + }, + { + "name": "end_block", + "type": 37, + "typeName": "Option" + }, + { + "name": "default_item_settings", + "type": 324, + "typeName": "ItemSettings" + } + ] + } + } + } + }, + { + "id": 323, + "type": { + "path": [ + "pallet_nfts", + "types", + "MintType" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Issuer", + "index": 0 + }, + { + "name": "Public", + "index": 1 + }, + { + "name": "HolderOf", + "fields": [ + { + "type": 4, + "typeName": "CollectionId" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 324, + "type": { + "path": [ + "pallet_nfts", + "types", + "BitFlags" + ], + "params": [ + { + "name": "T", + "type": 325 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 10, + "typeName": "ItemSetting" + } + ] + } + } + } + }, + { + "id": 325, + "type": { + "path": [ + "pallet_nfts", + "types", + "ItemSetting" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Transferable", + "index": 1 + }, + { + "name": "UnlockedMetadata", + "index": 2 + }, + { + "name": "UnlockedAttributes", + "index": 4 + } + ] + } + } + } + }, + { + "id": 326, + "type": { + "path": [ + "pallet_nfts", + "types", + "DestroyWitness" + ], + "def": { + "composite": { + "fields": [ + { + "name": "items", + "type": 138, + "typeName": "u32" + }, + { + "name": "item_metadatas", + "type": 138, + "typeName": "u32" + }, + { + "name": "attributes", + "type": 138, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 327, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 328 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 328 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 328, + "type": { + "path": [ + "pallet_nfts", + "types", + "MintWitness" + ], + "params": [ + { + "name": "ItemId", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "owner_of_item", + "type": 4, + "typeName": "ItemId" + } + ] + } + } + } + }, + { + "id": 329, + "type": { + "path": [ + "pallet_nfts", + "types", + "ItemConfig" + ], + "def": { + "composite": { + "fields": [ + { + "name": "settings", + "type": 324, + "typeName": "ItemSettings" + } + ] + } + } + } + }, + { + "id": 330, + "type": { + "path": [ + "pallet_nfts", + "types", + "CancelAttributesApprovalWitness" + ], + "def": { + "composite": { + "fields": [ + { + "name": "account_attributes", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 331, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 332 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 333, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 332, + "type": { + "path": [ + "pallet_nfts", + "types", + "ItemTip" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + }, + { + "name": "ItemId", + "type": 4 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Amount", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "ItemId" + }, + { + "name": "receiver", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "Amount" + } + ] + } + } + } + }, + { + "id": 333, + "type": { + "def": { + "sequence": { + "type": 332 + } + } + } + }, + { + "id": 334, + "type": { + "path": [ + "pallet_nfts", + "types", + "PreSignedMint" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + }, + { + "name": "ItemId", + "type": 4 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Deadline", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "ItemId" + }, + { + "name": "attributes", + "type": 123, + "typeName": "Vec<(Vec, Vec)>" + }, + { + "name": "metadata", + "type": 12, + "typeName": "Vec" + }, + { + "name": "only_account", + "type": 40, + "typeName": "Option" + }, + { + "name": "deadline", + "type": 4, + "typeName": "Deadline" + } + ] + } + } + } + }, + { + "id": 335, + "type": { + "path": [ + "sp_runtime", + "MultiSignature" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Ed25519", + "fields": [ + { + "type": 235, + "typeName": "ed25519::Signature" + } + ], + "index": 0 + }, + { + "name": "Sr25519", + "fields": [ + { + "type": 253, + "typeName": "sr25519::Signature" + } + ], + "index": 1 + }, + { + "name": "Ecdsa", + "fields": [ + { + "type": 336, + "typeName": "ecdsa::Signature" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 336, + "type": { + "path": [ + "sp_core", + "ecdsa", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 337, + "typeName": "[u8; 65]" + } + ] + } + } + } + }, + { + "id": 337, + "type": { + "def": { + "array": { + "len": 65, + "type": 2 + } + } + } + }, + { + "id": 338, + "type": { + "path": [ + "pallet_nfts", + "types", + "PreSignedAttributes" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + }, + { + "name": "ItemId", + "type": 4 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Deadline", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "ItemId" + }, + { + "name": "attributes", + "type": 123, + "typeName": "Vec<(Vec, Vec)>" + }, + { + "name": "namespace", + "type": 109, + "typeName": "AttributeNamespace" + }, + { + "name": "deadline", + "type": 4, + "typeName": "Deadline" + } + ] + } + } + } + }, + { + "id": 339, + "type": { + "path": [ + "pallet_transaction_storage", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "store", + "fields": [ + { + "name": "data", + "type": 12, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Index and store data off chain. Minimum data size is 1 bytes, maximum is", + "`MaxTransactionSize`. Data will be removed after `STORAGE_PERIOD` blocks, unless `renew`", + "is called.", + "## Complexity", + "- O(n*log(n)) of data size, as all data is pushed to an in-memory trie." + ] + }, + { + "name": "renew", + "fields": [ + { + "name": "block", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "index", + "type": 4, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "Renew previously stored data. Parameters are the block number that contains", + "previous `store` or `renew` call and transaction index within that block.", + "Transaction index is emitted in the `Stored` or `Renewed` event.", + "Applies same fees as `store`.", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "check_proof", + "fields": [ + { + "name": "proof", + "type": 340, + "typeName": "TransactionStorageProof" + } + ], + "index": 2, + "docs": [ + "Check storage proof for block number `block_number() - StoragePeriod`.", + "If such block does not exist the proof is expected to be `None`.", + "## Complexity", + "- Linear w.r.t the number of indexed transactions in the proved block for random", + " probing.", + "There's a DB read for each transaction." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 340, + "type": { + "path": [ + "sp_transaction_storage_proof", + "TransactionStorageProof" + ], + "def": { + "composite": { + "fields": [ + { + "name": "chunk", + "type": 12, + "typeName": "Vec" + }, + { + "name": "proof", + "type": 125, + "typeName": "Vec>" + } + ] + } + } + } + }, + { + "id": 341, + "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": 147, + "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": 147, + "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": 342, + "type": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "control_auto_migration", + "fields": [ + { + "name": "maybe_config", + "type": 343, + "typeName": "Option" + } + ], + "index": 0, + "docs": [ + "Control the automatic migration.", + "", + "The dispatch origin of this call must be [`Config::ControlOrigin`]." + ] + }, + { + "name": "continue_migrate", + "fields": [ + { + "name": "limits", + "type": 344, + "typeName": "MigrationLimits" + }, + { + "name": "real_size_upper", + "type": 4, + "typeName": "u32" + }, + { + "name": "witness_task", + "type": 345, + "typeName": "MigrationTask" + } + ], + "index": 1, + "docs": [ + "Continue the migration for the given `limits`.", + "", + "The dispatch origin of this call can be any signed account.", + "", + "This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,", + "Upon successful execution, the transaction fee is returned.", + "", + "The (potentially over-estimated) of the byte length of all the data read must be", + "provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing", + "that executing the current `MigrationTask` with the given `limits` will not exceed", + "`real_size_upper` bytes of read data.", + "", + "The `witness_task` is merely a helper to prevent the caller from being slashed or", + "generally trigger a migration that they do not intend. This parameter is just a message", + "from caller, saying that they believed `witness_task` was the last state of the", + "migration, and they only wish for their transaction to do anything, if this assumption", + "holds. In case `witness_task` does not match, the transaction fails.", + "", + "Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the", + "recommended way of doing this is to pass a `limit` that only bounds `count`, as the", + "`size` limit can always be overwritten." + ] + }, + { + "name": "migrate_custom_top", + "fields": [ + { + "name": "keys", + "type": 125, + "typeName": "Vec>" + }, + { + "name": "witness_size", + "type": 4, + "typeName": "u32" + } + ], + "index": 2, + "docs": [ + "Migrate the list of top keys by iterating each of them one by one.", + "", + "This does not affect the global migration process tracker ([`MigrationProcess`]), and", + "should only be used in case any keys are leftover due to a bug." + ] + }, + { + "name": "migrate_custom_child", + "fields": [ + { + "name": "root", + "type": 12, + "typeName": "Vec" + }, + { + "name": "child_keys", + "type": 125, + "typeName": "Vec>" + }, + { + "name": "total_size", + "type": 4, + "typeName": "u32" + } + ], + "index": 3, + "docs": [ + "Migrate the list of child keys by iterating each of them one by one.", + "", + "All of the given child keys must be present under one `child_root`.", + "", + "This does not affect the global migration process tracker ([`MigrationProcess`]), and", + "should only be used in case any keys are leftover due to a bug." + ] + }, + { + "name": "set_signed_max_limits", + "fields": [ + { + "name": "limits", + "type": 344, + "typeName": "MigrationLimits" + } + ], + "index": 4, + "docs": [ + "Set the maximum limit of the signed migration." + ] + }, + { + "name": "force_set_progress", + "fields": [ + { + "name": "progress_top", + "type": 346, + "typeName": "ProgressOf" + }, + { + "name": "progress_child", + "type": 346, + "typeName": "ProgressOf" + } + ], + "index": 5, + "docs": [ + "Forcefully set the progress the running migration.", + "", + "This is only useful in one case: the next key to migrate is too big to be migrated with", + "a signed account, in a parachain context, and we simply want to skip it. A reasonable", + "example of this would be `:code:`, which is both very expensive to migrate, and commonly", + "used, so probably it is already migrated.", + "", + "In case you mess things up, you can also, in principle, use this to reset the migration", + "process." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 343, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 344 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 344 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 344, + "type": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "MigrationLimits" + ], + "def": { + "composite": { + "fields": [ + { + "name": "size", + "type": 4, + "typeName": "u32" + }, + { + "name": "item", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 345, + "type": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "MigrationTask" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "progress_top", + "type": 346, + "typeName": "ProgressOf" + }, + { + "name": "progress_child", + "type": 346, + "typeName": "ProgressOf" + }, + { + "name": "size", + "type": 4, + "typeName": "u32" + }, + { + "name": "top_items", + "type": 4, + "typeName": "u32" + }, + { + "name": "child_items", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 346, + "type": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "Progress" + ], + "params": [ + { + "name": "MaxKeyLen", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "ToStart", + "index": 0 + }, + { + "name": "LastKey", + "fields": [ + { + "type": 347, + "typeName": "BoundedVec" + } + ], + "index": 1 + }, + { + "name": "Complete", + "index": 2 + } + ] + } + } + } + }, + { + "id": 347, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 348, + "type": { + "path": [ + "pallet_child_bounties", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "add_child_bounty", + "fields": [ + { + "name": "parent_bounty_id", + "type": 138, + "typeName": "BountyIndex" + }, + { + "name": "value", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "description", + "type": 12, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Add a new child-bounty.", + "", + "The dispatch origin for this call must be the curator of parent", + "bounty and the parent bounty must be in \"active\" state.", + "", + "Child-bounty gets added successfully & fund gets transferred from", + "parent bounty to child-bounty account, if parent bounty has enough", + "funds, else the call fails.", + "", + "Upper bound to maximum number of active child bounties that can be", + "added are managed via runtime trait config", + "[`Config::MaxActiveChildBountyCount`].", + "", + "If the call is success, the status of child-bounty is updated to", + "\"Added\".", + "", + "- `parent_bounty_id`: Index of parent bounty for which child-bounty is being added.", + "- `value`: Value for executing the proposal.", + "- `description`: Text description for the child-bounty." + ] + }, + { + "name": "propose_curator", + "fields": [ + { + "name": "parent_bounty_id", + "type": 138, + "typeName": "BountyIndex" + }, + { + "name": "child_bounty_id", + "type": 138, + "typeName": "BountyIndex" + }, + { + "name": "curator", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "fee", + "type": 76, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "Propose curator for funded child-bounty.", + "", + "The dispatch origin for this call must be curator of parent bounty.", + "", + "Parent bounty must be in active state, for this child-bounty call to", + "work.", + "", + "Child-bounty must be in \"Added\" state, for processing the call. And", + "state of child-bounty is moved to \"CuratorProposed\" on successful", + "call completion.", + "", + "- `parent_bounty_id`: Index of parent bounty.", + "- `child_bounty_id`: Index of child bounty.", + "- `curator`: Address of child-bounty curator.", + "- `fee`: payment fee to child-bounty curator for execution." + ] + }, + { + "name": "accept_curator", + "fields": [ + { + "name": "parent_bounty_id", + "type": 138, + "typeName": "BountyIndex" + }, + { + "name": "child_bounty_id", + "type": 138, + "typeName": "BountyIndex" + } + ], + "index": 2, + "docs": [ + "Accept the curator role for the child-bounty.", + "", + "The dispatch origin for this call must be the curator of this", + "child-bounty.", + "", + "A deposit will be reserved from the curator and refund upon", + "successful payout or cancellation.", + "", + "Fee for curator is deducted from curator fee of parent bounty.", + "", + "Parent bounty must be in active state, for this child-bounty call to", + "work.", + "", + "Child-bounty must be in \"CuratorProposed\" state, for processing the", + "call. And state of child-bounty is moved to \"Active\" on successful", + "call completion.", + "", + "- `parent_bounty_id`: Index of parent bounty.", + "- `child_bounty_id`: Index of child bounty." + ] + }, + { + "name": "unassign_curator", + "fields": [ + { + "name": "parent_bounty_id", + "type": 138, + "typeName": "BountyIndex" + }, + { + "name": "child_bounty_id", + "type": 138, + "typeName": "BountyIndex" + } + ], + "index": 3, + "docs": [ + "Unassign curator from a child-bounty.", + "", + "The dispatch origin for this call can be either `RejectOrigin`, or", + "the curator of the parent bounty, or any signed origin.", + "", + "For the origin other than T::RejectOrigin and the child-bounty", + "curator, parent bounty must be in active state, for this call to", + "work. We allow child-bounty curator and T::RejectOrigin to execute", + "this call irrespective of the parent bounty state.", + "", + "If this function is called by the `RejectOrigin` or the", + "parent bounty curator, we assume that the child-bounty curator is", + "malicious or inactive. As a result, child-bounty curator deposit is", + "slashed.", + "", + "If the origin is the child-bounty curator, we take this as a sign", + "that they are unable to do their job, and are willingly giving up.", + "We could slash the deposit, but for now we allow them to unreserve", + "their deposit and exit without issue. (We may want to change this if", + "it is abused.)", + "", + "Finally, the origin can be anyone iff the child-bounty curator is", + "\"inactive\". Expiry update due of parent bounty is used to estimate", + "inactive state of child-bounty curator.", + "", + "This allows anyone in the community to call out that a child-bounty", + "curator is not doing their due diligence, and we should pick a new", + "one. In this case the child-bounty curator deposit is slashed.", + "", + "State of child-bounty is moved to Added state on successful call", + "completion.", + "", + "- `parent_bounty_id`: Index of parent bounty.", + "- `child_bounty_id`: Index of child bounty." + ] + }, + { + "name": "award_child_bounty", + "fields": [ + { + "name": "parent_bounty_id", + "type": 138, + "typeName": "BountyIndex" + }, + { + "name": "child_bounty_id", + "type": 138, + "typeName": "BountyIndex" + }, + { + "name": "beneficiary", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 4, + "docs": [ + "Award child-bounty to a beneficiary.", + "", + "The beneficiary will be able to claim the funds after a delay.", + "", + "The dispatch origin for this call must be the parent curator or", + "curator of this child-bounty.", + "", + "Parent bounty must be in active state, for this child-bounty call to", + "work.", + "", + "Child-bounty must be in active state, for processing the call. And", + "state of child-bounty is moved to \"PendingPayout\" on successful call", + "completion.", + "", + "- `parent_bounty_id`: Index of parent bounty.", + "- `child_bounty_id`: Index of child bounty.", + "- `beneficiary`: Beneficiary account." + ] + }, + { + "name": "claim_child_bounty", + "fields": [ + { + "name": "parent_bounty_id", + "type": 138, + "typeName": "BountyIndex" + }, + { + "name": "child_bounty_id", + "type": 138, + "typeName": "BountyIndex" + } + ], + "index": 5, + "docs": [ + "Claim the payout from an awarded child-bounty after payout delay.", + "", + "The dispatch origin for this call may be any signed origin.", + "", + "Call works independent of parent bounty state, No need for parent", + "bounty to be in active state.", + "", + "The Beneficiary is paid out with agreed bounty value. Curator fee is", + "paid & curator deposit is unreserved.", + "", + "Child-bounty must be in \"PendingPayout\" state, for processing the", + "call. And instance of child-bounty is removed from the state on", + "successful call completion.", + "", + "- `parent_bounty_id`: Index of parent bounty.", + "- `child_bounty_id`: Index of child bounty." + ] + }, + { + "name": "close_child_bounty", + "fields": [ + { + "name": "parent_bounty_id", + "type": 138, + "typeName": "BountyIndex" + }, + { + "name": "child_bounty_id", + "type": 138, + "typeName": "BountyIndex" + } + ], + "index": 6, + "docs": [ + "Cancel a proposed or active child-bounty. Child-bounty account funds", + "are transferred to parent bounty account. The child-bounty curator", + "deposit may be unreserved if possible.", + "", + "The dispatch origin for this call must be either parent curator or", + "`T::RejectOrigin`.", + "", + "If the state of child-bounty is `Active`, curator deposit is", + "unreserved.", + "", + "If the state of child-bounty is `PendingPayout`, call fails &", + "returns `PendingPayout` error.", + "", + "For the origin other than T::RejectOrigin, parent bounty must be in", + "active state, for this child-bounty call to work. For origin", + "T::RejectOrigin execution is forced.", + "", + "Instance of child-bounty is removed from the state on successful", + "call completion.", + "", + "- `parent_bounty_id`: Index of parent bounty.", + "- `child_bounty_id`: Index of child bounty." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 349, + "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": 128, + "typeName": "Box>" + }, + { + "name": "proposal", + "type": 120, + "typeName": "BoundedCallOf" + }, + { + "name": "enactment_moment", + "type": 350, + "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": 93, + "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": 221, + "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": 350, + "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": 351, + "type": { + "path": [ + "pallet_remark", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "store", + "fields": [ + { + "name": "remark", + "type": 12, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Index and store data off chain." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 352, + "type": { + "path": [ + "pallet_root_testing", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "fill_block", + "fields": [ + { + "name": "ratio", + "type": 46, + "typeName": "Perbill" + } + ], + "index": 0, + "docs": [ + "A dispatch that will fill the block weight up to the given ratio." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 353, + "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": 138, + "typeName": "PollIndexOf" + }, + { + "name": "vote", + "type": 354, + "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": 93, + "typeName": "ClassOf" + }, + { + "name": "to", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "conviction", + "type": 356, + "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": 93, + "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": 93, + "typeName": "ClassOf" + }, + { + "name": "target", + "type": 147, + "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": 357, + "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": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "class", + "type": 93, + "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": 354, + "type": { + "path": [ + "pallet_conviction_voting", + "vote", + "AccountVote" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Standard", + "fields": [ + { + "name": "vote", + "type": 355, + "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": 355, + "type": { + "path": [ + "pallet_conviction_voting", + "vote", + "Vote" + ], + "def": { + "composite": { + "fields": [ + { + "type": 2 + } + ] + } + } + } + }, + { + "id": 356, + "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": 357, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 93 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 93 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 358, + "type": { + "path": [ + "pallet_whitelist", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "whitelist_call", + "fields": [ + { + "name": "call_hash", + "type": 11, + "typeName": "PreimageHash" + } + ], + "index": 0 + }, + { + "name": "remove_whitelisted_call", + "fields": [ + { + "name": "call_hash", + "type": 11, + "typeName": "PreimageHash" + } + ], + "index": 1 + }, + { + "name": "dispatch_whitelisted_call", + "fields": [ + { + "name": "call_hash", + "type": 11, + "typeName": "PreimageHash" + }, + { + "name": "call_encoded_len", + "type": 4, + "typeName": "u32" + }, + { + "name": "call_weight_witness", + "type": 8, + "typeName": "Weight" + } + ], + "index": 2 + }, + { + "name": "dispatch_whitelisted_call_with_preimage", + "fields": [ + { + "name": "call", + "type": 121, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 3 + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 359, + "type": { + "path": [ + "pallet_collective", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "set_members", + "fields": [ + { + "name": "new_members", + "type": 83, + "typeName": "Vec" + }, + { + "name": "prime", + "type": 40, + "typeName": "Option" + }, + { + "name": "old_count", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0, + "docs": [ + "Set the collective's membership.", + "", + "- `new_members`: The new member list. Be nice to the chain and provide it sorted.", + "- `prime`: The prime member whose vote sets the default.", + "- `old_count`: The upper bound for the previous number of members in storage. Used for", + " weight estimation.", + "", + "The dispatch of this call must be `SetMembersOrigin`.", + "", + "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but", + " the weight estimations rely on it to estimate dispatchable weight.", + "", + "# WARNING:", + "", + "The `pallet-collective` can also be managed by logic outside of the pallet through the", + "implementation of the trait [`ChangeMembers`].", + "Any call to `set_members` must be careful that the member set doesn't get out of sync", + "with other logic managing the member set.", + "", + "## Complexity:", + "- `O(MP + N)` where:", + " - `M` old-members-count (code- and governance-bounded)", + " - `N` new-members-count (code- and governance-bounded)", + " - `P` proposals-count (code-bounded)" + ] + }, + { + "name": "execute", + "fields": [ + { + "name": "proposal", + "type": 121, + "typeName": "Box<>::Proposal>" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "Dispatch a proposal from a member using the `Member` origin.", + "", + "Origin must be a member of the collective.", + "", + "## Complexity:", + "- `O(B + M + P)` where:", + "- `B` is `proposal` size in bytes (length-fee-bounded)", + "- `M` members-count (code-bounded)", + "- `P` complexity of dispatching `proposal`" + ] + }, + { + "name": "propose", + "fields": [ + { + "name": "threshold", + "type": 138, + "typeName": "MemberCount" + }, + { + "name": "proposal", + "type": 121, + "typeName": "Box<>::Proposal>" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 2, + "docs": [ + "Add a new proposal to either be voted on or executed directly.", + "", + "Requires the sender to be member.", + "", + "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)", + "or put up for voting.", + "", + "## Complexity", + "- `O(B + M + P1)` or `O(B + M + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - branching is influenced by `threshold` where:", + " - `P1` is proposal execution complexity (`threshold < 2`)", + " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)" + ] + }, + { + "name": "vote", + "fields": [ + { + "name": "proposal", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 138, + "typeName": "ProposalIndex" + }, + { + "name": "approve", + "type": 41, + "typeName": "bool" + } + ], + "index": 3, + "docs": [ + "Add an aye or nay vote for the sender to the given proposal.", + "", + "Requires the sender to be a member.", + "", + "Transaction fees will 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.", + "## Complexity", + "- `O(M)` where `M` is members-count (code- and governance-bounded)" + ] + }, + { + "name": "close_old_weight", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 138, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 223, + "typeName": "OldWeight" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 4, + "docs": [ + "Close a vote that is either approved, disapproved or whose voting period has ended.", + "", + "May be called by any signed account in order to finish voting and close the proposal.", + "", + "If called before the end of the voting period it will only close the vote if it is", + "has enough votes to be approved or disapproved.", + "", + "If called after the end of the voting period abstentions are counted as rejections", + "unless there is a prime member set and the prime member cast an approval.", + "", + "If the close operation completes successfully with disapproval, the transaction fee will", + "be waived. Otherwise execution of the approved operation will be charged to the caller.", + "", + "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed", + "proposal.", + "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", + "`storage::read` so it is `size_of::() == 4` larger than the pure length.", + "", + "## Complexity", + "- `O(B + M + P1 + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - `P1` is the complexity of `proposal` preimage.", + " - `P2` is proposal-count (code-bounded)" + ] + }, + { + "name": "disapprove_proposal", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 5, + "docs": [ + "Disapprove a proposal, close, and remove it from the system, regardless of its current", + "state.", + "", + "Must be called by the Root origin.", + "", + "Parameters:", + "* `proposal_hash`: The hash of the proposal that should be disapproved.", + "", + "## Complexity", + "O(P) where P is the number of max proposals" + ] + }, + { + "name": "close", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 138, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 8, + "typeName": "Weight" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 6, + "docs": [ + "Close a vote that is either approved, disapproved or whose voting period has ended.", + "", + "May be called by any signed account in order to finish voting and close the proposal.", + "", + "If called before the end of the voting period it will only close the vote if it is", + "has enough votes to be approved or disapproved.", + "", + "If called after the end of the voting period abstentions are counted as rejections", + "unless there is a prime member set and the prime member cast an approval.", + "", + "If the close operation completes successfully with disapproval, the transaction fee will", + "be waived. Otherwise execution of the approved operation will be charged to the caller.", + "", + "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed", + "proposal.", + "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", + "`storage::read` so it is `size_of::() == 4` larger than the pure length.", + "", + "## Complexity", + "- `O(B + M + P1 + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - `P1` is the complexity of `proposal` preimage.", + " - `P2` is proposal-count (code-bounded)" + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 360, + "type": { + "path": [ + "pallet_alliance", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "propose", + "fields": [ + { + "name": "threshold", + "type": 138, + "typeName": "u32" + }, + { + "name": "proposal", + "type": 121, + "typeName": "Box<>::Proposal>" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 0, + "docs": [ + "Add a new proposal to be voted on.", + "", + "Must be called by a Fellow." + ] + }, + { + "name": "vote", + "fields": [ + { + "name": "proposal", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 138, + "typeName": "ProposalIndex" + }, + { + "name": "approve", + "type": 41, + "typeName": "bool" + } + ], + "index": 1, + "docs": [ + "Add an aye or nay vote for the sender to the given proposal.", + "", + "Must be called by a Fellow." + ] + }, + { + "name": "close_old_weight", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 138, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 223, + "typeName": "OldWeight" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 2, + "docs": [ + "Close a vote that is either approved, disapproved, or whose voting period has ended.", + "", + "Must be called by a Fellow." + ] + }, + { + "name": "init_members", + "fields": [ + { + "name": "fellows", + "type": 83, + "typeName": "Vec" + }, + { + "name": "allies", + "type": 83, + "typeName": "Vec" + } + ], + "index": 3, + "docs": [ + "Initialize the Alliance, onboard fellows and allies.", + "", + "The Alliance must be empty, and the call must provide some founding members.", + "", + "Must be called by the Root origin." + ] + }, + { + "name": "disband", + "fields": [ + { + "name": "witness", + "type": 361, + "typeName": "DisbandWitness" + } + ], + "index": 4, + "docs": [ + "Disband the Alliance, remove all active members and unreserve deposits.", + "", + "Witness data must be set." + ] + }, + { + "name": "set_rule", + "fields": [ + { + "name": "rule", + "type": 362, + "typeName": "Cid" + } + ], + "index": 5, + "docs": [ + "Set a new IPFS CID to the alliance rule." + ] + }, + { + "name": "announce", + "fields": [ + { + "name": "announcement", + "type": 362, + "typeName": "Cid" + } + ], + "index": 6, + "docs": [ + "Make an announcement of a new IPFS CID about alliance issues." + ] + }, + { + "name": "remove_announcement", + "fields": [ + { + "name": "announcement", + "type": 362, + "typeName": "Cid" + } + ], + "index": 7, + "docs": [ + "Remove an announcement." + ] + }, + { + "name": "join_alliance", + "index": 8, + "docs": [ + "Submit oneself for candidacy. A fixed deposit is reserved." + ] + }, + { + "name": "nominate_ally", + "fields": [ + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 9, + "docs": [ + "A Fellow can nominate someone to join the alliance as an Ally. There is no deposit", + "required from the nominator or nominee." + ] + }, + { + "name": "elevate_ally", + "fields": [ + { + "name": "ally", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 10, + "docs": [ + "Elevate an Ally to Fellow." + ] + }, + { + "name": "give_retirement_notice", + "index": 11, + "docs": [ + "As a member, give a retirement notice and start a retirement period required to pass in", + "order to retire." + ] + }, + { + "name": "retire", + "index": 12, + "docs": [ + "As a member, retire from the Alliance and unreserve the deposit.", + "", + "This can only be done once you have called `give_retirement_notice` and the", + "`RetirementPeriod` has passed." + ] + }, + { + "name": "kick_member", + "fields": [ + { + "name": "who", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 13, + "docs": [ + "Kick a member from the Alliance and slash its deposit." + ] + }, + { + "name": "add_unscrupulous_items", + "fields": [ + { + "name": "items", + "type": 366, + "typeName": "Vec>" + } + ], + "index": 14, + "docs": [ + "Add accounts or websites to the list of unscrupulous items." + ] + }, + { + "name": "remove_unscrupulous_items", + "fields": [ + { + "name": "items", + "type": 366, + "typeName": "Vec>" + } + ], + "index": 15, + "docs": [ + "Deem some items no longer unscrupulous." + ] + }, + { + "name": "close", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 138, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 8, + "typeName": "Weight" + }, + { + "name": "length_bound", + "type": 138, + "typeName": "u32" + } + ], + "index": 16, + "docs": [ + "Close a vote that is either approved, disapproved, or whose voting period has ended.", + "", + "Must be called by a Fellow." + ] + }, + { + "name": "abdicate_fellow_status", + "index": 17, + "docs": [ + "Abdicate one's position as a voting member and just be an Ally. May be used by Fellows", + "who do not want to leave the Alliance but do not have the capacity to participate", + "operationally for some time." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 361, + "type": { + "path": [ + "pallet_alliance", + "types", + "DisbandWitness" + ], + "def": { + "composite": { + "fields": [ + { + "name": "fellow_members", + "type": 138, + "typeName": "u32" + }, + { + "name": "ally_members", + "type": 138, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 362, + "type": { + "path": [ + "pallet_alliance", + "types", + "Cid" + ], + "def": { + "composite": { + "fields": [ + { + "name": "version", + "type": 363, + "typeName": "Version" + }, + { + "name": "codec", + "type": 10, + "typeName": "u64" + }, + { + "name": "hash", + "type": 364, + "typeName": "Multihash" + } + ] + } + } + } + }, + { + "id": 363, + "type": { + "path": [ + "pallet_alliance", + "types", + "Version" + ], + "def": { + "variant": { + "variants": [ + { + "name": "V0", + "index": 0 + }, + { + "name": "V1", + "index": 1 + } + ] + } + } + } + }, + { + "id": 364, + "type": { + "path": [ + "pallet_alliance", + "types", + "Multihash" + ], + "def": { + "composite": { + "fields": [ + { + "name": "code", + "type": 10, + "typeName": "u64" + }, + { + "name": "digest", + "type": 365, + "typeName": "BoundedVec>" + } + ] + } + } + } + }, + { + "id": 365, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 366, + "type": { + "def": { + "sequence": { + "type": 367 + } + } + } + }, + { + "id": 367, + "type": { + "path": [ + "pallet_alliance", + "UnscrupulousItem" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Url", + "type": 368 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "AccountId", + "fields": [ + { + "type": 0, + "typeName": "AccountId" + } + ], + "index": 0 + }, + { + "name": "Website", + "fields": [ + { + "type": 368, + "typeName": "Url" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 368, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 369, + "type": { + "path": [ + "pallet_nomination_pools", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "join", + "fields": [ + { + "name": "amount", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + } + ], + "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.", + "", + "# 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": "bond_extra", + "fields": [ + { + "name": "extra", + "type": 370, + "typeName": "BondExtra>" + } + ], + "index": 1, + "docs": [ + "Bond `extra` more funds from `origin` into the pool to which they already belong.", + "", + "Additional funds can come from either the free balance of the account, of from the", + "accumulated rewards, see [`BondExtra`].", + "", + "Bonding extra funds implies an automatic payout of all pending rewards as well.", + "See `bond_extra_other` to bond pending rewards of `other` members." + ] + }, + { + "name": "claim_payout", + "index": 2, + "docs": [ + "A bonded member can use this to claim their payout based on the rewards that the pool", + "has accumulated since their last claimed payout (OR since joining if this is there first", + "time claiming rewards). The payout will be transferred to the member's account.", + "", + "The member will earn rewards pro rata based on the members stake vs the sum of the", + "members in the pools stake. Rewards do not \"expire\".", + "", + "See `claim_payout_other` to caim rewards on bahalf of some `other` pool member." + ] + }, + { + "name": "unbond", + "fields": [ + { + "name": "member_account", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "unbonding_points", + "type": 76, + "typeName": "BalanceOf" + } + ], + "index": 3, + "docs": [ + "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It", + "implicitly collects the rewards one last time, since not doing so would mean some", + "rewards would be forfeited.", + "", + "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 either the root or bouncer. This is refereed to", + " as a kick.", + "* The pool is destroying and the member is not the depositor.", + "* The pool is destroying, the member is the depositor 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 depositor.", + "* The caller is the depositor, the pool is destroying and no other members are in the", + " pool.", + "", + "# 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": "member_account", + "type": 147, + "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 and the target is not the depositor.", + "* The target is the depositor and they are the only member in the sub pools.", + "* The pool is blocked and the caller is either the root or bouncer.", + "", + "# Conditions for permissioned dispatch", + "", + "* The caller is the target and they are not the depositor.", + "", + "# Note", + "", + "If the target is the depositor, the pool will be destroyed." + ] + }, + { + "name": "create", + "fields": [ + { + "name": "amount", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "root", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "nominator", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "bouncer", + "type": 147, + "typeName": "AccountIdLookupOf" + } + ], + "index": 6, + "docs": [ + "Create a new delegation pool.", + "", + "# Arguments", + "", + "* `amount` - The amount of funds to delegate to the pool. This also acts of a sort of", + " deposit since the pools creator cannot fully unbond funds until the pool is being", + " destroyed.", + "* `index` - A disambiguation index for creating the account. Likely only useful when", + " creating multiple pools in the same extrinsic.", + "* `root` - The account to set as [`PoolRoles::root`].", + "* `nominator` - The account to set as the [`PoolRoles::nominator`].", + "* `bouncer` - The account to set as the [`PoolRoles::bouncer`].", + "", + "# Note", + "", + "In addition to `amount`, the caller will transfer the existential deposit; so the caller", + "needs at have at least `amount + existential_deposit` transferrable." + ] + }, + { + "name": "create_with_pool_id", + "fields": [ + { + "name": "amount", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "root", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "nominator", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "bouncer", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + } + ], + "index": 7, + "docs": [ + "Create a new delegation pool with a previously used pool id", + "", + "# Arguments", + "", + "same as `create` with the inclusion of", + "* `pool_id` - `A valid PoolId." + ] + }, + { + "name": "nominate", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "validators", + "type": 83, + "typeName": "Vec" + } + ], + "index": 8, + "docs": [ + "Nominate on behalf of the pool.", + "", + "The dispatch origin of this call must be signed by the pool nominator or the pool", + "root role.", + "", + "This directly forward the call to the staking pallet, on behalf of the pool bonded", + "account." + ] + }, + { + "name": "set_state", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "state", + "type": 371, + "typeName": "PoolState" + } + ], + "index": 9, + "docs": [ + "Set a new state for the pool.", + "", + "If a pool is already in the `Destroying` state, then under no condition can its state", + "change again.", + "", + "The dispatch origin of this call must be either:", + "", + "1. signed by the bouncer, or the root role of the pool,", + "2. if the pool conditions to be open are NOT met (as described by `ok_to_be_open`), and", + " then the state of the pool can be permissionlessly changed to `Destroying`." + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "metadata", + "type": 12, + "typeName": "Vec" + } + ], + "index": 10, + "docs": [ + "Set a new metadata for the pool.", + "", + "The dispatch origin of this call must be signed by the bouncer, or the root role", + "of the pool." + ] + }, + { + "name": "set_configs", + "fields": [ + { + "name": "min_join_bond", + "type": 372, + "typeName": "ConfigOp>" + }, + { + "name": "min_create_bond", + "type": 372, + "typeName": "ConfigOp>" + }, + { + "name": "max_pools", + "type": 373, + "typeName": "ConfigOp" + }, + { + "name": "max_members", + "type": 373, + "typeName": "ConfigOp" + }, + { + "name": "max_members_per_pool", + "type": 373, + "typeName": "ConfigOp" + } + ], + "index": 11, + "docs": [ + "Update configurations for the nomination pools. The origin for this call must be", + "Root.", + "", + "# Arguments", + "", + "* `min_join_bond` - Set [`MinJoinBond`].", + "* `min_create_bond` - Set [`MinCreateBond`].", + "* `max_pools` - Set [`MaxPools`].", + "* `max_members` - Set [`MaxPoolMembers`].", + "* `max_members_per_pool` - Set [`MaxPoolMembersPerPool`]." + ] + }, + { + "name": "update_roles", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "new_root", + "type": 374, + "typeName": "ConfigOp" + }, + { + "name": "new_nominator", + "type": 374, + "typeName": "ConfigOp" + }, + { + "name": "new_bouncer", + "type": 374, + "typeName": "ConfigOp" + } + ], + "index": 12, + "docs": [ + "Update the roles of the pool.", + "", + "The root is the only entity that can change any of the roles, including itself,", + "excluding the depositor, who can never change.", + "", + "It emits an event, notifying UIs of the role change. This event is quite relevant to", + "most pool members and they should be informed of changes to pool roles." + ] + }, + { + "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 nominator or the pool", + "root role, same as [`Pallet::nominate`].", + "", + "This directly forward the call to the staking pallet, on behalf of the pool bonded", + "account." + ] + }, + { + "name": "bond_extra_other", + "fields": [ + { + "name": "member", + "type": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "extra", + "type": 370, + "typeName": "BondExtra>" + } + ], + "index": 14, + "docs": [ + "`origin` bonds funds from `extra` for some pool member `member` into their respective", + "pools.", + "", + "`origin` can bond extra funds from free balance or pending rewards when `origin ==", + "other`.", + "", + "In the case of `origin != other`, `origin` can only bond extra pending rewards of", + "`other` members assuming set_claim_permission for the given member is", + "`PermissionlessAll` or `PermissionlessCompound`." + ] + }, + { + "name": "set_claim_permission", + "fields": [ + { + "name": "permission", + "type": 375, + "typeName": "ClaimPermission" + } + ], + "index": 15, + "docs": [ + "Allows a pool member to set a claim permission to allow or disallow permissionless", + "bonding and withdrawing.", + "", + "By default, this is `Permissioned`, which implies only the pool member themselves can", + "claim their pending rewards. If a pool member wishes so, they can set this to", + "`PermissionlessAll` to allow any account to claim their rewards and bond extra to the", + "pool.", + "", + "# Arguments", + "", + "* `origin` - Member of a pool.", + "* `actor` - Account to claim reward. // improve this" + ] + }, + { + "name": "claim_payout_other", + "fields": [ + { + "name": "other", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 16, + "docs": [ + "`origin` can claim payouts on some pool member `other`'s behalf.", + "", + "Pool member `other` must have a `PermissionlessAll` or `PermissionlessWithdraw` in order", + "for this call to be successful." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 370, + "type": { + "path": [ + "pallet_nomination_pools", + "BondExtra" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "FreeBalance", + "fields": [ + { + "type": 6, + "typeName": "Balance" + } + ], + "index": 0 + }, + { + "name": "Rewards", + "index": 1 + } + ] + } + } + } + }, + { + "id": 371, + "type": { + "path": [ + "pallet_nomination_pools", + "PoolState" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Open", + "index": 0 + }, + { + "name": "Blocked", + "index": 1 + }, + { + "name": "Destroying", + "index": 2 + } + ] + } + } + } + }, + { + "id": 372, + "type": { + "path": [ + "pallet_nomination_pools", + "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": 373, + "type": { + "path": [ + "pallet_nomination_pools", + "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": 374, + "type": { + "path": [ + "pallet_nomination_pools", + "ConfigOp" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noop", + "index": 0 + }, + { + "name": "Set", + "fields": [ + { + "type": 0, + "typeName": "T" + } + ], + "index": 1 + }, + { + "name": "Remove", + "index": 2 + } + ] + } + } + } + }, + { + "id": 375, + "type": { + "path": [ + "pallet_nomination_pools", + "ClaimPermission" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Permissioned", + "index": 0 + }, + { + "name": "PermissionlessCompound", + "index": 1 + }, + { + "name": "PermissionlessWithdraw", + "index": 2 + }, + { + "name": "PermissionlessAll", + "index": 3 + } + ] + } + } + } + }, + { + "id": 376, + "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": 128, + "typeName": "Box>" + }, + { + "name": "proposal", + "type": 120, + "typeName": "BoundedCallOf" + }, + { + "name": "enactment_moment", + "type": 350, + "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": 93, + "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": 221, + "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": 377, + "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": 147, + "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": 147, + "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": 147, + "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": 147, + "typeName": "AccountIdLookupOf" + }, + { + "name": "min_rank", + "type": 93, + "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": 41, + "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": 378, + "type": { + "path": [ + "pallet_fast_unstake", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "register_fast_unstake", + "index": 0, + "docs": [ + "Register oneself for fast-unstake.", + "", + "The dispatch origin of this call must be signed by the controller account, similar to", + "`staking::unbond`.", + "", + "The stash associated with the origin must have no ongoing unlocking chunks. If", + "successful, this will fully unbond and chill the stash. Then, it will enqueue the stash", + "to be checked in further blocks.", + "", + "If by the time this is called, the stash is actually eligible for fast-unstake, then", + "they are guaranteed to remain eligible, because the call will chill them as well.", + "", + "If the check works, the entire staking data is removed, i.e. the stash is fully", + "unstaked.", + "", + "If the check fails, the stash remains chilled and waiting for being unbonded as in with", + "the normal staking system, but they lose part of their unbonding chunks due to consuming", + "the chain's resources." + ] + }, + { + "name": "deregister", + "index": 1, + "docs": [ + "Deregister oneself from the fast-unstake.", + "", + "This is useful if one is registered, they are still waiting, and they change their mind.", + "", + "Note that the associated stash is still fully unbonded and chilled as a consequence of", + "calling `register_fast_unstake`. This should probably be followed by a call to", + "`Staking::rebond`." + ] + }, + { + "name": "control", + "fields": [ + { + "name": "eras_to_check", + "type": 4, + "typeName": "EraIndex" + } + ], + "index": 2, + "docs": [ + "Control the operation of this pallet.", + "", + "Dispatch origin must be signed by the [`Config::ControlOrigin`]." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 379, + "type": { + "path": [ + "pallet_message_queue", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "reap_page", + "fields": [ + { + "name": "message_origin", + "type": 4, + "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": 4, + "typeName": "MessageOriginOf" + }, + { + "name": "page", + "type": 4, + "typeName": "PageIndex" + }, + { + "name": "index", + "type": 4, + "typeName": "T::Size" + }, + { + "name": "weight_limit", + "type": 8, + "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": 380, + "type": { + "path": [ + "frame_benchmarking_pallet_pov", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "emit_event", + "index": 0 + }, + { + "name": "noop", + "index": 1 + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 381, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 382, + "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": 383, + "type": { + "path": [ + "pallet_remark", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Stored", + "fields": [ + { + "name": "sender", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "content_hash", + "type": 11, + "typeName": "sp_core::H256" + } + ], + "index": 0, + "docs": [ + "Stored data off 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": 384, + "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": 385, + "type": { + "path": [ + "pallet_whitelist", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "CallWhitelisted", + "fields": [ + { + "name": "call_hash", + "type": 11, + "typeName": "PreimageHash" + } + ], + "index": 0 + }, + { + "name": "WhitelistedCallRemoved", + "fields": [ + { + "name": "call_hash", + "type": 11, + "typeName": "PreimageHash" + } + ], + "index": 1 + }, + { + "name": "WhitelistedCallDispatched", + "fields": [ + { + "name": "call_hash", + "type": 11, + "typeName": "PreimageHash" + }, + { + "name": "result", + "type": 386, + "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": 386, + "type": { + "path": [ + "Result" + ], + "params": [ + { + "name": "T", + "type": 387 + }, + { + "name": "E", + "type": 389 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Ok", + "fields": [ + { + "type": 387 + } + ], + "index": 0 + }, + { + "name": "Err", + "fields": [ + { + "type": 389 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 387, + "type": { + "path": [ + "frame_support", + "dispatch", + "PostDispatchInfo" + ], + "def": { + "composite": { + "fields": [ + { + "name": "actual_weight", + "type": 388, + "typeName": "Option" + }, + { + "name": "pays_fee", + "type": 23, + "typeName": "Pays" + } + ] + } + } + } + }, + { + "id": 388, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 8 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 8 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 389, + "type": { + "path": [ + "sp_runtime", + "DispatchErrorWithPostInfo" + ], + "params": [ + { + "name": "Info", + "type": 387 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "post_info", + "type": 387, + "typeName": "Info" + }, + { + "name": "error", + "type": 24, + "typeName": "DispatchError" + } + ] + } + } + } + }, + { + "id": 390, + "type": { + "path": [ + "pallet_collective", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Proposed", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "proposal_index", + "type": 4, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "threshold", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0, + "docs": [ + "A motion (given hash) has been proposed (by given account) with a threshold (given", + "`MemberCount`)." + ] + }, + { + "name": "Voted", + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "voted", + "type": 41, + "typeName": "bool" + }, + { + "name": "yes", + "type": 4, + "typeName": "MemberCount" + }, + { + "name": "no", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 1, + "docs": [ + "A motion (given hash) has been voted on by given account, leaving", + "a tally (yes votes and no votes given respectively as `MemberCount`)." + ] + }, + { + "name": "Approved", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 2, + "docs": [ + "A motion was approved by the required threshold." + ] + }, + { + "name": "Disapproved", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 3, + "docs": [ + "A motion was not approved by the required threshold." + ] + }, + { + "name": "Executed", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "result", + "type": 30, + "typeName": "DispatchResult" + } + ], + "index": 4, + "docs": [ + "A motion was executed; result will be `Ok` if it returned without error." + ] + }, + { + "name": "MemberExecuted", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "result", + "type": 30, + "typeName": "DispatchResult" + } + ], + "index": 5, + "docs": [ + "A single member did some action; result will be `Ok` if it returned without error." + ] + }, + { + "name": "Closed", + "fields": [ + { + "name": "proposal_hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "yes", + "type": 4, + "typeName": "MemberCount" + }, + { + "name": "no", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 6, + "docs": [ + "A proposal was closed because its threshold was reached or after its duration was up." + ] + } + ] + } + }, + "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": 391, + "type": { + "path": [ + "pallet_alliance", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NewRuleSet", + "fields": [ + { + "name": "rule", + "type": 362, + "typeName": "Cid" + } + ], + "index": 0, + "docs": [ + "A new rule has been set." + ] + }, + { + "name": "Announced", + "fields": [ + { + "name": "announcement", + "type": 362, + "typeName": "Cid" + } + ], + "index": 1, + "docs": [ + "A new announcement has been proposed." + ] + }, + { + "name": "AnnouncementRemoved", + "fields": [ + { + "name": "announcement", + "type": 362, + "typeName": "Cid" + } + ], + "index": 2, + "docs": [ + "An on-chain announcement has been removed." + ] + }, + { + "name": "MembersInitialized", + "fields": [ + { + "name": "fellows", + "type": 83, + "typeName": "Vec" + }, + { + "name": "allies", + "type": 83, + "typeName": "Vec" + } + ], + "index": 3, + "docs": [ + "Some accounts have been initialized as members (fellows/allies)." + ] + }, + { + "name": "NewAllyJoined", + "fields": [ + { + "name": "ally", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "nominator", + "type": 40, + "typeName": "Option" + }, + { + "name": "reserved", + "type": 317, + "typeName": "Option>" + } + ], + "index": 4, + "docs": [ + "An account has been added as an Ally and reserved its deposit." + ] + }, + { + "name": "AllyElevated", + "fields": [ + { + "name": "ally", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 5, + "docs": [ + "An ally has been elevated to Fellow." + ] + }, + { + "name": "MemberRetirementPeriodStarted", + "fields": [ + { + "name": "member", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 6, + "docs": [ + "A member gave retirement notice and their retirement period started." + ] + }, + { + "name": "MemberRetired", + "fields": [ + { + "name": "member", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "unreserved", + "type": 317, + "typeName": "Option>" + } + ], + "index": 7, + "docs": [ + "A member has retired with its deposit unreserved." + ] + }, + { + "name": "MemberKicked", + "fields": [ + { + "name": "member", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "slashed", + "type": 317, + "typeName": "Option>" + } + ], + "index": 8, + "docs": [ + "A member has been kicked out with its deposit slashed." + ] + }, + { + "name": "UnscrupulousItemAdded", + "fields": [ + { + "name": "items", + "type": 366, + "typeName": "Vec>" + } + ], + "index": 9, + "docs": [ + "Accounts or websites have been added into the list of unscrupulous items." + ] + }, + { + "name": "UnscrupulousItemRemoved", + "fields": [ + { + "name": "items", + "type": 366, + "typeName": "Vec>" + } + ], + "index": 10, + "docs": [ + "Accounts or websites have been removed from the list of unscrupulous items." + ] + }, + { + "name": "AllianceDisbanded", + "fields": [ + { + "name": "fellow_members", + "type": 4, + "typeName": "u32" + }, + { + "name": "ally_members", + "type": 4, + "typeName": "u32" + }, + { + "name": "unreserved", + "type": 4, + "typeName": "u32" + } + ], + "index": 11, + "docs": [ + "Alliance disbanded. Includes number deleted members and unreserved deposits." + ] + }, + { + "name": "FellowAbdicated", + "fields": [ + { + "name": "fellow", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 12, + "docs": [ + "A Fellow abdicated their voting rights. They are now an Ally." + ] + } + ] + } + }, + "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": 392, + "type": { + "path": [ + "pallet_nomination_pools", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Created", + "fields": [ + { + "name": "depositor", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + } + ], + "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" + }, + { + "name": "joined", + "type": 41, + "typeName": "bool" + } + ], + "index": 1, + "docs": [ + "A member has became bonded in a pool." + ] + }, + { + "name": "PaidOut", + "fields": [ + { + "name": "member", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "payout", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 2, + "docs": [ + "A payout has been made to a member." + ] + }, + { + "name": "Unbonded", + "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" + }, + { + "name": "era", + "type": 4, + "typeName": "EraIndex" + } + ], + "index": 3, + "docs": [ + "A member has unbonded from their pool.", + "", + "- `balance` is 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.", + "- `points` is the number of points that are issued as a result of `balance` being", + "dissolved into the corresponding unbonding pool.", + "- `era` is 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." + ] + }, + { + "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": 4, + "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": 5, + "docs": [ + "A pool has been destroyed." + ] + }, + { + "name": "StateChanged", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "new_state", + "type": 371, + "typeName": "PoolState" + } + ], + "index": 6, + "docs": [ + "The state of a pool has changed" + ] + }, + { + "name": "MemberRemoved", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "member", + "type": 0, + "typeName": "T::AccountId" + } + ], + "index": 7, + "docs": [ + "A member has been removed from a pool.", + "", + "The removal can be voluntary (withdrawn all unbonded funds) or involuntary (kicked)." + ] + }, + { + "name": "RolesUpdated", + "fields": [ + { + "name": "root", + "type": 40, + "typeName": "Option" + }, + { + "name": "bouncer", + "type": 40, + "typeName": "Option" + }, + { + "name": "nominator", + "type": 40, + "typeName": "Option" + } + ], + "index": 8, + "docs": [ + "The roles of a pool have been updated to the given new roles. Note that the depositor", + "can never change." + ] + }, + { + "name": "PoolSlashed", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "balance", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 9, + "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": 10, + "docs": [ + "The unbond pool at `era` of pool `pool_id` has been slashed to `balance`." + ] + } + ] + } + }, + "docs": [ + "Events of this pallet." + ] + } + }, + { + "id": 393, + "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": 93, + "typeName": "TrackIdOf", + "docs": [ + "The track (and by extension proposal dispatch origin) of this referendum." + ] + }, + { + "name": "proposal", + "type": 120, + "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": 93, + "typeName": "TrackIdOf", + "docs": [ + "The track (and by extension proposal dispatch origin) of this referendum." + ] + }, + { + "name": "proposal", + "type": 120, + "typeName": "BoundedCallOf", + "docs": [ + "The proposal for the referendum." + ] + }, + { + "name": "tally", + "type": 394, + "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": 394, + "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": 394, + "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": 394, + "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": 394, + "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": 394, + "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": 11, + "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": 11, + "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": 394, + "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": 395, + "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": 93, + "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": 93, + "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": 396, + "typeName": "VoteRecord" + }, + { + "name": "tally", + "type": 394, + "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": 396, + "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": 397, + "type": { + "path": [ + "pallet_fast_unstake", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Unstaked", + "fields": [ + { + "name": "stash", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "result", + "type": 30, + "typeName": "DispatchResult" + } + ], + "index": 0, + "docs": [ + "A staker was unstaked." + ] + }, + { + "name": "Slashed", + "fields": [ + { + "name": "stash", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "A staker was slashed for requesting fast-unstake whilst being exposed." + ] + }, + { + "name": "InternalError", + "index": 2, + "docs": [ + "An internal error happened. Operations will be paused now." + ] + }, + { + "name": "BatchChecked", + "fields": [ + { + "name": "eras", + "type": 105, + "typeName": "Vec" + } + ], + "index": 3, + "docs": [ + "A batch was partially checked for the given eras, but the process did not finish." + ] + }, + { + "name": "BatchFinished", + "fields": [ + { + "name": "size", + "type": 4, + "typeName": "u32" + } + ], + "index": 4, + "docs": [ + "A batch of a given size was terminated.", + "", + "This is always follows by a number of `Unstaked` or `Slashed` events, marking the end", + "of the batch. A new batch will be created upon next block." + ] + } + ] + } + }, + "docs": [ + "The events of this pallet." + ] + } + }, + { + "id": 398, + "type": { + "path": [ + "pallet_message_queue", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Discarded", + "fields": [ + { + "name": "hash", + "type": 11, + "typeName": "T::Hash" + } + ], + "index": 0, + "docs": [ + "Message discarded due to an inability to decode the item. Usually caused by state", + "corruption." + ] + }, + { + "name": "ProcessingFailed", + "fields": [ + { + "name": "hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "origin", + "type": 4, + "typeName": "MessageOriginOf" + }, + { + "name": "error", + "type": 399, + "typeName": "ProcessMessageError" + } + ], + "index": 1, + "docs": [ + "Message discarded due to an error in the `MessageProcessor` (usually a format error)." + ] + }, + { + "name": "Processed", + "fields": [ + { + "name": "hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "origin", + "type": 4, + "typeName": "MessageOriginOf" + }, + { + "name": "weight_used", + "type": 8, + "typeName": "Weight" + }, + { + "name": "success", + "type": 41, + "typeName": "bool" + } + ], + "index": 2, + "docs": [ + "Message is processed." + ] + }, + { + "name": "OverweightEnqueued", + "fields": [ + { + "name": "hash", + "type": 11, + "typeName": "T::Hash" + }, + { + "name": "origin", + "type": 4, + "typeName": "MessageOriginOf" + }, + { + "name": "page_index", + "type": 4, + "typeName": "PageIndex" + }, + { + "name": "message_index", + "type": 4, + "typeName": "T::Size" + } + ], + "index": 3, + "docs": [ + "Message placed in overweight queue." + ] + }, + { + "name": "PageReaped", + "fields": [ + { + "name": "origin", + "type": 4, + "typeName": "MessageOriginOf" + }, + { + "name": "index", + "type": 4, + "typeName": "PageIndex" + } + ], + "index": 4, + "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": 399, + "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": 8, + "typeName": "Weight" + } + ], + "index": 3 + }, + { + "name": "Yield", + "index": 4 + } + ] + } + } + } + }, + { + "id": 400, + "type": { + "path": [ + "frame_benchmarking_pallet_pov", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "TestEvent", + "index": 0 + } + ] + } + }, + "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": 401, + "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": 402, + "type": { + "def": { + "sequence": { + "type": 11 + } + } + } + }, + { + "id": 403, + "type": { + "def": { + "sequence": { + "type": 87 + } + } + } + }, + { + "id": 404, + "type": { + "path": [ + "frame_system", + "LastRuntimeUpgradeInfo" + ], + "def": { + "composite": { + "fields": [ + { + "name": "spec_version", + "type": 138, + "typeName": "codec::Compact" + }, + { + "name": "spec_name", + "type": 405, + "typeName": "sp_runtime::RuntimeString" + } + ] + } + } + } + }, + { + "id": 405, + "type": { + "def": { + "primitive": "str" + } + } + }, + { + "id": 406, + "type": { + "path": [ + "frame_system", + "limits", + "BlockWeights" + ], + "def": { + "composite": { + "fields": [ + { + "name": "base_block", + "type": 8, + "typeName": "Weight" + }, + { + "name": "max_block", + "type": 8, + "typeName": "Weight" + }, + { + "name": "per_class", + "type": 407, + "typeName": "PerDispatchClass" + } + ] + } + } + } + }, + { + "id": 407, + "type": { + "path": [ + "frame_support", + "dispatch", + "PerDispatchClass" + ], + "params": [ + { + "name": "T", + "type": 408 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "normal", + "type": 408, + "typeName": "T" + }, + { + "name": "operational", + "type": 408, + "typeName": "T" + }, + { + "name": "mandatory", + "type": 408, + "typeName": "T" + } + ] + } + } + } + }, + { + "id": 408, + "type": { + "path": [ + "frame_system", + "limits", + "WeightsPerClass" + ], + "def": { + "composite": { + "fields": [ + { + "name": "base_extrinsic", + "type": 8, + "typeName": "Weight" + }, + { + "name": "max_extrinsic", + "type": 388, + "typeName": "Option" + }, + { + "name": "max_total", + "type": 388, + "typeName": "Option" + }, + { + "name": "reserved", + "type": 388, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 409, + "type": { + "path": [ + "frame_system", + "limits", + "BlockLength" + ], + "def": { + "composite": { + "fields": [ + { + "name": "max", + "type": 410, + "typeName": "PerDispatchClass" + } + ] + } + } + } + }, + { + "id": 410, + "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": 411, + "type": { + "path": [ + "sp_weights", + "RuntimeDbWeight" + ], + "def": { + "composite": { + "fields": [ + { + "name": "read", + "type": 10, + "typeName": "u64" + }, + { + "name": "write", + "type": 10, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 412, + "type": { + "path": [ + "sp_version", + "RuntimeVersion" + ], + "def": { + "composite": { + "fields": [ + { + "name": "spec_name", + "type": 405, + "typeName": "RuntimeString" + }, + { + "name": "impl_name", + "type": 405, + "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": 413, + "typeName": "ApisVec" + }, + { + "name": "transaction_version", + "type": 4, + "typeName": "u32" + }, + { + "name": "state_version", + "type": 2, + "typeName": "u8" + } + ] + } + } + } + }, + { + "id": 413, + "type": { + "path": [ + "Cow" + ], + "params": [ + { + "name": "T", + "type": 414 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 414 + } + ] + } + } + } + }, + { + "id": 414, + "type": { + "def": { + "sequence": { + "type": 415 + } + } + } + }, + { + "id": 415, + "type": { + "def": { + "tuple": [ + 266, + 4 + ] + } + } + }, + { + "id": 416, + "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": 417, + "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": 418, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 419 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 420, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 419, + "type": { + "def": { + "tuple": [ + 139, + 10 + ] + } + } + }, + { + "id": 420, + "type": { + "def": { + "sequence": { + "type": 419 + } + } + } + }, + { + "id": 421, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 1 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 422, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 422, + "type": { + "def": { + "sequence": { + "type": 1 + } + } + } + }, + { + "id": 423, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 424 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 424 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 424, + "type": { + "path": [ + "sp_consensus_babe", + "digests", + "PreDigest" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Primary", + "fields": [ + { + "type": 425, + "typeName": "PrimaryPreDigest" + } + ], + "index": 1 + }, + { + "name": "SecondaryPlain", + "fields": [ + { + "type": 426, + "typeName": "SecondaryPlainPreDigest" + } + ], + "index": 2 + }, + { + "name": "SecondaryVRF", + "fields": [ + { + "type": 427, + "typeName": "SecondaryVRFPreDigest" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 425, + "type": { + "path": [ + "sp_consensus_babe", + "digests", + "PrimaryPreDigest" + ], + "def": { + "composite": { + "fields": [ + { + "name": "authority_index", + "type": 4, + "typeName": "super::AuthorityIndex" + }, + { + "name": "slot", + "type": 140, + "typeName": "Slot" + }, + { + "name": "vrf_output", + "type": 1, + "typeName": "VRFOutput" + }, + { + "name": "vrf_proof", + "type": 236, + "typeName": "VRFProof" + } + ] + } + } + } + }, + { + "id": 426, + "type": { + "path": [ + "sp_consensus_babe", + "digests", + "SecondaryPlainPreDigest" + ], + "def": { + "composite": { + "fields": [ + { + "name": "authority_index", + "type": 4, + "typeName": "super::AuthorityIndex" + }, + { + "name": "slot", + "type": 140, + "typeName": "Slot" + } + ] + } + } + } + }, + { + "id": 427, + "type": { + "path": [ + "sp_consensus_babe", + "digests", + "SecondaryVRFPreDigest" + ], + "def": { + "composite": { + "fields": [ + { + "name": "authority_index", + "type": 4, + "typeName": "super::AuthorityIndex" + }, + { + "name": "slot", + "type": 140, + "typeName": "Slot" + }, + { + "name": "vrf_output", + "type": 1, + "typeName": "VRFOutput" + }, + { + "name": "vrf_proof", + "type": 236, + "typeName": "VRFProof" + } + ] + } + } + } + }, + { + "id": 428, + "type": { + "path": [ + "sp_consensus_babe", + "BabeEpochConfiguration" + ], + "def": { + "composite": { + "fields": [ + { + "name": "c", + "type": 143, + "typeName": "(u64, u64)" + }, + { + "name": "allowed_slots", + "type": 144, + "typeName": "AllowedSlots" + } + ] + } + } + } + }, + { + "id": 429, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 430 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 431, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 430, + "type": { + "def": { + "tuple": [ + 10, + 4 + ] + } + } + }, + { + "id": 431, + "type": { + "def": { + "sequence": { + "type": 430 + } + } + } + }, + { + "id": 432, + "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": 433, + "type": { + "def": { + "tuple": [ + 0, + 6, + 41 + ] + } + } + }, + { + "id": 434, + "type": { + "path": [ + "pallet_indices", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotAssigned", + "index": 0, + "docs": [ + "The index was not already assigned." + ] + }, + { + "name": "NotOwner", + "index": 1, + "docs": [ + "The index is assigned to another account." + ] + }, + { + "name": "InUse", + "index": 2, + "docs": [ + "The index was not available." + ] + }, + { + "name": "NotTransfer", + "index": 3, + "docs": [ + "The source and destination accounts are identical." + ] + }, + { + "name": "Permanent", + "index": 4, + "docs": [ + "The index is permanent and may not be freed/changed." + ] + } + ] + } + }, + "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": 435, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 436 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 438, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 436, + "type": { + "path": [ + "pallet_balances", + "BalanceLock" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "id", + "type": 266, + "typeName": "LockIdentifier" + }, + { + "name": "amount", + "type": 6, + "typeName": "Balance" + }, + { + "name": "reasons", + "type": 437, + "typeName": "Reasons" + } + ] + } + } + } + }, + { + "id": 437, + "type": { + "path": [ + "pallet_balances", + "Reasons" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Fee", + "index": 0 + }, + { + "name": "Misc", + "index": 1 + }, + { + "name": "All", + "index": 2 + } + ] + } + } + } + }, + { + "id": 438, + "type": { + "def": { + "sequence": { + "type": 436 + } + } + } + }, + { + "id": 439, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 440 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 441, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 440, + "type": { + "path": [ + "pallet_balances", + "ReserveData" + ], + "params": [ + { + "name": "ReserveIdentifier", + "type": 266 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "id", + "type": 266, + "typeName": "ReserveIdentifier" + }, + { + "name": "amount", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 441, + "type": { + "def": { + "sequence": { + "type": 440 + } + } + } + }, + { + "id": 442, + "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": "KeepAlive", + "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" + ] + } + ] + } + }, + "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": 443, + "type": { + "path": [ + "sp_arithmetic", + "fixed_point", + "FixedU128" + ], + "def": { + "composite": { + "fields": [ + { + "type": 6, + "typeName": "u128" + } + ] + } + } + } + }, + { + "id": 444, + "type": { + "path": [ + "pallet_transaction_payment", + "Releases" + ], + "def": { + "variant": { + "variants": [ + { + "name": "V1Ancient", + "index": 0 + }, + { + "name": "V2", + "index": 1 + } + ] + } + } + } + }, + { + "id": 445, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "ReadySolution" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "supports", + "type": 446, + "typeName": "BoundedSupports" + }, + { + "name": "score", + "type": 42, + "typeName": "ElectionScore" + }, + { + "name": "compute", + "type": 39, + "typeName": "ElectionCompute" + } + ] + } + } + } + }, + { + "id": 446, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 206 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 205, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 447, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "RoundSnapshot" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "voters", + "type": 448, + "typeName": "Vec>" + }, + { + "name": "targets", + "type": 83, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 448, + "type": { + "def": { + "sequence": { + "type": 449 + } + } + } + }, + { + "id": 449, + "type": { + "def": { + "tuple": [ + 0, + 10, + 450 + ] + } + } + }, + { + "id": 450, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 83, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 451, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 452 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 453, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 452, + "type": { + "def": { + "tuple": [ + 42, + 4, + 4 + ] + } + } + }, + { + "id": 453, + "type": { + "def": { + "sequence": { + "type": 452 + } + } + } + }, + { + "id": 454, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "signed", + "SignedSubmission" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Solution", + "type": 152 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "raw_solution", + "type": 151, + "typeName": "RawSolution" + }, + { + "name": "call_fee", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 455, + "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": 456, + "type": { + "path": [ + "pallet_staking", + "StakingLedger" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "stash", + "type": 0, + "typeName": "T::AccountId" + }, + { + "name": "total", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "active", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "unlocking", + "type": 457, + "typeName": "BoundedVec>, T::MaxUnlockingChunks>" + }, + { + "name": "claimed_rewards", + "type": 460, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 457, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 458 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 459, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 458, + "type": { + "path": [ + "pallet_staking", + "UnlockChunk" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "value", + "type": 76, + "typeName": "Balance" + }, + { + "name": "era", + "type": 138, + "typeName": "EraIndex" + } + ] + } + } + } + }, + { + "id": 459, + "type": { + "def": { + "sequence": { + "type": 458 + } + } + } + }, + { + "id": 460, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 4 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 105, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 461, + "type": { + "path": [ + "pallet_staking", + "Nominations" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "targets", + "type": 450, + "typeName": "BoundedVec" + }, + { + "name": "submitted_in", + "type": 4, + "typeName": "EraIndex" + }, + { + "name": "suppressed", + "type": 41, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 462, + "type": { + "path": [ + "pallet_staking", + "ActiveEraInfo" + ], + "def": { + "composite": { + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "EraIndex" + }, + { + "name": "start", + "type": 463, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 463, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 10 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 10 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 464, + "type": { + "def": { + "tuple": [ + 4, + 0 + ] + } + } + }, + { + "id": 465, + "type": { + "path": [ + "pallet_staking", + "EraRewardPoints" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "total", + "type": 4, + "typeName": "RewardPoint" + }, + { + "name": "individual", + "type": 466, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 466, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 0 + }, + { + "name": "V", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 467 + } + ] + } + } + } + }, + { + "id": 467, + "type": { + "def": { + "sequence": { + "type": 468 + } + } + } + }, + { + "id": 468, + "type": { + "def": { + "tuple": [ + 0, + 4 + ] + } + } + }, + { + "id": 469, + "type": { + "def": { + "sequence": { + "type": 470 + } + } + } + }, + { + "id": 470, + "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": 59, + "typeName": "Vec<(AccountId, Balance)>" + }, + { + "name": "reporters", + "type": 83, + "typeName": "Vec" + }, + { + "name": "payout", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 471, + "type": { + "def": { + "tuple": [ + 46, + 6 + ] + } + } + }, + { + "id": 472, + "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": 105, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 473, + "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": 474, + "type": { + "def": { + "sequence": { + "type": 475 + } + } + } + }, + { + "id": 475, + "type": { + "def": { + "tuple": [ + 4, + 41 + ] + } + } + }, + { + "id": 476, + "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": 477, + "type": { + "def": { + "sequence": { + "type": 478 + } + } + } + }, + { + "id": 478, + "type": { + "def": { + "tuple": [ + 0, + 217 + ] + } + } + }, + { + "id": 479, + "type": { + "def": { + "tuple": [ + 480, + 12 + ] + } + } + }, + { + "id": 480, + "type": { + "path": [ + "sp_core", + "crypto", + "KeyTypeId" + ], + "def": { + "composite": { + "fields": [ + { + "type": 16, + "typeName": "[u8; 4]" + } + ] + } + } + } + }, + { + "id": 481, + "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": 482, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 483 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 484, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 483, + "type": { + "def": { + "tuple": [ + 4, + 120, + 0 + ] + } + } + }, + { + "id": 484, + "type": { + "def": { + "sequence": { + "type": 483 + } + } + } + }, + { + "id": 485, + "type": { + "def": { + "tuple": [ + 486, + 6 + ] + } + } + }, + { + "id": 486, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 83, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 487, + "type": { + "path": [ + "pallet_democracy", + "types", + "ReferendumInfo" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "Proposal", + "type": 120 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Ongoing", + "fields": [ + { + "type": 488, + "typeName": "ReferendumStatus" + } + ], + "index": 0 + }, + { + "name": "Finished", + "fields": [ + { + "name": "approved", + "type": 41, + "typeName": "bool" + }, + { + "name": "end", + "type": 4, + "typeName": "BlockNumber" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 488, + "type": { + "path": [ + "pallet_democracy", + "types", + "ReferendumStatus" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "Proposal", + "type": 120 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "end", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "proposal", + "type": 120, + "typeName": "Proposal" + }, + { + "name": "threshold", + "type": 52, + "typeName": "VoteThreshold" + }, + { + "name": "delay", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "tally", + "type": 489, + "typeName": "Tally" + } + ] + } + } + } + }, + { + "id": 489, + "type": { + "path": [ + "pallet_democracy", + "types", + "Tally" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "ayes", + "type": 6, + "typeName": "Balance" + }, + { + "name": "nays", + "type": 6, + "typeName": "Balance" + }, + { + "name": "turnout", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 490, + "type": { + "path": [ + "pallet_democracy", + "vote", + "Voting" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "MaxVotes", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Direct", + "fields": [ + { + "name": "votes", + "type": 491, + "typeName": "BoundedVec<(ReferendumIndex, AccountVote), MaxVotes>" + }, + { + "name": "delegations", + "type": 494, + "typeName": "Delegations" + }, + { + "name": "prior", + "type": 495, + "typeName": "PriorLock" + } + ], + "index": 0 + }, + { + "name": "Delegating", + "fields": [ + { + "name": "balance", + "type": 6, + "typeName": "Balance" + }, + { + "name": "target", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "conviction", + "type": 220, + "typeName": "Conviction" + }, + { + "name": "delegations", + "type": 494, + "typeName": "Delegations" + }, + { + "name": "prior", + "type": 495, + "typeName": "PriorLock" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 491, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 492 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 493, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 492, + "type": { + "def": { + "tuple": [ + 4, + 53 + ] + } + } + }, + { + "id": 493, + "type": { + "def": { + "sequence": { + "type": 492 + } + } + } + }, + { + "id": 494, + "type": { + "path": [ + "pallet_democracy", + "types", + "Delegations" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "votes", + "type": 6, + "typeName": "Balance" + }, + { + "name": "capital", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 495, + "type": { + "path": [ + "pallet_democracy", + "vote", + "PriorLock" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 4, + "typeName": "BlockNumber" + }, + { + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 496, + "type": { + "def": { + "tuple": [ + 120, + 52 + ] + } + } + }, + { + "id": 497, + "type": { + "def": { + "tuple": [ + 4, + 486 + ] + } + } + }, + { + "id": 498, + "type": { + "path": [ + "pallet_democracy", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "ValueLow", + "index": 0, + "docs": [ + "Value too low" + ] + }, + { + "name": "ProposalMissing", + "index": 1, + "docs": [ + "Proposal does not exist" + ] + }, + { + "name": "AlreadyCanceled", + "index": 2, + "docs": [ + "Cannot cancel the same proposal twice" + ] + }, + { + "name": "DuplicateProposal", + "index": 3, + "docs": [ + "Proposal already made" + ] + }, + { + "name": "ProposalBlacklisted", + "index": 4, + "docs": [ + "Proposal still blacklisted" + ] + }, + { + "name": "NotSimpleMajority", + "index": 5, + "docs": [ + "Next external proposal not simple majority" + ] + }, + { + "name": "InvalidHash", + "index": 6, + "docs": [ + "Invalid hash" + ] + }, + { + "name": "NoProposal", + "index": 7, + "docs": [ + "No external proposal" + ] + }, + { + "name": "AlreadyVetoed", + "index": 8, + "docs": [ + "Identity may not veto a proposal twice" + ] + }, + { + "name": "ReferendumInvalid", + "index": 9, + "docs": [ + "Vote given for invalid referendum" + ] + }, + { + "name": "NoneWaiting", + "index": 10, + "docs": [ + "No proposals waiting" + ] + }, + { + "name": "NotVoter", + "index": 11, + "docs": [ + "The given account did not vote on the referendum." + ] + }, + { + "name": "NoPermission", + "index": 12, + "docs": [ + "The actor has no permission to conduct the action." + ] + }, + { + "name": "AlreadyDelegating", + "index": 13, + "docs": [ + "The account is already delegating." + ] + }, + { + "name": "InsufficientFunds", + "index": 14, + "docs": [ + "Too high a balance was provided that the account cannot afford." + ] + }, + { + "name": "NotDelegating", + "index": 15, + "docs": [ + "The account is not currently delegating." + ] + }, + { + "name": "VotesExist", + "index": 16, + "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": "InstantNotAllowed", + "index": 17, + "docs": [ + "The instant referendum origin is currently disallowed." + ] + }, + { + "name": "Nonsense", + "index": 18, + "docs": [ + "Delegation to oneself makes no sense." + ] + }, + { + "name": "WrongUpperBound", + "index": 19, + "docs": [ + "Invalid upper bound." + ] + }, + { + "name": "MaxVotesReached", + "index": 20, + "docs": [ + "Maximum number of votes reached." + ] + }, + { + "name": "TooMany", + "index": 21, + "docs": [ + "Maximum number of items reached." + ] + }, + { + "name": "VotingPeriodLow", + "index": 22, + "docs": [ + "Voting period too low" + ] + }, + { + "name": "PreimageNotExist", + "index": 23, + "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": 499, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 11 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 402, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 500, + "type": { + "path": [ + "pallet_collective", + "Votes" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ProposalIndex" + }, + { + "name": "threshold", + "type": 4, + "typeName": "MemberCount" + }, + { + "name": "ayes", + "type": 83, + "typeName": "Vec" + }, + { + "name": "nays", + "type": 83, + "typeName": "Vec" + }, + { + "name": "end", + "type": 4, + "typeName": "BlockNumber" + } + ] + } + } + } + }, + { + "id": 501, + "type": { + "path": [ + "pallet_collective", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotMember", + "index": 0, + "docs": [ + "Account is not a member" + ] + }, + { + "name": "DuplicateProposal", + "index": 1, + "docs": [ + "Duplicate proposals not allowed" + ] + }, + { + "name": "ProposalMissing", + "index": 2, + "docs": [ + "Proposal must exist" + ] + }, + { + "name": "WrongIndex", + "index": 3, + "docs": [ + "Mismatched index" + ] + }, + { + "name": "DuplicateVote", + "index": 4, + "docs": [ + "Duplicate vote ignored" + ] + }, + { + "name": "AlreadyInitialized", + "index": 5, + "docs": [ + "Members are already initialized!" + ] + }, + { + "name": "TooEarly", + "index": 6, + "docs": [ + "The close call was made too early, before the end of the voting." + ] + }, + { + "name": "TooManyProposals", + "index": 7, + "docs": [ + "There can only be a maximum of `MaxProposals` active proposals." + ] + }, + { + "name": "WrongProposalWeight", + "index": 8, + "docs": [ + "The given weight bound for the proposal was too low." + ] + }, + { + "name": "WrongProposalLength", + "index": 9, + "docs": [ + "The given length bound for the proposal was too low." + ] + } + ] + } + }, + "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": 502, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 11 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 402, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 503, + "type": { + "path": [ + "pallet_collective", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotMember", + "index": 0, + "docs": [ + "Account is not a member" + ] + }, + { + "name": "DuplicateProposal", + "index": 1, + "docs": [ + "Duplicate proposals not allowed" + ] + }, + { + "name": "ProposalMissing", + "index": 2, + "docs": [ + "Proposal must exist" + ] + }, + { + "name": "WrongIndex", + "index": 3, + "docs": [ + "Mismatched index" + ] + }, + { + "name": "DuplicateVote", + "index": 4, + "docs": [ + "Duplicate vote ignored" + ] + }, + { + "name": "AlreadyInitialized", + "index": 5, + "docs": [ + "Members are already initialized!" + ] + }, + { + "name": "TooEarly", + "index": 6, + "docs": [ + "The close call was made too early, before the end of the voting." + ] + }, + { + "name": "TooManyProposals", + "index": 7, + "docs": [ + "There can only be a maximum of `MaxProposals` active proposals." + ] + }, + { + "name": "WrongProposalWeight", + "index": 8, + "docs": [ + "The given weight bound for the proposal was too low." + ] + }, + { + "name": "WrongProposalLength", + "index": 9, + "docs": [ + "The given length bound for the proposal was too low." + ] + } + ] + } + }, + "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": 504, + "type": { + "def": { + "sequence": { + "type": 505 + } + } + } + }, + { + "id": 505, + "type": { + "path": [ + "pallet_elections_phragmen", + "SeatHolder" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "stake", + "type": 6, + "typeName": "Balance" + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 506, + "type": { + "path": [ + "pallet_elections_phragmen", + "Voter" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "votes", + "type": 83, + "typeName": "Vec" + }, + { + "name": "stake", + "type": 6, + "typeName": "Balance" + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 507, + "type": { + "path": [ + "pallet_elections_phragmen", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "UnableToVote", + "index": 0, + "docs": [ + "Cannot vote when no candidates or members exist." + ] + }, + { + "name": "NoVotes", + "index": 1, + "docs": [ + "Must vote for at least one candidate." + ] + }, + { + "name": "TooManyVotes", + "index": 2, + "docs": [ + "Cannot vote more than candidates." + ] + }, + { + "name": "MaximumVotesExceeded", + "index": 3, + "docs": [ + "Cannot vote more than maximum allowed." + ] + }, + { + "name": "LowBalance", + "index": 4, + "docs": [ + "Cannot vote with stake less than minimum balance." + ] + }, + { + "name": "UnableToPayBond", + "index": 5, + "docs": [ + "Voter can not pay voting bond." + ] + }, + { + "name": "MustBeVoter", + "index": 6, + "docs": [ + "Must be a voter." + ] + }, + { + "name": "DuplicatedCandidate", + "index": 7, + "docs": [ + "Duplicated candidate submission." + ] + }, + { + "name": "TooManyCandidates", + "index": 8, + "docs": [ + "Too many candidates have been created." + ] + }, + { + "name": "MemberSubmit", + "index": 9, + "docs": [ + "Member cannot re-submit candidacy." + ] + }, + { + "name": "RunnerUpSubmit", + "index": 10, + "docs": [ + "Runner cannot re-submit candidacy." + ] + }, + { + "name": "InsufficientCandidateFunds", + "index": 11, + "docs": [ + "Candidate does not have enough funds." + ] + }, + { + "name": "NotMember", + "index": 12, + "docs": [ + "Not a member." + ] + }, + { + "name": "InvalidWitnessData", + "index": 13, + "docs": [ + "The provided count of number of candidates is incorrect." + ] + }, + { + "name": "InvalidVoteCount", + "index": 14, + "docs": [ + "The provided count of number of votes is incorrect." + ] + }, + { + "name": "InvalidRenouncing", + "index": 15, + "docs": [ + "The renouncing origin presented a wrong `Renouncing` parameter." + ] + }, + { + "name": "InvalidReplacement", + "index": 16, + "docs": [ + "Prediction regarding replacement after member removal 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": 508, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 83, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 509, + "type": { + "path": [ + "pallet_membership", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "AlreadyMember", + "index": 0, + "docs": [ + "Already a member." + ] + }, + { + "name": "NotMember", + "index": 1, + "docs": [ + "Not a member." + ] + }, + { + "name": "TooManyMembers", + "index": 2, + "docs": [ + "Too many members." + ] + } + ] + } + }, + "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": 510, + "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": 511, + "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": 512, + "typeName": "BoundedAuthorityList" + }, + { + "name": "forced", + "type": 37, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 512, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 64 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 63, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 513, + "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": 514, + "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": 515, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 4 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 105, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 516, + "type": { + "path": [ + "sp_arithmetic", + "per_things", + "Permill" + ], + "def": { + "composite": { + "fields": [ + { + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 517, + "type": { + "path": [ + "frame_support", + "PalletId" + ], + "def": { + "composite": { + "fields": [ + { + "type": 266, + "typeName": "[u8; 8]" + } + ] + } + } + } + }, + { + "id": 518, + "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": 519, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 520, + "type": { + "path": [ + "pallet_contracts", + "wasm", + "PrefabWasmModule" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "instruction_weights_version", + "type": 138, + "typeName": "u32" + }, + { + "name": "initial", + "type": 138, + "typeName": "u32" + }, + { + "name": "maximum", + "type": 138, + "typeName": "u32" + }, + { + "name": "code", + "type": 521, + "typeName": "RelaxedCodeVec" + }, + { + "name": "determinism", + "type": 244, + "typeName": "Determinism" + } + ] + } + } + } + }, + { + "id": 521, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 522, + "type": { + "path": [ + "pallet_contracts", + "wasm", + "OwnerInfo" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "AccountIdOf" + }, + { + "name": "deposit", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "refcount", + "type": 9, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 523, + "type": { + "path": [ + "pallet_contracts", + "storage", + "ContractInfo" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "trie_id", + "type": 381, + "typeName": "TrieId" + }, + { + "name": "deposit_account", + "type": 524, + "typeName": "DepositAccount" + }, + { + "name": "code_hash", + "type": 11, + "typeName": "CodeHash" + }, + { + "name": "storage_bytes", + "type": 4, + "typeName": "u32" + }, + { + "name": "storage_items", + "type": 4, + "typeName": "u32" + }, + { + "name": "storage_byte_deposit", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "storage_item_deposit", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "storage_base_deposit", + "type": 6, + "typeName": "BalanceOf" + } + ] + } + } + } + }, + { + "id": 524, + "type": { + "path": [ + "pallet_contracts", + "storage", + "DepositAccount" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 0, + "typeName": "AccountIdOf" + } + ] + } + } + } + }, + { + "id": 525, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 526 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 527, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 526, + "type": { + "path": [ + "pallet_contracts", + "storage", + "DeletedContract" + ], + "def": { + "composite": { + "fields": [ + { + "name": "trie_id", + "type": 381, + "typeName": "TrieId" + } + ] + } + } + } + }, + { + "id": 527, + "type": { + "def": { + "sequence": { + "type": 526 + } + } + } + }, + { + "id": 528, + "type": { + "path": [ + "pallet_contracts", + "schedule", + "Schedule" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "limits", + "type": 529, + "typeName": "Limits" + }, + { + "name": "instruction_weights", + "type": 530, + "typeName": "InstructionWeights" + }, + { + "name": "host_fn_weights", + "type": 531, + "typeName": "HostFnWeights" + } + ] + } + } + } + }, + { + "id": 529, + "type": { + "path": [ + "pallet_contracts", + "schedule", + "Limits" + ], + "def": { + "composite": { + "fields": [ + { + "name": "event_topics", + "type": 4, + "typeName": "u32" + }, + { + "name": "globals", + "type": 4, + "typeName": "u32" + }, + { + "name": "locals", + "type": 4, + "typeName": "u32" + }, + { + "name": "parameters", + "type": 4, + "typeName": "u32" + }, + { + "name": "memory_pages", + "type": 4, + "typeName": "u32" + }, + { + "name": "table_size", + "type": 4, + "typeName": "u32" + }, + { + "name": "br_table_size", + "type": 4, + "typeName": "u32" + }, + { + "name": "subject_len", + "type": 4, + "typeName": "u32" + }, + { + "name": "payload_len", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 530, + "type": { + "path": [ + "pallet_contracts", + "schedule", + "InstructionWeights" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "version", + "type": 4, + "typeName": "u32" + }, + { + "name": "fallback", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64const", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64load", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64store", + "type": 4, + "typeName": "u32" + }, + { + "name": "select", + "type": 4, + "typeName": "u32" + }, + { + "name": "r#if", + "type": 4, + "typeName": "u32" + }, + { + "name": "br", + "type": 4, + "typeName": "u32" + }, + { + "name": "br_if", + "type": 4, + "typeName": "u32" + }, + { + "name": "br_table", + "type": 4, + "typeName": "u32" + }, + { + "name": "br_table_per_entry", + "type": 4, + "typeName": "u32" + }, + { + "name": "call", + "type": 4, + "typeName": "u32" + }, + { + "name": "call_indirect", + "type": 4, + "typeName": "u32" + }, + { + "name": "call_indirect_per_param", + "type": 4, + "typeName": "u32" + }, + { + "name": "call_per_local", + "type": 4, + "typeName": "u32" + }, + { + "name": "local_get", + "type": 4, + "typeName": "u32" + }, + { + "name": "local_set", + "type": 4, + "typeName": "u32" + }, + { + "name": "local_tee", + "type": 4, + "typeName": "u32" + }, + { + "name": "global_get", + "type": 4, + "typeName": "u32" + }, + { + "name": "global_set", + "type": 4, + "typeName": "u32" + }, + { + "name": "memory_current", + "type": 4, + "typeName": "u32" + }, + { + "name": "memory_grow", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64clz", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64ctz", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64popcnt", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64eqz", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64extendsi32", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64extendui32", + "type": 4, + "typeName": "u32" + }, + { + "name": "i32wrapi64", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64eq", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64ne", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64lts", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64ltu", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64gts", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64gtu", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64les", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64leu", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64ges", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64geu", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64add", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64sub", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64mul", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64divs", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64divu", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64rems", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64remu", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64and", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64or", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64xor", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64shl", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64shrs", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64shru", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64rotl", + "type": 4, + "typeName": "u32" + }, + { + "name": "i64rotr", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 531, + "type": { + "path": [ + "pallet_contracts", + "schedule", + "HostFnWeights" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "caller", + "type": 8, + "typeName": "Weight" + }, + { + "name": "is_contract", + "type": 8, + "typeName": "Weight" + }, + { + "name": "code_hash", + "type": 8, + "typeName": "Weight" + }, + { + "name": "own_code_hash", + "type": 8, + "typeName": "Weight" + }, + { + "name": "caller_is_origin", + "type": 8, + "typeName": "Weight" + }, + { + "name": "address", + "type": 8, + "typeName": "Weight" + }, + { + "name": "gas_left", + "type": 8, + "typeName": "Weight" + }, + { + "name": "balance", + "type": 8, + "typeName": "Weight" + }, + { + "name": "value_transferred", + "type": 8, + "typeName": "Weight" + }, + { + "name": "minimum_balance", + "type": 8, + "typeName": "Weight" + }, + { + "name": "block_number", + "type": 8, + "typeName": "Weight" + }, + { + "name": "now", + "type": 8, + "typeName": "Weight" + }, + { + "name": "weight_to_fee", + "type": 8, + "typeName": "Weight" + }, + { + "name": "gas", + "type": 8, + "typeName": "Weight" + }, + { + "name": "input", + "type": 8, + "typeName": "Weight" + }, + { + "name": "input_per_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "r#return", + "type": 8, + "typeName": "Weight" + }, + { + "name": "return_per_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "terminate", + "type": 8, + "typeName": "Weight" + }, + { + "name": "random", + "type": 8, + "typeName": "Weight" + }, + { + "name": "deposit_event", + "type": 8, + "typeName": "Weight" + }, + { + "name": "deposit_event_per_topic", + "type": 8, + "typeName": "Weight" + }, + { + "name": "deposit_event_per_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "debug_message", + "type": 8, + "typeName": "Weight" + }, + { + "name": "debug_message_per_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "set_storage", + "type": 8, + "typeName": "Weight" + }, + { + "name": "set_storage_per_new_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "set_storage_per_old_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "set_code_hash", + "type": 8, + "typeName": "Weight" + }, + { + "name": "clear_storage", + "type": 8, + "typeName": "Weight" + }, + { + "name": "clear_storage_per_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "contains_storage", + "type": 8, + "typeName": "Weight" + }, + { + "name": "contains_storage_per_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "get_storage", + "type": 8, + "typeName": "Weight" + }, + { + "name": "get_storage_per_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "take_storage", + "type": 8, + "typeName": "Weight" + }, + { + "name": "take_storage_per_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "transfer", + "type": 8, + "typeName": "Weight" + }, + { + "name": "call", + "type": 8, + "typeName": "Weight" + }, + { + "name": "delegate_call", + "type": 8, + "typeName": "Weight" + }, + { + "name": "call_transfer_surcharge", + "type": 8, + "typeName": "Weight" + }, + { + "name": "call_per_cloned_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "instantiate", + "type": 8, + "typeName": "Weight" + }, + { + "name": "instantiate_transfer_surcharge", + "type": 8, + "typeName": "Weight" + }, + { + "name": "instantiate_per_input_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "instantiate_per_salt_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "hash_sha2_256", + "type": 8, + "typeName": "Weight" + }, + { + "name": "hash_sha2_256_per_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "hash_keccak_256", + "type": 8, + "typeName": "Weight" + }, + { + "name": "hash_keccak_256_per_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "hash_blake2_256", + "type": 8, + "typeName": "Weight" + }, + { + "name": "hash_blake2_256_per_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "hash_blake2_128", + "type": 8, + "typeName": "Weight" + }, + { + "name": "hash_blake2_128_per_byte", + "type": 8, + "typeName": "Weight" + }, + { + "name": "ecdsa_recover", + "type": 8, + "typeName": "Weight" + }, + { + "name": "ecdsa_to_eth_address", + "type": 8, + "typeName": "Weight" + }, + { + "name": "reentrance_count", + "type": 8, + "typeName": "Weight" + }, + { + "name": "account_reentrance_count", + "type": 8, + "typeName": "Weight" + }, + { + "name": "instantiation_nonce", + "type": 8, + "typeName": "Weight" + } + ] + } + } + } + }, + { + "id": 532, + "type": { + "path": [ + "pallet_contracts", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "InvalidScheduleVersion", + "index": 0, + "docs": [ + "A new schedule must have a greater version than the current one." + ] + }, + { + "name": "InvalidCallFlags", + "index": 1, + "docs": [ + "Invalid combination of flags supplied to `seal_call` or `seal_delegate_call`." + ] + }, + { + "name": "OutOfGas", + "index": 2, + "docs": [ + "The executed contract exhausted its gas limit." + ] + }, + { + "name": "OutputBufferTooSmall", + "index": 3, + "docs": [ + "The output buffer supplied to a contract API call was too small." + ] + }, + { + "name": "TransferFailed", + "index": 4, + "docs": [ + "Performing the requested transfer failed. Probably because there isn't enough", + "free balance in the sender's account." + ] + }, + { + "name": "MaxCallDepthReached", + "index": 5, + "docs": [ + "Performing a call was denied because the calling depth reached the limit", + "of what is specified in the schedule." + ] + }, + { + "name": "ContractNotFound", + "index": 6, + "docs": [ + "No contract was found at the specified address." + ] + }, + { + "name": "CodeTooLarge", + "index": 7, + "docs": [ + "The code supplied to `instantiate_with_code` exceeds the limit specified in the", + "current schedule." + ] + }, + { + "name": "CodeNotFound", + "index": 8, + "docs": [ + "No code could be found at the supplied code hash." + ] + }, + { + "name": "OutOfBounds", + "index": 9, + "docs": [ + "A buffer outside of sandbox memory was passed to a contract API function." + ] + }, + { + "name": "DecodingFailed", + "index": 10, + "docs": [ + "Input passed to a contract API function failed to decode as expected type." + ] + }, + { + "name": "ContractTrapped", + "index": 11, + "docs": [ + "Contract trapped during execution." + ] + }, + { + "name": "ValueTooLarge", + "index": 12, + "docs": [ + "The size defined in `T::MaxValueSize` was exceeded." + ] + }, + { + "name": "TerminatedWhileReentrant", + "index": 13, + "docs": [ + "Termination of a contract is not allowed while the contract is already", + "on the call stack. Can be triggered by `seal_terminate`." + ] + }, + { + "name": "InputForwarded", + "index": 14, + "docs": [ + "`seal_call` forwarded this contracts input. It therefore is no longer available." + ] + }, + { + "name": "RandomSubjectTooLong", + "index": 15, + "docs": [ + "The subject passed to `seal_random` exceeds the limit." + ] + }, + { + "name": "TooManyTopics", + "index": 16, + "docs": [ + "The amount of topics passed to `seal_deposit_events` exceeds the limit." + ] + }, + { + "name": "NoChainExtension", + "index": 17, + "docs": [ + "The chain does not provide a chain extension. Calling the chain extension results", + "in this error. Note that this usually shouldn't happen as deploying such contracts", + "is rejected." + ] + }, + { + "name": "DeletionQueueFull", + "index": 18, + "docs": [ + "Removal of a contract failed because the deletion queue is full.", + "", + "This can happen when calling `seal_terminate`.", + "The queue is filled by deleting contracts and emptied by a fixed amount each block.", + "Trying again during another block is the only way to resolve this issue." + ] + }, + { + "name": "DuplicateContract", + "index": 19, + "docs": [ + "A contract with the same AccountId already exists." + ] + }, + { + "name": "TerminatedInConstructor", + "index": 20, + "docs": [ + "A contract self destructed in its constructor.", + "", + "This can be triggered by a call to `seal_terminate`." + ] + }, + { + "name": "ReentranceDenied", + "index": 21, + "docs": [ + "A call tried to invoke a contract that is flagged as non-reentrant." + ] + }, + { + "name": "StorageDepositNotEnoughFunds", + "index": 22, + "docs": [ + "Origin doesn't have enough balance to pay the required storage deposits." + ] + }, + { + "name": "StorageDepositLimitExhausted", + "index": 23, + "docs": [ + "More storage was created than allowed by the storage deposit limit." + ] + }, + { + "name": "CodeInUse", + "index": 24, + "docs": [ + "Code removal was denied because the code is still in use by at least one contract." + ] + }, + { + "name": "ContractReverted", + "index": 25, + "docs": [ + "The contract ran to completion but decided to revert its storage changes.", + "Please note that this error is only returned from extrinsics. When called directly", + "or via RPC an `Ok` will be returned. In this case the caller needs to inspect the flags", + "to determine whether a reversion has taken place." + ] + }, + { + "name": "CodeRejected", + "index": 26, + "docs": [ + "The contract's code was found to be invalid during validation or instrumentation.", + "", + "The most likely cause of this is that an API was used which is not supported by the", + "node. This hapens if an older node is used with a new version of ink!. Try updating", + "your node to the newest available version.", + "", + "A more detailed error can be found on the node console if debug messages are enabled", + "by supplying `-lruntime::contracts=debug`." + ] + }, + { + "name": "Indeterministic", + "index": 27, + "docs": [ + "An indetermistic code was used in a context where this is not permitted." + ] + } + ] + } + }, + "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": 533, + "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": 534, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 71 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 535, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 535, + "type": { + "def": { + "sequence": { + "type": 71 + } + } + } + }, + { + "id": 536, + "type": { + "path": [ + "frame_support", + "traits", + "misc", + "WrapperOpaque" + ], + "params": [ + { + "name": "T", + "type": 537 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 138 + }, + { + "type": 537, + "typeName": "T" + } + ] + } + } + } + }, + { + "id": 537, + "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": 538, + "typeName": "WeakBoundedVec" + }, + { + "name": "external_addresses", + "type": 539, + "typeName": "WeakBoundedVec, AddressesLimit\n>" + } + ] + } + } + } + }, + { + "id": 538, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 539, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 538 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 540, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 540, + "type": { + "def": { + "sequence": { + "type": 538 + } + } + } + }, + { + "id": 541, + "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": 542, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 218 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 543, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 543, + "type": { + "def": { + "sequence": { + "type": 218 + } + } + } + }, + { + "id": 544, + "type": { + "path": [ + "sp_staking", + "offence", + "OffenceDetails" + ], + "params": [ + { + "name": "Reporter", + "type": 0 + }, + { + "name": "Offender", + "type": 74 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "offender", + "type": 74, + "typeName": "Offender" + }, + { + "name": "reporters", + "type": 83, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 545, + "type": { + "def": { + "tuple": [ + 80, + 12 + ] + } + } + }, + { + "id": 546, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 11 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 402, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 547, + "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": 548, + "typeName": "BoundedVec<(RegistrarIndex, Judgement), MaxJudgements>" + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "info", + "type": 255, + "typeName": "IdentityInfo" + } + ] + } + } + } + }, + { + "id": 548, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 549 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 550, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 549, + "type": { + "def": { + "tuple": [ + 4, + 294 + ] + } + } + }, + { + "id": 550, + "type": { + "def": { + "sequence": { + "type": 549 + } + } + } + }, + { + "id": 551, + "type": { + "def": { + "tuple": [ + 6, + 552 + ] + } + } + }, + { + "id": 552, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 83, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 553, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 554 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 556, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 554, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 555 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 555 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 555, + "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": 292, + "typeName": "IdentityFields" + } + ] + } + } + } + }, + { + "id": 556, + "type": { + "def": { + "sequence": { + "type": 554 + } + } + } + }, + { + "id": 557, + "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": 558, + "type": { + "def": { + "sequence": { + "type": 559 + } + } + } + }, + { + "id": 559, + "type": { + "path": [ + "pallet_society", + "Bid" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "who", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "kind", + "type": 560, + "typeName": "BidKind" + }, + { + "name": "value", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 560, + "type": { + "path": [ + "pallet_society", + "BidKind" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Deposit", + "fields": [ + { + "type": 6, + "typeName": "Balance" + } + ], + "index": 0 + }, + { + "name": "Vouch", + "fields": [ + { + "type": 0, + "typeName": "AccountId" + }, + { + "type": 6, + "typeName": "Balance" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 561, + "type": { + "def": { + "tuple": [ + 6, + 560 + ] + } + } + }, + { + "id": 562, + "type": { + "path": [ + "pallet_society", + "VouchingStatus" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Vouching", + "index": 0 + }, + { + "name": "Banned", + "index": 1 + } + ] + } + } + } + }, + { + "id": 563, + "type": { + "def": { + "sequence": { + "type": 564 + } + } + } + }, + { + "id": 564, + "type": { + "def": { + "tuple": [ + 4, + 6 + ] + } + } + }, + { + "id": 565, + "type": { + "def": { + "tuple": [ + 0, + 0 + ] + } + } + }, + { + "id": 566, + "type": { + "path": [ + "pallet_society", + "Vote" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Skeptic", + "index": 0 + }, + { + "name": "Reject", + "index": 1 + }, + { + "name": "Approve", + "index": 2 + } + ] + } + } + } + }, + { + "id": 567, + "type": { + "path": [ + "pallet_society", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "BadPosition", + "index": 0, + "docs": [ + "An incorrect position was provided." + ] + }, + { + "name": "NotMember", + "index": 1, + "docs": [ + "User is not a member." + ] + }, + { + "name": "AlreadyMember", + "index": 2, + "docs": [ + "User is already a member." + ] + }, + { + "name": "Suspended", + "index": 3, + "docs": [ + "User is suspended." + ] + }, + { + "name": "NotSuspended", + "index": 4, + "docs": [ + "User is not suspended." + ] + }, + { + "name": "NoPayout", + "index": 5, + "docs": [ + "Nothing to payout." + ] + }, + { + "name": "AlreadyFounded", + "index": 6, + "docs": [ + "Society already founded." + ] + }, + { + "name": "InsufficientPot", + "index": 7, + "docs": [ + "Not enough in pot to accept candidate." + ] + }, + { + "name": "AlreadyVouching", + "index": 8, + "docs": [ + "Member is already vouching or banned from vouching again." + ] + }, + { + "name": "NotVouching", + "index": 9, + "docs": [ + "Member is not vouching." + ] + }, + { + "name": "Head", + "index": 10, + "docs": [ + "Cannot remove the head of the chain." + ] + }, + { + "name": "Founder", + "index": 11, + "docs": [ + "Cannot remove the founder." + ] + }, + { + "name": "AlreadyBid", + "index": 12, + "docs": [ + "User has already made a bid." + ] + }, + { + "name": "AlreadyCandidate", + "index": 13, + "docs": [ + "User is already a candidate." + ] + }, + { + "name": "NotCandidate", + "index": 14, + "docs": [ + "User is not a candidate." + ] + }, + { + "name": "MaxMembers", + "index": 15, + "docs": [ + "Too many members in the society." + ] + }, + { + "name": "NotFounder", + "index": 16, + "docs": [ + "The caller is not the founder." + ] + }, + { + "name": "NotHead", + "index": 17, + "docs": [ + "The caller is not the head." + ] + } + ] + } + }, + "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": 568, + "type": { + "path": [ + "pallet_recovery", + "RecoveryConfig" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Friends", + "type": 569 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "delay_period", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "friends", + "type": 569, + "typeName": "Friends" + }, + { + "name": "threshold", + "type": 93, + "typeName": "u16" + } + ] + } + } + } + }, + { + "id": 569, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 83, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 570, + "type": { + "path": [ + "pallet_recovery", + "ActiveRecovery" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Friends", + "type": 569 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "created", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "friends", + "type": 569, + "typeName": "Friends" + } + ] + } + } + } + }, + { + "id": 571, + "type": { + "path": [ + "pallet_recovery", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotAllowed", + "index": 0, + "docs": [ + "User is not allowed to make a call on behalf of this account" + ] + }, + { + "name": "ZeroThreshold", + "index": 1, + "docs": [ + "Threshold must be greater than zero" + ] + }, + { + "name": "NotEnoughFriends", + "index": 2, + "docs": [ + "Friends list must be greater than zero and threshold" + ] + }, + { + "name": "MaxFriends", + "index": 3, + "docs": [ + "Friends list must be less than max friends" + ] + }, + { + "name": "NotSorted", + "index": 4, + "docs": [ + "Friends list must be sorted and free of duplicates" + ] + }, + { + "name": "NotRecoverable", + "index": 5, + "docs": [ + "This account is not set up for recovery" + ] + }, + { + "name": "AlreadyRecoverable", + "index": 6, + "docs": [ + "This account is already set up for recovery" + ] + }, + { + "name": "AlreadyStarted", + "index": 7, + "docs": [ + "A recovery process has already started for this account" + ] + }, + { + "name": "NotStarted", + "index": 8, + "docs": [ + "A recovery process has not started for this rescuer" + ] + }, + { + "name": "NotFriend", + "index": 9, + "docs": [ + "This account is not a friend who can vouch" + ] + }, + { + "name": "DelayPeriod", + "index": 10, + "docs": [ + "The friend must wait until the delay period to vouch for this recovery" + ] + }, + { + "name": "AlreadyVouched", + "index": 11, + "docs": [ + "This user has already vouched for this recovery" + ] + }, + { + "name": "Threshold", + "index": 12, + "docs": [ + "The threshold for recovering this account has not been met" + ] + }, + { + "name": "StillActive", + "index": 13, + "docs": [ + "There are still active recovery attempts that need to be closed" + ] + }, + { + "name": "AlreadyProxy", + "index": 14, + "docs": [ + "This account is already set up for recovery" + ] + }, + { + "name": "BadState", + "index": 15, + "docs": [ + "Some internal state is broken." + ] + } + ] + } + }, + "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": 572, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 299 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 573, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 573, + "type": { + "def": { + "sequence": { + "type": 299 + } + } + } + }, + { + "id": 574, + "type": { + "path": [ + "pallet_vesting", + "Releases" + ], + "def": { + "variant": { + "variants": [ + { + "name": "V0", + "index": 0 + }, + { + "name": "V1", + "index": 1 + } + ] + } + } + } + }, + { + "id": 575, + "type": { + "path": [ + "pallet_vesting", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotVesting", + "index": 0, + "docs": [ + "The account given is not vesting." + ] + }, + { + "name": "AtMaxVestingSchedules", + "index": 1, + "docs": [ + "The account already has `MaxVestingSchedules` count of schedules and thus", + "cannot add another one. Consider merging existing schedules in order to add another." + ] + }, + { + "name": "AmountLow", + "index": 2, + "docs": [ + "Amount being transferred is too low to create a vesting schedule." + ] + }, + { + "name": "ScheduleIndexOutOfBounds", + "index": 3, + "docs": [ + "An index was out of bounds of the vesting schedules." + ] + }, + { + "name": "InvalidScheduleParams", + "index": 4, + "docs": [ + "Failed to create a new schedule because some parameter was invalid." + ] + } + ] + } + }, + "docs": [ + "Error for the vesting pallet." + ] + } + }, + { + "id": 576, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 577 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 579, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 577, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 578 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 578 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 578, + "type": { + "path": [ + "pallet_scheduler", + "Scheduled" + ], + "params": [ + { + "name": "Name", + "type": 1 + }, + { + "name": "Call", + "type": 120 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "PalletsOrigin", + "type": 128 + }, + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "maybe_id", + "type": 88, + "typeName": "Option" + }, + { + "name": "priority", + "type": 2, + "typeName": "schedule::Priority" + }, + { + "name": "call", + "type": 120, + "typeName": "Call" + }, + { + "name": "maybe_periodic", + "type": 301, + "typeName": "Option>" + }, + { + "name": "origin", + "type": 128, + "typeName": "PalletsOrigin" + } + ] + } + } + } + }, + { + "id": 579, + "type": { + "def": { + "sequence": { + "type": 577 + } + } + } + }, + { + "id": 580, + "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": 581, + "type": { + "def": { + "array": { + "len": 1024, + "type": 2 + } + } + } + }, + { + "id": 582, + "type": { + "path": [ + "pallet_glutton", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "AlreadyInitialized", + "index": 0, + "docs": [ + "The pallet was already initialized.", + "", + "Set `witness_count` to `Some` to bypass this error." + ] + } + ] + } + }, + "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": 583, + "type": { + "path": [ + "pallet_preimage", + "RequestStatus" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Unrequested", + "fields": [ + { + "name": "deposit", + "type": 60, + "typeName": "(AccountId, Balance)" + }, + { + "name": "len", + "type": 4, + "typeName": "u32" + } + ], + "index": 0 + }, + { + "name": "Requested", + "fields": [ + { + "name": "deposit", + "type": 584, + "typeName": "Option<(AccountId, Balance)>" + }, + { + "name": "count", + "type": 4, + "typeName": "u32" + }, + { + "name": "len", + "type": 37, + "typeName": "Option" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 584, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 60 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 60 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 585, + "type": { + "def": { + "tuple": [ + 11, + 4 + ] + } + } + }, + { + "id": 586, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 587, + "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": 588, + "type": { + "def": { + "tuple": [ + 589, + 6 + ] + } + } + }, + { + "id": 589, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 590 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 591, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 590, + "type": { + "path": [ + "pallet_proxy", + "ProxyDefinition" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "ProxyType", + "type": 92 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "delegate", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "proxy_type", + "type": 92, + "typeName": "ProxyType" + }, + { + "name": "delay", + "type": 4, + "typeName": "BlockNumber" + } + ] + } + } + } + }, + { + "id": 591, + "type": { + "def": { + "sequence": { + "type": 590 + } + } + } + }, + { + "id": 592, + "type": { + "def": { + "tuple": [ + 593, + 6 + ] + } + } + }, + { + "id": 593, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 594 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 595, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 594, + "type": { + "path": [ + "pallet_proxy", + "Announcement" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Hash", + "type": 11 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "real", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "call_hash", + "type": 11, + "typeName": "Hash" + }, + { + "name": "height", + "type": 4, + "typeName": "BlockNumber" + } + ] + } + } + } + }, + { + "id": 595, + "type": { + "def": { + "sequence": { + "type": 594 + } + } + } + }, + { + "id": 596, + "type": { + "path": [ + "pallet_proxy", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "TooMany", + "index": 0, + "docs": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "index": 1, + "docs": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "index": 2, + "docs": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "index": 3, + "docs": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "index": 4, + "docs": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "index": 5, + "docs": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "index": 6, + "docs": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "index": 7, + "docs": [ + "Cannot add self as proxy." + ] + } + ] + } + }, + "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": 597, + "type": { + "def": { + "tuple": [ + 0, + 1 + ] + } + } + }, + { + "id": 598, + "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": 95, + "typeName": "Timepoint" + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "depositor", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "approvals", + "type": 486, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 599, + "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": 600, + "type": { + "path": [ + "pallet_bounties", + "Bounty" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "proposer", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "value", + "type": 6, + "typeName": "Balance" + }, + { + "name": "fee", + "type": 6, + "typeName": "Balance" + }, + { + "name": "curator_deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "bond", + "type": 6, + "typeName": "Balance" + }, + { + "name": "status", + "type": 601, + "typeName": "BountyStatus" + } + ] + } + } + } + }, + { + "id": 601, + "type": { + "path": [ + "pallet_bounties", + "BountyStatus" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Proposed", + "index": 0 + }, + { + "name": "Approved", + "index": 1 + }, + { + "name": "Funded", + "index": 2 + }, + { + "name": "CuratorProposed", + "fields": [ + { + "name": "curator", + "type": 0, + "typeName": "AccountId" + } + ], + "index": 3 + }, + { + "name": "Active", + "fields": [ + { + "name": "curator", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "update_due", + "type": 4, + "typeName": "BlockNumber" + } + ], + "index": 4 + }, + { + "name": "PendingPayout", + "fields": [ + { + "name": "curator", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "beneficiary", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "unlock_at", + "type": 4, + "typeName": "BlockNumber" + } + ], + "index": 5 + } + ] + } + } + } + }, + { + "id": 602, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 603, + "type": { + "path": [ + "pallet_bounties", + "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": "ReasonTooBig", + "index": 2, + "docs": [ + "The reason given is just too big." + ] + }, + { + "name": "UnexpectedStatus", + "index": 3, + "docs": [ + "The bounty status is unexpected." + ] + }, + { + "name": "RequireCurator", + "index": 4, + "docs": [ + "Require bounty curator." + ] + }, + { + "name": "InvalidValue", + "index": 5, + "docs": [ + "Invalid bounty value." + ] + }, + { + "name": "InvalidFee", + "index": 6, + "docs": [ + "Invalid bounty fee." + ] + }, + { + "name": "PendingPayout", + "index": 7, + "docs": [ + "A bounty payout is pending.", + "To cancel the bounty, you must unassign and slash the curator." + ] + }, + { + "name": "Premature", + "index": 8, + "docs": [ + "The bounties cannot be claimed/closed because it's still in the countdown period." + ] + }, + { + "name": "HasActiveChildBounty", + "index": 9, + "docs": [ + "The bounty cannot be closed because it has active child bounties." + ] + }, + { + "name": "TooManyQueued", + "index": 10, + "docs": [ + "Too many approvals are already queued." + ] + } + ] + } + }, + "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": 604, + "type": { + "path": [ + "pallet_tips", + "OpenTip" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "Hash", + "type": 11 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "reason", + "type": 11, + "typeName": "Hash" + }, + { + "name": "who", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "finder", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "closes", + "type": 37, + "typeName": "Option" + }, + { + "name": "tips", + "type": 59, + "typeName": "Vec<(AccountId, Balance)>" + }, + { + "name": "finders_fee", + "type": 41, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 605, + "type": { + "path": [ + "pallet_tips", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "ReasonTooBig", + "index": 0, + "docs": [ + "The reason given is just too big." + ] + }, + { + "name": "AlreadyKnown", + "index": 1, + "docs": [ + "The tip was already found/started." + ] + }, + { + "name": "UnknownTip", + "index": 2, + "docs": [ + "The tip hash is unknown." + ] + }, + { + "name": "NotFinder", + "index": 3, + "docs": [ + "The account attempting to retract the tip is not the finder of the tip." + ] + }, + { + "name": "StillOpen", + "index": 4, + "docs": [ + "The tip cannot be claimed/closed because there are not enough tippers yet." + ] + }, + { + "name": "Premature", + "index": 5, + "docs": [ + "The tip cannot be claimed/closed because it's still in the countdown period." + ] + } + ] + } + }, + "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": 606, + "type": { + "path": [ + "pallet_assets", + "types", + "AssetDetails" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "DepositBalance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "issuer", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "admin", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "freezer", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "supply", + "type": 6, + "typeName": "Balance" + }, + { + "name": "deposit", + "type": 6, + "typeName": "DepositBalance" + }, + { + "name": "min_balance", + "type": 6, + "typeName": "Balance" + }, + { + "name": "is_sufficient", + "type": 41, + "typeName": "bool" + }, + { + "name": "accounts", + "type": 4, + "typeName": "u32" + }, + { + "name": "sufficients", + "type": 4, + "typeName": "u32" + }, + { + "name": "approvals", + "type": 4, + "typeName": "u32" + }, + { + "name": "status", + "type": 607, + "typeName": "AssetStatus" + } + ] + } + } + } + }, + { + "id": 607, + "type": { + "path": [ + "pallet_assets", + "types", + "AssetStatus" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Live", + "index": 0 + }, + { + "name": "Frozen", + "index": 1 + }, + { + "name": "Destroying", + "index": 2 + } + ] + } + } + } + }, + { + "id": 608, + "type": { + "path": [ + "pallet_assets", + "types", + "AssetAccount" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "Extra", + "type": 31 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "balance", + "type": 6, + "typeName": "Balance" + }, + { + "name": "is_frozen", + "type": 41, + "typeName": "bool" + }, + { + "name": "reason", + "type": 609, + "typeName": "ExistenceReason" + }, + { + "name": "extra", + "type": 31, + "typeName": "Extra" + } + ] + } + } + } + }, + { + "id": 609, + "type": { + "path": [ + "pallet_assets", + "types", + "ExistenceReason" + ], + "params": [ + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Consumer", + "index": 0 + }, + { + "name": "Sufficient", + "index": 1 + }, + { + "name": "DepositHeld", + "fields": [ + { + "type": 6, + "typeName": "Balance" + } + ], + "index": 2 + }, + { + "name": "DepositRefunded", + "index": 3 + } + ] + } + } + } + }, + { + "id": 610, + "type": { + "def": { + "tuple": [ + 4, + 0, + 0 + ] + } + } + }, + { + "id": 611, + "type": { + "path": [ + "pallet_assets", + "types", + "Approval" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "DepositBalance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "amount", + "type": 6, + "typeName": "Balance" + }, + { + "name": "deposit", + "type": 6, + "typeName": "DepositBalance" + } + ] + } + } + } + }, + { + "id": 612, + "type": { + "path": [ + "pallet_assets", + "types", + "AssetMetadata" + ], + "params": [ + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "BoundedString", + "type": 104 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "deposit", + "type": 6, + "typeName": "DepositBalance" + }, + { + "name": "name", + "type": 104, + "typeName": "BoundedString" + }, + { + "name": "symbol", + "type": 104, + "typeName": "BoundedString" + }, + { + "name": "decimals", + "type": 2, + "typeName": "u8" + }, + { + "name": "is_frozen", + "type": 41, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 613, + "type": { + "path": [ + "pallet_assets", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "BalanceLow", + "index": 0, + "docs": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "index": 1, + "docs": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "index": 2, + "docs": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "index": 3, + "docs": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "index": 4, + "docs": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "index": 5, + "docs": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "index": 6, + "docs": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "index": 7, + "docs": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "NoProvider", + "index": 8, + "docs": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or the", + "maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "index": 9, + "docs": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "index": 10, + "docs": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "index": 11, + "docs": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "index": 12, + "docs": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "index": 13, + "docs": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "index": 14, + "docs": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "index": 15, + "docs": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "index": 16, + "docs": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "index": 17, + "docs": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "index": 18, + "docs": [ + "The asset should be frozen before the given 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": 614, + "type": { + "path": [ + "pallet_lottery", + "LotteryConfig" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "price", + "type": 6, + "typeName": "Balance" + }, + { + "name": "start", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "length", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "delay", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "repeat", + "type": 41, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 615, + "type": { + "def": { + "tuple": [ + 4, + 616 + ] + } + } + }, + { + "id": 616, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 100 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 617, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 617, + "type": { + "def": { + "sequence": { + "type": 100 + } + } + } + }, + { + "id": 618, + "type": { + "path": [ + "pallet_lottery", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotConfigured", + "index": 0, + "docs": [ + "A lottery has not been configured." + ] + }, + { + "name": "InProgress", + "index": 1, + "docs": [ + "A lottery is already in progress." + ] + }, + { + "name": "AlreadyEnded", + "index": 2, + "docs": [ + "A lottery has already ended." + ] + }, + { + "name": "InvalidCall", + "index": 3, + "docs": [ + "The call is not valid for an open lottery." + ] + }, + { + "name": "AlreadyParticipating", + "index": 4, + "docs": [ + "You are already participating in the lottery with this call." + ] + }, + { + "name": "TooManyCalls", + "index": 5, + "docs": [ + "Too many calls for a single lottery." + ] + }, + { + "name": "EncodingFailed", + "index": 6, + "docs": [ + "Failed to encode calls" + ] + } + ] + } + }, + "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": 619, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 564 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 563, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 620, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 621 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 622, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 621, + "type": { + "path": [ + "pallet_nis", + "pallet", + "Bid" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "amount", + "type": 6, + "typeName": "Balance" + }, + { + "name": "who", + "type": 0, + "typeName": "AccountId" + } + ] + } + } + } + }, + { + "id": 622, + "type": { + "def": { + "sequence": { + "type": 621 + } + } + } + }, + { + "id": 623, + "type": { + "path": [ + "pallet_nis", + "pallet", + "SummaryRecord" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "proportion_owed", + "type": 102, + "typeName": "Perquintill" + }, + { + "name": "index", + "type": 4, + "typeName": "ReceiptIndex" + }, + { + "name": "thawed", + "type": 102, + "typeName": "Perquintill" + }, + { + "name": "last_period", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "receipts_on_hold", + "type": 6, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 624, + "type": { + "path": [ + "pallet_nis", + "pallet", + "ReceiptRecord" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "Balance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "proportion", + "type": 102, + "typeName": "Perquintill" + }, + { + "name": "owner", + "type": 584, + "typeName": "Option<(AccountId, Balance)>" + }, + { + "name": "expiry", + "type": 4, + "typeName": "BlockNumber" + } + ] + } + } + } + }, + { + "id": 625, + "type": { + "def": { + "tuple": [ + 102, + 4 + ] + } + } + }, + { + "id": 626, + "type": { + "path": [ + "pallet_nis", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "DurationTooSmall", + "index": 0, + "docs": [ + "The duration of the bid is less than one." + ] + }, + { + "name": "DurationTooBig", + "index": 1, + "docs": [ + "The duration is the bid is greater than the number of queues." + ] + }, + { + "name": "AmountTooSmall", + "index": 2, + "docs": [ + "The amount of the bid is less than the minimum allowed." + ] + }, + { + "name": "BidTooLow", + "index": 3, + "docs": [ + "The queue for the bid's duration is full and the amount bid is too low to get in", + "through replacing an existing bid." + ] + }, + { + "name": "UnknownReceipt", + "index": 4, + "docs": [ + "Receipt index is unknown." + ] + }, + { + "name": "NotOwner", + "index": 5, + "docs": [ + "Not the owner of the receipt." + ] + }, + { + "name": "NotExpired", + "index": 6, + "docs": [ + "Bond not yet at expiry date." + ] + }, + { + "name": "UnknownBid", + "index": 7, + "docs": [ + "The given bid for retraction is not found." + ] + }, + { + "name": "PortionTooBig", + "index": 8, + "docs": [ + "The portion supplied is beyond the value of the receipt." + ] + }, + { + "name": "Unfunded", + "index": 9, + "docs": [ + "Not enough funds are held to pay out." + ] + }, + { + "name": "AlreadyFunded", + "index": 10, + "docs": [ + "There are enough funds for what is required." + ] + }, + { + "name": "Throttled", + "index": 11, + "docs": [ + "The thaw throttle has been reached for this period." + ] + }, + { + "name": "MakesDust", + "index": 12, + "docs": [ + "The operation would result in a receipt worth an insignficant value." + ] + }, + { + "name": "AlreadyCommunal", + "index": 13, + "docs": [ + "The receipt is already communal." + ] + }, + { + "name": "AlreadyPrivate", + "index": 14, + "docs": [ + "The receipt is already private." + ] + } + ] + } + }, + "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": 627, + "type": { + "path": [ + "pallet_uniques", + "types", + "CollectionDetails" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "DepositBalance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "issuer", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "admin", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "freezer", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "total_deposit", + "type": 6, + "typeName": "DepositBalance" + }, + { + "name": "free_holding", + "type": 41, + "typeName": "bool" + }, + { + "name": "items", + "type": 4, + "typeName": "u32" + }, + { + "name": "item_metadatas", + "type": 4, + "typeName": "u32" + }, + { + "name": "attributes", + "type": 4, + "typeName": "u32" + }, + { + "name": "is_frozen", + "type": 41, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 628, + "type": { + "def": { + "tuple": [ + 0, + 4, + 4 + ] + } + } + }, + { + "id": 629, + "type": { + "path": [ + "pallet_uniques", + "types", + "ItemDetails" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "DepositBalance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "approved", + "type": 40, + "typeName": "Option" + }, + { + "name": "is_frozen", + "type": 41, + "typeName": "bool" + }, + { + "name": "deposit", + "type": 6, + "typeName": "DepositBalance" + } + ] + } + } + } + }, + { + "id": 630, + "type": { + "path": [ + "pallet_uniques", + "types", + "CollectionMetadata" + ], + "params": [ + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "StringLimit", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "deposit", + "type": 6, + "typeName": "DepositBalance" + }, + { + "name": "data", + "type": 104, + "typeName": "BoundedVec" + }, + { + "name": "is_frozen", + "type": 41, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 631, + "type": { + "path": [ + "pallet_uniques", + "types", + "ItemMetadata" + ], + "params": [ + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "StringLimit", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "deposit", + "type": 6, + "typeName": "DepositBalance" + }, + { + "name": "data", + "type": 104, + "typeName": "BoundedVec" + }, + { + "name": "is_frozen", + "type": 41, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 632, + "type": { + "def": { + "tuple": [ + 4, + 37, + 106 + ] + } + } + }, + { + "id": 633, + "type": { + "def": { + "tuple": [ + 107, + 6 + ] + } + } + }, + { + "id": 634, + "type": { + "def": { + "tuple": [ + 6, + 40 + ] + } + } + }, + { + "id": 635, + "type": { + "path": [ + "pallet_uniques", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NoPermission", + "index": 0, + "docs": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "index": 1, + "docs": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "index": 2, + "docs": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "index": 3, + "docs": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "index": 4, + "docs": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "index": 5, + "docs": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "index": 6, + "docs": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "index": 7, + "docs": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "index": 8, + "docs": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "index": 9, + "docs": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "index": 10, + "docs": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "index": 11, + "docs": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "index": 12, + "docs": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "index": 13, + "docs": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "index": 14, + "docs": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "index": 15, + "docs": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "index": 16, + "docs": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "index": 17, + "docs": [ + "The provided bid is too low." + ] + } + ] + } + }, + "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": 636, + "type": { + "path": [ + "pallet_nfts", + "types", + "CollectionDetails" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "DepositBalance", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "owner_deposit", + "type": 6, + "typeName": "DepositBalance" + }, + { + "name": "items", + "type": 4, + "typeName": "u32" + }, + { + "name": "item_metadatas", + "type": 4, + "typeName": "u32" + }, + { + "name": "attributes", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 637, + "type": { + "path": [ + "pallet_nfts", + "types", + "BitFlags" + ], + "params": [ + { + "name": "T", + "type": 638 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 2, + "typeName": "CollectionRole" + } + ] + } + } + } + }, + { + "id": 638, + "type": { + "path": [ + "pallet_nfts", + "types", + "CollectionRole" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Issuer", + "index": 1 + }, + { + "name": "Freezer", + "index": 2 + }, + { + "name": "Admin", + "index": 4 + } + ] + } + } + } + }, + { + "id": 639, + "type": { + "path": [ + "pallet_nfts", + "types", + "ItemDetails" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Deposit", + "type": 640 + }, + { + "name": "Approvals", + "type": 641 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "owner", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "approvals", + "type": 641, + "typeName": "Approvals" + }, + { + "name": "deposit", + "type": 640, + "typeName": "Deposit" + } + ] + } + } + } + }, + { + "id": 640, + "type": { + "path": [ + "pallet_nfts", + "types", + "ItemDeposit" + ], + "params": [ + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "account", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "amount", + "type": 6, + "typeName": "DepositBalance" + } + ] + } + } + } + }, + { + "id": 641, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 0 + }, + { + "name": "V", + "type": 37 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 642, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 642, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 0 + }, + { + "name": "V", + "type": 37 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 643 + } + ] + } + } + } + }, + { + "id": 643, + "type": { + "def": { + "sequence": { + "type": 644 + } + } + } + }, + { + "id": 644, + "type": { + "def": { + "tuple": [ + 0, + 37 + ] + } + } + }, + { + "id": 645, + "type": { + "path": [ + "pallet_nfts", + "types", + "CollectionMetadata" + ], + "params": [ + { + "name": "Deposit", + "type": 6 + }, + { + "name": "StringLimit", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "deposit", + "type": 6, + "typeName": "Deposit" + }, + { + "name": "data", + "type": 104, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 646, + "type": { + "path": [ + "pallet_nfts", + "types", + "ItemMetadata" + ], + "params": [ + { + "name": "Deposit", + "type": 647 + }, + { + "name": "StringLimit", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "deposit", + "type": 647, + "typeName": "Deposit" + }, + { + "name": "data", + "type": 104, + "typeName": "BoundedVec" + } + ] + } + } + } + }, + { + "id": 647, + "type": { + "path": [ + "pallet_nfts", + "types", + "ItemMetadataDeposit" + ], + "params": [ + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "account", + "type": 40, + "typeName": "Option" + }, + { + "name": "amount", + "type": 6, + "typeName": "DepositBalance" + } + ] + } + } + } + }, + { + "id": 648, + "type": { + "def": { + "tuple": [ + 4, + 37, + 109, + 106 + ] + } + } + }, + { + "id": 649, + "type": { + "def": { + "tuple": [ + 107, + 650 + ] + } + } + }, + { + "id": 650, + "type": { + "path": [ + "pallet_nfts", + "types", + "AttributeDeposit" + ], + "params": [ + { + "name": "DepositBalance", + "type": 6 + }, + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "account", + "type": 40, + "typeName": "Option" + }, + { + "name": "amount", + "type": 6, + "typeName": "DepositBalance" + } + ] + } + } + } + }, + { + "id": 651, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_set", + "BoundedBTreeSet" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 652, + "typeName": "BTreeSet" + } + ] + } + } + } + }, + { + "id": 652, + "type": { + "path": [ + "BTreeSet" + ], + "params": [ + { + "name": "T", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 83 + } + ] + } + } + } + }, + { + "id": 653, + "type": { + "path": [ + "pallet_nfts", + "types", + "PendingSwap" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + }, + { + "name": "ItemId", + "type": 4 + }, + { + "name": "ItemPriceWithDirection", + "type": 111 + }, + { + "name": "Deadline", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "desired_collection", + "type": 4, + "typeName": "CollectionId" + }, + { + "name": "desired_item", + "type": 37, + "typeName": "Option" + }, + { + "name": "price", + "type": 110, + "typeName": "Option" + }, + { + "name": "deadline", + "type": 4, + "typeName": "Deadline" + } + ] + } + } + } + }, + { + "id": 654, + "type": { + "path": [ + "pallet_nfts", + "types", + "BitFlags" + ], + "params": [ + { + "name": "T", + "type": 655 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 10, + "typeName": "PalletFeature" + } + ] + } + } + } + }, + { + "id": 655, + "type": { + "path": [ + "pallet_nfts", + "types", + "PalletFeature" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Trading", + "index": 1 + }, + { + "name": "Attributes", + "index": 2 + }, + { + "name": "Approvals", + "index": 4 + }, + { + "name": "Swaps", + "index": 8 + } + ] + } + } + } + }, + { + "id": 656, + "type": { + "path": [ + "pallet_nfts", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NoPermission", + "index": 0, + "docs": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "index": 1, + "docs": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "index": 2, + "docs": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "ApprovalExpired", + "index": 3, + "docs": [ + "The approval had a deadline that expired, so the approval isn't valid anymore." + ] + }, + { + "name": "WrongOwner", + "index": 4, + "docs": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "index": 5, + "docs": [ + "The witness data given does not match the current state of the chain." + ] + }, + { + "name": "CollectionIdInUse", + "index": 6, + "docs": [ + "Collection ID is already taken." + ] + }, + { + "name": "ItemsNonTransferable", + "index": 7, + "docs": [ + "Items within that collection are non-transferable." + ] + }, + { + "name": "NotDelegate", + "index": 8, + "docs": [ + "The provided account is not a delegate." + ] + }, + { + "name": "WrongDelegate", + "index": 9, + "docs": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "Unapproved", + "index": 10, + "docs": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "index": 11, + "docs": [ + "The named owner has not signed ownership acceptance of the collection." + ] + }, + { + "name": "ItemLocked", + "index": 12, + "docs": [ + "The item is locked (non-transferable)." + ] + }, + { + "name": "LockedItemAttributes", + "index": 13, + "docs": [ + "Item's attributes are locked." + ] + }, + { + "name": "LockedCollectionAttributes", + "index": 14, + "docs": [ + "Collection's attributes are locked." + ] + }, + { + "name": "LockedItemMetadata", + "index": 15, + "docs": [ + "Item's metadata is locked." + ] + }, + { + "name": "LockedCollectionMetadata", + "index": 16, + "docs": [ + "Collection's metadata is locked." + ] + }, + { + "name": "MaxSupplyReached", + "index": 17, + "docs": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyLocked", + "index": 18, + "docs": [ + "The max supply is locked and can't be changed." + ] + }, + { + "name": "MaxSupplyTooSmall", + "index": 19, + "docs": [ + "The provided max supply is less than the number of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "index": 20, + "docs": [ + "The given item ID is unknown." + ] + }, + { + "name": "UnknownSwap", + "index": 21, + "docs": [ + "Swap doesn't exist." + ] + }, + { + "name": "MetadataNotFound", + "index": 22, + "docs": [ + "The given item has no metadata set." + ] + }, + { + "name": "AttributeNotFound", + "index": 23, + "docs": [ + "The provided attribute can't be found." + ] + }, + { + "name": "NotForSale", + "index": 24, + "docs": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "index": 25, + "docs": [ + "The provided bid is too low." + ] + }, + { + "name": "ReachedApprovalLimit", + "index": 26, + "docs": [ + "The item has reached its approval limit." + ] + }, + { + "name": "DeadlineExpired", + "index": 27, + "docs": [ + "The deadline has already expired." + ] + }, + { + "name": "WrongDuration", + "index": 28, + "docs": [ + "The duration provided should be less than or equal to `MaxDeadlineDuration`." + ] + }, + { + "name": "MethodDisabled", + "index": 29, + "docs": [ + "The method is disabled by system settings." + ] + }, + { + "name": "WrongSetting", + "index": 30, + "docs": [ + "The provided setting can't be set." + ] + }, + { + "name": "InconsistentItemConfig", + "index": 31, + "docs": [ + "Item's config already exists and should be equal to the provided one." + ] + }, + { + "name": "NoConfig", + "index": 32, + "docs": [ + "Config for a collection or an item can't be found." + ] + }, + { + "name": "RolesNotCleared", + "index": 33, + "docs": [ + "Some roles were not cleared." + ] + }, + { + "name": "MintNotStarted", + "index": 34, + "docs": [ + "Mint has not started yet." + ] + }, + { + "name": "MintEnded", + "index": 35, + "docs": [ + "Mint has already ended." + ] + }, + { + "name": "AlreadyClaimed", + "index": 36, + "docs": [ + "The provided Item was already used for claiming." + ] + }, + { + "name": "IncorrectData", + "index": 37, + "docs": [ + "The provided data is incorrect." + ] + }, + { + "name": "WrongOrigin", + "index": 38, + "docs": [ + "The extrinsic was sent by the wrong origin." + ] + }, + { + "name": "WrongSignature", + "index": 39, + "docs": [ + "The provided signature is incorrect." + ] + }, + { + "name": "IncorrectMetadata", + "index": 40, + "docs": [ + "The provided metadata might be too long." + ] + }, + { + "name": "MaxAttributesLimitReached", + "index": 41, + "docs": [ + "Can't set more attributes per one call." + ] + }, + { + "name": "WrongNamespace", + "index": 42, + "docs": [ + "The provided namespace isn't supported in this call." + ] + } + ] + } + }, + "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": 657, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 658 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 659, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 658, + "type": { + "path": [ + "pallet_transaction_storage", + "TransactionInfo" + ], + "def": { + "composite": { + "fields": [ + { + "name": "chunk_root", + "type": 11, + "typeName": "::Output" + }, + { + "name": "content_hash", + "type": 11, + "typeName": "::Output" + }, + { + "name": "size", + "type": 4, + "typeName": "u32" + }, + { + "name": "block_chunks", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 659, + "type": { + "def": { + "sequence": { + "type": 658 + } + } + } + }, + { + "id": 660, + "type": { + "path": [ + "pallet_transaction_storage", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "InsufficientFunds", + "index": 0, + "docs": [ + "Insufficient account balance." + ] + }, + { + "name": "NotConfigured", + "index": 1, + "docs": [ + "Invalid configuration." + ] + }, + { + "name": "RenewedNotFound", + "index": 2, + "docs": [ + "Renewed extrinsic is not found." + ] + }, + { + "name": "EmptyTransaction", + "index": 3, + "docs": [ + "Attempting to store empty transaction" + ] + }, + { + "name": "UnexpectedProof", + "index": 4, + "docs": [ + "Proof was not expected in this block." + ] + }, + { + "name": "InvalidProof", + "index": 5, + "docs": [ + "Proof failed verification." + ] + }, + { + "name": "MissingProof", + "index": 6, + "docs": [ + "Missing storage proof." + ] + }, + { + "name": "MissingStateData", + "index": 7, + "docs": [ + "Unable to verify proof becasue state data is missing." + ] + }, + { + "name": "DoubleCheck", + "index": 8, + "docs": [ + "Double proof check in the block." + ] + }, + { + "name": "ProofNotChecked", + "index": 9, + "docs": [ + "Storage proof was not checked in the block." + ] + }, + { + "name": "TransactionTooLarge", + "index": 10, + "docs": [ + "Transaction is too large." + ] + }, + { + "name": "TooManyTransactions", + "index": 11, + "docs": [ + "Too many transactions in the block." + ] + }, + { + "name": "BadContext", + "index": 12, + "docs": [ + "Attempted to call `store` outside of block execution." + ] + } + ] + } + }, + "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": 661, + "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": 40, + "typeName": "Option" + }, + { + "name": "next", + "type": 40, + "typeName": "Option" + }, + { + "name": "bag_upper", + "type": 10, + "typeName": "T::Score" + }, + { + "name": "score", + "type": 10, + "typeName": "T::Score" + } + ] + } + } + } + }, + { + "id": 662, + "type": { + "path": [ + "pallet_bags_list", + "list", + "Bag" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "head", + "type": 40, + "typeName": "Option" + }, + { + "name": "tail", + "type": 40, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 663, + "type": { + "def": { + "sequence": { + "type": 10 + } + } + } + }, + { + "id": 664, + "type": { + "path": [ + "pallet_bags_list", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "List", + "fields": [ + { + "type": 665, + "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": 665, + "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": 666, + "type": { + "path": [ + "pallet_child_bounties", + "ChildBounty" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "parent_bounty", + "type": 4, + "typeName": "BountyIndex" + }, + { + "name": "value", + "type": 6, + "typeName": "Balance" + }, + { + "name": "fee", + "type": 6, + "typeName": "Balance" + }, + { + "name": "curator_deposit", + "type": 6, + "typeName": "Balance" + }, + { + "name": "status", + "type": 667, + "typeName": "ChildBountyStatus" + } + ] + } + } + } + }, + { + "id": 667, + "type": { + "path": [ + "pallet_child_bounties", + "ChildBountyStatus" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Added", + "index": 0 + }, + { + "name": "CuratorProposed", + "fields": [ + { + "name": "curator", + "type": 0, + "typeName": "AccountId" + } + ], + "index": 1 + }, + { + "name": "Active", + "fields": [ + { + "name": "curator", + "type": 0, + "typeName": "AccountId" + } + ], + "index": 2 + }, + { + "name": "PendingPayout", + "fields": [ + { + "name": "curator", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "beneficiary", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "unlock_at", + "type": 4, + "typeName": "BlockNumber" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 668, + "type": { + "path": [ + "pallet_child_bounties", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "ParentBountyNotActive", + "index": 0, + "docs": [ + "The parent bounty is not in active state." + ] + }, + { + "name": "InsufficientBountyBalance", + "index": 1, + "docs": [ + "The bounty balance is not enough to add new child-bounty." + ] + }, + { + "name": "TooManyChildBounties", + "index": 2, + "docs": [ + "Number of child bounties exceeds limit `MaxActiveChildBountyCount`." + ] + } + ] + } + }, + "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": 669, + "type": { + "path": [ + "pallet_referenda", + "types", + "ReferendumInfo" + ], + "params": [ + { + "name": "TrackId", + "type": 93 + }, + { + "name": "RuntimeOrigin", + "type": 128 + }, + { + "name": "Moment", + "type": 4 + }, + { + "name": "Call", + "type": 120 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Tally", + "type": 382 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "ScheduleAddress", + "type": 87 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Ongoing", + "fields": [ + { + "type": 670, + "typeName": "ReferendumStatus" + } + ], + "index": 0 + }, + { + "name": "Approved", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 672, + "typeName": "Option>" + }, + { + "type": 672, + "typeName": "Option>" + } + ], + "index": 1 + }, + { + "name": "Rejected", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 672, + "typeName": "Option>" + }, + { + "type": 672, + "typeName": "Option>" + } + ], + "index": 2 + }, + { + "name": "Cancelled", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 672, + "typeName": "Option>" + }, + { + "type": 672, + "typeName": "Option>" + } + ], + "index": 3 + }, + { + "name": "TimedOut", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 672, + "typeName": "Option>" + }, + { + "type": 672, + "typeName": "Option>" + } + ], + "index": 4 + }, + { + "name": "Killed", + "fields": [ + { + "type": 4, + "typeName": "Moment" + } + ], + "index": 5 + } + ] + } + } + } + }, + { + "id": 670, + "type": { + "path": [ + "pallet_referenda", + "types", + "ReferendumStatus" + ], + "params": [ + { + "name": "TrackId", + "type": 93 + }, + { + "name": "RuntimeOrigin", + "type": 128 + }, + { + "name": "Moment", + "type": 4 + }, + { + "name": "Call", + "type": 120 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Tally", + "type": 382 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "ScheduleAddress", + "type": 87 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "track", + "type": 93, + "typeName": "TrackId" + }, + { + "name": "origin", + "type": 128, + "typeName": "RuntimeOrigin" + }, + { + "name": "proposal", + "type": 120, + "typeName": "Call" + }, + { + "name": "enactment", + "type": 350, + "typeName": "DispatchTime" + }, + { + "name": "submitted", + "type": 4, + "typeName": "Moment" + }, + { + "name": "submission_deposit", + "type": 671, + "typeName": "Deposit" + }, + { + "name": "decision_deposit", + "type": 672, + "typeName": "Option>" + }, + { + "name": "deciding", + "type": 673, + "typeName": "Option>" + }, + { + "name": "tally", + "type": 382, + "typeName": "Tally" + }, + { + "name": "in_queue", + "type": 41, + "typeName": "bool" + }, + { + "name": "alarm", + "type": 675, + "typeName": "Option<(Moment, ScheduleAddress)>" + } + ] + } + } + } + }, + { + "id": 671, + "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": 672, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 671 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 671 + } + ], + "index": 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": [ + "pallet_referenda", + "types", + "DecidingStatus" + ], + "params": [ + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "since", + "type": 4, + "typeName": "BlockNumber" + }, + { + "name": "confirming", + "type": 37, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 675, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 676 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 676 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 676, + "type": { + "def": { + "tuple": [ + 4, + 87 + ] + } + } + }, + { + "id": 677, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 564 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 563, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 678, + "type": { + "def": { + "sequence": { + "type": 679 + } + } + } + }, + { + "id": 679, + "type": { + "def": { + "tuple": [ + 93, + 680 + ] + } + } + }, + { + "id": 680, + "type": { + "path": [ + "pallet_referenda", + "types", + "TrackInfo" + ], + "params": [ + { + "name": "Balance", + "type": 6 + }, + { + "name": "Moment", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "name", + "type": 405, + "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": 681, + "typeName": "Curve" + }, + { + "name": "min_support", + "type": 681, + "typeName": "Curve" + } + ] + } + } + } + }, + { + "id": 681, + "type": { + "path": [ + "pallet_referenda", + "types", + "Curve" + ], + "def": { + "variant": { + "variants": [ + { + "name": "LinearDecreasing", + "fields": [ + { + "name": "length", + "type": 46, + "typeName": "Perbill" + }, + { + "name": "floor", + "type": 46, + "typeName": "Perbill" + }, + { + "name": "ceil", + "type": 46, + "typeName": "Perbill" + } + ], + "index": 0 + }, + { + "name": "SteppedDecreasing", + "fields": [ + { + "name": "begin", + "type": 46, + "typeName": "Perbill" + }, + { + "name": "end", + "type": 46, + "typeName": "Perbill" + }, + { + "name": "step", + "type": 46, + "typeName": "Perbill" + }, + { + "name": "period", + "type": 46, + "typeName": "Perbill" + } + ], + "index": 1 + }, + { + "name": "Reciprocal", + "fields": [ + { + "name": "factor", + "type": 682, + "typeName": "FixedI64" + }, + { + "name": "x_offset", + "type": 682, + "typeName": "FixedI64" + }, + { + "name": "y_offset", + "type": 682, + "typeName": "FixedI64" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 682, + "type": { + "path": [ + "sp_arithmetic", + "fixed_point", + "FixedI64" + ], + "def": { + "composite": { + "fields": [ + { + "type": 683, + "typeName": "i64" + } + ] + } + } + } + }, + { + "id": 683, + "type": { + "def": { + "primitive": "i64" + } + } + }, + { + "id": 684, + "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": 685, + "type": { + "path": [ + "pallet_remark", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Empty", + "index": 0, + "docs": [ + "Attempting to store empty data." + ] + }, + { + "name": "BadContext", + "index": 1, + "docs": [ + "Attempted to call `store` outside of block execution." + ] + } + ] + } + }, + "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": 686, + "type": { + "def": { + "tuple": [ + 0, + 93 + ] + } + } + }, + { + "id": 687, + "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": 688, + "typeName": "Casting" + } + ], + "index": 0 + }, + { + "name": "Delegating", + "fields": [ + { + "type": 694, + "typeName": "Delegating" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 688, + "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": 689, + "typeName": "BoundedVec<(PollIndex, AccountVote), MaxVotes>" + }, + { + "name": "delegations", + "type": 692, + "typeName": "Delegations" + }, + { + "name": "prior", + "type": 693, + "typeName": "PriorLock" + } + ] + } + } + } + }, + { + "id": 689, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 690 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 691, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 690, + "type": { + "def": { + "tuple": [ + 4, + 354 + ] + } + } + }, + { + "id": 691, + "type": { + "def": { + "sequence": { + "type": 690 + } + } + } + }, + { + "id": 692, + "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": 693, + "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": 694, + "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": 356, + "typeName": "Conviction" + }, + { + "name": "delegations", + "type": 692, + "typeName": "Delegations" + }, + { + "name": "prior", + "type": 693, + "typeName": "PriorLock" + } + ] + } + } + } + }, + { + "id": 695, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 696 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 697, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 696, + "type": { + "def": { + "tuple": [ + 93, + 6 + ] + } + } + }, + { + "id": 697, + "type": { + "def": { + "sequence": { + "type": 696 + } + } + } + }, + { + "id": 698, + "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": 699, + "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": 700, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 11 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 402, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 701, + "type": { + "path": [ + "pallet_collective", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotMember", + "index": 0, + "docs": [ + "Account is not a member" + ] + }, + { + "name": "DuplicateProposal", + "index": 1, + "docs": [ + "Duplicate proposals not allowed" + ] + }, + { + "name": "ProposalMissing", + "index": 2, + "docs": [ + "Proposal must exist" + ] + }, + { + "name": "WrongIndex", + "index": 3, + "docs": [ + "Mismatched index" + ] + }, + { + "name": "DuplicateVote", + "index": 4, + "docs": [ + "Duplicate vote ignored" + ] + }, + { + "name": "AlreadyInitialized", + "index": 5, + "docs": [ + "Members are already initialized!" + ] + }, + { + "name": "TooEarly", + "index": 6, + "docs": [ + "The close call was made too early, before the end of the voting." + ] + }, + { + "name": "TooManyProposals", + "index": 7, + "docs": [ + "There can only be a maximum of `MaxProposals` active proposals." + ] + }, + { + "name": "WrongProposalWeight", + "index": 8, + "docs": [ + "The given weight bound for the proposal was too low." + ] + }, + { + "name": "WrongProposalLength", + "index": 9, + "docs": [ + "The given length bound for the proposal was too low." + ] + } + ] + } + }, + "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": 702, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 362 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 703, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 703, + "type": { + "def": { + "sequence": { + "type": 362 + } + } + } + }, + { + "id": 704, + "type": { + "path": [ + "pallet_alliance", + "MemberRole" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Fellow", + "index": 0 + }, + { + "name": "Ally", + "index": 1 + }, + { + "name": "Retiring", + "index": 2 + } + ] + } + } + } + }, + { + "id": 705, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 0 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 83, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 706, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 368 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 707, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 707, + "type": { + "def": { + "sequence": { + "type": 368 + } + } + } + }, + { + "id": 708, + "type": { + "path": [ + "pallet_alliance", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "AllianceNotYetInitialized", + "index": 0, + "docs": [ + "The Alliance has not been initialized yet, therefore accounts cannot join it." + ] + }, + { + "name": "AllianceAlreadyInitialized", + "index": 1, + "docs": [ + "The Alliance has been initialized, therefore cannot be initialized again." + ] + }, + { + "name": "AlreadyMember", + "index": 2, + "docs": [ + "Account is already a member." + ] + }, + { + "name": "NotMember", + "index": 3, + "docs": [ + "Account is not a member." + ] + }, + { + "name": "NotAlly", + "index": 4, + "docs": [ + "Account is not an ally." + ] + }, + { + "name": "NoVotingRights", + "index": 5, + "docs": [ + "Account does not have voting rights." + ] + }, + { + "name": "AlreadyElevated", + "index": 6, + "docs": [ + "Account is already an elevated (fellow) member." + ] + }, + { + "name": "AlreadyUnscrupulous", + "index": 7, + "docs": [ + "Item is already listed as unscrupulous." + ] + }, + { + "name": "AccountNonGrata", + "index": 8, + "docs": [ + "Account has been deemed unscrupulous by the Alliance and is not welcome to join or be", + "nominated." + ] + }, + { + "name": "NotListedAsUnscrupulous", + "index": 9, + "docs": [ + "Item has not been deemed unscrupulous." + ] + }, + { + "name": "TooManyUnscrupulousItems", + "index": 10, + "docs": [ + "The number of unscrupulous items exceeds `MaxUnscrupulousItems`." + ] + }, + { + "name": "TooLongWebsiteUrl", + "index": 11, + "docs": [ + "Length of website URL exceeds `MaxWebsiteUrlLength`." + ] + }, + { + "name": "InsufficientFunds", + "index": 12, + "docs": [ + "Balance is insufficient for the required deposit." + ] + }, + { + "name": "WithoutIdentityDisplayAndWebsite", + "index": 13, + "docs": [ + "The account's identity does not have display field and website field." + ] + }, + { + "name": "WithoutGoodIdentityJudgement", + "index": 14, + "docs": [ + "The account's identity has no good judgement." + ] + }, + { + "name": "MissingProposalHash", + "index": 15, + "docs": [ + "The proposal hash is not found." + ] + }, + { + "name": "MissingAnnouncement", + "index": 16, + "docs": [ + "The announcement is not found." + ] + }, + { + "name": "TooManyMembers", + "index": 17, + "docs": [ + "Number of members exceeds `MaxMembersCount`." + ] + }, + { + "name": "TooManyAnnouncements", + "index": 18, + "docs": [ + "Number of announcements exceeds `MaxAnnouncementsCount`." + ] + }, + { + "name": "BadWitness", + "index": 19, + "docs": [ + "Invalid witness data given." + ] + }, + { + "name": "AlreadyRetiring", + "index": 20, + "docs": [ + "Account already gave retirement notice" + ] + }, + { + "name": "RetirementNoticeNotGiven", + "index": 21, + "docs": [ + "Account did not give a retirement notice required to retire." + ] + }, + { + "name": "RetirementPeriodNotPassed", + "index": 22, + "docs": [ + "Retirement period has not passed." + ] + }, + { + "name": "FellowsMissing", + "index": 23, + "docs": [ + "Fellows must be provided to initialize the Alliance." + ] + } + ] + } + }, + "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": 709, + "type": { + "path": [ + "pallet_nomination_pools", + "PoolMember" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "points", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "last_recorded_reward_counter", + "type": 443, + "typeName": "T::RewardCounter" + }, + { + "name": "unbonding_eras", + "type": 710, + "typeName": "BoundedBTreeMap, T::MaxUnbonding>" + } + ] + } + } + } + }, + { + "id": 710, + "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": 711, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 711, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 4 + }, + { + "name": "V", + "type": 6 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 563 + } + ] + } + } + } + }, + { + "id": 712, + "type": { + "path": [ + "pallet_nomination_pools", + "BondedPoolInner" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "points", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "state", + "type": 371, + "typeName": "PoolState" + }, + { + "name": "member_counter", + "type": 4, + "typeName": "u32" + }, + { + "name": "roles", + "type": 713, + "typeName": "PoolRoles" + } + ] + } + } + } + }, + { + "id": 713, + "type": { + "path": [ + "pallet_nomination_pools", + "PoolRoles" + ], + "params": [ + { + "name": "AccountId", + "type": 0 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "depositor", + "type": 0, + "typeName": "AccountId" + }, + { + "name": "root", + "type": 40, + "typeName": "Option" + }, + { + "name": "nominator", + "type": 40, + "typeName": "Option" + }, + { + "name": "bouncer", + "type": 40, + "typeName": "Option" + } + ] + } + } + } + }, + { + "id": 714, + "type": { + "path": [ + "pallet_nomination_pools", + "RewardPool" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "last_recorded_reward_counter", + "type": 443, + "typeName": "T::RewardCounter" + }, + { + "name": "last_recorded_total_payouts", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "total_rewards_claimed", + "type": 6, + "typeName": "BalanceOf" + } + ] + } + } + } + }, + { + "id": 715, + "type": { + "path": [ + "pallet_nomination_pools", + "SubPools" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "no_era", + "type": 716, + "typeName": "UnbondPool" + }, + { + "name": "with_era", + "type": 717, + "typeName": "BoundedBTreeMap, TotalUnbondingPools>" + } + ] + } + } + } + }, + { + "id": 716, + "type": { + "path": [ + "pallet_nomination_pools", + "UnbondPool" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "points", + "type": 6, + "typeName": "BalanceOf" + }, + { + "name": "balance", + "type": 6, + "typeName": "BalanceOf" + } + ] + } + } + } + }, + { + "id": 717, + "type": { + "path": [ + "bounded_collections", + "bounded_btree_map", + "BoundedBTreeMap" + ], + "params": [ + { + "name": "K", + "type": 4 + }, + { + "name": "V", + "type": 716 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 718, + "typeName": "BTreeMap" + } + ] + } + } + } + }, + { + "id": 718, + "type": { + "path": [ + "BTreeMap" + ], + "params": [ + { + "name": "K", + "type": 4 + }, + { + "name": "V", + "type": 716 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 719 + } + ] + } + } + } + }, + { + "id": 719, + "type": { + "def": { + "sequence": { + "type": 720 + } + } + } + }, + { + "id": 720, + "type": { + "def": { + "tuple": [ + 4, + 716 + ] + } + } + }, + { + "id": 721, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 722, + "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": "PoolMemberNotFound", + "index": 1, + "docs": [ + "An account is not a member." + ] + }, + { + "name": "RewardPoolNotFound", + "index": 2, + "docs": [ + "A reward pool does not exist. In all cases this is a system logic error." + ] + }, + { + "name": "SubPoolsNotFound", + "index": 3, + "docs": [ + "A sub pool does not exist." + ] + }, + { + "name": "AccountBelongsToOtherPool", + "index": 4, + "docs": [ + "An account is already delegating in another pool. An account may only belong to one", + "pool at a time." + ] + }, + { + "name": "FullyUnbonding", + "index": 5, + "docs": [ + "The member is fully unbonded (and thus cannot access the bonded and reward pool", + "anymore to, for example, collect rewards)." + ] + }, + { + "name": "MaxUnbondingLimit", + "index": 6, + "docs": [ + "The member cannot unbond further chunks due to reaching the limit." + ] + }, + { + "name": "CannotWithdrawAny", + "index": 7, + "docs": [ + "None of the funds can be withdrawn yet because the bonding duration has not passed." + ] + }, + { + "name": "MinimumBondNotMet", + "index": 8, + "docs": [ + "The amount does not meet the minimum bond to either join or create a pool.", + "", + "The depositor can never 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": 9, + "docs": [ + "The transaction could not be executed due to overflow risk for the pool." + ] + }, + { + "name": "NotDestroying", + "index": 10, + "docs": [ + "A pool must be in [`PoolState::Destroying`] in order for the depositor to unbond or for", + "other members to be permissionlessly unbonded." + ] + }, + { + "name": "NotNominator", + "index": 11, + "docs": [ + "The caller does not have nominating permissions for the pool." + ] + }, + { + "name": "NotKickerOrDestroying", + "index": 12, + "docs": [ + "Either a) the caller cannot make a valid kick or b) the pool is not destroying." + ] + }, + { + "name": "NotOpen", + "index": 13, + "docs": [ + "The pool is not open to join" + ] + }, + { + "name": "MaxPools", + "index": 14, + "docs": [ + "The system is maxed out on pools." + ] + }, + { + "name": "MaxPoolMembers", + "index": 15, + "docs": [ + "Too many members in the pool or system." + ] + }, + { + "name": "CanNotChangeState", + "index": 16, + "docs": [ + "The pools state cannot be changed." + ] + }, + { + "name": "DoesNotHavePermission", + "index": 17, + "docs": [ + "The caller does not have adequate permissions." + ] + }, + { + "name": "MetadataExceedsMaxLen", + "index": 18, + "docs": [ + "Metadata exceeds [`Config::MaxMetadataLen`]" + ] + }, + { + "name": "Defensive", + "fields": [ + { + "type": 723, + "typeName": "DefensiveError" + } + ], + "index": 19, + "docs": [ + "Some error occurred that should never happen. This should be reported to the", + "maintainers." + ] + }, + { + "name": "PartialUnbondNotAllowedPermissionlessly", + "index": 20, + "docs": [ + "Partial unbonding now allowed permissionlessly." + ] + }, + { + "name": "PoolIdInUse", + "index": 21, + "docs": [ + "Pool id currently in use." + ] + }, + { + "name": "InvalidPoolId", + "index": 22, + "docs": [ + "Pool id provided is not correct/usable." + ] + }, + { + "name": "BondExtraRestricted", + "index": 23, + "docs": [ + "Bonding extra is restricted to the exact pending reward amount." + ] + } + ] + } + }, + "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": 723, + "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 + } + ] + } + } + } + }, + { + "id": 724, + "type": { + "path": [ + "pallet_referenda", + "types", + "ReferendumInfo" + ], + "params": [ + { + "name": "TrackId", + "type": 93 + }, + { + "name": "RuntimeOrigin", + "type": 128 + }, + { + "name": "Moment", + "type": 4 + }, + { + "name": "Call", + "type": 120 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Tally", + "type": 394 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "ScheduleAddress", + "type": 87 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Ongoing", + "fields": [ + { + "type": 725, + "typeName": "ReferendumStatus" + } + ], + "index": 0 + }, + { + "name": "Approved", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 672, + "typeName": "Option>" + }, + { + "type": 672, + "typeName": "Option>" + } + ], + "index": 1 + }, + { + "name": "Rejected", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 672, + "typeName": "Option>" + }, + { + "type": 672, + "typeName": "Option>" + } + ], + "index": 2 + }, + { + "name": "Cancelled", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 672, + "typeName": "Option>" + }, + { + "type": 672, + "typeName": "Option>" + } + ], + "index": 3 + }, + { + "name": "TimedOut", + "fields": [ + { + "type": 4, + "typeName": "Moment" + }, + { + "type": 672, + "typeName": "Option>" + }, + { + "type": 672, + "typeName": "Option>" + } + ], + "index": 4 + }, + { + "name": "Killed", + "fields": [ + { + "type": 4, + "typeName": "Moment" + } + ], + "index": 5 + } + ] + } + } + } + }, + { + "id": 725, + "type": { + "path": [ + "pallet_referenda", + "types", + "ReferendumStatus" + ], + "params": [ + { + "name": "TrackId", + "type": 93 + }, + { + "name": "RuntimeOrigin", + "type": 128 + }, + { + "name": "Moment", + "type": 4 + }, + { + "name": "Call", + "type": 120 + }, + { + "name": "Balance", + "type": 6 + }, + { + "name": "Tally", + "type": 394 + }, + { + "name": "AccountId", + "type": 0 + }, + { + "name": "ScheduleAddress", + "type": 87 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "track", + "type": 93, + "typeName": "TrackId" + }, + { + "name": "origin", + "type": 128, + "typeName": "RuntimeOrigin" + }, + { + "name": "proposal", + "type": 120, + "typeName": "Call" + }, + { + "name": "enactment", + "type": 350, + "typeName": "DispatchTime" + }, + { + "name": "submitted", + "type": 4, + "typeName": "Moment" + }, + { + "name": "submission_deposit", + "type": 671, + "typeName": "Deposit" + }, + { + "name": "decision_deposit", + "type": 672, + "typeName": "Option>" + }, + { + "name": "deciding", + "type": 673, + "typeName": "Option>" + }, + { + "name": "tally", + "type": 394, + "typeName": "Tally" + }, + { + "name": "in_queue", + "type": 41, + "typeName": "bool" + }, + { + "name": "alarm", + "type": 675, + "typeName": "Option<(Moment, ScheduleAddress)>" + } + ] + } + } + } + }, + { + "id": 726, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 87 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 403, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 727, + "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": 728, + "type": { + "path": [ + "pallet_ranked_collective", + "MemberRecord" + ], + "def": { + "composite": { + "fields": [ + { + "name": "rank", + "type": 93, + "typeName": "Rank" + } + ] + } + } + } + }, + { + "id": 729, + "type": { + "def": { + "tuple": [ + 93, + 0 + ] + } + } + }, + { + "id": 730, + "type": { + "def": { + "tuple": [ + 93, + 4 + ] + } + } + }, + { + "id": 731, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 732, + "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": 733, + "type": { + "path": [ + "pallet_fast_unstake", + "types", + "UnstakeRequest" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "stashes", + "type": 734, + "typeName": "BoundedVec<(T::AccountId, BalanceOf), T::BatchSize>" + }, + { + "name": "checked", + "type": 735, + "typeName": "BoundedVec>" + } + ] + } + } + } + }, + { + "id": 734, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 60 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 59, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 735, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 4 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 105, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 736, + "type": { + "path": [ + "pallet_fast_unstake", + "pallet", + "Error" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "NotController", + "index": 0, + "docs": [ + "The provided Controller account was not found.", + "", + "This means that the given account is not bonded." + ] + }, + { + "name": "AlreadyQueued", + "index": 1, + "docs": [ + "The bonded account has already been queued." + ] + }, + { + "name": "NotFullyBonded", + "index": 2, + "docs": [ + "The bonded account has active unlocking chunks." + ] + }, + { + "name": "NotQueued", + "index": 3, + "docs": [ + "The provided un-staker is not in the `Queue`." + ] + }, + { + "name": "AlreadyHead", + "index": 4, + "docs": [ + "The provided un-staker is already in Head, and cannot deregister." + ] + }, + { + "name": "CallNotAllowed", + "index": 5, + "docs": [ + "The call is not allowed at this point because the pallet is not active." + ] + } + ] + } + }, + "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_message_queue", + "BookState" + ], + "params": [ + { + "name": "MessageOrigin", + "type": 4 + } + ], + "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": 738, + "typeName": "Option>" + }, + { + "name": "message_count", + "type": 10, + "typeName": "u64" + }, + { + "name": "size", + "type": 10, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 738, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 739 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 739 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 739, + "type": { + "path": [ + "pallet_message_queue", + "Neighbours" + ], + "params": [ + { + "name": "MessageOrigin", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "prev", + "type": 4, + "typeName": "MessageOrigin" + }, + { + "name": "next", + "type": 4, + "typeName": "MessageOrigin" + } + ] + } + } + } + }, + { + "id": 740, + "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": 741, + "typeName": "BoundedVec>" + } + ] + } + } + } + }, + { + "id": 741, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 742, + "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": 743, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 2 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 744, + "type": { + "path": [ + "sp_runtime", + "generic", + "unchecked_extrinsic", + "UncheckedExtrinsic" + ], + "params": [ + { + "name": "Address", + "type": 147 + }, + { + "name": "Call", + "type": 121 + }, + { + "name": "Signature", + "type": 335 + }, + { + "name": "Extra", + "type": 745 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12 + } + ] + } + } + } + }, + { + "id": 745, + "type": { + "def": { + "tuple": [ + 746, + 747, + 748, + 749, + 750, + 752, + 753, + 754 + ] + } + } + }, + { + "id": 746, + "type": { + "path": [ + "frame_system", + "extensions", + "check_non_zero_sender", + "CheckNonZeroSender" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 747, + "type": { + "path": [ + "frame_system", + "extensions", + "check_spec_version", + "CheckSpecVersion" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 748, + "type": { + "path": [ + "frame_system", + "extensions", + "check_tx_version", + "CheckTxVersion" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 749, + "type": { + "path": [ + "frame_system", + "extensions", + "check_genesis", + "CheckGenesis" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 750, + "type": { + "path": [ + "frame_system", + "extensions", + "check_mortality", + "CheckMortality" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 751, + "typeName": "Era" + } + ] + } + } + } + }, + { + "id": 751, + "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": 752, + "type": { + "path": [ + "frame_system", + "extensions", + "check_nonce", + "CheckNonce" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 138, + "typeName": "T::Index" + } + ] + } + } + } + }, + { + "id": 753, + "type": { + "path": [ + "frame_system", + "extensions", + "check_weight", + "CheckWeight" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 754, + "type": { + "path": [ + "pallet_asset_tx_payment", + "ChargeAssetTxPayment" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "tip", + "type": 76, + "typeName": "BalanceOf" + }, + { + "name": "asset_id", + "type": 37, + "typeName": "Option>" + } + ] + } + } + } + }, + { + "id": 755, + "type": { + "path": [ + "kitchensink_runtime", + "Runtime" + ], + "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, + 0 + ], + "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": 7 + }, + "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": 11 + } + }, + "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": 12 + } + }, + "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": 11 + }, + "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": 13 + }, + "default": [ + 0 + ], + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "ty": { + "Plain": 17 + }, + "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": 11, + "value": 403 + } + }, + "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": 404 + }, + "default": [ + 0 + ], + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "ty": { + "Plain": 41 + }, + "default": [ + 0 + ], + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "ty": { + "Plain": 41 + }, + "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": 401 + }, + "default": [ + 0 + ], + "docs": [ + " The execution phase of the block." + ] + } + ] + }, + "calls": { + "ty": 122 + }, + "event": { + "ty": 20 + }, + "constants": [ + { + "name": "BlockWeights", + "ty": 406, + "value": [ + 98, + 79, + 215, + 90, + 0, + 11, + 0, + 32, + 74, + 169, + 209, + 1, + 19, + 255, + 255, + 255, + 255, + 255, + 255, + 255, + 255, + 2, + 192, + 205, + 23, + 0, + 1, + 11, + 0, + 88, + 22, + 168, + 46, + 1, + 19, + 102, + 102, + 102, + 102, + 102, + 102, + 102, + 166, + 1, + 11, + 0, + 152, + 247, + 62, + 93, + 1, + 19, + 255, + 255, + 255, + 255, + 255, + 255, + 255, + 191, + 1, + 0, + 0, + 2, + 192, + 205, + 23, + 0, + 1, + 11, + 0, + 224, + 104, + 18, + 163, + 1, + 19, + 102, + 102, + 102, + 102, + 102, + 102, + 102, + 230, + 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, + 2, + 192, + 205, + 23, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "ty": 409, + "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": [ + 96, + 9, + 0, + 0 + ], + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "ty": 411, + "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": 412, + "value": [ + 16, + 110, + 111, + 100, + 101, + 56, + 115, + 117, + 98, + 115, + 116, + 114, + 97, + 116, + 101, + 45, + 110, + 111, + 100, + 101, + 10, + 0, + 0, + 0, + 12, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 68, + 223, + 106, + 203, + 104, + 153, + 7, + 96, + 155, + 4, + 0, + 0, + 0, + 55, + 227, + 151, + 252, + 124, + 145, + 245, + 228, + 1, + 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, + 237, + 153, + 197, + 172, + 178, + 94, + 237, + 245, + 3, + 0, + 0, + 0, + 23, + 166, + 188, + 13, + 0, + 98, + 174, + 179, + 1, + 0, + 0, + 0, + 24, + 239, + 88, + 163, + 182, + 123, + 167, + 112, + 1, + 0, + 0, + 0, + 203, + 202, + 37, + 227, + 159, + 20, + 35, + 135, + 2, + 0, + 0, + 0, + 104, + 122, + 212, + 74, + 211, + 127, + 3, + 194, + 1, + 0, + 0, + 0, + 188, + 157, + 137, + 144, + 79, + 91, + 146, + 63, + 1, + 0, + 0, + 0, + 104, + 182, + 107, + 161, + 34, + 201, + 63, + 167, + 2, + 0, + 0, + 0, + 55, + 200, + 187, + 19, + 80, + 169, + 162, + 168, + 3, + 0, + 0, + 0, + 243, + 255, + 20, + 213, + 171, + 82, + 112, + 89, + 3, + 0, + 0, + 0, + 137, + 154, + 37, + 12, + 190, + 132, + 242, + 80, + 1, + 0, + 0, + 0, + 145, + 213, + 223, + 24, + 176, + 210, + 207, + 88, + 1, + 0, + 0, + 0, + 171, + 60, + 5, + 114, + 41, + 31, + 235, + 139, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1 + ], + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "ty": 93, + "value": [ + 42, + 0 + ], + "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": 416 + }, + "index": 0 + }, + { + "name": "Utility", + "storage": null, + "calls": { + "ty": 126 + }, + "event": { + "ty": 29 + }, + "constants": [ + { + "name": "batched_calls_limit", + "ty": 4, + "value": [ + 170, + 42, + 0, + 0 + ], + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "error": { + "ty": 417 + }, + "index": 1 + }, + { + "name": "Babe", + "storage": { + "prefix": "Babe", + "entries": [ + { + "name": "EpochIndex", + "modifier": "Default", + "ty": { + "Plain": 10 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Current epoch index." + ] + }, + { + "name": "Authorities", + "modifier": "Default", + "ty": { + "Plain": 418 + }, + "default": [ + 0 + ], + "docs": [ + " Current epoch authorities." + ] + }, + { + "name": "GenesisSlot", + "modifier": "Default", + "ty": { + "Plain": 140 + }, + "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": 140 + }, + "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": 142 + }, + "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": 418 + }, + "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": 421 + } + }, + "default": [ + 0 + ], + "docs": [ + " TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay." + ] + }, + { + "name": "Initialized", + "modifier": "Optional", + "ty": { + "Plain": 423 + }, + "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": 88 + }, + "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": 87 + }, + "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": 428 + }, + "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": 428 + }, + "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": 429 + }, + "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": 134 + }, + "event": null, + "constants": [ + { + "name": "EpochDuration", + "ty": 10, + "value": [ + 200, + 0, + 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": 10, + "value": [ + 184, + 11, + 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": 432 + }, + "index": 2 + }, + { + "name": "Timestamp", + "storage": { + "prefix": "Timestamp", + "entries": [ + { + "name": "Now", + "modifier": "Default", + "ty": { + "Plain": 10 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "ty": { + "Plain": 41 + }, + "default": [ + 0 + ], + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ] + }, + "calls": { + "ty": 145 + }, + "event": null, + "constants": [ + { + "name": "MinimumPeriod", + "ty": 10, + "value": [ + 220, + 5, + 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": 3 + }, + { + "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": 4 + }, + { + "name": "Indices", + "storage": { + "prefix": "Indices", + "entries": [ + { + "name": "Accounts", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 433 + } + }, + "default": [ + 0 + ], + "docs": [ + " The lookup from index to account." + ] + } + ] + }, + "calls": { + "ty": 146 + }, + "event": { + "ty": 32 + }, + "constants": [ + { + "name": "Deposit", + "ty": 6, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The deposit needed for reserving an index." + ] + } + ], + "error": { + "ty": 434 + }, + "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, + 0 + ], + "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": 435 + } + }, + "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": 439 + } + }, + "default": [ + 0 + ], + "docs": [ + " Named reserves on some account balances." + ] + } + ] + }, + "calls": { + "ty": 149 + }, + "event": { + "ty": 33 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "ty": 6, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum amount required to keep an account open." + ] + }, + { + "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." + ] + } + ], + "error": { + "ty": 442 + }, + "index": 6 + }, + { + "name": "TransactionPayment", + "storage": { + "prefix": "TransactionPayment", + "entries": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "ty": { + "Plain": 443 + }, + "default": [ + 0, + 0, + 100, + 167, + 179, + 182, + 224, + 13, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "ty": { + "Plain": 444 + }, + "default": [ + 0 + ], + "docs": [] + } + ] + }, + "calls": null, + "event": { + "ty": 35 + }, + "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": 7 + }, + { + "name": "AssetTxPayment", + "storage": null, + "calls": null, + "event": { + "ty": 36 + }, + "constants": [], + "error": null, + "index": 8 + }, + { + "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": 43 + }, + "default": [ + 0 + ], + "docs": [ + " Current phase." + ] + }, + { + "name": "QueuedSolution", + "modifier": "Optional", + "ty": { + "Plain": 445 + }, + "default": [ + 0 + ], + "docs": [ + " Current best solution, signed or unsigned, queued to be returned upon `elect`." + ] + }, + { + "name": "Snapshot", + "modifier": "Optional", + "ty": { + "Plain": 447 + }, + "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": 203 + }, + "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": 451 + }, + "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": 454 + } + }, + "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": 42 + }, + "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": 150 + }, + "event": { + "ty": 38 + }, + "constants": [ + { + "name": "UnsignedPhase", + "ty": 4, + "value": [ + 50, + 0, + 0, + 0 + ], + "docs": [ + " Duration of the unsigned phase." + ] + }, + { + "name": "SignedPhase", + "ty": 4, + "value": [ + 50, + 0, + 0, + 0 + ], + "docs": [ + " Duration of the signed phase." + ] + }, + { + "name": "BetterSignedThreshold", + "ty": 46, + "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": 46, + "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": 10, + "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": 8, + "value": [ + 11, + 40, + 132, + 96, + 145, + 46, + 1, + 19, + 102, + 102, + 102, + 102, + 102, + 102, + 102, + 166 + ], + "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, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Base reward for a signed solution" + ] + }, + { + "name": "SignedDepositBase", + "ty": 6, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Base deposit for a signed solution." + ] + }, + { + "name": "SignedDepositByte", + "ty": 6, + "value": [ + 0, + 16, + 165, + 212, + 232, + 0, + 0, + 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": 93, + "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": 8, + "value": [ + 11, + 40, + 132, + 96, + 145, + 46, + 1, + 19, + 102, + 102, + 102, + 102, + 102, + 102, + 102, + 166 + ], + "docs": [] + }, + { + "name": "MinerMaxVotesPerVoter", + "ty": 4, + "value": [ + 16, + 0, + 0, + 0 + ], + "docs": [] + } + ], + "error": { + "ty": 455 + }, + "index": 9 + }, + { + "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": 83 + }, + "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": 46 + }, + "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": 456 + } + }, + "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": 209 + } + }, + "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": 47 + } + }, + "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": 461 + } + }, + "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": 462 + }, + "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": 464, + "value": 75 + } + }, + "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": 464, + "value": 75 + } + }, + "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": 464, + "value": 47 + } + }, + "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": 465 + } + }, + "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": 49 + }, + "default": [ + 0 + ], + "docs": [ + " Mode of era forcing." + ] + }, + { + "name": "SlashRewardFraction", + "modifier": "Default", + "ty": { + "Plain": 46 + }, + "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": 469 + } + }, + "default": [ + 0 + ], + "docs": [ + " All unapplied slashes that are queued for later." + ] + }, + { + "name": "BondedEras", + "modifier": "Default", + "ty": { + "Plain": 403 + }, + "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": 464, + "value": 471 + } + }, + "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": 464, + "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": 472 + } + }, + "default": [ + 0 + ], + "docs": [ + " Slashing spans for stash accounts." + ] + }, + { + "name": "SpanSlash", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 468, + "value": 473 + } + }, + "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": 474 + }, + "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": 211 + }, + "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": 208 + }, + "event": { + "ty": 45 + }, + "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": [ + 160, + 2, + 0, + 0 + ], + "docs": [ + " Number of eras that staked funds must remain bonded for." + ] + }, + { + "name": "SlashDeferDuration", + "ty": 4, + "value": [ + 168, + 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": 476 + }, + "index": 10 + }, + { + "name": "Session", + "storage": { + "prefix": "Session", + "entries": [ + { + "name": "Validators", + "modifier": "Default", + "ty": { + "Plain": 83 + }, + "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": 41 + }, + "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": 477 + }, + "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": 105 + }, + "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": 217 + } + }, + "default": [ + 0 + ], + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 479, + "value": 0 + } + }, + "default": [ + 0 + ], + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ] + }, + "calls": { + "ty": 216 + }, + "event": { + "ty": 50 + }, + "constants": [], + "error": { + "ty": 481 + }, + "index": 11 + }, + { + "name": "Democracy", + "storage": { + "prefix": "Democracy", + "entries": [ + { + "name": "PublicPropCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The number of (public) proposals that have been made so far." + ] + }, + { + "name": "PublicProps", + "modifier": "Default", + "ty": { + "Plain": 482 + }, + "default": [ + 0 + ], + "docs": [ + " The public proposals. Unsorted. The second item is the proposal." + ] + }, + { + "name": "DepositOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 485 + } + }, + "default": [ + 0 + ], + "docs": [ + " Those who have locked a deposit.", + "", + " TWOX-NOTE: Safe, as increasing integer keys are safe." + ] + }, + { + "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": "LowestUnbaked", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The lowest referendum index representing an unbaked referendum. Equal to", + " `ReferendumCount` if there isn't a unbaked referendum." + ] + }, + { + "name": "ReferendumInfoOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 487 + } + }, + "default": [ + 0 + ], + "docs": [ + " Information concerning any given referendum.", + "", + " TWOX-NOTE: SAFE as indexes are not under an attacker’s control." + ] + }, + { + "name": "VotingOf", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 490 + } + }, + "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 votes for a particular voter. We store the balance for the number of votes that we", + " have recorded. The second item is the total amount of delegations, that will be added.", + "", + " TWOX-NOTE: SAFE as `AccountId`s are crypto hashes anyway." + ] + }, + { + "name": "LastTabledWasExternal", + "modifier": "Default", + "ty": { + "Plain": 41 + }, + "default": [ + 0 + ], + "docs": [ + " True if the last referendum tabled was submitted externally. False if it was a public", + " proposal." + ] + }, + { + "name": "NextExternal", + "modifier": "Optional", + "ty": { + "Plain": 496 + }, + "default": [ + 0 + ], + "docs": [ + " The referendum to be tabled whenever it would be valid to table an external proposal.", + " This happens when a referendum needs to be tabled and one of two conditions are met:", + " - `LastTabledWasExternal` is `false`; or", + " - `PublicProps` is empty." + ] + }, + { + "name": "Blacklist", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 11, + "value": 497 + } + }, + "default": [ + 0 + ], + "docs": [ + " A record of who vetoed what. Maps proposal hash to a possible existent block number", + " (until when it may not be resubmitted) and who vetoed it." + ] + }, + { + "name": "Cancellations", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 11, + "value": 41 + } + }, + "default": [ + 0 + ], + "docs": [ + " Record of all proposals that have been subject to emergency cancellation." + ] + }, + { + "name": "MetadataOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 55, + "value": 11 + } + }, + "default": [ + 0 + ], + "docs": [ + " General information concerning any proposal or 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": 219 + }, + "event": { + "ty": 51 + }, + "constants": [ + { + "name": "EnactmentPeriod", + "ty": 4, + "value": [ + 0, + 47, + 13, + 0 + ], + "docs": [ + " The period between a proposal being approved and enacted.", + "", + " It should generally be a little more than the unstake period to ensure that", + " voting stakers have an opportunity to remove themselves from the system in the case", + " where they are on the losing side of a vote." + ] + }, + { + "name": "LaunchPeriod", + "ty": 4, + "value": [ + 0, + 78, + 12, + 0 + ], + "docs": [ + " How often (in blocks) new public referenda are launched." + ] + }, + { + "name": "VotingPeriod", + "ty": 4, + "value": [ + 0, + 78, + 12, + 0 + ], + "docs": [ + " How often (in blocks) to check for new votes." + ] + }, + { + "name": "VoteLockingPeriod", + "ty": 4, + "value": [ + 0, + 47, + 13, + 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." + ] + }, + { + "name": "MinimumDeposit", + "ty": 6, + "value": [ + 0, + 0, + 193, + 111, + 242, + 134, + 35, + 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": "InstantAllowed", + "ty": 41, + "value": [ + 1 + ], + "docs": [ + " Indicator for whether an emergency origin is even allowed to happen. Some chains may", + " want to set this permanently to `false`, others may want to condition it on things such", + " as an upgrade having happened recently." + ] + }, + { + "name": "FastTrackVotingPeriod", + "ty": 4, + "value": [ + 128, + 81, + 1, + 0 + ], + "docs": [ + " Minimum voting period allowed for a fast-track referendum." + ] + }, + { + "name": "CooloffPeriod", + "ty": 4, + "value": [ + 0, + 78, + 12, + 0 + ], + "docs": [ + " Period in blocks where an external proposal may not be re-submitted after being vetoed." + ] + }, + { + "name": "MaxVotes", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of votes for an account.", + "", + " Also used to compute weight, an overly big value can", + " lead to extrinsic with very big weight: see `delegate` for instance." + ] + }, + { + "name": "MaxProposals", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of public proposals that can exist at any time." + ] + }, + { + "name": "MaxDeposits", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of deposits a public proposal may have at any time." + ] + }, + { + "name": "MaxBlacklisted", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of items which can be blacklisted." + ] + } + ], + "error": { + "ty": 498 + }, + "index": 12 + }, + { + "name": "Council", + "storage": { + "prefix": "Council", + "entries": [ + { + "name": "Proposals", + "modifier": "Default", + "ty": { + "Plain": 499 + }, + "default": [ + 0 + ], + "docs": [ + " The hashes of the active proposals." + ] + }, + { + "name": "ProposalOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 11, + "value": 121 + } + }, + "default": [ + 0 + ], + "docs": [ + " Actual proposal for a given hash, if it's current." + ] + }, + { + "name": "Voting", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 11, + "value": 500 + } + }, + "default": [ + 0 + ], + "docs": [ + " Votes on a given proposal, if it is ongoing." + ] + }, + { + "name": "ProposalCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Proposals so far." + ] + }, + { + "name": "Members", + "modifier": "Default", + "ty": { + "Plain": 83 + }, + "default": [ + 0 + ], + "docs": [ + " The current members of the collective. This is stored sorted (just by value)." + ] + }, + { + "name": "Prime", + "modifier": "Optional", + "ty": { + "Plain": 0 + }, + "default": [ + 0 + ], + "docs": [ + " The prime member that helps determine the default vote behavior in case of absentations." + ] + } + ] + }, + "calls": { + "ty": 222 + }, + "event": { + "ty": 56 + }, + "constants": [], + "error": { + "ty": 501 + }, + "index": 13 + }, + { + "name": "TechnicalCommittee", + "storage": { + "prefix": "TechnicalCommittee", + "entries": [ + { + "name": "Proposals", + "modifier": "Default", + "ty": { + "Plain": 502 + }, + "default": [ + 0 + ], + "docs": [ + " The hashes of the active proposals." + ] + }, + { + "name": "ProposalOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 11, + "value": 121 + } + }, + "default": [ + 0 + ], + "docs": [ + " Actual proposal for a given hash, if it's current." + ] + }, + { + "name": "Voting", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 11, + "value": 500 + } + }, + "default": [ + 0 + ], + "docs": [ + " Votes on a given proposal, if it is ongoing." + ] + }, + { + "name": "ProposalCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Proposals so far." + ] + }, + { + "name": "Members", + "modifier": "Default", + "ty": { + "Plain": 83 + }, + "default": [ + 0 + ], + "docs": [ + " The current members of the collective. This is stored sorted (just by value)." + ] + }, + { + "name": "Prime", + "modifier": "Optional", + "ty": { + "Plain": 0 + }, + "default": [ + 0 + ], + "docs": [ + " The prime member that helps determine the default vote behavior in case of absentations." + ] + } + ] + }, + "calls": { + "ty": 225 + }, + "event": { + "ty": 57 + }, + "constants": [], + "error": { + "ty": 503 + }, + "index": 14 + }, + { + "name": "Elections", + "storage": { + "prefix": "Elections", + "entries": [ + { + "name": "Members", + "modifier": "Default", + "ty": { + "Plain": 504 + }, + "default": [ + 0 + ], + "docs": [ + " The current elected members.", + "", + " Invariant: Always sorted based on account id." + ] + }, + { + "name": "RunnersUp", + "modifier": "Default", + "ty": { + "Plain": 504 + }, + "default": [ + 0 + ], + "docs": [ + " The current reserved runners-up.", + "", + " Invariant: Always sorted based on rank (worse to best). Upon removal of a member, the", + " last (i.e. _best_) runner-up will be replaced." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "ty": { + "Plain": 59 + }, + "default": [ + 0 + ], + "docs": [ + " The present candidate list. A current member or runner-up can never enter this vector", + " and is always implicitly assumed to be a candidate.", + "", + " Second element is the deposit.", + "", + " Invariant: Always sorted based on account id." + ] + }, + { + "name": "ElectionRounds", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The total number of vote rounds that have happened, excluding the upcoming one." + ] + }, + { + "name": "Voting", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 506 + } + }, + "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 + ], + "docs": [ + " Votes and locked stake of a particular voter.", + "", + " TWOX-NOTE: SAFE as `AccountId` is a crypto hash." + ] + } + ] + }, + "calls": { + "ty": 226 + }, + "event": { + "ty": 58 + }, + "constants": [ + { + "name": "PalletId", + "ty": 266, + "value": [ + 112, + 104, + 114, + 101, + 108, + 101, + 99, + 116 + ], + "docs": [ + " Identifier for the elections-phragmen pallet's lock" + ] + }, + { + "name": "CandidacyBond", + "ty": 6, + "value": [ + 0, + 128, + 198, + 164, + 126, + 141, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " How much should be locked up in order to submit one's candidacy." + ] + }, + { + "name": "VotingBondBase", + "ty": 6, + "value": [ + 0, + 240, + 67, + 109, + 227, + 106, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Base deposit associated with voting.", + "", + " This should be sensibly high to economically ensure the pallet cannot be attacked by", + " creating a gigantic number of votes." + ] + }, + { + "name": "VotingBondFactor", + "ty": 6, + "value": [ + 0, + 0, + 204, + 123, + 159, + 174, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount of bond that need to be locked for each vote (32 bytes)." + ] + }, + { + "name": "DesiredMembers", + "ty": 4, + "value": [ + 13, + 0, + 0, + 0 + ], + "docs": [ + " Number of members to elect." + ] + }, + { + "name": "DesiredRunnersUp", + "ty": 4, + "value": [ + 7, + 0, + 0, + 0 + ], + "docs": [ + " Number of runners_up to keep." + ] + }, + { + "name": "TermDuration", + "ty": 4, + "value": [ + 128, + 19, + 3, + 0 + ], + "docs": [ + " How long each seat is kept. This defines the next block number at which an election", + " round will happen. If set to zero, no elections are ever triggered and the module will", + " be in passive mode." + ] + }, + { + "name": "MaxCandidates", + "ty": 4, + "value": [ + 64, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of candidates in a phragmen election.", + "", + " Warning: This impacts the size of the election which is run onchain. Chose wisely, and", + " consider how it will impact `T::WeightInfo::election_phragmen`.", + "", + " When this limit is reached no more candidates are accepted in the election." + ] + }, + { + "name": "MaxVoters", + "ty": 4, + "value": [ + 0, + 2, + 0, + 0 + ], + "docs": [ + " The maximum number of voters to allow in a phragmen election.", + "", + " Warning: This impacts the size of the election which is run onchain. Chose wisely, and", + " consider how it will impact `T::WeightInfo::election_phragmen`.", + "", + " When the limit is reached the new voters are ignored." + ] + }, + { + "name": "MaxVotesPerVoter", + "ty": 4, + "value": [ + 16, + 0, + 0, + 0 + ], + "docs": [ + " Maximum numbers of votes per voter.", + "", + " Warning: This impacts the size of the election which is run onchain. Chose wisely, and", + " consider how it will impact `T::WeightInfo::election_phragmen`." + ] + } + ], + "error": { + "ty": 507 + }, + "index": 15 + }, + { + "name": "TechnicalMembership", + "storage": { + "prefix": "TechnicalMembership", + "entries": [ + { + "name": "Members", + "modifier": "Default", + "ty": { + "Plain": 508 + }, + "default": [ + 0 + ], + "docs": [ + " The current membership, stored as an ordered Vec." + ] + }, + { + "name": "Prime", + "modifier": "Optional", + "ty": { + "Plain": 0 + }, + "default": [ + 0 + ], + "docs": [ + " The current prime member, if one exists." + ] + } + ] + }, + "calls": { + "ty": 228 + }, + "event": { + "ty": 61 + }, + "constants": [], + "error": { + "ty": 509 + }, + "index": 16 + }, + { + "name": "Grandpa", + "storage": { + "prefix": "Grandpa", + "entries": [ + { + "name": "State", + "modifier": "Default", + "ty": { + "Plain": 510 + }, + "default": [ + 0 + ], + "docs": [ + " State of the current authority set." + ] + }, + { + "name": "PendingChange", + "modifier": "Optional", + "ty": { + "Plain": 511 + }, + "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": 87 + }, + "default": [ + 0 + ], + "docs": [ + " `true` if we are currently stalled." + ] + }, + { + "name": "CurrentSetId", + "modifier": "Default", + "ty": { + "Plain": 10 + }, + "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": 10, + "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": 229 + }, + "event": { + "ty": 62 + }, + "constants": [ + { + "name": "MaxAuthorities", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " Max Authorities in use" + ] + }, + { + "name": "MaxSetIdSessionEntries", + "ty": 10, + "value": [ + 192, + 15, + 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": 513 + }, + "index": 17 + }, + { + "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": 514 + } + }, + "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": 515 + }, + "default": [ + 0 + ], + "docs": [ + " Proposal indices that have been approved but not yet awarded." + ] + } + ] + }, + "calls": { + "ty": 241 + }, + "event": { + "ty": 67 + }, + "constants": [ + { + "name": "ProposalBond", + "ty": 516, + "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, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 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": 317, + "value": [ + 0 + ], + "docs": [ + " Maximum amount of funds that should be placed in a deposit for making a proposal." + ] + }, + { + "name": "SpendPeriod", + "ty": 4, + "value": [ + 128, + 112, + 0, + 0 + ], + "docs": [ + " Period between successive spends." + ] + }, + { + "name": "Burn", + "ty": 516, + "value": [ + 32, + 161, + 7, + 0 + ], + "docs": [ + " Percentage of spare funds (if any) that are burnt per spend period." + ] + }, + { + "name": "PalletId", + "ty": 517, + "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": 518 + }, + "index": 18 + }, + { + "name": "Contracts", + "storage": { + "prefix": "Contracts", + "entries": [ + { + "name": "PristineCode", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 11, + "value": 519 + } + }, + "default": [ + 0 + ], + "docs": [ + " A mapping from an original code hash to the original code, untouched by instrumentation." + ] + }, + { + "name": "CodeStorage", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 11, + "value": 520 + } + }, + "default": [ + 0 + ], + "docs": [ + " A mapping between an original code hash and instrumented wasm code, ready for execution." + ] + }, + { + "name": "OwnerInfoOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 11, + "value": 522 + } + }, + "default": [ + 0 + ], + "docs": [ + " A mapping between an original code hash and its owner information." + ] + }, + { + "name": "Nonce", + "modifier": "Default", + "ty": { + "Plain": 10 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " This is a **monotonic** counter incremented on contract instantiation.", + "", + " This is used in order to generate unique trie ids for contracts.", + " The trie id of a new contract is calculated from hash(account_id, nonce).", + " The nonce is required because otherwise the following sequence would lead to", + " a possible collision of storage:", + "", + " 1. Create a new contract.", + " 2. Terminate the contract.", + " 3. Immediately recreate the contract with the same account_id.", + "", + " This is bad because the contents of a trie are deleted lazily and there might be", + " storage of the old instantiation still in it when the new contract is created. Please", + " note that we can't replace the counter by the block number because the sequence above", + " can happen in the same block. We also can't keep the account counter in memory only", + " because storage is the only way to communicate across different extrinsics in the", + " same block.", + "", + " # Note", + "", + " Do not use it to determine the number of contracts. It won't be decremented if", + " a contract is destroyed." + ] + }, + { + "name": "ContractInfoOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 523 + } + }, + "default": [ + 0 + ], + "docs": [ + " The code associated with a given account.", + "", + " TWOX-NOTE: SAFE since `AccountId` is a secure hash." + ] + }, + { + "name": "DeletionQueue", + "modifier": "Default", + "ty": { + "Plain": 525 + }, + "default": [ + 0 + ], + "docs": [ + " Evicted contracts that await child trie deletion.", + "", + " Child trie deletion is a heavy operation depending on the amount of storage items", + " stored in said trie. Therefore this operation is performed lazily in `on_initialize`." + ] + } + ] + }, + "calls": { + "ty": 242 + }, + "event": { + "ty": 68 + }, + "constants": [ + { + "name": "Schedule", + "ty": 528, + "value": [ + 4, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 4, + 0, + 0, + 128, + 0, + 0, + 0, + 16, + 0, + 0, + 0, + 0, + 16, + 0, + 0, + 0, + 1, + 0, + 0, + 32, + 0, + 0, + 0, + 0, + 64, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 12, + 8, + 0, + 0, + 240, + 25, + 0, + 0, + 6, + 23, + 0, + 0, + 183, + 12, + 0, + 0, + 67, + 27, + 0, + 0, + 239, + 8, + 0, + 0, + 244, + 12, + 0, + 0, + 81, + 21, + 0, + 0, + 46, + 0, + 0, + 0, + 3, + 75, + 0, + 0, + 23, + 90, + 0, + 0, + 241, + 8, + 0, + 0, + 145, + 3, + 0, + 0, + 230, + 9, + 0, + 0, + 235, + 10, + 0, + 0, + 156, + 9, + 0, + 0, + 252, + 26, + 0, + 0, + 226, + 27, + 0, + 0, + 183, + 23, + 0, + 0, + 93, + 226, + 225, + 0, + 88, + 8, + 0, + 0, + 176, + 8, + 0, + 0, + 166, + 9, + 0, + 0, + 106, + 9, + 0, + 0, + 18, + 8, + 0, + 0, + 203, + 7, + 0, + 0, + 10, + 8, + 0, + 0, + 98, + 11, + 0, + 0, + 80, + 11, + 0, + 0, + 27, + 11, + 0, + 0, + 71, + 11, + 0, + 0, + 73, + 11, + 0, + 0, + 200, + 11, + 0, + 0, + 87, + 11, + 0, + 0, + 49, + 12, + 0, + 0, + 90, + 11, + 0, + 0, + 142, + 11, + 0, + 0, + 226, + 10, + 0, + 0, + 126, + 10, + 0, + 0, + 128, + 10, + 0, + 0, + 81, + 35, + 0, + 0, + 208, + 32, + 0, + 0, + 106, + 36, + 0, + 0, + 161, + 32, + 0, + 0, + 233, + 10, + 0, + 0, + 128, + 13, + 0, + 0, + 233, + 10, + 0, + 0, + 2, + 11, + 0, + 0, + 39, + 11, + 0, + 0, + 29, + 11, + 0, + 0, + 34, + 11, + 0, + 0, + 229, + 10, + 0, + 0, + 22, + 132, + 13, + 0, + 120, + 66, + 237, + 179, + 6, + 241, + 59, + 146, + 107, + 220, + 6, + 65, + 60, + 118, + 18, + 17, + 0, + 120, + 174, + 170, + 8, + 0, + 60, + 246, + 125, + 13, + 0, + 120, + 30, + 22, + 13, + 0, + 120, + 118, + 253, + 74, + 0, + 120, + 166, + 78, + 13, + 0, + 120, + 50, + 21, + 13, + 0, + 120, + 246, + 235, + 12, + 0, + 120, + 6, + 58, + 13, + 0, + 120, + 6, + 139, + 67, + 0, + 240, + 78, + 37, + 6, + 0, + 0, + 78, + 27, + 12, + 0, + 120, + 217, + 1, + 0, + 214, + 10, + 106, + 0, + 133, + 3, + 141, + 3, + 0, + 6, + 77, + 115, + 219, + 113, + 234, + 254, + 235, + 84, + 0, + 240, + 98, + 224, + 174, + 0, + 200, + 118, + 216, + 87, + 30, + 53, + 41, + 169, + 13, + 0, + 222, + 81, + 11, + 0, + 140, + 129, + 12, + 0, + 122, + 209, + 47, + 31, + 145, + 4, + 141, + 185, + 0, + 113, + 179, + 8, + 30, + 112, + 19, + 66, + 41, + 184, + 70, + 63, + 39, + 31, + 129, + 4, + 161, + 179, + 8, + 234, + 89, + 6, + 7, + 129, + 4, + 41, + 45, + 8, + 142, + 23, + 17, + 7, + 161, + 4, + 17, + 64, + 8, + 246, + 82, + 48, + 31, + 161, + 4, + 169, + 198, + 8, + 230, + 224, + 246, + 33, + 53, + 42, + 234, + 159, + 250, + 145, + 229, + 99, + 46, + 231, + 27, + 119, + 229, + 128, + 202, + 106, + 81, + 34, + 169, + 55, + 225, + 1, + 0, + 3, + 216, + 131, + 126, + 65, + 2, + 11, + 1, + 0, + 214, + 0, + 160, + 0, + 132, + 13, + 24, + 0, + 37, + 24, + 0, + 18, + 68, + 32, + 0, + 160, + 229, + 61, + 0, + 78, + 21, + 44, + 0, + 160, + 197, + 49, + 0, + 30, + 113, + 25, + 0, + 160, + 177, + 19, + 0, + 70, + 106, + 27, + 0, + 168, + 181, + 19, + 0, + 174, + 234, + 0, + 9, + 241, + 5, + 242, + 62, + 51, + 2, + 73, + 3, + 210, + 194, + 8, + 0, + 60, + 210, + 198, + 13, + 0, + 25, + 3, + 66, + 40, + 7, + 0, + 72 + ], + "docs": [ + " Cost schedule and limits." + ] + }, + { + "name": "DeletionQueueDepth", + "ty": 4, + "value": [ + 128, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of contracts that can be pending for deletion.", + "", + " When a contract is deleted by calling `seal_terminate` it becomes inaccessible", + " immediately, but the deletion of the storage items it has accumulated is performed", + " later. The contract is put into the deletion queue. This defines how many", + " contracts can be queued up at the same time. If that limit is reached `seal_terminate`", + " will fail. The action must be retried in a later block in that case.", + "", + " The reasons for limiting the queue depth are:", + "", + " 1. The queue is in storage in order to be persistent between blocks. We want to limit", + " \tthe amount of storage that can be consumed.", + " 2. The queue is stored in a vector and needs to be decoded as a whole when reading", + "\t\tit at the end of each block. Longer queues take more weight to decode and hence", + "\t\tlimit the amount of items that can be deleted per block." + ] + }, + { + "name": "DeletionWeightLimit", + "ty": 8, + "value": [ + 11, + 0, + 152, + 247, + 62, + 93, + 1, + 19, + 255, + 255, + 255, + 255, + 255, + 255, + 255, + 191 + ], + "docs": [ + " The maximum amount of weight that can be consumed per block for lazy trie removal.", + "", + " The amount of weight that is dedicated per block to work on the deletion queue. Larger", + " values allow more trie keys to be deleted in each block but reduce the amount of", + " weight that is left for transactions. See [`Self::DeletionQueueDepth`] for more", + " information about the deletion queue." + ] + }, + { + "name": "DepositPerByte", + "ty": 6, + "value": [ + 0, + 96, + 222, + 251, + 116, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount of balance a caller has to pay for each byte of storage.", + "", + " # Note", + "", + " Changing this value for an existing chain might need a storage migration." + ] + }, + { + "name": "DepositPerItem", + "ty": 6, + "value": [ + 0, + 240, + 171, + 117, + 164, + 13, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount of balance a caller has to pay for each storage item.", + "", + " # Note", + "", + " Changing this value for an existing chain might need a storage migration." + ] + }, + { + "name": "MaxCodeLen", + "ty": 4, + "value": [ + 0, + 236, + 1, + 0 + ], + "docs": [ + " The maximum length of a contract code in bytes. This limit applies to the instrumented", + " version of the code. Therefore `instantiate_with_code` can fail even when supplying", + " a wasm binary below this maximum size.", + "", + " The value should be chosen carefully taking into the account the overall memory limit", + " your runtime has, as well as the [maximum allowed callstack", + " depth](#associatedtype.CallStack). Look into the `integrity_test()` for some insights." + ] + }, + { + "name": "MaxStorageKeyLen", + "ty": 4, + "value": [ + 128, + 0, + 0, + 0 + ], + "docs": [ + " The maximum allowable length in bytes for storage keys." + ] + }, + { + "name": "UnsafeUnstableInterface", + "ty": 41, + "value": [ + 0 + ], + "docs": [ + " Make contract callable functions marked as `#[unstable]` available.", + "", + " Contracts that use `#[unstable]` functions won't be able to be uploaded unless", + " this is set to `true`. This is only meant for testnets and dev nodes in order to", + " experiment with new features.", + "", + " # Warning", + "", + " Do **not** set to `true` on productions chains." + ] + }, + { + "name": "MaxDebugBufferLen", + "ty": 4, + "value": [ + 0, + 0, + 32, + 0 + ], + "docs": [ + " The maximum length of the debug buffer in bytes." + ] + } + ], + "error": { + "ty": 532 + }, + "index": 19 + }, + { + "name": "Sudo", + "storage": { + "prefix": "Sudo", + "entries": [ + { + "name": "Key", + "modifier": "Optional", + "ty": { + "Plain": 0 + }, + "default": [ + 0 + ], + "docs": [ + " The `AccountId` of the sudo key." + ] + } + ] + }, + "calls": { + "ty": 245 + }, + "event": { + "ty": 69 + }, + "constants": [], + "error": { + "ty": 533 + }, + "index": 20 + }, + { + "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": 534 + }, + "default": [ + 0 + ], + "docs": [ + " The current set of keys that may issue a heartbeat." + ] + }, + { + "name": "ReceivedHeartbeats", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 87, + "value": 536 + } + }, + "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": 464, + "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": 246 + }, + "event": { + "ty": 70 + }, + "constants": [ + { + "name": "UnsignedPriority", + "ty": 10, + "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": 541 + }, + "index": 21 + }, + { + "name": "AuthorityDiscovery", + "storage": { + "prefix": "AuthorityDiscovery", + "entries": [ + { + "name": "Keys", + "modifier": "Default", + "ty": { + "Plain": 542 + }, + "default": [ + 0 + ], + "docs": [ + " Keys of the current authority set." + ] + }, + { + "name": "NextKeys", + "modifier": "Default", + "ty": { + "Plain": 542 + }, + "default": [ + 0 + ], + "docs": [ + " Keys of the next authority set." + ] + } + ] + }, + "calls": null, + "event": null, + "constants": [], + "error": null, + "index": 22 + }, + { + "name": "Offences", + "storage": { + "prefix": "Offences", + "entries": [ + { + "name": "Reports", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 11, + "value": 544 + } + }, + "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": 545, + "value": 402 + } + }, + "default": [ + 0 + ], + "docs": [ + " A vector of reports of the same kind that happened at the same time slot." + ] + }, + { + "name": "ReportsByKindIndex", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 80, + "value": 12 + } + }, + "default": [ + 0 + ], + "docs": [ + " Enumerates all reports of a kind along with the time they happened.", + "", + " All reports are sorted by the time of offence.", + "", + " Note that the actual type of this mapping is `Vec`, this is because values of", + " different types are not supported at the moment so we are doing the manual serialization." + ] + } + ] + }, + "calls": null, + "event": { + "ty": 79 + }, + "constants": [], + "error": null, + "index": 23 + }, + { + "name": "Historical", + "storage": null, + "calls": null, + "event": null, + "constants": [], + "error": null, + "index": 24 + }, + { + "name": "RandomnessCollectiveFlip", + "storage": { + "prefix": "RandomnessCollectiveFlip", + "entries": [ + { + "name": "RandomMaterial", + "modifier": "Default", + "ty": { + "Plain": 546 + }, + "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": 25 + }, + { + "name": "Identity", + "storage": { + "prefix": "Identity", + "entries": [ + { + "name": "IdentityOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 547 + } + }, + "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": 291 + } + }, + "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": 551 + } + }, + "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": 553 + }, + "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": 254 + }, + "event": { + "ty": 81 + }, + "constants": [ + { + "name": "BasicDeposit", + "ty": 6, + "value": [ + 0, + 128, + 198, + 164, + 126, + 141, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount held on deposit for a registered identity" + ] + }, + { + "name": "FieldDeposit", + "ty": 6, + "value": [ + 0, + 160, + 49, + 169, + 95, + 227, + 0, + 0, + 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, + 128, + 244, + 32, + 230, + 181, + 0, + 0, + 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": 557 + }, + "index": 26 + }, + { + "name": "Society", + "storage": { + "prefix": "Society", + "entries": [ + { + "name": "Founder", + "modifier": "Optional", + "ty": { + "Plain": 0 + }, + "default": [ + 0 + ], + "docs": [ + " The first member." + ] + }, + { + "name": "Rules", + "modifier": "Optional", + "ty": { + "Plain": 11 + }, + "default": [ + 0 + ], + "docs": [ + " A hash of the rules of this society concerning membership. Can only be set once and", + " only by the founder." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "ty": { + "Plain": 558 + }, + "default": [ + 0 + ], + "docs": [ + " The current set of candidates; bidders that are attempting to become members." + ] + }, + { + "name": "SuspendedCandidates", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 561 + } + }, + "default": [ + 0 + ], + "docs": [ + " The set of suspended candidates." + ] + }, + { + "name": "Pot", + "modifier": "Default", + "ty": { + "Plain": 6 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Amount of our account balance that is specifically for the next round's bid(s)." + ] + }, + { + "name": "Head", + "modifier": "Optional", + "ty": { + "Plain": 0 + }, + "default": [ + 0 + ], + "docs": [ + " The most primary from the most recently approved members." + ] + }, + { + "name": "Members", + "modifier": "Default", + "ty": { + "Plain": 83 + }, + "default": [ + 0 + ], + "docs": [ + " The current set of members, ordered." + ] + }, + { + "name": "SuspendedMembers", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 41 + } + }, + "default": [ + 0 + ], + "docs": [ + " The set of suspended members." + ] + }, + { + "name": "Bids", + "modifier": "Default", + "ty": { + "Plain": 558 + }, + "default": [ + 0 + ], + "docs": [ + " The current bids, stored ordered by the value of the bid." + ] + }, + { + "name": "Vouching", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 562 + } + }, + "default": [ + 0 + ], + "docs": [ + " Members currently vouching or banned from vouching again" + ] + }, + { + "name": "Payouts", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 563 + } + }, + "default": [ + 0 + ], + "docs": [ + " Pending payouts; ordered by block number, with the amount that should be paid out." + ] + }, + { + "name": "Strikes", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 4 + } + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The ongoing number of losing votes cast by the member." + ] + }, + { + "name": "Votes", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 565, + "value": 566 + } + }, + "default": [ + 0 + ], + "docs": [ + " Double map from Candidate -> Voter -> (Maybe) Vote." + ] + }, + { + "name": "Defender", + "modifier": "Optional", + "ty": { + "Plain": 0 + }, + "default": [ + 0 + ], + "docs": [ + " The defending member currently being challenged." + ] + }, + { + "name": "DefenderVotes", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 566 + } + }, + "default": [ + 0 + ], + "docs": [ + " Votes for the defender." + ] + }, + { + "name": "MaxMembers", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The max number of members for the society at one time." + ] + } + ] + }, + "calls": { + "ty": 295 + }, + "event": { + "ty": 82 + }, + "constants": [ + { + "name": "PalletId", + "ty": 517, + "value": [ + 112, + 121, + 47, + 115, + 111, + 99, + 105, + 101 + ], + "docs": [ + " The societies's pallet id" + ] + }, + { + "name": "CandidateDeposit", + "ty": 6, + "value": [ + 0, + 128, + 198, + 164, + 126, + 141, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum amount of a deposit required for a bid to be made." + ] + }, + { + "name": "WrongSideDeduction", + "ty": 6, + "value": [ + 0, + 128, + 244, + 32, + 230, + 181, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount of the unpaid reward that gets deducted in the case that either a skeptic", + " doesn't vote or someone votes in the wrong way." + ] + }, + { + "name": "MaxStrikes", + "ty": 4, + "value": [ + 10, + 0, + 0, + 0 + ], + "docs": [ + " The number of times a member may vote the wrong way (or not at all, when they are a", + " skeptic) before they become suspended." + ] + }, + { + "name": "PeriodSpend", + "ty": 6, + "value": [ + 0, + 0, + 197, + 46, + 188, + 162, + 177, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount of incentive paid within each period. Doesn't include VoterTip." + ] + }, + { + "name": "RotationPeriod", + "ty": 4, + "value": [ + 0, + 119, + 1, + 0 + ], + "docs": [ + " The number of blocks between candidate/membership rotation periods." + ] + }, + { + "name": "MaxLockDuration", + "ty": 4, + "value": [ + 0, + 156, + 218, + 1 + ], + "docs": [ + " The maximum duration of the payout lock." + ] + }, + { + "name": "ChallengePeriod", + "ty": 4, + "value": [ + 128, + 19, + 3, + 0 + ], + "docs": [ + " The number of blocks between membership challenges." + ] + }, + { + "name": "MaxCandidateIntake", + "ty": 4, + "value": [ + 10, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of candidates that we accept per round." + ] + } + ], + "error": { + "ty": 567 + }, + "index": 27 + }, + { + "name": "Recovery", + "storage": { + "prefix": "Recovery", + "entries": [ + { + "name": "Recoverable", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 568 + } + }, + "default": [ + 0 + ], + "docs": [ + " The set of recoverable accounts and their recovery configuration." + ] + }, + { + "name": "ActiveRecoveries", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 565, + "value": 570 + } + }, + "default": [ + 0 + ], + "docs": [ + " Active recovery attempts.", + "", + " First account is the account to be recovered, and the second account", + " is the user trying to recover the account." + ] + }, + { + "name": "Proxy", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 0 + } + }, + "default": [ + 0 + ], + "docs": [ + " The list of allowed proxy accounts.", + "", + " Map from the user who can access it to the recovered account." + ] + } + ] + }, + "calls": { + "ty": 297 + }, + "event": { + "ty": 84 + }, + "constants": [ + { + "name": "ConfigDepositBase", + "ty": 6, + "value": [ + 0, + 64, + 99, + 82, + 191, + 198, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The base amount of currency needed to reserve for creating a recovery configuration.", + "", + " This is held for an additional storage item whose value size is", + " `2 + sizeof(BlockNumber, Balance)` bytes." + ] + }, + { + "name": "FriendDepositFactor", + "ty": 6, + "value": [ + 0, + 32, + 61, + 136, + 121, + 45, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount of currency needed per additional user when creating a recovery", + " configuration.", + "", + " This is held for adding `sizeof(AccountId)` bytes more into a pre-existing storage", + " value." + ] + }, + { + "name": "MaxFriends", + "ty": 4, + "value": [ + 9, + 0, + 0, + 0 + ], + "docs": [ + " The maximum amount of friends allowed in a recovery configuration.", + "", + " NOTE: The threshold programmed in this Pallet uses u16, so it does", + " not really make sense to have a limit here greater than u16::MAX.", + " But also, that is a lot more than you should probably set this value", + " to anyway..." + ] + }, + { + "name": "RecoveryDeposit", + "ty": 6, + "value": [ + 0, + 64, + 99, + 82, + 191, + 198, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The base amount of currency needed to reserve for starting a recovery.", + "", + " This is primarily held for deterring malicious recovery attempts, and should", + " have a value large enough that a bad actor would choose not to place this", + " deposit. It also acts to fund additional storage item whose value size is", + " `sizeof(BlockNumber, Balance + T * AccountId)` bytes. Where T is a configurable", + " threshold." + ] + } + ], + "error": { + "ty": 571 + }, + "index": 28 + }, + { + "name": "Vesting", + "storage": { + "prefix": "Vesting", + "entries": [ + { + "name": "Vesting", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 572 + } + }, + "default": [ + 0 + ], + "docs": [ + " Information regarding the vesting of a given account." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "ty": { + "Plain": 574 + }, + "default": [ + 0 + ], + "docs": [ + " Storage version of the pallet.", + "", + " New networks start with latest version, as determined by the genesis build." + ] + } + ] + }, + "calls": { + "ty": 298 + }, + "event": { + "ty": 85 + }, + "constants": [ + { + "name": "MinVestedTransfer", + "ty": 6, + "value": [ + 0, + 0, + 193, + 111, + 242, + 134, + 35, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum amount transferred to call `vested_transfer`." + ] + }, + { + "name": "MaxVestingSchedules", + "ty": 4, + "value": [ + 28, + 0, + 0, + 0 + ], + "docs": [] + } + ], + "error": { + "ty": 575 + }, + "index": 29 + }, + { + "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": 576 + } + }, + "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": 87 + } + }, + "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": 300 + }, + "event": { + "ty": 86 + }, + "constants": [ + { + "name": "MaximumWeight", + "ty": 8, + "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": [ + 0, + 2, + 0, + 0 + ], + "docs": [ + " The maximum number of scheduled calls in the queue for a single block." + ] + } + ], + "error": { + "ty": 580 + }, + "index": 30 + }, + { + "name": "Glutton", + "storage": { + "prefix": "Glutton", + "entries": [ + { + "name": "Compute", + "modifier": "Default", + "ty": { + "Plain": 46 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Storage value used to specify what percentage of the left over `ref_time`", + " to consume during `on_idle`." + ] + }, + { + "name": "Storage", + "modifier": "Default", + "ty": { + "Plain": 46 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Storage value used the specify what percentage of left over `proof_size`", + " to consume during `on_idle`." + ] + }, + { + "name": "TrashData", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 581 + } + }, + "default": [ + 0 + ], + "docs": [ + " Storage map used for wasting proof size.", + "", + " It contains no meaningful data - hence the name \"Trash\". The maximal number of entries is", + " set to 65k, which is just below the next jump at 16^4. This is important to reduce the proof", + " size benchmarking overestimate. The assumption here is that we won't have more than 65k *", + " 1KiB = 65MiB of proof size wasting in practice. However, this limit is not enforced, so the", + " pallet would also work out of the box with more entries, but its benchmarked proof weight", + " would possibly be underestimated in that case." + ] + }, + { + "name": "TrashDataCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " The current number of entries in `TrashData`." + ] + } + ] + }, + "calls": { + "ty": 302 + }, + "event": { + "ty": 89 + }, + "constants": [], + "error": { + "ty": 582 + }, + "index": 31 + }, + { + "name": "Preimage", + "storage": { + "prefix": "Preimage", + "entries": [ + { + "name": "StatusFor", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 11, + "value": 583 + } + }, + "default": [ + 0 + ], + "docs": [ + " The request status of a given hash." + ] + }, + { + "name": "PreimageFor", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 585, + "value": 586 + } + }, + "default": [ + 0 + ], + "docs": [] + } + ] + }, + "calls": { + "ty": 303 + }, + "event": { + "ty": 90 + }, + "constants": [], + "error": { + "ty": 587 + }, + "index": 32 + }, + { + "name": "Proxy", + "storage": { + "prefix": "Proxy", + "entries": [ + { + "name": "Proxies", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 588 + } + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 592 + } + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ] + }, + "calls": { + "ty": 304 + }, + "event": { + "ty": 91 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "ty": 6, + "value": [ + 0, + 240, + 158, + 84, + 76, + 57, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "ty": 6, + "value": [ + 0, + 96, + 170, + 119, + 20, + 180, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "ty": 4, + "value": [ + 32, + 0, + 0, + 0 + ], + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "ty": 4, + "value": [ + 32, + 0, + 0, + 0 + ], + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "ty": 6, + "value": [ + 0, + 240, + 158, + 84, + 76, + 57, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "ty": 6, + "value": [ + 0, + 192, + 84, + 239, + 40, + 104, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "error": { + "ty": 596 + }, + "index": 33 + }, + { + "name": "Multisig", + "storage": { + "prefix": "Multisig", + "entries": [ + { + "name": "Multisigs", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key": 597, + "value": 598 + } + }, + "default": [ + 0 + ], + "docs": [ + " The set of open multisig operations." + ] + } + ] + }, + "calls": { + "ty": 306 + }, + "event": { + "ty": 94 + }, + "constants": [ + { + "name": "DepositBase", + "ty": 6, + "value": [ + 0, + 240, + 28, + 10, + 219, + 237, + 1, + 0, + 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, + 204, + 123, + 159, + 174, + 0, + 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": 599 + }, + "index": 34 + }, + { + "name": "Bounties", + "storage": { + "prefix": "Bounties", + "entries": [ + { + "name": "BountyCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Number of bounty proposals that have been made." + ] + }, + { + "name": "Bounties", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 600 + } + }, + "default": [ + 0 + ], + "docs": [ + " Bounties that have been made." + ] + }, + { + "name": "BountyDescriptions", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 602 + } + }, + "default": [ + 0 + ], + "docs": [ + " The description of each bounty." + ] + }, + { + "name": "BountyApprovals", + "modifier": "Default", + "ty": { + "Plain": 515 + }, + "default": [ + 0 + ], + "docs": [ + " Bounty indices that have been approved but not yet funded." + ] + } + ] + }, + "calls": { + "ty": 308 + }, + "event": { + "ty": 96 + }, + "constants": [ + { + "name": "BountyDepositBase", + "ty": 6, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount held on deposit for placing a bounty proposal." + ] + }, + { + "name": "BountyDepositPayoutDelay", + "ty": 4, + "value": [ + 128, + 112, + 0, + 0 + ], + "docs": [ + " The delay period for which a bounty beneficiary need to wait before claim the payout." + ] + }, + { + "name": "BountyUpdatePeriod", + "ty": 4, + "value": [ + 0, + 39, + 6, + 0 + ], + "docs": [ + " Bounty duration in blocks." + ] + }, + { + "name": "CuratorDepositMultiplier", + "ty": 516, + "value": [ + 32, + 161, + 7, + 0 + ], + "docs": [ + " The curator deposit is calculated as a percentage of the curator fee.", + "", + " This deposit has optional upper and lower bounds with `CuratorDepositMax` and", + " `CuratorDepositMin`." + ] + }, + { + "name": "CuratorDepositMax", + "ty": 317, + "value": [ + 1, + 0, + 0, + 193, + 111, + 242, + 134, + 35, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Maximum amount of funds that should be placed in a deposit for making a proposal." + ] + }, + { + "name": "CuratorDepositMin", + "ty": 317, + "value": [ + 1, + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Minimum amount of funds that should be placed in a deposit for making a proposal." + ] + }, + { + "name": "BountyValueMinimum", + "ty": 6, + "value": [ + 0, + 64, + 99, + 82, + 191, + 198, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Minimum value for a bounty." + ] + }, + { + "name": "DataDepositPerByte", + "ty": 6, + "value": [ + 0, + 16, + 165, + 212, + 232, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount held on deposit per byte within the tip report reason or bounty description." + ] + }, + { + "name": "MaximumReasonLength", + "ty": 4, + "value": [ + 44, + 1, + 0, + 0 + ], + "docs": [ + " Maximum acceptable reason length.", + "", + " Benchmarks depend on this value, be sure to update weights file when changing this value" + ] + } + ], + "error": { + "ty": 603 + }, + "index": 35 + }, + { + "name": "Tips", + "storage": { + "prefix": "Tips", + "entries": [ + { + "name": "Tips", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 11, + "value": 604 + } + }, + "default": [ + 0 + ], + "docs": [ + " TipsMap that are not yet completed. Keyed by the hash of `(reason, who)` from the value.", + " This has the insecure enumerable hash function since the key itself is already", + " guaranteed to be a secure hash." + ] + }, + { + "name": "Reasons", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 11, + "value": 12 + } + }, + "default": [ + 0 + ], + "docs": [ + " Simple preimage lookup from the reason's hash to the original data. Again, has an", + " insecure enumerable hash since the key is guaranteed to be the result of a secure hash." + ] + } + ] + }, + "calls": { + "ty": 309 + }, + "event": { + "ty": 97 + }, + "constants": [ + { + "name": "MaximumReasonLength", + "ty": 4, + "value": [ + 44, + 1, + 0, + 0 + ], + "docs": [ + " Maximum acceptable reason length.", + "", + " Benchmarks depend on this value, be sure to update weights file when changing this value" + ] + }, + { + "name": "DataDepositPerByte", + "ty": 6, + "value": [ + 0, + 16, + 165, + 212, + 232, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount held on deposit per byte within the tip report reason or bounty description." + ] + }, + { + "name": "TipCountdown", + "ty": 4, + "value": [ + 128, + 112, + 0, + 0 + ], + "docs": [ + " The period for which a tip remains open after is has achieved threshold tippers." + ] + }, + { + "name": "TipFindersFee", + "ty": 211, + "value": [ + 20 + ], + "docs": [ + " The percent of the final tip which goes to the original reporter of the tip." + ] + }, + { + "name": "TipReportDepositBase", + "ty": 6, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount held on deposit for placing a tip report." + ] + } + ], + "error": { + "ty": 605 + }, + "index": 36 + }, + { + "name": "Assets", + "storage": { + "prefix": "Assets", + "entries": [ + { + "name": "Asset", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 606 + } + }, + "default": [ + 0 + ], + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 464, + "value": 608 + } + }, + "default": [ + 0 + ], + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 610, + "value": 611 + } + }, + "default": [ + 0 + ], + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 612 + } + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Metadata of an asset." + ] + } + ] + }, + "calls": { + "ty": 310 + }, + "event": { + "ty": 98 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "ty": 4, + "value": [ + 232, + 3, + 0, + 0 + ], + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "ty": 6, + "value": [ + 0, + 0, + 193, + 111, + 242, + 134, + 35, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "ty": 6, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "ty": 6, + "value": [ + 0, + 128, + 198, + 164, + 126, + 141, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "ty": 6, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "ty": 6, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "ty": 4, + "value": [ + 50, + 0, + 0, + 0 + ], + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "error": { + "ty": 613 + }, + "index": 37 + }, + { + "name": "Mmr", + "storage": { + "prefix": "Mmr", + "entries": [ + { + "name": "RootHash", + "modifier": "Default", + "ty": { + "Plain": 11 + }, + "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": 10 + }, + "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": 10, + "value": 11 + } + }, + "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": 38 + }, + { + "name": "Lottery", + "storage": { + "prefix": "Lottery", + "entries": [ + { + "name": "LotteryIndex", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [] + }, + { + "name": "Lottery", + "modifier": "Optional", + "ty": { + "Plain": 614 + }, + "default": [ + 0 + ], + "docs": [ + " The configuration for the current lottery." + ] + }, + { + "name": "Participants", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 615 + } + }, + "default": [ + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Users who have purchased a ticket. (Lottery Index, Tickets Purchased)" + ] + }, + { + "name": "TicketsCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Total number of tickets sold." + ] + }, + { + "name": "Tickets", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 0 + } + }, + "default": [ + 0 + ], + "docs": [ + " Each ticket's owner.", + "", + " May have residual storage from previous lotteries. Use `TicketsCount` to see which ones", + " are actually valid ticket mappings." + ] + }, + { + "name": "CallIndices", + "modifier": "Default", + "ty": { + "Plain": 616 + }, + "default": [ + 0 + ], + "docs": [ + " The calls stored in this pallet to be used in an active lottery if configured", + " by `Config::ValidateCall`." + ] + } + ] + }, + "calls": { + "ty": 311 + }, + "event": { + "ty": 99 + }, + "constants": [ + { + "name": "PalletId", + "ty": 517, + "value": [ + 112, + 121, + 47, + 108, + 111, + 116, + 116, + 111 + ], + "docs": [ + " The Lottery's pallet id" + ] + }, + { + "name": "MaxCalls", + "ty": 4, + "value": [ + 10, + 0, + 0, + 0 + ], + "docs": [ + " The max number of calls available in a single lottery." + ] + }, + { + "name": "MaxGenerateRandom", + "ty": 4, + "value": [ + 10, + 0, + 0, + 0 + ], + "docs": [ + " Number of time we should try to generate a random number that has no modulo bias.", + " The larger this number, the more potential computation is used for picking the winner,", + " but also the more likely that the chosen winner is done fairly." + ] + } + ], + "error": { + "ty": 618 + }, + "index": 39 + }, + { + "name": "Nis", + "storage": { + "prefix": "Nis", + "entries": [ + { + "name": "QueueTotals", + "modifier": "Default", + "ty": { + "Plain": 619 + }, + "default": [ + 177, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 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 totals of items and balances within each queue. Saves a lot of storage reads in the", + " case of sparsely packed queues.", + "", + " The vector is indexed by duration in `Period`s, offset by one, so information on the queue", + " whose duration is one `Period` would be storage `0`." + ] + }, + { + "name": "Queues", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 620 + } + }, + "default": [ + 0 + ], + "docs": [ + " The queues of bids. Indexed by duration (in `Period`s)." + ] + }, + { + "name": "Summary", + "modifier": "Default", + "ty": { + "Plain": 623 + }, + "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 + ], + "docs": [ + " Summary information over the general state." + ] + }, + { + "name": "Receipts", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 624 + } + }, + "default": [ + 0 + ], + "docs": [ + " The currently outstanding receipts, indexed according to the order of creation." + ] + } + ] + }, + "calls": { + "ty": 312 + }, + "event": { + "ty": 101 + }, + "constants": [ + { + "name": "PalletId", + "ty": 517, + "value": [ + 112, + 121, + 47, + 110, + 105, + 115, + 32, + 32 + ], + "docs": [ + " The treasury's pallet id, used for deriving its sovereign account ID." + ] + }, + { + "name": "QueueCount", + "ty": 4, + "value": [ + 44, + 1, + 0, + 0 + ], + "docs": [ + " Number of duration queues in total. This sets the maximum duration supported, which is", + " this value multiplied by `Period`." + ] + }, + { + "name": "MaxQueueLen", + "ty": 4, + "value": [ + 232, + 3, + 0, + 0 + ], + "docs": [ + " Maximum number of items that may be in each duration queue.", + "", + " Must be larger than zero." + ] + }, + { + "name": "FifoQueueLen", + "ty": 4, + "value": [ + 244, + 1, + 0, + 0 + ], + "docs": [ + " Portion of the queue which is free from ordering and just a FIFO.", + "", + " Must be no greater than `MaxQueueLen`." + ] + }, + { + "name": "BasePeriod", + "ty": 4, + "value": [ + 0, + 47, + 13, + 0 + ], + "docs": [ + " The base period for the duration queues. This is the common multiple across all", + " supported freezing durations that can be bid upon." + ] + }, + { + "name": "MinBid", + "ty": 6, + "value": [ + 0, + 0, + 193, + 111, + 242, + 134, + 35, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum amount of funds that may be placed in a bid. Note that this", + " does not actually limit the amount which may be represented in a receipt since bids may", + " be split up by the system.", + "", + " It should be at least big enough to ensure that there is no possible storage spam attack", + " or queue-filling attack." + ] + }, + { + "name": "MinReceipt", + "ty": 102, + "value": [ + 0, + 0, + 193, + 111, + 242, + 134, + 35, + 0 + ], + "docs": [ + " The minimum amount of funds which may intentionally be left remaining under a single", + " receipt." + ] + }, + { + "name": "IntakePeriod", + "ty": 4, + "value": [ + 10, + 0, + 0, + 0 + ], + "docs": [ + " The number of blocks between consecutive attempts to dequeue bids and create receipts.", + "", + " A larger value results in fewer storage hits each block, but a slower period to get to", + " the target." + ] + }, + { + "name": "MaxIntakeWeight", + "ty": 8, + "value": [ + 7, + 0, + 208, + 237, + 144, + 46, + 19, + 153, + 153, + 153, + 153, + 153, + 153, + 153, + 25 + ], + "docs": [ + " The maximum amount of bids that can consolidated into receipts in a single intake. A", + " larger value here means less of the block available for transactions should there be a", + " glut of bids." + ] + }, + { + "name": "ThawThrottle", + "ty": 625, + "value": [ + 0, + 0, + 217, + 233, + 172, + 45, + 120, + 3, + 5, + 0, + 0, + 0 + ], + "docs": [ + " The maximum proportion which may be thawed and the period over which it is reset." + ] + }, + { + "name": "ReserveId", + "ty": 266, + "value": [ + 112, + 121, + 47, + 110, + 105, + 115, + 32, + 32 + ], + "docs": [ + " The name for the reserve ID." + ] + } + ], + "error": { + "ty": 626 + }, + "index": 40 + }, + { + "name": "Uniques", + "storage": { + "prefix": "Uniques", + "entries": [ + { + "name": "Class", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 627 + } + }, + "default": [ + 0 + ], + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 628, + "value": 31 + } + }, + "default": [ + 0 + ], + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 468, + "value": 31 + } + }, + "default": [ + 0 + ], + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 87, + "value": 629 + } + }, + "default": [ + 0 + ], + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 630 + } + }, + "default": [ + 0 + ], + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 87, + "value": 631 + } + }, + "default": [ + 0 + ], + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 632, + "value": 633 + } + }, + "default": [ + 0 + ], + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 87, + "value": 634 + } + }, + "default": [ + 0 + ], + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ] + }, + "calls": { + "ty": 314 + }, + "event": { + "ty": 103 + }, + "constants": [ + { + "name": "CollectionDeposit", + "ty": 6, + "value": [ + 0, + 0, + 193, + 111, + 242, + 134, + 35, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "ty": 6, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "ty": 6, + "value": [ + 0, + 128, + 198, + 164, + 126, + 141, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "ty": 6, + "value": [ + 0, + 128, + 198, + 164, + 126, + 141, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "ty": 6, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "ty": 4, + "value": [ + 50, + 0, + 0, + 0 + ], + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "ty": 4, + "value": [ + 32, + 0, + 0, + 0 + ], + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "ty": 4, + "value": [ + 0, + 1, + 0, + 0 + ], + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "error": { + "ty": 635 + }, + "index": 41 + }, + { + "name": "Nfts", + "storage": { + "prefix": "Nfts", + "entries": [ + { + "name": "Collection", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 636 + } + }, + "default": [ + 0 + ], + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 628, + "value": 31 + } + }, + "default": [ + 0 + ], + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "CollectionAccount", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 468, + "value": 31 + } + }, + "default": [ + 0 + ], + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "CollectionRoleOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 464, + "value": 637 + } + }, + "default": [ + 0 + ], + "docs": [ + " The items in existence and their ownership details.", + " Stores collection roles as per account." + ] + }, + { + "name": "Item", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 87, + "value": 639 + } + }, + "default": [ + 0 + ], + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "CollectionMetadataOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 645 + } + }, + "default": [ + 0 + ], + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "ItemMetadataOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 87, + "value": 646 + } + }, + "default": [ + 0 + ], + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 648, + "value": 649 + } + }, + "default": [ + 0 + ], + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 87, + "value": 634 + } + }, + "default": [ + 0 + ], + "docs": [ + " A price of an item." + ] + }, + { + "name": "ItemAttributesApprovalsOf", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 87, + "value": 651 + } + }, + "default": [ + 0 + ], + "docs": [ + " Item attribute approvals." + ] + }, + { + "name": "NextCollectionId", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [ + " Stores the `CollectionId` that is going to be used for the next collection.", + " This gets incremented whenever a new collection is created." + ] + }, + { + "name": "PendingSwapOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 87, + "value": 653 + } + }, + "default": [ + 0 + ], + "docs": [ + " Handles all the pending swaps." + ] + }, + { + "name": "CollectionConfigOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 319 + } + }, + "default": [ + 0 + ], + "docs": [ + " Config of a collection." + ] + }, + { + "name": "ItemConfigOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key": 87, + "value": 329 + } + }, + "default": [ + 0 + ], + "docs": [ + " Config of an item." + ] + } + ] + }, + "calls": { + "ty": 318 + }, + "event": { + "ty": 108 + }, + "constants": [ + { + "name": "CollectionDeposit", + "ty": 6, + "value": [ + 0, + 0, + 193, + 111, + 242, + 134, + 35, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "ty": 6, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "ty": 6, + "value": [ + 0, + 128, + 198, + 164, + 126, + 141, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "ty": 6, + "value": [ + 0, + 128, + 198, + 164, + 126, + 141, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "ty": 6, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "ty": 4, + "value": [ + 50, + 0, + 0, + 0 + ], + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "ty": 4, + "value": [ + 32, + 0, + 0, + 0 + ], + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "ty": 4, + "value": [ + 0, + 1, + 0, + 0 + ], + "docs": [ + " The maximum length of an attribute value." + ] + }, + { + "name": "ApprovalsLimit", + "ty": 4, + "value": [ + 20, + 0, + 0, + 0 + ], + "docs": [ + " The maximum approvals an item could have." + ] + }, + { + "name": "ItemAttributesApprovalsLimit", + "ty": 4, + "value": [ + 20, + 0, + 0, + 0 + ], + "docs": [ + " The maximum attributes approvals an item could have." + ] + }, + { + "name": "MaxTips", + "ty": 4, + "value": [ + 10, + 0, + 0, + 0 + ], + "docs": [ + " The max number of tips a user could send." + ] + }, + { + "name": "MaxDeadlineDuration", + "ty": 4, + "value": [ + 0, + 52, + 158, + 0 + ], + "docs": [ + " The max duration in blocks for deadlines." + ] + }, + { + "name": "MaxAttributesPerCall", + "ty": 4, + "value": [ + 10, + 0, + 0, + 0 + ], + "docs": [ + " The max number of attributes a user could set per call." + ] + }, + { + "name": "Features", + "ty": 654, + "value": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Disables some of pallet's features." + ] + } + ], + "error": { + "ty": 656 + }, + "index": 42 + }, + { + "name": "TransactionStorage", + "storage": { + "prefix": "TransactionStorage", + "entries": [ + { + "name": "Transactions", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 657 + } + }, + "default": [ + 0 + ], + "docs": [ + " Collection of transaction metadata by block number." + ] + }, + { + "name": "ChunkCount", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 4 + } + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Count indexed chunks for each block." + ] + }, + { + "name": "ByteFee", + "modifier": "Optional", + "ty": { + "Plain": 6 + }, + "default": [ + 0 + ], + "docs": [ + " Storage fee per byte." + ] + }, + { + "name": "EntryFee", + "modifier": "Optional", + "ty": { + "Plain": 6 + }, + "default": [ + 0 + ], + "docs": [ + " Storage fee per transaction." + ] + }, + { + "name": "StoragePeriod", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Storage period for data in blocks. Should match `sp_storage_proof::DEFAULT_STORAGE_PERIOD`", + " for block authoring." + ] + }, + { + "name": "BlockTransactions", + "modifier": "Default", + "ty": { + "Plain": 657 + }, + "default": [ + 0 + ], + "docs": [] + }, + { + "name": "ProofChecked", + "modifier": "Default", + "ty": { + "Plain": 41 + }, + "default": [ + 0 + ], + "docs": [ + " Was the proof checked in this block?" + ] + } + ] + }, + "calls": { + "ty": 339 + }, + "event": { + "ty": 113 + }, + "constants": [], + "error": { + "ty": 660 + }, + "index": 43 + }, + { + "name": "VoterList", + "storage": { + "prefix": "VoterList", + "entries": [ + { + "name": "ListNodes", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 661 + } + }, + "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": 10, + "value": 662 + } + }, + "default": [ + 0 + ], + "docs": [ + " A bag stored in storage.", + "", + " Stores a `Bag` struct, which stores head and tail pointers to itself." + ] + } + ] + }, + "calls": { + "ty": 341 + }, + "event": { + "ty": 114 + }, + "constants": [ + { + "name": "BagThresholds", + "ty": 663, + "value": [ + 33, + 3, + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 106, + 112, + 204, + 212, + 169, + 96, + 0, + 0, + 158, + 243, + 57, + 127, + 188, + 102, + 0, + 0, + 169, + 7, + 204, + 213, + 48, + 109, + 0, + 0, + 61, + 154, + 103, + 251, + 12, + 116, + 0, + 0, + 169, + 191, + 162, + 117, + 87, + 123, + 0, + 0, + 166, + 253, + 247, + 50, + 23, + 131, + 0, + 0, + 3, + 79, + 93, + 145, + 83, + 139, + 0, + 0, + 19, + 36, + 69, + 101, + 20, + 148, + 0, + 0, + 120, + 8, + 16, + 1, + 98, + 157, + 0, + 0, + 3, + 2, + 246, + 60, + 69, + 167, + 0, + 0, + 57, + 46, + 111, + 127, + 199, + 177, + 0, + 0, + 245, + 156, + 35, + 198, + 242, + 188, + 0, + 0, + 74, + 231, + 106, + 175, + 209, + 200, + 0, + 0, + 89, + 138, + 100, + 132, + 111, + 213, + 0, + 0, + 18, + 159, + 178, + 67, + 216, + 226, + 0, + 0, + 63, + 34, + 225, + 172, + 24, + 241, + 0, + 0, + 51, + 164, + 132, + 76, + 62, + 0, + 1, + 0, + 226, + 229, + 27, + 137, + 87, + 16, + 1, + 0, + 118, + 162, + 192, + 176, + 115, + 33, + 1, + 0, + 103, + 137, + 180, + 7, + 163, + 51, + 1, + 0, + 121, + 62, + 216, + 215, + 246, + 70, + 1, + 0, + 120, + 19, + 27, + 129, + 129, + 91, + 1, + 0, + 12, + 28, + 243, + 138, + 86, + 113, + 1, + 0, + 68, + 55, + 238, + 182, + 138, + 136, + 1, + 0, + 158, + 181, + 109, + 20, + 52, + 161, + 1, + 0, + 51, + 94, + 159, + 21, + 106, + 187, + 1, + 0, + 103, + 195, + 199, + 165, + 69, + 215, + 1, + 0, + 50, + 24, + 243, + 64, + 225, + 244, + 1, + 0, + 222, + 11, + 35, + 13, + 89, + 20, + 2, + 0, + 105, + 156, + 17, + 245, + 202, + 53, + 2, + 0, + 173, + 80, + 162, + 196, + 86, + 89, + 2, + 0, + 154, + 228, + 28, + 71, + 30, + 127, + 2, + 0, + 208, + 36, + 78, + 103, + 69, + 167, + 2, + 0, + 249, + 132, + 173, + 81, + 242, + 209, + 2, + 0, + 172, + 231, + 167, + 152, + 77, + 255, + 2, + 0, + 161, + 24, + 50, + 91, + 130, + 47, + 3, + 0, + 255, + 164, + 199, + 109, + 190, + 98, + 3, + 0, + 88, + 11, + 253, + 133, + 50, + 153, + 3, + 0, + 169, + 175, + 206, + 104, + 18, + 211, + 3, + 0, + 16, + 154, + 216, + 27, + 149, + 16, + 4, + 0, + 217, + 202, + 165, + 25, + 245, + 81, + 4, + 0, + 56, + 223, + 72, + 137, + 112, + 151, + 4, + 0, + 190, + 225, + 114, + 121, + 73, + 225, + 4, + 0, + 204, + 115, + 64, + 31, + 198, + 47, + 5, + 0, + 179, + 4, + 249, + 24, + 49, + 131, + 5, + 0, + 130, + 139, + 255, + 180, + 217, + 219, + 5, + 0, + 18, + 53, + 56, + 61, + 20, + 58, + 6, + 0, + 165, + 180, + 42, + 71, + 58, + 158, + 6, + 0, + 54, + 102, + 45, + 9, + 171, + 8, + 7, + 0, + 247, + 58, + 234, + 180, + 203, + 121, + 7, + 0, + 184, + 126, + 147, + 215, + 7, + 242, + 7, + 0, + 255, + 236, + 35, + 192, + 209, + 113, + 8, + 0, + 184, + 75, + 11, + 236, + 162, + 249, + 8, + 0, + 201, + 220, + 174, + 122, + 252, + 137, + 9, + 0, + 145, + 117, + 43, + 168, + 103, + 35, + 10, + 0, + 100, + 241, + 205, + 79, + 118, + 198, + 10, + 0, + 54, + 9, + 190, + 118, + 195, + 115, + 11, + 0, + 120, + 101, + 95, + 223, + 243, + 43, + 12, + 0, + 164, + 7, + 245, + 165, + 182, + 239, + 12, + 0, + 82, + 246, + 27, + 231, + 197, + 191, + 13, + 0, + 218, + 113, + 187, + 112, + 231, + 156, + 14, + 0, + 13, + 233, + 18, + 126, + 237, + 135, + 15, + 0, + 20, + 119, + 152, + 127, + 183, + 129, + 16, + 0, + 235, + 238, + 101, + 239, + 50, + 139, + 17, + 0, + 18, + 105, + 254, + 50, + 92, + 165, + 18, + 0, + 51, + 248, + 66, + 139, + 63, + 209, + 19, + 0, + 139, + 165, + 122, + 19, + 250, + 15, + 21, + 0, + 27, + 43, + 96, + 208, + 186, + 98, + 22, + 0, + 13, + 29, + 55, + 208, + 195, + 202, + 23, + 0, + 108, + 100, + 250, + 92, + 107, + 73, + 25, + 0, + 38, + 34, + 199, + 65, + 29, + 224, + 26, + 0, + 4, + 91, + 185, + 36, + 92, + 144, + 28, + 0, + 35, + 61, + 131, + 246, + 194, + 91, + 30, + 0, + 200, + 119, + 28, + 121, + 6, + 68, + 32, + 0, + 48, + 19, + 253, + 222, + 246, + 74, + 34, + 0, + 170, + 139, + 110, + 132, + 129, + 114, + 36, + 0, + 130, + 192, + 150, + 196, + 178, + 188, + 38, + 0, + 22, + 163, + 250, + 235, + 183, + 43, + 41, + 0, + 130, + 150, + 82, + 74, + 225, + 193, + 43, + 0, + 166, + 54, + 168, + 101, + 164, + 129, + 46, + 0, + 208, + 226, + 212, + 80, + 158, + 109, + 49, + 0, + 156, + 10, + 154, + 39, + 150, + 136, + 52, + 0, + 228, + 250, + 175, + 178, + 127, + 213, + 55, + 0, + 230, + 230, + 77, + 54, + 126, + 87, + 59, + 0, + 14, + 75, + 214, + 109, + 231, + 17, + 63, + 0, + 136, + 177, + 125, + 183, + 70, + 8, + 67, + 0, + 176, + 125, + 239, + 114, + 96, + 62, + 71, + 0, + 52, + 222, + 36, + 150, + 53, + 184, + 75, + 0, + 212, + 139, + 213, + 123, + 7, + 122, + 80, + 0, + 208, + 189, + 32, + 239, + 91, + 136, + 85, + 0, + 184, + 240, + 70, + 120, + 1, + 232, + 90, + 0, + 16, + 248, + 138, + 238, + 19, + 158, + 96, + 0, + 56, + 146, + 146, + 83, + 1, + 176, + 102, + 0, + 156, + 149, + 228, + 252, + 142, + 35, + 109, + 0, + 180, + 18, + 109, + 16, + 223, + 254, + 115, + 0, + 40, + 180, + 62, + 89, + 118, + 72, + 123, + 0, + 160, + 138, + 28, + 122, + 66, + 7, + 131, + 0, + 176, + 154, + 176, + 131, + 160, + 66, + 139, + 0, + 40, + 70, + 178, + 244, + 99, + 2, + 148, + 0, + 200, + 97, + 164, + 42, + 222, + 78, + 157, + 0, + 80, + 210, + 61, + 74, + 230, + 48, + 167, + 0, + 128, + 81, + 1, + 167, + 225, + 177, + 177, + 0, + 56, + 229, + 1, + 178, + 204, + 219, + 188, + 0, + 32, + 22, + 82, + 120, + 68, + 185, + 200, + 0, + 56, + 137, + 36, + 186, + 144, + 85, + 213, + 0, + 112, + 202, + 53, + 164, + 174, + 188, + 226, + 0, + 128, + 95, + 177, + 53, + 92, + 251, + 240, + 0, + 128, + 53, + 104, + 93, + 36, + 31, + 0, + 1, + 160, + 195, + 220, + 217, + 107, + 54, + 16, + 1, + 208, + 120, + 98, + 232, + 126, + 80, + 33, + 1, + 96, + 232, + 82, + 208, + 159, + 125, + 51, + 1, + 144, + 102, + 44, + 88, + 22, + 207, + 70, + 1, + 16, + 39, + 76, + 51, + 64, + 87, + 91, + 1, + 128, + 75, + 226, + 119, + 162, + 41, + 113, + 1, + 48, + 130, + 185, + 45, + 252, + 90, + 136, + 1, + 128, + 210, + 118, + 7, + 90, + 1, + 161, + 1, + 176, + 245, + 17, + 89, + 43, + 52, + 187, + 1, + 64, + 49, + 116, + 95, + 88, + 12, + 215, + 1, + 128, + 47, + 108, + 238, + 89, + 164, + 244, + 1, + 64, + 255, + 121, + 155, + 82, + 24, + 20, + 2, + 96, + 117, + 96, + 125, + 41, + 134, + 53, + 2, + 96, + 253, + 233, + 153, + 166, + 13, + 89, + 2, + 0, + 229, + 231, + 28, + 145, + 208, + 126, + 2, + 192, + 223, + 37, + 117, + 207, + 242, + 166, + 2, + 160, + 127, + 217, + 117, + 137, + 154, + 209, + 2, + 160, + 103, + 0, + 157, + 76, + 240, + 254, + 2, + 32, + 220, + 41, + 161, + 50, + 31, + 47, + 3, + 32, + 255, + 82, + 107, + 10, + 85, + 98, + 3, + 128, + 136, + 202, + 163, + 131, + 194, + 152, + 3, + 224, + 86, + 131, + 251, + 92, + 155, + 210, + 3, + 64, + 29, + 215, + 93, + 149, + 22, + 16, + 4, + 0, + 49, + 126, + 57, + 160, + 110, + 81, + 4, + 192, + 176, + 113, + 18, + 157, + 225, + 150, + 4, + 128, + 180, + 140, + 145, + 146, + 177, + 224, + 4, + 128, + 232, + 18, + 74, + 173, + 36, + 47, + 5, + 192, + 7, + 202, + 112, + 130, + 133, + 130, + 5, + 0, + 124, + 19, + 196, + 86, + 35, + 219, + 5, + 64, + 131, + 111, + 232, + 105, + 82, + 57, + 6, + 192, + 112, + 15, + 129, + 70, + 108, + 157, + 6, + 64, + 240, + 156, + 80, + 23, + 208, + 7, + 7, + 192, + 230, + 36, + 179, + 1, + 227, + 120, + 7, + 192, + 51, + 42, + 199, + 133, + 16, + 241, + 7, + 128, + 7, + 76, + 161, + 228, + 202, + 112, + 8, + 0, + 213, + 169, + 235, + 140, + 139, + 248, + 8, + 0, + 168, + 73, + 88, + 142, + 211, + 136, + 9, + 0, + 128, + 66, + 84, + 20, + 44, + 34, + 10, + 128, + 162, + 81, + 112, + 232, + 38, + 197, + 10, + 0, + 232, + 213, + 250, + 252, + 94, + 114, + 11, + 128, + 29, + 246, + 78, + 0, + 121, + 42, + 12, + 128, + 212, + 254, + 100, + 249, + 35, + 238, + 12, + 0, + 109, + 208, + 56, + 238, + 25, + 190, + 13, + 0, + 30, + 144, + 164, + 148, + 32, + 155, + 14, + 0, + 16, + 191, + 87, + 14, + 10, + 134, + 15, + 0, + 218, + 106, + 157, + 176, + 181, + 127, + 16, + 0, + 191, + 100, + 175, + 216, + 16, + 137, + 17, + 0, + 187, + 91, + 96, + 205, + 23, + 163, + 18, + 0, + 249, + 99, + 243, + 174, + 214, + 206, + 19, + 0, + 213, + 240, + 4, + 118, + 106, + 13, + 21, + 0, + 224, + 153, + 119, + 2, + 2, + 96, + 22, + 0, + 16, + 61, + 102, + 59, + 223, + 199, + 23, + 0, + 222, + 62, + 45, + 65, + 88, + 70, + 25, + 0, + 236, + 219, + 173, + 178, + 216, + 220, + 26, + 0, + 69, + 199, + 0, + 7, + 227, + 140, + 28, + 0, + 184, + 189, + 224, + 252, + 17, + 88, + 30, + 0, + 186, + 92, + 42, + 33, + 26, + 64, + 32, + 0, + 64, + 125, + 228, + 109, + 203, + 70, + 34, + 0, + 222, + 165, + 91, + 3, + 19, + 110, + 36, + 0, + 170, + 241, + 243, + 252, + 252, + 183, + 38, + 0, + 20, + 34, + 111, + 99, + 182, + 38, + 41, + 0, + 100, + 146, + 128, + 62, + 143, + 188, + 43, + 0, + 132, + 134, + 166, + 199, + 252, + 123, + 46, + 0, + 44, + 240, + 95, + 192, + 155, + 103, + 49, + 0, + 218, + 99, + 247, + 237, + 50, + 130, + 52, + 0, + 240, + 177, + 63, + 189, + 181, + 206, + 55, + 0, + 242, + 145, + 196, + 16, + 71, + 80, + 59, + 0, + 66, + 42, + 26, + 60, + 60, + 10, + 63, + 0, + 44, + 36, + 33, + 47, + 32, + 0, + 67, + 0, + 172, + 147, + 66, + 212, + 182, + 53, + 71, + 0, + 204, + 110, + 215, + 164, + 0, + 175, + 75, + 0, + 196, + 208, + 34, + 119, + 62, + 112, + 80, + 0, + 32, + 1, + 125, + 137, + 245, + 125, + 85, + 0, + 248, + 99, + 135, + 206, + 243, + 220, + 90, + 0, + 140, + 76, + 127, + 126, + 84, + 146, + 96, + 0, + 32, + 98, + 7, + 242, + 132, + 163, + 102, + 0, + 204, + 30, + 5, + 203, + 73, + 22, + 109, + 0, + 180, + 42, + 122, + 112, + 196, + 240, + 115, + 0, + 212, + 58, + 144, + 226, + 120, + 57, + 123, + 0, + 56, + 244, + 97, + 236, + 83, + 247, + 130, + 0, + 160, + 114, + 100, + 185, + 177, + 49, + 139, + 0, + 72, + 201, + 179, + 212, + 100, + 240, + 147, + 0, + 0, + 127, + 233, + 152, + 189, + 59, + 157, + 0, + 16, + 5, + 143, + 23, + 146, + 28, + 167, + 0, + 0, + 223, + 175, + 127, + 70, + 156, + 177, + 0, + 232, + 12, + 136, + 11, + 214, + 196, + 188, + 0, + 88, + 189, + 203, + 125, + 220, + 160, + 200, + 0, + 56, + 209, + 141, + 55, + 160, + 59, + 213, + 0, + 48, + 213, + 91, + 240, + 28, + 161, + 226, + 0, + 112, + 74, + 192, + 26, + 15, + 222, + 240, + 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": 664 + }, + "index": 44 + }, + { + "name": "StateTrieMigration", + "storage": { + "prefix": "StateTrieMigration", + "entries": [ + { + "name": "MigrationProcess", + "modifier": "Default", + "ty": { + "Plain": 345 + }, + "default": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Migration progress.", + "", + " This stores the snapshot of the last migrated keys. It can be set into motion and move", + " forward by any of the means provided by this pallet." + ] + }, + { + "name": "AutoLimits", + "modifier": "Default", + "ty": { + "Plain": 343 + }, + "default": [ + 0 + ], + "docs": [ + " The limits that are imposed on automatic migrations.", + "", + " If set to None, then no automatic migration happens." + ] + }, + { + "name": "SignedMigrationMaxLimits", + "modifier": "Optional", + "ty": { + "Plain": 344 + }, + "default": [ + 0 + ], + "docs": [ + " The maximum limits that the signed migration could use.", + "", + " If not set, no signed submission is allowed." + ] + } + ] + }, + "calls": { + "ty": 342 + }, + "event": { + "ty": 115 + }, + "constants": [ + { + "name": "MaxKeyLen", + "ty": 4, + "value": [ + 0, + 2, + 0, + 0 + ], + "docs": [ + " Maximal number of bytes that a key can have.", + "", + " FRAME itself does not limit the key length.", + " The concrete value must therefore depend on your storage usage.", + " A [`frame_support::storage::StorageNMap`] for example can have an arbitrary number of", + " keys which are then hashed and concatenated, resulting in arbitrarily long keys.", + "", + " Use the *state migration RPC* to retrieve the length of the longest key in your", + " storage: ", + "", + " The migration will halt with a `Halted` event if this value is too small.", + " Since there is no real penalty from over-estimating, it is advised to use a large", + " value. The default is 512 byte.", + "", + " Some key lengths for reference:", + " - [`frame_support::storage::StorageValue`]: 32 byte", + " - [`frame_support::storage::StorageMap`]: 64 byte", + " - [`frame_support::storage::StorageDoubleMap`]: 96 byte", + "", + " For more info see", + " " + ] + } + ], + "error": { + "ty": 117 + }, + "index": 45 + }, + { + "name": "ChildBounties", + "storage": { + "prefix": "ChildBounties", + "entries": [ + { + "name": "ChildBountyCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Number of total child bounties." + ] + }, + { + "name": "ParentChildBounties", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 4 + } + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Number of child bounties per parent bounty.", + " Map of parent bounty index to number of child bounties." + ] + }, + { + "name": "ChildBounties", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 87, + "value": 666 + } + }, + "default": [ + 0 + ], + "docs": [ + " Child bounties that have been added." + ] + }, + { + "name": "ChildBountyDescriptions", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 602 + } + }, + "default": [ + 0 + ], + "docs": [ + " The description of each child-bounty." + ] + }, + { + "name": "ChildrenCuratorFees", + "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 cumulative child-bounty curator fee for each parent bounty." + ] + } + ] + }, + "calls": { + "ty": 348 + }, + "event": { + "ty": 118 + }, + "constants": [ + { + "name": "MaxActiveChildBountyCount", + "ty": 4, + "value": [ + 5, + 0, + 0, + 0 + ], + "docs": [ + " Maximum number of child bounties that can be added to a parent bounty." + ] + }, + { + "name": "ChildBountyValueMinimum", + "ty": 6, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Minimum value for a child-bounty." + ] + } + ], + "error": { + "ty": 668 + }, + "index": 46 + }, + { + "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": 669 + } + }, + "default": [ + 0 + ], + "docs": [ + " Information concerning any given referendum." + ] + }, + { + "name": "TrackQueue", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 677 + } + }, + "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": 93, + "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": 11 + } + }, + "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": 349 + }, + "event": { + "ty": 119 + }, + "constants": [ + { + "name": "SubmissionDeposit", + "ty": 6, + "value": [ + 0, + 0, + 193, + 111, + 242, + 134, + 35, + 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": [ + 0, + 78, + 12, + 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": 678, + "value": [ + 4, + 0, + 0, + 16, + 114, + 111, + 111, + 116, + 1, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 4, + 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, + 202, + 154, + 59 + ], + "docs": [ + " Information concerning the different referendum tracks." + ] + } + ], + "error": { + "ty": 684 + }, + "index": 47 + }, + { + "name": "Remark", + "storage": null, + "calls": { + "ty": 351 + }, + "event": { + "ty": 383 + }, + "constants": [], + "error": { + "ty": 685 + }, + "index": 48 + }, + { + "name": "RootTesting", + "storage": null, + "calls": { + "ty": 352 + }, + "event": null, + "constants": [], + "error": null, + "index": 49 + }, + { + "name": "ConvictionVoting", + "storage": { + "prefix": "ConvictionVoting", + "entries": [ + { + "name": "VotingFor", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 686, + "value": 687 + } + }, + "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": 695 + } + }, + "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": 353 + }, + "event": { + "ty": 384 + }, + "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": [ + 0, + 47, + 13, + 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": 698 + }, + "index": 50 + }, + { + "name": "Whitelist", + "storage": { + "prefix": "Whitelist", + "entries": [ + { + "name": "WhitelistedCall", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 11, + "value": 31 + } + }, + "default": [ + 0 + ], + "docs": [] + } + ] + }, + "calls": { + "ty": 358 + }, + "event": { + "ty": 385 + }, + "constants": [], + "error": { + "ty": 699 + }, + "index": 51 + }, + { + "name": "AllianceMotion", + "storage": { + "prefix": "AllianceMotion", + "entries": [ + { + "name": "Proposals", + "modifier": "Default", + "ty": { + "Plain": 700 + }, + "default": [ + 0 + ], + "docs": [ + " The hashes of the active proposals." + ] + }, + { + "name": "ProposalOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 11, + "value": 121 + } + }, + "default": [ + 0 + ], + "docs": [ + " Actual proposal for a given hash, if it's current." + ] + }, + { + "name": "Voting", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Identity" + ], + "key": 11, + "value": 500 + } + }, + "default": [ + 0 + ], + "docs": [ + " Votes on a given proposal, if it is ongoing." + ] + }, + { + "name": "ProposalCount", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Proposals so far." + ] + }, + { + "name": "Members", + "modifier": "Default", + "ty": { + "Plain": 83 + }, + "default": [ + 0 + ], + "docs": [ + " The current members of the collective. This is stored sorted (just by value)." + ] + }, + { + "name": "Prime", + "modifier": "Optional", + "ty": { + "Plain": 0 + }, + "default": [ + 0 + ], + "docs": [ + " The prime member that helps determine the default vote behavior in case of absentations." + ] + } + ] + }, + "calls": { + "ty": 359 + }, + "event": { + "ty": 390 + }, + "constants": [], + "error": { + "ty": 701 + }, + "index": 52 + }, + { + "name": "Alliance", + "storage": { + "prefix": "Alliance", + "entries": [ + { + "name": "Rule", + "modifier": "Optional", + "ty": { + "Plain": 362 + }, + "default": [ + 0 + ], + "docs": [ + " The IPFS CID of the alliance rule.", + " Fellows can propose a new rule with a super-majority." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "ty": { + "Plain": 702 + }, + "default": [ + 0 + ], + "docs": [ + " The current IPFS CIDs of any announcements." + ] + }, + { + "name": "DepositOf", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 6 + } + }, + "default": [ + 0 + ], + "docs": [ + " Maps members to their candidacy deposit." + ] + }, + { + "name": "Members", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 704, + "value": 705 + } + }, + "default": [ + 0 + ], + "docs": [ + " Maps member type to members of each type." + ] + }, + { + "name": "RetiringMembers", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 0, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " A set of members who gave a retirement notice. They can retire after the end of retirement", + " period stored as a future block number." + ] + }, + { + "name": "UnscrupulousAccounts", + "modifier": "Default", + "ty": { + "Plain": 486 + }, + "default": [ + 0 + ], + "docs": [ + " The current list of accounts deemed unscrupulous. These accounts non grata cannot submit", + " candidacy." + ] + }, + { + "name": "UnscrupulousWebsites", + "modifier": "Default", + "ty": { + "Plain": 706 + }, + "default": [ + 0 + ], + "docs": [ + " The current list of websites deemed unscrupulous." + ] + } + ] + }, + "calls": { + "ty": 360 + }, + "event": { + "ty": 391 + }, + "constants": [ + { + "name": "MaxUnscrupulousItems", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of the unscrupulous items supported by the pallet." + ] + }, + { + "name": "MaxWebsiteUrlLength", + "ty": 4, + "value": [ + 255, + 0, + 0, + 0 + ], + "docs": [ + " The maximum length of a website URL." + ] + }, + { + "name": "AllyDeposit", + "ty": 6, + "value": [ + 0, + 128, + 198, + 164, + 126, + 141, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The deposit required for submitting candidacy." + ] + }, + { + "name": "MaxAnnouncementsCount", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of announcements." + ] + }, + { + "name": "MaxMembersCount", + "ty": 4, + "value": [ + 100, + 0, + 0, + 0 + ], + "docs": [ + " The maximum number of members per member role." + ] + } + ], + "error": { + "ty": 708 + }, + "index": 53 + }, + { + "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 depositor 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": "MaxPools", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [ + " Maximum number of nomination pools that can exist. If `None`, then an unbounded number of", + " pools can exist." + ] + }, + { + "name": "MaxPoolMembers", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [ + " Maximum number of members that can exist in the system. If `None`, then the count", + " members are not bound on a system wide basis." + ] + }, + { + "name": "MaxPoolMembersPerPool", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [ + " Maximum number of members that may belong to pool. If `None`, then the count of", + " members is not bound on a per pool basis." + ] + }, + { + "name": "PoolMembers", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 709 + } + }, + "default": [ + 0 + ], + "docs": [ + " Active members.", + "", + " TWOX-NOTE: SAFE since `AccountId` is a secure hash." + ] + }, + { + "name": "CounterForPoolMembers", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + "Counter for the related counted storage map" + ] + }, + { + "name": "BondedPools", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 712 + } + }, + "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": "RewardPools", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 714 + } + }, + "default": [ + 0 + ], + "docs": [ + " Reward pools. This is where there rewards for each pool accumulate. When a members payout", + " is claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account." + ] + }, + { + "name": "CounterForRewardPools", + "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": 715 + } + }, + "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": "Metadata", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 721 + } + }, + "default": [ + 0 + ], + "docs": [ + " Metadata for the pool." + ] + }, + { + "name": "CounterForMetadata", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + "Counter for the related counted storage map" + ] + }, + { + "name": "LastPoolId", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Ever increasing number of all pools created so far." + ] + }, + { + "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": "ClaimPermissions", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 375 + } + }, + "default": [ + 0 + ], + "docs": [ + " Map from a pool member account to their opted claim permission." + ] + } + ] + }, + "calls": { + "ty": 369 + }, + "event": { + "ty": 392 + }, + "constants": [ + { + "name": "PalletId", + "ty": 517, + "value": [ + 112, + 121, + 47, + 110, + 111, + 112, + 108, + 115 + ], + "docs": [ + " The nomination pool's pallet id." + ] + }, + { + "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." + ] + } + ], + "error": { + "ty": 722 + }, + "index": 54 + }, + { + "name": "RankedPolls", + "storage": { + "prefix": "RankedPolls", + "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": 724 + } + }, + "default": [ + 0 + ], + "docs": [ + " Information concerning any given referendum." + ] + }, + { + "name": "TrackQueue", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "value": 726 + } + }, + "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": 93, + "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": 11 + } + }, + "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": 376 + }, + "event": { + "ty": 393 + }, + "constants": [ + { + "name": "SubmissionDeposit", + "ty": 6, + "value": [ + 0, + 0, + 193, + 111, + 242, + 134, + 35, + 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": [ + 0, + 78, + 12, + 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": 678, + "value": [ + 4, + 0, + 0, + 16, + 114, + 111, + 111, + 116, + 1, + 0, + 0, + 0, + 10, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 4, + 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, + 202, + 154, + 59 + ], + "docs": [ + " Information concerning the different referendum tracks." + ] + } + ], + "error": { + "ty": 727 + }, + "index": 55 + }, + { + "name": "RankedCollective", + "storage": { + "prefix": "RankedCollective", + "entries": [ + { + "name": "MemberCount", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 93, + "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": 728 + } + }, + "default": [ + 0 + ], + "docs": [ + " The current members of the collective." + ] + }, + { + "name": "IdToIndex", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 729, + "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": 730, + "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": 464, + "value": 396 + } + }, + "default": [ + 0 + ], + "docs": [ + " Votes on a given proposal, if it is ongoing." + ] + }, + { + "name": "VotingCleanup", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_128Concat" + ], + "key": 4, + "value": 731 + } + }, + "default": [ + 0 + ], + "docs": [] + } + ] + }, + "calls": { + "ty": 377 + }, + "event": { + "ty": 395 + }, + "constants": [], + "error": { + "ty": 732 + }, + "index": 56 + }, + { + "name": "FastUnstake", + "storage": { + "prefix": "FastUnstake", + "entries": [ + { + "name": "Head", + "modifier": "Optional", + "ty": { + "Plain": 733 + }, + "default": [ + 0 + ], + "docs": [ + " The current \"head of the queue\" being unstaked." + ] + }, + { + "name": "Queue", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 0, + "value": 6 + } + }, + "default": [ + 0 + ], + "docs": [ + " The map of all accounts wishing to be unstaked.", + "", + " Keeps track of `AccountId` wishing to unstake and it's corresponding deposit.", + "", + " TWOX-NOTE: SAFE since `AccountId` is a secure hash." + ] + }, + { + "name": "CounterForQueue", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + "Counter for the related counted storage map" + ] + }, + { + "name": "ErasToCheckPerBlock", + "modifier": "Default", + "ty": { + "Plain": 4 + }, + "default": [ + 0, + 0, + 0, + 0 + ], + "docs": [ + " Number of eras to check per block.", + "", + " If set to 0, this pallet does absolutely nothing.", + "", + " Based on the amount of weight available at `on_idle`, up to this many eras of a single", + " nominator might be checked." + ] + } + ] + }, + "calls": { + "ty": 378 + }, + "event": { + "ty": 397 + }, + "constants": [ + { + "name": "Deposit", + "ty": 6, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " Deposit to take for unstaking, to make sure we're able to slash the it in order to cover", + " the costs of resources on unsuccessful unstake." + ] + } + ], + "error": { + "ty": 736 + }, + "index": 57 + }, + { + "name": "MessageQueue", + "storage": { + "prefix": "MessageQueue", + "entries": [ + { + "name": "BookStateFor", + "modifier": "Default", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat" + ], + "key": 4, + "value": 737 + } + }, + "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": 4 + }, + "default": [ + 0 + ], + "docs": [ + " The origin at which we should begin servicing." + ] + }, + { + "name": "Pages", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key": 87, + "value": 740 + } + }, + "default": [ + 0 + ], + "docs": [ + " The map of page indices to pages." + ] + } + ] + }, + "calls": { + "ty": 379 + }, + "event": { + "ty": 398 + }, + "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": [ + 128, + 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": 388, + "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": 742 + }, + "index": 58 + }, + { + "name": "Pov", + "storage": { + "prefix": "Pov", + "entries": [ + { + "name": "Value", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [] + }, + { + "name": "Value2", + "modifier": "Optional", + "ty": { + "Plain": 4 + }, + "default": [ + 0 + ], + "docs": [] + }, + { + "name": "UnboundedValue", + "modifier": "Optional", + "ty": { + "Plain": 12 + }, + "default": [ + 0 + ], + "docs": [ + " A value without a MEL bound." + ] + }, + { + "name": "BoundedValue", + "modifier": "Optional", + "ty": { + "Plain": 743 + }, + "default": [ + 0 + ], + "docs": [ + " A value with a MEL bound of 32 byte." + ] + }, + { + "name": "LargeValue", + "modifier": "Optional", + "ty": { + "Plain": 586 + }, + "default": [ + 0 + ], + "docs": [ + " 4MiB value." + ] + }, + { + "name": "LargeValue2", + "modifier": "Optional", + "ty": { + "Plain": 586 + }, + "default": [ + 0 + ], + "docs": [] + }, + { + "name": "Map1M", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_256" + ], + "key": 4, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " A map with a maximum of 1M entries." + ] + }, + { + "name": "Map16M", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_256" + ], + "key": 4, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [ + " A map with a maximum of 16M entries." + ] + }, + { + "name": "DoubleMap1M", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_256", + "Blake2_256" + ], + "key": 87, + "value": 4 + } + }, + "default": [ + 0 + ], + "docs": [] + }, + { + "name": "UnboundedMap", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_256" + ], + "key": 4, + "value": 105 + } + }, + "default": [ + 0 + ], + "docs": [] + }, + { + "name": "UnboundedMap2", + "modifier": "Optional", + "ty": { + "Map": { + "hashers": [ + "Blake2_256" + ], + "key": 4, + "value": 105 + } + }, + "default": [ + 0 + ], + "docs": [] + } + ] + }, + "calls": { + "ty": 380 + }, + "event": { + "ty": 400 + }, + "constants": [], + "error": null, + "index": 59 + } + ], + "extrinsic": { + "ty": 744, + "version": 4, + "signed_extensions": [ + { + "identifier": "CheckNonZeroSender", + "ty": 746, + "additional_signed": 31 + }, + { + "identifier": "CheckSpecVersion", + "ty": 747, + "additional_signed": 4 + }, + { + "identifier": "CheckTxVersion", + "ty": 748, + "additional_signed": 4 + }, + { + "identifier": "CheckGenesis", + "ty": 749, + "additional_signed": 11 + }, + { + "identifier": "CheckMortality", + "ty": 750, + "additional_signed": 11 + }, + { + "identifier": "CheckNonce", + "ty": 752, + "additional_signed": 31 + }, + { + "identifier": "CheckWeight", + "ty": 753, + "additional_signed": 31 + }, + { + "identifier": "ChargeAssetTxPayment", + "ty": 754, + "additional_signed": 31 + } + ] + }, + "ty": 755 + } + } +] diff --git a/artifacts/Alliance.scale b/artifacts/Alliance.scale index 24c6447b88..0ee2c4cb69 100644 Binary files a/artifacts/Alliance.scale and b/artifacts/Alliance.scale differ diff --git a/artifacts/AllianceMotion.scale b/artifacts/AllianceMotion.scale index 8330792030..decef13007 100644 Binary files a/artifacts/AllianceMotion.scale and b/artifacts/AllianceMotion.scale differ diff --git a/artifacts/AssetTxPayment.scale b/artifacts/AssetTxPayment.scale index b6487accaf..0f79054f78 100644 Binary files a/artifacts/AssetTxPayment.scale and b/artifacts/AssetTxPayment.scale differ diff --git a/artifacts/Assets.scale b/artifacts/Assets.scale index 739ed93719..4e8d189763 100644 Binary files a/artifacts/Assets.scale and b/artifacts/Assets.scale differ diff --git a/artifacts/AuthorityDiscovery.scale b/artifacts/AuthorityDiscovery.scale index ca64999298..1f5d985888 100644 Binary files a/artifacts/AuthorityDiscovery.scale and b/artifacts/AuthorityDiscovery.scale differ diff --git a/artifacts/Authorship.scale b/artifacts/Authorship.scale index 18ddd5b95b..32187dcb85 100644 Binary files a/artifacts/Authorship.scale and b/artifacts/Authorship.scale differ diff --git a/artifacts/Babe.scale b/artifacts/Babe.scale index 57ef620553..f2f9c82508 100644 Binary files a/artifacts/Babe.scale and b/artifacts/Babe.scale differ diff --git a/artifacts/Balances.scale b/artifacts/Balances.scale index 07a2584054..4240467b3b 100644 Binary files a/artifacts/Balances.scale and b/artifacts/Balances.scale differ diff --git a/artifacts/Bounties.scale b/artifacts/Bounties.scale index a8085fb345..e505565b78 100644 Binary files a/artifacts/Bounties.scale and b/artifacts/Bounties.scale differ diff --git a/artifacts/ChildBounties.scale b/artifacts/ChildBounties.scale index e37a39b4dc..de05c3284c 100644 Binary files a/artifacts/ChildBounties.scale and b/artifacts/ChildBounties.scale differ diff --git a/artifacts/Contracts.scale b/artifacts/Contracts.scale index 550d0ded1d..d420c382f5 100644 Binary files a/artifacts/Contracts.scale and b/artifacts/Contracts.scale differ diff --git a/artifacts/ConvictionVoting.scale b/artifacts/ConvictionVoting.scale index bb031df4dc..2ba13cce6a 100644 Binary files a/artifacts/ConvictionVoting.scale and b/artifacts/ConvictionVoting.scale differ diff --git a/artifacts/Council.scale b/artifacts/Council.scale index 690acfb1ad..c565fe6ebb 100644 Binary files a/artifacts/Council.scale and b/artifacts/Council.scale differ diff --git a/artifacts/Democracy.scale b/artifacts/Democracy.scale index 2f18897fc9..940aca8447 100644 Binary files a/artifacts/Democracy.scale and b/artifacts/Democracy.scale differ diff --git a/artifacts/ElectionProviderMultiPhase.scale b/artifacts/ElectionProviderMultiPhase.scale index b8118f6864..ef7a83cf4d 100644 Binary files a/artifacts/ElectionProviderMultiPhase.scale and b/artifacts/ElectionProviderMultiPhase.scale differ diff --git a/artifacts/Elections.scale b/artifacts/Elections.scale index 0476598e6c..cb167ddc4b 100644 Binary files a/artifacts/Elections.scale and b/artifacts/Elections.scale differ diff --git a/artifacts/FastUnstake.scale b/artifacts/FastUnstake.scale index 5b1ccd9808..ca12bb9958 100644 Binary files a/artifacts/FastUnstake.scale and b/artifacts/FastUnstake.scale differ diff --git a/artifacts/Glutton.scale b/artifacts/Glutton.scale index eb717fb593..0500894e5e 100644 Binary files a/artifacts/Glutton.scale and b/artifacts/Glutton.scale differ diff --git a/artifacts/Grandpa.scale b/artifacts/Grandpa.scale index 2c62c7e567..76d6ae3185 100644 Binary files a/artifacts/Grandpa.scale and b/artifacts/Grandpa.scale differ diff --git a/artifacts/Historical.scale b/artifacts/Historical.scale index 7ab0bebfc9..509bb4d366 100644 Binary files a/artifacts/Historical.scale and b/artifacts/Historical.scale differ diff --git a/artifacts/Identity.scale b/artifacts/Identity.scale index ed04dcad0e..62d42a3f4a 100644 Binary files a/artifacts/Identity.scale and b/artifacts/Identity.scale differ diff --git a/artifacts/ImOnline.scale b/artifacts/ImOnline.scale index 779cbec84d..0db4d06e22 100644 Binary files a/artifacts/ImOnline.scale and b/artifacts/ImOnline.scale differ diff --git a/artifacts/Indices.scale b/artifacts/Indices.scale index 735d2ba776..edffc5a53f 100644 Binary files a/artifacts/Indices.scale and b/artifacts/Indices.scale differ diff --git a/artifacts/Lottery.scale b/artifacts/Lottery.scale index 1b9a38b486..51bcbe6b1a 100644 Binary files a/artifacts/Lottery.scale and b/artifacts/Lottery.scale differ diff --git a/artifacts/MessageQueue.scale b/artifacts/MessageQueue.scale index 779c49302b..4a0f96367a 100644 Binary files a/artifacts/MessageQueue.scale and b/artifacts/MessageQueue.scale differ diff --git a/artifacts/Mmr.scale b/artifacts/Mmr.scale index a33f2a139b..d701a06c50 100644 Binary files a/artifacts/Mmr.scale and b/artifacts/Mmr.scale differ diff --git a/artifacts/Multisig.scale b/artifacts/Multisig.scale index c82801928a..fbf19045c5 100644 Binary files a/artifacts/Multisig.scale and b/artifacts/Multisig.scale differ diff --git a/artifacts/Nfts.scale b/artifacts/Nfts.scale index f5e04218bb..65b40c147a 100644 Binary files a/artifacts/Nfts.scale and b/artifacts/Nfts.scale differ diff --git a/artifacts/Nis.scale b/artifacts/Nis.scale index 2515f51683..27ecdfed4a 100644 Binary files a/artifacts/Nis.scale and b/artifacts/Nis.scale differ diff --git a/artifacts/NominationPools.scale b/artifacts/NominationPools.scale index e5724d2a7d..645ca913e7 100644 Binary files a/artifacts/NominationPools.scale and b/artifacts/NominationPools.scale differ diff --git a/artifacts/Offences.scale b/artifacts/Offences.scale index a420881f02..5921490cab 100644 Binary files a/artifacts/Offences.scale and b/artifacts/Offences.scale differ diff --git a/artifacts/Pov.scale b/artifacts/Pov.scale index 2060787e62..3835674b80 100644 Binary files a/artifacts/Pov.scale and b/artifacts/Pov.scale differ diff --git a/artifacts/Preimage.scale b/artifacts/Preimage.scale index 287e44a8e3..c810046b24 100644 Binary files a/artifacts/Preimage.scale and b/artifacts/Preimage.scale differ diff --git a/artifacts/Proxy.scale b/artifacts/Proxy.scale index 80117df6ae..b416b0fc30 100644 Binary files a/artifacts/Proxy.scale and b/artifacts/Proxy.scale differ diff --git a/artifacts/RandomnessCollectiveFlip.scale b/artifacts/RandomnessCollectiveFlip.scale index 3f3f336851..cd069396b2 100644 Binary files a/artifacts/RandomnessCollectiveFlip.scale and b/artifacts/RandomnessCollectiveFlip.scale differ diff --git a/artifacts/RankedCollective.scale b/artifacts/RankedCollective.scale index c1761df4aa..c97d29a400 100644 Binary files a/artifacts/RankedCollective.scale and b/artifacts/RankedCollective.scale differ diff --git a/artifacts/RankedPolls.scale b/artifacts/RankedPolls.scale index 37978a6e03..008198bb64 100644 Binary files a/artifacts/RankedPolls.scale and b/artifacts/RankedPolls.scale differ diff --git a/artifacts/Recovery.scale b/artifacts/Recovery.scale index a30e0f9152..6498c64ff6 100644 Binary files a/artifacts/Recovery.scale and b/artifacts/Recovery.scale differ diff --git a/artifacts/Referenda.scale b/artifacts/Referenda.scale index b9fbce21d7..a16164b2e2 100644 Binary files a/artifacts/Referenda.scale and b/artifacts/Referenda.scale differ diff --git a/artifacts/Remark.scale b/artifacts/Remark.scale index 0f3383ac4f..f1ac3fba2d 100644 Binary files a/artifacts/Remark.scale and b/artifacts/Remark.scale differ diff --git a/artifacts/RootTesting.scale b/artifacts/RootTesting.scale index 94a40ff80f..44d6da7a87 100644 Binary files a/artifacts/RootTesting.scale and b/artifacts/RootTesting.scale differ diff --git a/artifacts/Scheduler.scale b/artifacts/Scheduler.scale index 6e83e7f33c..e2a4956a05 100644 Binary files a/artifacts/Scheduler.scale and b/artifacts/Scheduler.scale differ diff --git a/artifacts/Session.scale b/artifacts/Session.scale index fd7a5e7889..3fa97fb122 100644 Binary files a/artifacts/Session.scale and b/artifacts/Session.scale differ diff --git a/artifacts/Society.scale b/artifacts/Society.scale index ee63c580cb..f92d0050b3 100644 Binary files a/artifacts/Society.scale and b/artifacts/Society.scale differ diff --git a/artifacts/Staking.scale b/artifacts/Staking.scale index 400011bcce..ee2ea68264 100644 Binary files a/artifacts/Staking.scale and b/artifacts/Staking.scale differ diff --git a/artifacts/StateTrieMigration.scale b/artifacts/StateTrieMigration.scale index 72d7e6cb0a..4bb1685395 100644 Binary files a/artifacts/StateTrieMigration.scale and b/artifacts/StateTrieMigration.scale differ diff --git a/artifacts/Sudo.scale b/artifacts/Sudo.scale index 5618c7715f..745e2e9d84 100644 Binary files a/artifacts/Sudo.scale and b/artifacts/Sudo.scale differ diff --git a/artifacts/System.scale b/artifacts/System.scale index dbbc939f10..1c27d8e910 100644 Binary files a/artifacts/System.scale and b/artifacts/System.scale differ diff --git a/artifacts/TechnicalCommittee.scale b/artifacts/TechnicalCommittee.scale index ae65084466..1cff0e5498 100644 Binary files a/artifacts/TechnicalCommittee.scale and b/artifacts/TechnicalCommittee.scale differ diff --git a/artifacts/TechnicalMembership.scale b/artifacts/TechnicalMembership.scale index b8872493b4..c57c6f51b9 100644 Binary files a/artifacts/TechnicalMembership.scale and b/artifacts/TechnicalMembership.scale differ diff --git a/artifacts/Timestamp.scale b/artifacts/Timestamp.scale index bfeabdca32..7e0c17641b 100644 Binary files a/artifacts/Timestamp.scale and b/artifacts/Timestamp.scale differ diff --git a/artifacts/Tips.scale b/artifacts/Tips.scale index 9e1692cdb5..1e97db25fa 100644 Binary files a/artifacts/Tips.scale and b/artifacts/Tips.scale differ diff --git a/artifacts/TransactionPayment.scale b/artifacts/TransactionPayment.scale index 19c7519b2d..df19f1d7f3 100644 Binary files a/artifacts/TransactionPayment.scale and b/artifacts/TransactionPayment.scale differ diff --git a/artifacts/TransactionStorage.scale b/artifacts/TransactionStorage.scale index 6dd26bde16..f49a98321e 100644 Binary files a/artifacts/TransactionStorage.scale and b/artifacts/TransactionStorage.scale differ diff --git a/artifacts/Treasury.scale b/artifacts/Treasury.scale index 7d86b9d437..bb954141cd 100644 Binary files a/artifacts/Treasury.scale and b/artifacts/Treasury.scale differ diff --git a/artifacts/Uniques.scale b/artifacts/Uniques.scale index fd05fd5091..490ab81ed7 100644 Binary files a/artifacts/Uniques.scale and b/artifacts/Uniques.scale differ diff --git a/artifacts/Utility.scale b/artifacts/Utility.scale index 97507a40b9..860400ddd6 100644 Binary files a/artifacts/Utility.scale and b/artifacts/Utility.scale differ diff --git a/artifacts/Vesting.scale b/artifacts/Vesting.scale index 1fdd221519..824550184d 100644 Binary files a/artifacts/Vesting.scale and b/artifacts/Vesting.scale differ diff --git a/artifacts/VoterList.scale b/artifacts/VoterList.scale index 8e5487d777..ff0b3cf25f 100644 Binary files a/artifacts/VoterList.scale and b/artifacts/VoterList.scale differ diff --git a/artifacts/Whitelist.scale b/artifacts/Whitelist.scale index 10b18076c9..7001d5e6d3 100644 Binary files a/artifacts/Whitelist.scale and b/artifacts/Whitelist.scale differ diff --git a/artifacts/balances.rs b/artifacts/balances.rs new file mode 100644 index 0000000000..6a9d5f75a1 --- /dev/null +++ b/artifacts/balances.rs @@ -0,0 +1,9393 @@ +#[allow(dead_code, unused_imports, non_camel_case_types)] +#[allow(clippy::all)] +pub mod api { + use super::api as root_mod; + pub static PALLETS: [&str; 1usize] = ["Balances"]; + #[derive( + :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, Debug, + )] + pub enum Event { + #[codec(index = 6)] + Balances(balances::Event), + } + pub mod balances { + use super::root_mod; + use super::runtime_types; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Transfer { + pub dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetBalance { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub new_free: ::core::primitive::u128, + #[codec(compact)] + pub new_reserved: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceTransfer { + pub source: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TransferKeepAlive { + pub dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TransferAll { + pub dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub keep_alive: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceUnreserve { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub amount: ::core::primitive::u128, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Transfer some liquid free balance to another account."] + #[doc = ""] + #[doc = "`transfer` 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."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- Dependent on arguments but not critical, given proper implementations for input config"] + #[doc = " types. See related functions below."] + #[doc = "- It contains a limited number of reads and writes internally and no complex"] + #[doc = " computation."] + #[doc = ""] + #[doc = "Related functions:"] + #[doc = ""] + #[doc = " - `ensure_can_withdraw` is always called internally but has a bounded complexity."] + #[doc = " - Transferring balances to accounts that did not exist before will cause"] + #[doc = " `T::OnNewAccount::on_new_account` to be called."] + #[doc = " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`."] + #[doc = " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check"] + #[doc = " that the transfer will not kill the origin account."] + pub fn transfer( + &self, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "transfer", + Transfer { dest, value }, + [ + 255u8, 181u8, 144u8, 248u8, 64u8, 167u8, 5u8, 134u8, 208u8, + 20u8, 223u8, 103u8, 235u8, 35u8, 66u8, 184u8, 27u8, 94u8, + 176u8, 60u8, 233u8, 236u8, 145u8, 218u8, 44u8, 138u8, 240u8, + 224u8, 16u8, 193u8, 220u8, 95u8, + ], + ) + } + #[doc = "Set the balances of a given account."] + #[doc = ""] + #[doc = "This will alter `FreeBalance` and `ReservedBalance` in storage. it will"] + #[doc = "also alter the total issuance of the system (`TotalIssuance`) appropriately."] + #[doc = "If the new free or reserved balance is below the existential deposit,"] + #[doc = "it will reset the account nonce (`frame_system::AccountNonce`)."] + #[doc = ""] + #[doc = "The dispatch origin for this call is `root`."] + pub fn set_balance( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + new_free: ::core::primitive::u128, + new_reserved: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "set_balance", + SetBalance { + who, + new_free, + new_reserved, + }, + [ + 174u8, 34u8, 80u8, 252u8, 193u8, 51u8, 228u8, 236u8, 234u8, + 16u8, 173u8, 214u8, 122u8, 21u8, 254u8, 7u8, 49u8, 176u8, + 18u8, 128u8, 122u8, 68u8, 72u8, 181u8, 119u8, 90u8, 167u8, + 46u8, 203u8, 220u8, 109u8, 110u8, + ], + ) + } + #[doc = "Exactly as `transfer`, except the origin must be root and the source account may be"] + #[doc = "specified."] + #[doc = "## Complexity"] + #[doc = "- Same as transfer, but additional read and write because the source account is not"] + #[doc = " assumed to be in the overlay."] + pub fn force_transfer( + &self, + source: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "force_transfer", + ForceTransfer { + source, + dest, + value, + }, + [ + 56u8, 80u8, 186u8, 45u8, 134u8, 147u8, 200u8, 19u8, 53u8, + 221u8, 213u8, 32u8, 13u8, 51u8, 130u8, 42u8, 244u8, 85u8, + 50u8, 246u8, 189u8, 51u8, 93u8, 1u8, 108u8, 142u8, 112u8, + 245u8, 104u8, 255u8, 15u8, 62u8, + ], + ) + } + #[doc = "Same as the [`transfer`] call, but with a check that the transfer will not kill the"] + #[doc = "origin account."] + #[doc = ""] + #[doc = "99% of the time you want [`transfer`] instead."] + #[doc = ""] + #[doc = "[`transfer`]: struct.Pallet.html#method.transfer"] + pub fn transfer_keep_alive( + &self, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "transfer_keep_alive", + TransferKeepAlive { dest, value }, + [ + 202u8, 239u8, 204u8, 0u8, 52u8, 57u8, 158u8, 8u8, 252u8, + 178u8, 91u8, 197u8, 238u8, 186u8, 205u8, 56u8, 217u8, 250u8, + 21u8, 44u8, 239u8, 66u8, 79u8, 99u8, 25u8, 106u8, 70u8, + 226u8, 50u8, 255u8, 176u8, 71u8, + ], + ) + } + #[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). ## Complexity"] + #[doc = "- O(1). Just like transfer, but reading the user's transferable balance first."] + pub fn transfer_all( + &self, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + keep_alive: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "transfer_all", + TransferAll { dest, keep_alive }, + [ + 118u8, 215u8, 198u8, 243u8, 4u8, 173u8, 108u8, 224u8, 113u8, + 203u8, 149u8, 23u8, 130u8, 176u8, 53u8, 205u8, 112u8, 147u8, + 88u8, 167u8, 197u8, 32u8, 104u8, 117u8, 201u8, 168u8, 144u8, + 230u8, 120u8, 29u8, 122u8, 159u8, + ], + ) + } + #[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, + ::core::primitive::u32, + >, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "force_unreserve", + ForceUnreserve { who, amount }, + [ + 39u8, 229u8, 111u8, 44u8, 147u8, 80u8, 7u8, 26u8, 185u8, + 121u8, 149u8, 25u8, 151u8, 37u8, 124u8, 46u8, 108u8, 136u8, + 167u8, 145u8, 103u8, 65u8, 33u8, 168u8, 36u8, 214u8, 126u8, + 237u8, 180u8, 61u8, 108u8, 110u8, + ], + ) + } + } + } + #[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, + Debug, + )] + #[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, + Debug, + )] + #[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, + Debug, + )] + #[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, + Debug, + )] + #[doc = "A balance was set by root."] + pub struct BalanceSet { + pub who: ::subxt::utils::AccountId32, + pub free: ::core::primitive::u128, + pub reserved: ::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, + Debug, + )] + #[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, + Debug, + )] + #[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, + Debug, + )] + #[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, + Debug, + )] + #[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, + Debug, + )] + #[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, + Debug, + )] + #[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"; + } + } + 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::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "TotalIssuance", + vec![], + [ + 1u8, 206u8, 252u8, 237u8, 6u8, 30u8, 20u8, 232u8, 164u8, + 115u8, 51u8, 156u8, 156u8, 206u8, 241u8, 187u8, 44u8, 84u8, + 25u8, 164u8, 235u8, 20u8, 86u8, 242u8, 124u8, 23u8, 28u8, + 140u8, 26u8, 73u8, 231u8, 51u8, + ], + ) + } + #[doc = " The total units of outstanding deactivated balance in the system."] + pub fn inactive_issuance( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "InactiveIssuance", + vec![], + [ + 74u8, 203u8, 111u8, 142u8, 225u8, 104u8, 173u8, 51u8, 226u8, + 12u8, 85u8, 135u8, 41u8, 206u8, 177u8, 238u8, 94u8, 246u8, + 184u8, 250u8, 140u8, 213u8, 91u8, 118u8, 163u8, 111u8, 211u8, + 46u8, 204u8, 160u8, 154u8, 21u8, + ], + ) + } + #[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::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_balances::AccountData< + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Account", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 246u8, 154u8, 253u8, 71u8, 192u8, 192u8, 192u8, 236u8, 128u8, + 80u8, 40u8, 252u8, 201u8, 43u8, 3u8, 131u8, 19u8, 49u8, + 141u8, 240u8, 172u8, 217u8, 215u8, 109u8, 87u8, 135u8, 248u8, + 57u8, 98u8, 185u8, 22u8, 4u8, + ], + ) + } + #[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_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_balances::AccountData< + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Account", + Vec::new(), + [ + 246u8, 154u8, 253u8, 71u8, 192u8, 192u8, 192u8, 236u8, 128u8, + 80u8, 40u8, 252u8, 201u8, 43u8, 3u8, 131u8, 19u8, 49u8, + 141u8, 240u8, 172u8, 217u8, 215u8, 109u8, 87u8, 135u8, 248u8, + 57u8, 98u8, 185u8, 22u8, 4u8, + ], + ) + } + #[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 :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: bounded_collections :: weak_bounded_vec :: WeakBoundedVec < runtime_types :: pallet_balances :: BalanceLock < :: core :: primitive :: u128 > > > , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Locks", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 216u8, 253u8, 87u8, 73u8, 24u8, 218u8, 35u8, 0u8, 244u8, + 134u8, 195u8, 58u8, 255u8, 64u8, 153u8, 212u8, 210u8, 232u8, + 4u8, 122u8, 90u8, 212u8, 136u8, 14u8, 127u8, 232u8, 8u8, + 192u8, 40u8, 233u8, 18u8, 250u8, + ], + ) + } + #[doc = " Any liquidity locks on some account balances."] + #[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."] pub fn locks_root (& self ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: bounded_collections :: weak_bounded_vec :: WeakBoundedVec < runtime_types :: pallet_balances :: BalanceLock < :: core :: primitive :: u128 > > > , () , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Locks", + Vec::new(), + [ + 216u8, 253u8, 87u8, 73u8, 24u8, 218u8, 35u8, 0u8, 244u8, + 134u8, 195u8, 58u8, 255u8, 64u8, 153u8, 212u8, 210u8, 232u8, + 4u8, 122u8, 90u8, 212u8, 136u8, 14u8, 127u8, 232u8, 8u8, + 192u8, 40u8, 233u8, 18u8, 250u8, + ], + ) + } + #[doc = " Named reserves on some account balances."] + pub fn reserves( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::ReserveData< + [::core::primitive::u8; 8usize], + ::core::primitive::u128, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Reserves", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 17u8, 32u8, 191u8, 46u8, 76u8, 220u8, 101u8, 100u8, 42u8, + 250u8, 128u8, 167u8, 117u8, 44u8, 85u8, 96u8, 105u8, 216u8, + 16u8, 147u8, 74u8, 55u8, 183u8, 94u8, 160u8, 177u8, 26u8, + 187u8, 71u8, 197u8, 187u8, 163u8, + ], + ) + } + #[doc = " Named reserves on some account balances."] + pub fn reserves_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::ReserveData< + [::core::primitive::u8; 8usize], + ::core::primitive::u128, + >, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Reserves", + Vec::new(), + [ + 17u8, 32u8, 191u8, 46u8, 76u8, 220u8, 101u8, 100u8, 42u8, + 250u8, 128u8, 167u8, 117u8, 44u8, 85u8, 96u8, 105u8, 216u8, + 16u8, 147u8, 74u8, 55u8, 183u8, 94u8, 160u8, 177u8, 26u8, + 187u8, 71u8, 197u8, 187u8, 163u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum amount required to keep an account open."] + pub fn existential_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "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::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "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::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "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, + ], + ) + } + } + } + } + pub mod runtime_types { + use super::runtime_types; + pub mod bounded_collections { + use super::runtime_types; + pub mod bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + } + pub mod finality_grandpa { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + pub struct Precommit<_0, _1> { + pub target_hash: _0, + pub target_number: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Prevote<_0, _1> { + pub target_hash: _0, + pub target_number: _1, + } + } + pub mod frame_benchmarking_pallet_pov { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + emit_event, + #[codec(index = 1)] + noop, + } + } + } + pub mod frame_support { + use super::runtime_types; + pub mod dispatch { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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 preimages { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + pub enum AttributeNamespace<_0> { + #[codec(index = 0)] + Pallet, + #[codec(index = 1)] + CollectionOwner, + #[codec(index = 2)] + ItemOwner, + #[codec(index = 3)] + Account(_0), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum BalanceStatus { + #[codec(index = 0)] + Free, + #[codec(index = 1)] + Reserved, + } + } + } + } + } + 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, + Debug, + )] + pub struct CheckGenesis; + } + pub mod check_mortality { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + pub struct CheckNonZeroSender; + } + pub mod check_nonce { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + pub struct CheckSpecVersion; + } + pub mod check_tx_version { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CheckTxVersion; + } + pub mod check_weight { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CheckWeight; + } + } + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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 = "## Complexity"] + #[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."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_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`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(C)` where `C` length of `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>, + }, + } + } + } + pub mod kitchensink_runtime { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + pub enum OriginCaller { + #[codec(index = 0)] + system( + runtime_types::frame_support::dispatch::RawOrigin< + ::subxt::utils::AccountId32, + >, + ), + #[codec(index = 13)] + Council( + runtime_types::pallet_collective::RawOrigin< + ::subxt::utils::AccountId32, + >, + ), + #[codec(index = 14)] + TechnicalCommittee( + runtime_types::pallet_collective::RawOrigin< + ::subxt::utils::AccountId32, + >, + ), + #[codec(index = 52)] + AllianceMotion( + runtime_types::pallet_collective::RawOrigin< + ::subxt::utils::AccountId32, + >, + ), + #[codec(index = 4)] + Void(runtime_types::sp_core::Void), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ProxyType { + #[codec(index = 0)] + Any, + #[codec(index = 1)] + NonTransfer, + #[codec(index = 2)] + Governance, + #[codec(index = 3)] + Staking, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Runtime; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum RuntimeCall { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Call), + #[codec(index = 1)] + Utility(runtime_types::pallet_utility::pallet::Call), + #[codec(index = 2)] + Babe(runtime_types::pallet_babe::pallet::Call), + #[codec(index = 3)] + Timestamp(runtime_types::pallet_timestamp::pallet::Call), + #[codec(index = 5)] + Indices(runtime_types::pallet_indices::pallet::Call), + #[codec(index = 6)] + Balances(runtime_types::pallet_balances::pallet::Call), + #[codec(index = 9)] + ElectionProviderMultiPhase( + runtime_types::pallet_election_provider_multi_phase::pallet::Call, + ), + #[codec(index = 10)] + Staking(runtime_types::pallet_staking::pallet::pallet::Call), + #[codec(index = 11)] + Session(runtime_types::pallet_session::pallet::Call), + #[codec(index = 12)] + Democracy(runtime_types::pallet_democracy::pallet::Call), + #[codec(index = 13)] + Council(runtime_types::pallet_collective::pallet::Call), + #[codec(index = 14)] + TechnicalCommittee(runtime_types::pallet_collective::pallet::Call), + #[codec(index = 15)] + Elections(runtime_types::pallet_elections_phragmen::pallet::Call), + #[codec(index = 16)] + TechnicalMembership(runtime_types::pallet_membership::pallet::Call), + #[codec(index = 17)] + Grandpa(runtime_types::pallet_grandpa::pallet::Call), + #[codec(index = 18)] + Treasury(runtime_types::pallet_treasury::pallet::Call), + #[codec(index = 19)] + Contracts(runtime_types::pallet_contracts::pallet::Call), + #[codec(index = 20)] + Sudo(runtime_types::pallet_sudo::pallet::Call), + #[codec(index = 21)] + ImOnline(runtime_types::pallet_im_online::pallet::Call), + #[codec(index = 26)] + Identity(runtime_types::pallet_identity::pallet::Call), + #[codec(index = 27)] + Society(runtime_types::pallet_society::pallet::Call), + #[codec(index = 28)] + Recovery(runtime_types::pallet_recovery::pallet::Call), + #[codec(index = 29)] + Vesting(runtime_types::pallet_vesting::pallet::Call), + #[codec(index = 30)] + Scheduler(runtime_types::pallet_scheduler::pallet::Call), + #[codec(index = 31)] + Glutton(runtime_types::pallet_glutton::pallet::Call), + #[codec(index = 32)] + Preimage(runtime_types::pallet_preimage::pallet::Call), + #[codec(index = 33)] + Proxy(runtime_types::pallet_proxy::pallet::Call), + #[codec(index = 34)] + Multisig(runtime_types::pallet_multisig::pallet::Call), + #[codec(index = 35)] + Bounties(runtime_types::pallet_bounties::pallet::Call), + #[codec(index = 36)] + Tips(runtime_types::pallet_tips::pallet::Call), + #[codec(index = 37)] + Assets(runtime_types::pallet_assets::pallet::Call), + #[codec(index = 39)] + Lottery(runtime_types::pallet_lottery::pallet::Call), + #[codec(index = 40)] + Nis(runtime_types::pallet_nis::pallet::Call), + #[codec(index = 41)] + Uniques(runtime_types::pallet_uniques::pallet::Call), + #[codec(index = 42)] + Nfts(runtime_types::pallet_nfts::pallet::Call), + #[codec(index = 43)] + TransactionStorage( + runtime_types::pallet_transaction_storage::pallet::Call, + ), + #[codec(index = 44)] + VoterList(runtime_types::pallet_bags_list::pallet::Call), + #[codec(index = 45)] + StateTrieMigration( + runtime_types::pallet_state_trie_migration::pallet::Call, + ), + #[codec(index = 46)] + ChildBounties(runtime_types::pallet_child_bounties::pallet::Call), + #[codec(index = 47)] + Referenda(runtime_types::pallet_referenda::pallet::Call), + #[codec(index = 48)] + Remark(runtime_types::pallet_remark::pallet::Call), + #[codec(index = 49)] + RootTesting(runtime_types::pallet_root_testing::pallet::Call), + #[codec(index = 50)] + ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Call), + #[codec(index = 51)] + Whitelist(runtime_types::pallet_whitelist::pallet::Call), + #[codec(index = 52)] + AllianceMotion(runtime_types::pallet_collective::pallet::Call), + #[codec(index = 53)] + Alliance(runtime_types::pallet_alliance::pallet::Call), + #[codec(index = 54)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Call), + #[codec(index = 55)] + RankedPolls(runtime_types::pallet_referenda::pallet::Call), + #[codec(index = 56)] + RankedCollective(runtime_types::pallet_ranked_collective::pallet::Call), + #[codec(index = 57)] + FastUnstake(runtime_types::pallet_fast_unstake::pallet::Call), + #[codec(index = 58)] + MessageQueue(runtime_types::pallet_message_queue::pallet::Call), + #[codec(index = 59)] + Pov(runtime_types::frame_benchmarking_pallet_pov::pallet::Call), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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 authority_discovery: + runtime_types::sp_authority_discovery::app::Public, + } + } + pub mod pallet_alliance { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] # [doc = "Add a new proposal to be voted on."] # [doc = ""] # [doc = "Must be called by a Fellow."] propose { # [codec (compact)] threshold : :: core :: primitive :: u32 , proposal : :: std :: boxed :: Box < runtime_types :: kitchensink_runtime :: RuntimeCall > , # [codec (compact)] length_bound : :: core :: primitive :: u32 , } , # [codec (index = 1)] # [doc = "Add an aye or nay vote for the sender to the given proposal."] # [doc = ""] # [doc = "Must be called by a Fellow."] vote { proposal : :: subxt :: utils :: H256 , # [codec (compact)] index : :: core :: primitive :: u32 , approve : :: core :: primitive :: bool , } , # [codec (index = 2)] # [doc = "Close a vote that is either approved, disapproved, or whose voting period has ended."] # [doc = ""] # [doc = "Must be called by a Fellow."] close_old_weight { proposal_hash : :: subxt :: utils :: H256 , # [codec (compact)] index : :: core :: primitive :: u32 , # [codec (compact)] proposal_weight_bound : runtime_types :: sp_weights :: OldWeight , # [codec (compact)] length_bound : :: core :: primitive :: u32 , } , # [codec (index = 3)] # [doc = "Initialize the Alliance, onboard fellows and allies."] # [doc = ""] # [doc = "The Alliance must be empty, and the call must provide some founding members."] # [doc = ""] # [doc = "Must be called by the Root origin."] init_members { fellows : :: std :: vec :: Vec < :: subxt :: utils :: AccountId32 > , allies : :: std :: vec :: Vec < :: subxt :: utils :: AccountId32 > , } , # [codec (index = 4)] # [doc = "Disband the Alliance, remove all active members and unreserve deposits."] # [doc = ""] # [doc = "Witness data must be set."] disband { witness : runtime_types :: pallet_alliance :: types :: DisbandWitness , } , # [codec (index = 5)] # [doc = "Set a new IPFS CID to the alliance rule."] set_rule { rule : runtime_types :: pallet_alliance :: types :: Cid , } , # [codec (index = 6)] # [doc = "Make an announcement of a new IPFS CID about alliance issues."] announce { announcement : runtime_types :: pallet_alliance :: types :: Cid , } , # [codec (index = 7)] # [doc = "Remove an announcement."] remove_announcement { announcement : runtime_types :: pallet_alliance :: types :: Cid , } , # [codec (index = 8)] # [doc = "Submit oneself for candidacy. A fixed deposit is reserved."] join_alliance , # [codec (index = 9)] # [doc = "A Fellow can nominate someone to join the alliance as an Ally. There is no deposit"] # [doc = "required from the nominator or nominee."] nominate_ally { who : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 10)] # [doc = "Elevate an Ally to Fellow."] elevate_ally { ally : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 11)] # [doc = "As a member, give a retirement notice and start a retirement period required to pass in"] # [doc = "order to retire."] give_retirement_notice , # [codec (index = 12)] # [doc = "As a member, retire from the Alliance and unreserve the deposit."] # [doc = ""] # [doc = "This can only be done once you have called `give_retirement_notice` and the"] # [doc = "`RetirementPeriod` has passed."] retire , # [codec (index = 13)] # [doc = "Kick a member from the Alliance and slash its deposit."] kick_member { who : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 14)] # [doc = "Add accounts or websites to the list of unscrupulous items."] add_unscrupulous_items { items : :: std :: vec :: Vec < runtime_types :: pallet_alliance :: UnscrupulousItem < :: subxt :: utils :: AccountId32 , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > > > , } , # [codec (index = 15)] # [doc = "Deem some items no longer unscrupulous."] remove_unscrupulous_items { items : :: std :: vec :: Vec < runtime_types :: pallet_alliance :: UnscrupulousItem < :: subxt :: utils :: AccountId32 , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > > > , } , # [codec (index = 16)] # [doc = "Close a vote that is either approved, disapproved, or whose voting period has ended."] # [doc = ""] # [doc = "Must be called by a Fellow."] close { proposal_hash : :: subxt :: utils :: H256 , # [codec (compact)] index : :: core :: primitive :: u32 , proposal_weight_bound : runtime_types :: sp_weights :: weight_v2 :: Weight , # [codec (compact)] length_bound : :: core :: primitive :: u32 , } , # [codec (index = 17)] # [doc = "Abdicate one's position as a voting member and just be an Ally. May be used by Fellows"] # [doc = "who do not want to leave the Alliance but do not have the capacity to participate"] # [doc = "operationally for some time."] abdicate_fellow_status , } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Cid { + pub version: runtime_types::pallet_alliance::types::Version, + pub codec: ::core::primitive::u64, + pub hash: runtime_types::pallet_alliance::types::Multihash, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DisbandWitness { + #[codec(compact)] + pub fellow_members: ::core::primitive::u32, + #[codec(compact)] + pub ally_members: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Multihash { + pub code: ::core::primitive::u64, + pub digest: + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Version { + #[codec(index = 0)] + V0, + #[codec(index = 1)] + V1, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum UnscrupulousItem<_0, _1> { + #[codec(index = 0)] + AccountId(_0), + #[codec(index = 1)] + Website(_1), + } + } + pub mod pallet_asset_tx_payment { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ChargeAssetTxPayment { + #[codec(compact)] + pub tip: ::core::primitive::u128, + pub asset_id: ::core::option::Option<::core::primitive::u32>, + } + } + pub mod pallet_assets { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Issue a new class of fungible assets from a public origin."] + #[doc = ""] + #[doc = "This new asset class has no assets initially and its owner is the origin."] + #[doc = ""] + #[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."] + #[doc = ""] + #[doc = "Funds of sender are reserved by `AssetDeposit`."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"] + #[doc = "an existing asset."] + #[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"] + #[doc = "member of the asset class's admin team."] + #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] + #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] + #[doc = ""] + #[doc = "Emits `Created` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + create { + #[codec(compact)] + id: ::core::primitive::u32, + admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + min_balance: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "Issue a new class of fungible assets from a privileged origin."] + #[doc = ""] + #[doc = "This new asset class has no assets initially."] + #[doc = ""] + #[doc = "The origin must conform to `ForceOrigin`."] + #[doc = ""] + #[doc = "Unlike `create`, no funds are reserved."] + #[doc = ""] + #[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"] + #[doc = "an existing asset."] + #[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"] + #[doc = "over this asset, but may later change and configure the permissions using"] + #[doc = "`transfer_ownership` and `set_team`."] + #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] + #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] + #[doc = ""] + #[doc = "Emits `ForceCreated` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + force_create { + #[codec(compact)] + id: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + is_sufficient: ::core::primitive::bool, + #[codec(compact)] + min_balance: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Start the process of destroying a fungible asset class."] + #[doc = ""] + #[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"] + #[doc = "destruction of an asset class."] + #[doc = ""] + #[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "The asset class must be frozen before calling `start_destroy`."] + start_destroy { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Destroy all accounts associated with a given asset."] + #[doc = ""] + #[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"] + #[doc = "asset is in a `Destroying` state."] + #[doc = ""] + #[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"] + #[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "Each call emits the `Event::DestroyedAccounts` event."] + destroy_accounts { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."] + #[doc = ""] + #[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"] + #[doc = "asset is in a `Destroying` state."] + #[doc = ""] + #[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"] + #[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "Each call emits the `Event::DestroyedApprovals` event."] + destroy_approvals { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "Complete destroying asset and unreserve currency."] + #[doc = ""] + #[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"] + #[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"] + #[doc = "hand."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "Each successful call emits the `Event::Destroyed` event."] + finish_destroy { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "Mint assets of a particular class."] + #[doc = ""] + #[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount minted."] + #[doc = "- `beneficiary`: The account to be credited with the minted assets."] + #[doc = "- `amount`: The amount of the asset to be minted."] + #[doc = ""] + #[doc = "Emits `Issued` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."] + mint { + #[codec(compact)] + id: ::core::primitive::u32, + beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 7)] + #[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."] + #[doc = ""] + #[doc = "Bails with `NoAccount` if the `who` is already dead."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount burned."] + #[doc = "- `who`: The account to be debited from."] + #[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."] + #[doc = ""] + #[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"] + #[doc = "minimum for the asset, then the amount burned is increased to take it to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."] + burn { + #[codec(compact)] + id: ::core::primitive::u32, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 8)] + #[doc = "Move some assets from the sender account to another."] + #[doc = ""] + #[doc = "Origin must be Signed."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount transferred."] + #[doc = "- `target`: The account to be credited."] + #[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"] + #[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"] + #[doc = "the case that the transfer would otherwise take the sender balance above zero but below"] + #[doc = "the minimum balance. Must be greater than zero."] + #[doc = ""] + #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] + #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] + #[doc = "to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"] + #[doc = "`target`."] + transfer { + #[codec(compact)] + id: ::core::primitive::u32, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 9)] + #[doc = "Move some assets from the sender account to another, keeping the sender account alive."] + #[doc = ""] + #[doc = "Origin must be Signed."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount transferred."] + #[doc = "- `target`: The account to be credited."] + #[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"] + #[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"] + #[doc = "the case that the transfer would otherwise take the sender balance above zero but below"] + #[doc = "the minimum balance. Must be greater than zero."] + #[doc = ""] + #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] + #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] + #[doc = "to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"] + #[doc = "`target`."] + transfer_keep_alive { + #[codec(compact)] + id: ::core::primitive::u32, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 10)] + #[doc = "Move some assets from one account to another."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount transferred."] + #[doc = "- `source`: The account to be debited."] + #[doc = "- `dest`: The account to be credited."] + #[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"] + #[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"] + #[doc = "the case that the transfer would otherwise take the `source` balance above zero but"] + #[doc = "below the minimum balance. Must be greater than zero."] + #[doc = ""] + #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] + #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] + #[doc = "to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"] + #[doc = "`dest`."] + force_transfer { + #[codec(compact)] + id: ::core::primitive::u32, + source: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 11)] + #[doc = "Disallow further unprivileged transfers from an account."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = "- `who`: The account to be frozen."] + #[doc = ""] + #[doc = "Emits `Frozen`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + freeze { + #[codec(compact)] + id: ::core::primitive::u32, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 12)] + #[doc = "Allow unprivileged transfers from an account again."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = "- `who`: The account to be unfrozen."] + #[doc = ""] + #[doc = "Emits `Thawed`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + thaw { + #[codec(compact)] + id: ::core::primitive::u32, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 13)] + #[doc = "Disallow further unprivileged transfers for the asset class."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = ""] + #[doc = "Emits `Frozen`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + freeze_asset { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 14)] + #[doc = "Allow unprivileged transfers for the asset again."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be thawed."] + #[doc = ""] + #[doc = "Emits `Thawed`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + thaw_asset { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 15)] + #[doc = "Change the Owner of an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `owner`: The new Owner of this asset."] + #[doc = ""] + #[doc = "Emits `OwnerChanged`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + transfer_ownership { + #[codec(compact)] + id: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 16)] + #[doc = "Change the Issuer, Admin and Freezer of an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = "- `issuer`: The new Issuer of this asset."] + #[doc = "- `admin`: The new Admin of this asset."] + #[doc = "- `freezer`: The new Freezer of this asset."] + #[doc = ""] + #[doc = "Emits `TeamChanged`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + set_team { + #[codec(compact)] + id: ::core::primitive::u32, + issuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + freezer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 17)] + #[doc = "Set the metadata for an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "Funds of sender are reserved according to the formula:"] + #[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"] + #[doc = "account any already reserved funds."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to update."] + #[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."] + #[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."] + #[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."] + #[doc = ""] + #[doc = "Emits `MetadataSet`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + set_metadata { + #[codec(compact)] + id: ::core::primitive::u32, + name: ::std::vec::Vec<::core::primitive::u8>, + symbol: ::std::vec::Vec<::core::primitive::u8>, + decimals: ::core::primitive::u8, + }, + #[codec(index = 18)] + #[doc = "Clear the metadata for an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "Any deposit is freed for the asset owner."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to clear."] + #[doc = ""] + #[doc = "Emits `MetadataCleared`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + clear_metadata { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 19)] + #[doc = "Force the metadata for an asset to some value."] + #[doc = ""] + #[doc = "Origin must be ForceOrigin."] + #[doc = ""] + #[doc = "Any deposit is left alone."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to update."] + #[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."] + #[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."] + #[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."] + #[doc = ""] + #[doc = "Emits `MetadataSet`."] + #[doc = ""] + #[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."] + force_set_metadata { + #[codec(compact)] + id: ::core::primitive::u32, + name: ::std::vec::Vec<::core::primitive::u8>, + symbol: ::std::vec::Vec<::core::primitive::u8>, + decimals: ::core::primitive::u8, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 20)] + #[doc = "Clear the metadata for an asset."] + #[doc = ""] + #[doc = "Origin must be ForceOrigin."] + #[doc = ""] + #[doc = "Any deposit is returned."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to clear."] + #[doc = ""] + #[doc = "Emits `MetadataCleared`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + force_clear_metadata { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 21)] + #[doc = "Alter the attributes of a given asset."] + #[doc = ""] + #[doc = "Origin must be `ForceOrigin`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `owner`: The new Owner of this asset."] + #[doc = "- `issuer`: The new Issuer of this asset."] + #[doc = "- `admin`: The new Admin of this asset."] + #[doc = "- `freezer`: The new Freezer of this asset."] + #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] + #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] + #[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"] + #[doc = "value to account for the state bloat associated with its balance storage. If set to"] + #[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"] + #[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"] + #[doc = "growth)."] + #[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"] + #[doc = "instructions."] + #[doc = ""] + #[doc = "Emits `AssetStatusChanged` with the identity of the asset."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + force_asset_status { + #[codec(compact)] + id: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + issuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + freezer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + min_balance: ::core::primitive::u128, + is_sufficient: ::core::primitive::bool, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 22)] + #[doc = "Approve an amount of asset for transfer by a delegated third-party account."] + #[doc = ""] + #[doc = "Origin must be Signed."] + #[doc = ""] + #[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"] + #[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"] + #[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"] + #[doc = "meet the right value."] + #[doc = ""] + #[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"] + #[doc = "making this call."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `delegate`: The account to delegate permission to transfer asset."] + #[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"] + #[doc = "already an approval in place, then this acts additively."] + #[doc = ""] + #[doc = "Emits `ApprovedTransfer` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + approve_transfer { + #[codec(compact)] + id: ::core::primitive::u32, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 23)] + #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] + #[doc = ""] + #[doc = "Origin must be Signed and there must be an approval in place between signer and"] + #[doc = "`delegate`."] + #[doc = ""] + #[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `delegate`: The account delegated permission to transfer asset."] + #[doc = ""] + #[doc = "Emits `ApprovalCancelled` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + cancel_approval { + #[codec(compact)] + id: ::core::primitive::u32, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 24)] + #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] + #[doc = ""] + #[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"] + #[doc = "account of the asset `id`."] + #[doc = ""] + #[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `delegate`: The account delegated permission to transfer asset."] + #[doc = ""] + #[doc = "Emits `ApprovalCancelled` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + force_cancel_approval { + #[codec(compact)] + id: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 25)] + #[doc = "Transfer some asset balance from a previously delegated account to some third-party"] + #[doc = "account."] + #[doc = ""] + #[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"] + #[doc = "signer."] + #[doc = ""] + #[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"] + #[doc = "reserved by `approve_transfer` is unreserved."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"] + #[doc = "from which the asset balance will be withdrawn."] + #[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."] + #[doc = "- `amount`: The amount of assets to transfer."] + #[doc = ""] + #[doc = "Emits `TransferredApproved` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + transfer_approved { + #[codec(compact)] + id: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + destination: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 26)] + #[doc = "Create an asset account for non-provider assets."] + #[doc = ""] + #[doc = "A deposit will be taken from the signer account."] + #[doc = ""] + #[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"] + #[doc = " to be taken."] + #[doc = "- `id`: The identifier of the asset for the account to be created."] + #[doc = ""] + #[doc = "Emits `Touched` event when successful."] + touch { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 27)] + #[doc = "Return the deposit (if any) of an asset account."] + #[doc = ""] + #[doc = "The origin must be Signed."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset for the account to be created."] + #[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."] + #[doc = ""] + #[doc = "Emits `Refunded` event when successful."] + refund { + #[codec(compact)] + id: ::core::primitive::u32, + allow_burn: ::core::primitive::bool, + }, + } + } + } + pub mod pallet_babe { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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 , } , } + } + } + pub mod pallet_bags_list { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + }, + } + } + } + pub mod pallet_balances { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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` 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."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- Dependent on arguments but not critical, given proper implementations for input config"] + #[doc = " types. See related functions below."] + #[doc = "- It contains a limited number of reads and writes internally and no complex"] + #[doc = " computation."] + #[doc = ""] + #[doc = "Related functions:"] + #[doc = ""] + #[doc = " - `ensure_can_withdraw` is always called internally but has a bounded complexity."] + #[doc = " - Transferring balances to accounts that did not exist before will cause"] + #[doc = " `T::OnNewAccount::on_new_account` to be called."] + #[doc = " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`."] + #[doc = " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check"] + #[doc = " that the transfer will not kill the origin account."] + transfer { + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "Set the balances of a given account."] + #[doc = ""] + #[doc = "This will alter `FreeBalance` and `ReservedBalance` in storage. it will"] + #[doc = "also alter the total issuance of the system (`TotalIssuance`) appropriately."] + #[doc = "If the new free or reserved balance is below the existential deposit,"] + #[doc = "it will reset the account nonce (`frame_system::AccountNonce`)."] + #[doc = ""] + #[doc = "The dispatch origin for this call is `root`."] + set_balance { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + new_free: ::core::primitive::u128, + #[codec(compact)] + new_reserved: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Exactly as `transfer`, except the origin must be root and the source account may be"] + #[doc = "specified."] + #[doc = "## Complexity"] + #[doc = "- Same as transfer, but additional read and write because the source account is not"] + #[doc = " assumed to be in the overlay."] + force_transfer { + source: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "Same as the [`transfer`] call, but with a check that the transfer will not kill the"] + #[doc = "origin account."] + #[doc = ""] + #[doc = "99% of the time you want [`transfer`] instead."] + #[doc = ""] + #[doc = "[`transfer`]: struct.Pallet.html#method.transfer"] + transfer_keep_alive { + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[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). ## Complexity"] + #[doc = "- O(1). Just like transfer, but reading the user's transferable balance first."] + transfer_all { + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + 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, + ::core::primitive::u32, + >, + amount: ::core::primitive::u128, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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"] + KeepAlive, + #[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, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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 , reserved : :: 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 , } , } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AccountData<_0> { + pub free: _0, + pub reserved: _0, + pub misc_frozen: _0, + pub fee_frozen: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BalanceLock<_0> { + pub id: [::core::primitive::u8; 8usize], + pub amount: _0, + pub reasons: runtime_types::pallet_balances::Reasons, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Reasons { + #[codec(index = 0)] + Fee, + #[codec(index = 1)] + Misc, + #[codec(index = 2)] + All, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ReserveData<_0, _1> { + pub id: _0, + pub amount: _1, + } + } + pub mod pallet_bounties { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Propose a new bounty."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as"] + #[doc = "`DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,"] + #[doc = "or slashed when rejected."] + #[doc = ""] + #[doc = "- `curator`: The curator account whom will manage this bounty."] + #[doc = "- `fee`: The curator fee."] + #[doc = "- `value`: The total payment amount of this bounty, curator fee included."] + #[doc = "- `description`: The description of this bounty."] + propose_bounty { + #[codec(compact)] + value: ::core::primitive::u128, + description: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 1)] + #[doc = "Approve a bounty proposal. At a later time, the bounty will be funded and become active"] + #[doc = "and the original deposit will be returned."] + #[doc = ""] + #[doc = "May only be called from `T::SpendOrigin`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + approve_bounty { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Assign a curator to a funded bounty."] + #[doc = ""] + #[doc = "May only be called from `T::SpendOrigin`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + propose_curator { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + curator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + fee: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "Unassign curator from a bounty."] + #[doc = ""] + #[doc = "This function can only be called by the `RejectOrigin` a signed origin."] + #[doc = ""] + #[doc = "If this function is called by the `RejectOrigin`, we assume that the curator is"] + #[doc = "malicious or inactive. As a result, we will slash the curator when possible."] + #[doc = ""] + #[doc = "If the origin is the curator, we take this as a sign they are unable to do their job and"] + #[doc = "they willingly give up. We could slash them, but for now we allow them to recover their"] + #[doc = "deposit and exit without issue. (We may want to change this if it is abused.)"] + #[doc = ""] + #[doc = "Finally, the origin can be anyone if and only if the curator is \"inactive\". This allows"] + #[doc = "anyone in the community to call out that a curator is not doing their due diligence, and"] + #[doc = "we should pick a new curator. In this case the curator should also be slashed."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + unassign_curator { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "Accept the curator role for a bounty."] + #[doc = "A deposit will be reserved from curator and refund upon successful payout."] + #[doc = ""] + #[doc = "May only be called from the curator."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + accept_curator { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "Award bounty to a beneficiary account. The beneficiary will be able to claim the funds"] + #[doc = "after a delay."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be the curator of this bounty."] + #[doc = ""] + #[doc = "- `bounty_id`: Bounty ID to award."] + #[doc = "- `beneficiary`: The beneficiary account whom will receive the payout."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + award_bounty { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 6)] + #[doc = "Claim the payout from an awarded bounty after payout delay."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be the beneficiary of this bounty."] + #[doc = ""] + #[doc = "- `bounty_id`: Bounty ID to claim."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + claim_bounty { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 7)] + #[doc = "Cancel a proposed or active bounty. All the funds will be sent to treasury and"] + #[doc = "the curator deposit will be unreserved if possible."] + #[doc = ""] + #[doc = "Only `T::RejectOrigin` is able to cancel a bounty."] + #[doc = ""] + #[doc = "- `bounty_id`: Bounty ID to cancel."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + close_bounty { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 8)] + #[doc = "Extend the expiry time of an active bounty."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be the curator of this bounty."] + #[doc = ""] + #[doc = "- `bounty_id`: Bounty ID to extend."] + #[doc = "- `remark`: additional information."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + extend_bounty_expiry { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + remark: ::std::vec::Vec<::core::primitive::u8>, + }, + } + } + } + pub mod pallet_child_bounties { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Add a new child-bounty."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be the curator of parent"] + #[doc = "bounty and the parent bounty must be in \"active\" state."] + #[doc = ""] + #[doc = "Child-bounty gets added successfully & fund gets transferred from"] + #[doc = "parent bounty to child-bounty account, if parent bounty has enough"] + #[doc = "funds, else the call fails."] + #[doc = ""] + #[doc = "Upper bound to maximum number of active child bounties that can be"] + #[doc = "added are managed via runtime trait config"] + #[doc = "[`Config::MaxActiveChildBountyCount`]."] + #[doc = ""] + #[doc = "If the call is success, the status of child-bounty is updated to"] + #[doc = "\"Added\"."] + #[doc = ""] + #[doc = "- `parent_bounty_id`: Index of parent bounty for which child-bounty is being added."] + #[doc = "- `value`: Value for executing the proposal."] + #[doc = "- `description`: Text description for the child-bounty."] + add_child_bounty { + #[codec(compact)] + parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + value: ::core::primitive::u128, + description: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 1)] + #[doc = "Propose curator for funded child-bounty."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be curator of parent bounty."] + #[doc = ""] + #[doc = "Parent bounty must be in active state, for this child-bounty call to"] + #[doc = "work."] + #[doc = ""] + #[doc = "Child-bounty must be in \"Added\" state, for processing the call. And"] + #[doc = "state of child-bounty is moved to \"CuratorProposed\" on successful"] + #[doc = "call completion."] + #[doc = ""] + #[doc = "- `parent_bounty_id`: Index of parent bounty."] + #[doc = "- `child_bounty_id`: Index of child bounty."] + #[doc = "- `curator`: Address of child-bounty curator."] + #[doc = "- `fee`: payment fee to child-bounty curator for execution."] + propose_curator { + #[codec(compact)] + parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + child_bounty_id: ::core::primitive::u32, + curator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + fee: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Accept the curator role for the child-bounty."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be the curator of this"] + #[doc = "child-bounty."] + #[doc = ""] + #[doc = "A deposit will be reserved from the curator and refund upon"] + #[doc = "successful payout or cancellation."] + #[doc = ""] + #[doc = "Fee for curator is deducted from curator fee of parent bounty."] + #[doc = ""] + #[doc = "Parent bounty must be in active state, for this child-bounty call to"] + #[doc = "work."] + #[doc = ""] + #[doc = "Child-bounty must be in \"CuratorProposed\" state, for processing the"] + #[doc = "call. And state of child-bounty is moved to \"Active\" on successful"] + #[doc = "call completion."] + #[doc = ""] + #[doc = "- `parent_bounty_id`: Index of parent bounty."] + #[doc = "- `child_bounty_id`: Index of child bounty."] + accept_curator { + #[codec(compact)] + parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + child_bounty_id: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Unassign curator from a child-bounty."] + #[doc = ""] + #[doc = "The dispatch origin for this call can be either `RejectOrigin`, or"] + #[doc = "the curator of the parent bounty, or any signed origin."] + #[doc = ""] + #[doc = "For the origin other than T::RejectOrigin and the child-bounty"] + #[doc = "curator, parent bounty must be in active state, for this call to"] + #[doc = "work. We allow child-bounty curator and T::RejectOrigin to execute"] + #[doc = "this call irrespective of the parent bounty state."] + #[doc = ""] + #[doc = "If this function is called by the `RejectOrigin` or the"] + #[doc = "parent bounty curator, we assume that the child-bounty curator is"] + #[doc = "malicious or inactive. As a result, child-bounty curator deposit is"] + #[doc = "slashed."] + #[doc = ""] + #[doc = "If the origin is the child-bounty curator, we take this as a sign"] + #[doc = "that they are unable to do their job, and are willingly giving up."] + #[doc = "We could slash the deposit, but for now we allow them to unreserve"] + #[doc = "their deposit and exit without issue. (We may want to change this if"] + #[doc = "it is abused.)"] + #[doc = ""] + #[doc = "Finally, the origin can be anyone iff the child-bounty curator is"] + #[doc = "\"inactive\". Expiry update due of parent bounty is used to estimate"] + #[doc = "inactive state of child-bounty curator."] + #[doc = ""] + #[doc = "This allows anyone in the community to call out that a child-bounty"] + #[doc = "curator is not doing their due diligence, and we should pick a new"] + #[doc = "one. In this case the child-bounty curator deposit is slashed."] + #[doc = ""] + #[doc = "State of child-bounty is moved to Added state on successful call"] + #[doc = "completion."] + #[doc = ""] + #[doc = "- `parent_bounty_id`: Index of parent bounty."] + #[doc = "- `child_bounty_id`: Index of child bounty."] + unassign_curator { + #[codec(compact)] + parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + child_bounty_id: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "Award child-bounty to a beneficiary."] + #[doc = ""] + #[doc = "The beneficiary will be able to claim the funds after a delay."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be the parent curator or"] + #[doc = "curator of this child-bounty."] + #[doc = ""] + #[doc = "Parent bounty must be in active state, for this child-bounty call to"] + #[doc = "work."] + #[doc = ""] + #[doc = "Child-bounty must be in active state, for processing the call. And"] + #[doc = "state of child-bounty is moved to \"PendingPayout\" on successful call"] + #[doc = "completion."] + #[doc = ""] + #[doc = "- `parent_bounty_id`: Index of parent bounty."] + #[doc = "- `child_bounty_id`: Index of child bounty."] + #[doc = "- `beneficiary`: Beneficiary account."] + award_child_bounty { + #[codec(compact)] + parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + child_bounty_id: ::core::primitive::u32, + beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 5)] + #[doc = "Claim the payout from an awarded child-bounty after payout delay."] + #[doc = ""] + #[doc = "The dispatch origin for this call may be any signed origin."] + #[doc = ""] + #[doc = "Call works independent of parent bounty state, No need for parent"] + #[doc = "bounty to be in active state."] + #[doc = ""] + #[doc = "The Beneficiary is paid out with agreed bounty value. Curator fee is"] + #[doc = "paid & curator deposit is unreserved."] + #[doc = ""] + #[doc = "Child-bounty must be in \"PendingPayout\" state, for processing the"] + #[doc = "call. And instance of child-bounty is removed from the state on"] + #[doc = "successful call completion."] + #[doc = ""] + #[doc = "- `parent_bounty_id`: Index of parent bounty."] + #[doc = "- `child_bounty_id`: Index of child bounty."] + claim_child_bounty { + #[codec(compact)] + parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + child_bounty_id: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "Cancel a proposed or active child-bounty. Child-bounty account funds"] + #[doc = "are transferred to parent bounty account. The child-bounty curator"] + #[doc = "deposit may be unreserved if possible."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be either parent curator or"] + #[doc = "`T::RejectOrigin`."] + #[doc = ""] + #[doc = "If the state of child-bounty is `Active`, curator deposit is"] + #[doc = "unreserved."] + #[doc = ""] + #[doc = "If the state of child-bounty is `PendingPayout`, call fails &"] + #[doc = "returns `PendingPayout` error."] + #[doc = ""] + #[doc = "For the origin other than T::RejectOrigin, parent bounty must be in"] + #[doc = "active state, for this child-bounty call to work. For origin"] + #[doc = "T::RejectOrigin execution is forced."] + #[doc = ""] + #[doc = "Instance of child-bounty is removed from the state on successful"] + #[doc = "call completion."] + #[doc = ""] + #[doc = "- `parent_bounty_id`: Index of parent bounty."] + #[doc = "- `child_bounty_id`: Index of child bounty."] + close_child_bounty { + #[codec(compact)] + parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + child_bounty_id: ::core::primitive::u32, + }, + } + } + } + pub mod pallet_collective { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Set the collective's membership."] + #[doc = ""] + #[doc = "- `new_members`: The new member list. Be nice to the chain and provide it sorted."] + #[doc = "- `prime`: The prime member whose vote sets the default."] + #[doc = "- `old_count`: The upper bound for the previous number of members in storage. Used for"] + #[doc = " weight estimation."] + #[doc = ""] + #[doc = "The dispatch of this call must be `SetMembersOrigin`."] + #[doc = ""] + #[doc = "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but"] + #[doc = " the weight estimations rely on it to estimate dispatchable weight."] + #[doc = ""] + #[doc = "# WARNING:"] + #[doc = ""] + #[doc = "The `pallet-collective` can also be managed by logic outside of the pallet through the"] + #[doc = "implementation of the trait [`ChangeMembers`]."] + #[doc = "Any call to `set_members` must be careful that the member set doesn't get out of sync"] + #[doc = "with other logic managing the member set."] + #[doc = ""] + #[doc = "## Complexity:"] + #[doc = "- `O(MP + N)` where:"] + #[doc = " - `M` old-members-count (code- and governance-bounded)"] + #[doc = " - `N` new-members-count (code- and governance-bounded)"] + #[doc = " - `P` proposals-count (code-bounded)"] + set_members { + new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, + prime: ::core::option::Option<::subxt::utils::AccountId32>, + old_count: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "Dispatch a proposal from a member using the `Member` origin."] + #[doc = ""] + #[doc = "Origin must be a member of the collective."] + #[doc = ""] + #[doc = "## Complexity:"] + #[doc = "- `O(B + M + P)` where:"] + #[doc = "- `B` is `proposal` size in bytes (length-fee-bounded)"] + #[doc = "- `M` members-count (code-bounded)"] + #[doc = "- `P` complexity of dispatching `proposal`"] + execute { + proposal: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + #[codec(compact)] + length_bound: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Add a new proposal to either be voted on or executed directly."] + #[doc = ""] + #[doc = "Requires the sender to be member."] + #[doc = ""] + #[doc = "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)"] + #[doc = "or put up for voting."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(B + M + P1)` or `O(B + M + P2)` where:"] + #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] + #[doc = " - `M` is members-count (code- and governance-bounded)"] + #[doc = " - branching is influenced by `threshold` where:"] + #[doc = " - `P1` is proposal execution complexity (`threshold < 2`)"] + #[doc = " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)"] + propose { + #[codec(compact)] + threshold: ::core::primitive::u32, + proposal: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + #[codec(compact)] + length_bound: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Add an aye or nay vote for the sender to the given proposal."] + #[doc = ""] + #[doc = "Requires the sender to be a member."] + #[doc = ""] + #[doc = "Transaction fees will 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 = "## Complexity"] + #[doc = "- `O(M)` where `M` is members-count (code- and governance-bounded)"] + vote { + proposal: ::subxt::utils::H256, + #[codec(compact)] + index: ::core::primitive::u32, + approve: ::core::primitive::bool, + }, + #[codec(index = 4)] + #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] + #[doc = ""] + #[doc = "May be called by any signed account in order to finish voting and close the proposal."] + #[doc = ""] + #[doc = "If called before the end of the voting period it will only close the vote if it is"] + #[doc = "has enough votes to be approved or disapproved."] + #[doc = ""] + #[doc = "If called after the end of the voting period abstentions are counted as rejections"] + #[doc = "unless there is a prime member set and the prime member cast an approval."] + #[doc = ""] + #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] + #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] + #[doc = ""] + #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] + #[doc = "proposal."] + #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] + #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(B + M + P1 + P2)` where:"] + #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] + #[doc = " - `M` is members-count (code- and governance-bounded)"] + #[doc = " - `P1` is the complexity of `proposal` preimage."] + #[doc = " - `P2` is proposal-count (code-bounded)"] + close_old_weight { + proposal_hash: ::subxt::utils::H256, + #[codec(compact)] + index: ::core::primitive::u32, + #[codec(compact)] + proposal_weight_bound: runtime_types::sp_weights::OldWeight, + #[codec(compact)] + length_bound: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "Disapprove a proposal, close, and remove it from the system, regardless of its current"] + #[doc = "state."] + #[doc = ""] + #[doc = "Must be called by the Root origin."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "* `proposal_hash`: The hash of the proposal that should be disapproved."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "O(P) where P is the number of max proposals"] + disapprove_proposal { proposal_hash: ::subxt::utils::H256 }, + #[codec(index = 6)] + #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] + #[doc = ""] + #[doc = "May be called by any signed account in order to finish voting and close the proposal."] + #[doc = ""] + #[doc = "If called before the end of the voting period it will only close the vote if it is"] + #[doc = "has enough votes to be approved or disapproved."] + #[doc = ""] + #[doc = "If called after the end of the voting period abstentions are counted as rejections"] + #[doc = "unless there is a prime member set and the prime member cast an approval."] + #[doc = ""] + #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] + #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] + #[doc = ""] + #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] + #[doc = "proposal."] + #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] + #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(B + M + P1 + P2)` where:"] + #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] + #[doc = " - `M` is members-count (code- and governance-bounded)"] + #[doc = " - `P1` is the complexity of `proposal` preimage."] + #[doc = " - `P2` is proposal-count (code-bounded)"] + close { + proposal_hash: ::subxt::utils::H256, + #[codec(compact)] + index: ::core::primitive::u32, + proposal_weight_bound: + runtime_types::sp_weights::weight_v2::Weight, + #[codec(compact)] + length_bound: ::core::primitive::u32, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum RawOrigin<_0> { + #[codec(index = 0)] + Members(::core::primitive::u32, ::core::primitive::u32), + #[codec(index = 1)] + Member(_0), + #[codec(index = 2)] + _Phantom, + } + } + pub mod pallet_contracts { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Deprecated version if [`Self::call`] for use in an in-storage `Call`."] + call_old_weight { + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + value: ::core::primitive::u128, + #[codec(compact)] + gas_limit: runtime_types::sp_weights::OldWeight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + data: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 1)] + #[doc = "Deprecated version if [`Self::instantiate_with_code`] for use in an in-storage `Call`."] + instantiate_with_code_old_weight { + #[codec(compact)] + value: ::core::primitive::u128, + #[codec(compact)] + gas_limit: runtime_types::sp_weights::OldWeight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code: ::std::vec::Vec<::core::primitive::u8>, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 2)] + #[doc = "Deprecated version if [`Self::instantiate`] for use in an in-storage `Call`."] + instantiate_old_weight { + #[codec(compact)] + value: ::core::primitive::u128, + #[codec(compact)] + gas_limit: runtime_types::sp_weights::OldWeight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code_hash: ::subxt::utils::H256, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 3)] + #[doc = "Upload new `code` without instantiating a contract from it."] + #[doc = ""] + #[doc = "If the code does not already exist a deposit is reserved from the caller"] + #[doc = "and unreserved only when [`Self::remove_code`] is called. The size of the reserve"] + #[doc = "depends on the instrumented size of the the supplied `code`."] + #[doc = ""] + #[doc = "If the code already exists in storage it will still return `Ok` and upgrades"] + #[doc = "the in storage version to the current"] + #[doc = "[`InstructionWeights::version`](InstructionWeights)."] + #[doc = ""] + #[doc = "- `determinism`: If this is set to any other value but [`Determinism::Deterministic`]"] + #[doc = " then the only way to use this code is to delegate call into it from an offchain"] + #[doc = " execution. Set to [`Determinism::Deterministic`] if in doubt."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Anyone can instantiate a contract from any uploaded code and thus prevent its removal."] + #[doc = "To avoid this situation a constructor could employ access control so that it can"] + #[doc = "only be instantiated by permissioned entities. The same is true when uploading"] + #[doc = "through [`Self::instantiate_with_code`]."] + upload_code { + code: ::std::vec::Vec<::core::primitive::u8>, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + determinism: runtime_types::pallet_contracts::wasm::Determinism, + }, + #[codec(index = 4)] + #[doc = "Remove the code stored under `code_hash` and refund the deposit to its owner."] + #[doc = ""] + #[doc = "A code can only be removed by its original uploader (its owner) and only if it is"] + #[doc = "not used by any contract."] + remove_code { code_hash: ::subxt::utils::H256 }, + #[codec(index = 5)] + #[doc = "Privileged function that changes the code of an existing contract."] + #[doc = ""] + #[doc = "This takes care of updating refcounts and all other necessary operations. Returns"] + #[doc = "an error if either the `code_hash` or `dest` do not exist."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "This does **not** change the address of the contract in question. This means"] + #[doc = "that the contract address is no longer derived from its code hash after calling"] + #[doc = "this dispatchable."] + set_code { + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + code_hash: ::subxt::utils::H256, + }, + #[codec(index = 6)] + #[doc = "Makes a call to an account, optionally transferring some balance."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "* `dest`: Address of the contract to call."] + #[doc = "* `value`: The balance to transfer from the `origin` to `dest`."] + #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] + #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged from the"] + #[doc = " caller to pay for the storage consumed."] + #[doc = "* `data`: The input data to pass to the contract."] + #[doc = ""] + #[doc = "* If the account is a smart-contract account, the associated code will be"] + #[doc = "executed and any value will be transferred."] + #[doc = "* If the account is a regular account, any value will be transferred."] + #[doc = "* If no account exists and the call value is not less than `existential_deposit`,"] + #[doc = "a regular account will be created and any value will be transferred."] + call { + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + value: ::core::primitive::u128, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + data: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 7)] + #[doc = "Instantiates a new contract from the supplied `code` optionally transferring"] + #[doc = "some balance."] + #[doc = ""] + #[doc = "This dispatchable has the same effect as calling [`Self::upload_code`] +"] + #[doc = "[`Self::instantiate`]. Bundling them together provides efficiency gains. Please"] + #[doc = "also check the documentation of [`Self::upload_code`]."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "* `value`: The balance to transfer from the `origin` to the newly created contract."] + #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] + #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved"] + #[doc = " from the caller to pay for the storage consumed."] + #[doc = "* `code`: The contract code to deploy in raw bytes."] + #[doc = "* `data`: The input data to pass to the contract constructor."] + #[doc = "* `salt`: Used for the address derivation. See [`Pallet::contract_address`]."] + #[doc = ""] + #[doc = "Instantiation is executed as follows:"] + #[doc = ""] + #[doc = "- The supplied `code` is instrumented, deployed, and a `code_hash` is created for that"] + #[doc = " code."] + #[doc = "- If the `code_hash` already exists on the chain the underlying `code` will be shared."] + #[doc = "- The destination address is computed based on the sender, code_hash and the salt."] + #[doc = "- The smart-contract account is created at the computed address."] + #[doc = "- The `value` is transferred to the new account."] + #[doc = "- The `deploy` function is executed in the context of the newly-created account."] + instantiate_with_code { + #[codec(compact)] + value: ::core::primitive::u128, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code: ::std::vec::Vec<::core::primitive::u8>, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 8)] + #[doc = "Instantiates a contract from a previously deployed wasm binary."] + #[doc = ""] + #[doc = "This function is identical to [`Self::instantiate_with_code`] but without the"] + #[doc = "code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary"] + #[doc = "must be supplied."] + instantiate { + #[codec(compact)] + value: ::core::primitive::u128, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code_hash: ::subxt::utils::H256, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + }, + } + } + pub mod wasm { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Determinism { + #[codec(index = 0)] + Deterministic, + #[codec(index = 1)] + AllowIndeterminism, + } + } + } + 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, + Debug, + )] + 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, + Debug, + )] + #[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 , :: core :: primitive :: u32 > , 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 , :: core :: primitive :: u32 > , } , # [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 , :: core :: primitive :: u32 > , class : :: core :: primitive :: u16 , index : :: core :: primitive :: u32 , } , } + } + pub mod vote { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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 :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Vote(pub ::core::primitive::u8); + } + } + pub mod pallet_democracy { + use super::runtime_types; + pub mod conviction { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Propose a sensitive action to be taken."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_ and the sender must"] + #[doc = "have funds to cover the deposit."] + #[doc = ""] + #[doc = "- `proposal_hash`: The hash of the proposal preimage."] + #[doc = "- `value`: The amount of deposit (must be at least `MinimumDeposit`)."] + #[doc = ""] + #[doc = "Emits `Proposed`."] + propose { + proposal: + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "Signals agreement with a particular proposal."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_ and the sender"] + #[doc = "must have funds to cover the deposit, equal to the original deposit."] + #[doc = ""] + #[doc = "- `proposal`: The index of the proposal to second."] + second { + #[codec(compact)] + proposal: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Vote in a referendum. 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 = "- `ref_index`: The index of the referendum to vote for."] + #[doc = "- `vote`: The vote configuration."] + vote { + #[codec(compact)] + ref_index: ::core::primitive::u32, + vote: runtime_types::pallet_democracy::vote::AccountVote< + ::core::primitive::u128, + >, + }, + #[codec(index = 3)] + #[doc = "Schedule an emergency cancellation of a referendum. Cannot happen twice to the same"] + #[doc = "referendum."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be `CancellationOrigin`."] + #[doc = ""] + #[doc = "-`ref_index`: The index of the referendum to cancel."] + #[doc = ""] + #[doc = "Weight: `O(1)`."] + emergency_cancel { ref_index: ::core::primitive::u32 }, + #[codec(index = 4)] + #[doc = "Schedule a referendum to be tabled once it is legal to schedule an external"] + #[doc = "referendum."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be `ExternalOrigin`."] + #[doc = ""] + #[doc = "- `proposal_hash`: The preimage hash of the proposal."] + external_propose { + proposal: + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 5)] + #[doc = "Schedule a majority-carries referendum to be tabled next once it is legal to schedule"] + #[doc = "an external referendum."] + #[doc = ""] + #[doc = "The dispatch of this call must be `ExternalMajorityOrigin`."] + #[doc = ""] + #[doc = "- `proposal_hash`: The preimage hash of the proposal."] + #[doc = ""] + #[doc = "Unlike `external_propose`, blacklisting has no effect on this and it may replace a"] + #[doc = "pre-scheduled `external_propose` call."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + external_propose_majority { + proposal: + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 6)] + #[doc = "Schedule a negative-turnout-bias referendum to be tabled next once it is legal to"] + #[doc = "schedule an external referendum."] + #[doc = ""] + #[doc = "The dispatch of this call must be `ExternalDefaultOrigin`."] + #[doc = ""] + #[doc = "- `proposal_hash`: The preimage hash of the proposal."] + #[doc = ""] + #[doc = "Unlike `external_propose`, blacklisting has no effect on this and it may replace a"] + #[doc = "pre-scheduled `external_propose` call."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + external_propose_default { + proposal: + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 7)] + #[doc = "Schedule the currently externally-proposed majority-carries referendum to be tabled"] + #[doc = "immediately. If there is no externally-proposed referendum currently, or if there is one"] + #[doc = "but it is not a majority-carries referendum then it fails."] + #[doc = ""] + #[doc = "The dispatch of this call must be `FastTrackOrigin`."] + #[doc = ""] + #[doc = "- `proposal_hash`: The hash of the current external proposal."] + #[doc = "- `voting_period`: The period that is allowed for voting on this proposal. Increased to"] + #[doc = "\tMust be always greater than zero."] + #[doc = "\tFor `FastTrackOrigin` must be equal or greater than `FastTrackVotingPeriod`."] + #[doc = "- `delay`: The number of block after voting has ended in approval and this should be"] + #[doc = " enacted. This doesn't have a minimum amount."] + #[doc = ""] + #[doc = "Emits `Started`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + fast_track { + proposal_hash: ::subxt::utils::H256, + voting_period: ::core::primitive::u32, + delay: ::core::primitive::u32, + }, + #[codec(index = 8)] + #[doc = "Veto and blacklist the external proposal hash."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be `VetoOrigin`."] + #[doc = ""] + #[doc = "- `proposal_hash`: The preimage hash of the proposal to veto and blacklist."] + #[doc = ""] + #[doc = "Emits `Vetoed`."] + #[doc = ""] + #[doc = "Weight: `O(V + log(V))` where V is number of `existing vetoers`"] + veto_external { proposal_hash: ::subxt::utils::H256 }, + #[codec(index = 9)] + #[doc = "Remove a referendum."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Root_."] + #[doc = ""] + #[doc = "- `ref_index`: The index of the referendum to cancel."] + #[doc = ""] + #[doc = "# Weight: `O(1)`."] + cancel_referendum { + #[codec(compact)] + ref_index: ::core::primitive::u32, + }, + #[codec(index = 10)] + #[doc = "Delegate the voting power (with some given conviction) of the sending account."] + #[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 = "- `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 referendums the voter delegating to has"] + #[doc = " voted on. Weight is charged as if maximum votes."] + delegate { + to: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + conviction: + runtime_types::pallet_democracy::conviction::Conviction, + balance: ::core::primitive::u128, + }, + #[codec(index = 11)] + #[doc = "Undelegate the voting power of the sending account."] + #[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."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"] + #[doc = "currently delegating."] + #[doc = ""] + #[doc = "Emits `Undelegated`."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of referendums the voter delegating to has"] + #[doc = " voted on. Weight is charged as if maximum votes."] + undelegate, + #[codec(index = 12)] + #[doc = "Clears all public proposals."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Root_."] + #[doc = ""] + #[doc = "Weight: `O(1)`."] + clear_public_proposals, + #[codec(index = 13)] + #[doc = "Unlock tokens that have an expired lock."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account to remove the lock on."] + #[doc = ""] + #[doc = "Weight: `O(R)` with R number of vote of target."] + unlock { + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 14)] + #[doc = "Remove a vote for a referendum."] + #[doc = ""] + #[doc = "If:"] + #[doc = "- the referendum was cancelled, or"] + #[doc = "- the referendum is ongoing, or"] + #[doc = "- the referendum 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 referendum 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 referendum `index`."] + #[doc = ""] + #[doc = "- `index`: The index of referendum of the vote to be removed."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + remove_vote { index: ::core::primitive::u32 }, + #[codec(index = 15)] + #[doc = "Remove a vote for a referendum."] + #[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 referendum was cancelled, because the voter lost the referendum 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"] + #[doc = " referendum `index`."] + #[doc = "- `index`: The index of referendum of the vote to be removed."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of referenda 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, + ::core::primitive::u32, + >, + index: ::core::primitive::u32, + }, + #[codec(index = 16)] + #[doc = "Permanently place a proposal into the blacklist. This prevents it from ever being"] + #[doc = "proposed again."] + #[doc = ""] + #[doc = "If called on a queued public or external proposal, then this will result in it being"] + #[doc = "removed. If the `ref_index` supplied is an active referendum with the proposal hash,"] + #[doc = "then it will be cancelled."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be `BlacklistOrigin`."] + #[doc = ""] + #[doc = "- `proposal_hash`: The proposal hash to blacklist permanently."] + #[doc = "- `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be"] + #[doc = "cancelled."] + #[doc = ""] + #[doc = "Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a"] + #[doc = " reasonable value)."] + blacklist { + proposal_hash: ::subxt::utils::H256, + maybe_ref_index: ::core::option::Option<::core::primitive::u32>, + }, + #[codec(index = 17)] + #[doc = "Remove a proposal."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be `CancelProposalOrigin`."] + #[doc = ""] + #[doc = "- `prop_index`: The index of the proposal to cancel."] + #[doc = ""] + #[doc = "Weight: `O(p)` where `p = PublicProps::::decode_len()`"] + cancel_proposal { + #[codec(compact)] + prop_index: ::core::primitive::u32, + }, + #[codec(index = 18)] + #[doc = "Set or clear a metadata of a proposal or a referendum."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `origin`: Must correspond to the `MetadataOwner`."] + #[doc = " - `ExternalOrigin` for an external proposal with the `SuperMajorityApprove`"] + #[doc = " threshold."] + #[doc = " - `ExternalDefaultOrigin` for an external proposal with the `SuperMajorityAgainst`"] + #[doc = " threshold."] + #[doc = " - `ExternalMajorityOrigin` for an external proposal with the `SimpleMajority`"] + #[doc = " threshold."] + #[doc = " - `Signed` by a creator for a public proposal."] + #[doc = " - `Signed` to clear a metadata for a finished referendum."] + #[doc = " - `Root` to set a metadata for an ongoing referendum."] + #[doc = "- `owner`: an identifier of a metadata owner."] + #[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."] + set_metadata { + owner: runtime_types::pallet_democracy::types::MetadataOwner, + maybe_hash: ::core::option::Option<::subxt::utils::H256>, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum MetadataOwner { + #[codec(index = 0)] + External, + #[codec(index = 1)] + Proposal(::core::primitive::u32), + #[codec(index = 2)] + Referendum(::core::primitive::u32), + } + } + pub mod vote { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum AccountVote<_0> { + #[codec(index = 0)] + Standard { + vote: runtime_types::pallet_democracy::vote::Vote, + balance: _0, + }, + #[codec(index = 1)] + Split { aye: _0, nay: _0 }, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Vote(pub ::core::primitive::u8); + } + } + 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, + Debug, + )] + #[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 :: kitchensink_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 :: kitchensink_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, + Debug, + )] + 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, + Debug, + )] + pub struct SolutionOrSnapshotSize { + #[codec(compact)] + pub voters: ::core::primitive::u32, + #[codec(compact)] + pub targets: ::core::primitive::u32, + } + } + pub mod pallet_elections_phragmen { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Vote for a set of candidates for the upcoming round of election. This can be called to"] + #[doc = "set the initial votes, or update already existing votes."] + #[doc = ""] + #[doc = "Upon initial voting, `value` units of `who`'s balance is locked and a deposit amount is"] + #[doc = "reserved. The deposit is based on the number of votes and can be updated over time."] + #[doc = ""] + #[doc = "The `votes` should:"] + #[doc = " - not be empty."] + #[doc = " - be less than the number of possible candidates. Note that all current members and"] + #[doc = " runners-up are also automatically candidates for the next round."] + #[doc = ""] + #[doc = "If `value` is more than `who`'s free balance, then the maximum of the two is used."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed."] + #[doc = ""] + #[doc = "### Warning"] + #[doc = ""] + #[doc = "It is the responsibility of the caller to **NOT** place all of their balance into the"] + #[doc = "lock and keep some for further operations."] + vote { + votes: ::std::vec::Vec<::subxt::utils::AccountId32>, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "Remove `origin` as a voter."] + #[doc = ""] + #[doc = "This removes the lock and returns the deposit."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed and be a voter."] + remove_voter, + #[codec(index = 2)] + #[doc = "Submit oneself for candidacy. A fixed amount of deposit is recorded."] + #[doc = ""] + #[doc = "All candidates are wiped at the end of the term. They either become a member/runner-up,"] + #[doc = "or leave the system while their deposit is slashed."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed."] + #[doc = ""] + #[doc = "### Warning"] + #[doc = ""] + #[doc = "Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]"] + #[doc = "to get their deposit back. Losing the spot in an election will always lead to a slash."] + #[doc = ""] + #[doc = "The number of current candidates must be provided as witness data."] + #[doc = "## Complexity"] + #[doc = "O(C + log(C)) where C is candidate_count."] + submit_candidacy { + #[codec(compact)] + candidate_count: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Renounce one's intention to be a candidate for the next election round. 3 potential"] + #[doc = "outcomes exist:"] + #[doc = ""] + #[doc = "- `origin` is a candidate and not elected in any set. In this case, the deposit is"] + #[doc = " unreserved, returned and origin is removed as a candidate."] + #[doc = "- `origin` is a current runner-up. In this case, the deposit is unreserved, returned and"] + #[doc = " origin is removed as a runner-up."] + #[doc = "- `origin` is a current member. In this case, the deposit is unreserved and origin is"] + #[doc = " removed as a member, consequently not being a candidate for the next round anymore."] + #[doc = " Similar to [`remove_member`](Self::remove_member), if replacement runners exists, they"] + #[doc = " are immediately used. If the prime is renouncing, then no prime will exist until the"] + #[doc = " next round."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed, and have one of the above roles."] + #[doc = "The type of renouncing must be provided as witness data."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = " - Renouncing::Candidate(count): O(count + log(count))"] + #[doc = " - Renouncing::Member: O(1)"] + #[doc = " - Renouncing::RunnerUp: O(1)"] + renounce_candidacy { + renouncing: runtime_types::pallet_elections_phragmen::Renouncing, + }, + #[codec(index = 4)] + #[doc = "Remove a particular member from the set. This is effective immediately and the bond of"] + #[doc = "the outgoing member is slashed."] + #[doc = ""] + #[doc = "If a runner-up is available, then the best runner-up will be removed and replaces the"] + #[doc = "outgoing member. Otherwise, if `rerun_election` is `true`, a new phragmen election is"] + #[doc = "started, else, nothing happens."] + #[doc = ""] + #[doc = "If `slash_bond` is set to true, the bond of the member being removed is slashed. Else,"] + #[doc = "it is returned."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be root."] + #[doc = ""] + #[doc = "Note that this does not affect the designated block number of the next election."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- Check details of remove_and_replace_member() and do_phragmen()."] + remove_member { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + slash_bond: ::core::primitive::bool, + rerun_election: ::core::primitive::bool, + }, + #[codec(index = 5)] + #[doc = "Clean all voters who are defunct (i.e. they do not serve any purpose at all). The"] + #[doc = "deposit of the removed voters are returned."] + #[doc = ""] + #[doc = "This is an root function to be used only for cleaning the state."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be root."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- Check is_defunct_voter() details."] + clean_defunct_voters { + num_voters: ::core::primitive::u32, + num_defunct: ::core::primitive::u32, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Renouncing { + #[codec(index = 0)] + Member, + #[codec(index = 1)] + RunnerUp, + #[codec(index = 2)] + Candidate(#[codec(compact)] ::core::primitive::u32), + } + } + pub mod pallet_fast_unstake { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Register oneself for fast-unstake."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the controller account, similar to"] + #[doc = "`staking::unbond`."] + #[doc = ""] + #[doc = "The stash associated with the origin must have no ongoing unlocking chunks. If"] + #[doc = "successful, this will fully unbond and chill the stash. Then, it will enqueue the stash"] + #[doc = "to be checked in further blocks."] + #[doc = ""] + #[doc = "If by the time this is called, the stash is actually eligible for fast-unstake, then"] + #[doc = "they are guaranteed to remain eligible, because the call will chill them as well."] + #[doc = ""] + #[doc = "If the check works, the entire staking data is removed, i.e. the stash is fully"] + #[doc = "unstaked."] + #[doc = ""] + #[doc = "If the check fails, the stash remains chilled and waiting for being unbonded as in with"] + #[doc = "the normal staking system, but they lose part of their unbonding chunks due to consuming"] + #[doc = "the chain's resources."] + register_fast_unstake, + #[codec(index = 1)] + #[doc = "Deregister oneself from the fast-unstake."] + #[doc = ""] + #[doc = "This is useful if one is registered, they are still waiting, and they change their mind."] + #[doc = ""] + #[doc = "Note that the associated stash is still fully unbonded and chilled as a consequence of"] + #[doc = "calling `register_fast_unstake`. This should probably be followed by a call to"] + #[doc = "`Staking::rebond`."] + deregister, + #[codec(index = 2)] + #[doc = "Control the operation of this pallet."] + #[doc = ""] + #[doc = "Dispatch origin must be signed by the [`Config::ControlOrigin`]."] + control { + eras_to_check: ::core::primitive::u32, + }, + } + } + } + pub mod pallet_glutton { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Initializes the pallet by writing into `TrashData`."] + #[doc = ""] + #[doc = "Only callable by Root. A good default for `trash_count` is `5_000`."] + initialize_pallet { + new_count: ::core::primitive::u32, + witness_count: ::core::option::Option<::core::primitive::u32>, + }, + #[codec(index = 1)] + #[doc = "Set the `Compute` storage value that determines how much of the"] + #[doc = "block's weight `ref_time` to use during `on_idle`."] + #[doc = ""] + #[doc = "Only callable by Root."] + set_compute { + compute: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 2)] + #[doc = "Set the `Storage` storage value that determines the PoV size usage"] + #[doc = "for each block."] + #[doc = ""] + #[doc = "Only callable by Root."] + set_storage { + storage: runtime_types::sp_arithmetic::per_things::Perbill, + }, + } + } + } + pub mod pallet_grandpa { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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, + }, + } + } + } + pub mod pallet_identity { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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, + ::core::primitive::u32, + >, + }, + #[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< + runtime_types::pallet_identity::types::IdentityInfo, + >, + }, + #[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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + 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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + 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, + ::core::primitive::u32, + >, + 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, + ::core::primitive::u32, + >, + }, + #[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, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BitFlags<_0>( + pub ::core::primitive::u64, + #[codec(skip)] pub ::core::marker::PhantomData<_0>, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + 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, + } + } + } + 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, + Debug, + )] + #[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 , } , } + } + pub mod sr25519 { + use super::runtime_types; + pub mod app_sr25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Public(pub runtime_types::sp_core::sr25519::Public); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Signature(pub runtime_types::sp_core::sr25519::Signature); + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Heartbeat<_0> { + pub block_number: _0, + pub network_state: runtime_types::sp_core::offchain::OpaqueNetworkState, + pub session_index: _0, + pub authority_index: _0, + pub validators_len: _0, + } + } + pub mod pallet_indices { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Assign an previously unassigned index."] + #[doc = ""] + #[doc = "Payment: `Deposit` is reserved from the sender account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `index`: the index to be claimed. This must not be in use."] + #[doc = ""] + #[doc = "Emits `IndexAssigned` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + claim { index: ::core::primitive::u32 }, + #[codec(index = 1)] + #[doc = "Assign an index already owned by the sender to another account. The balance reservation"] + #[doc = "is effectively transferred to the new account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `index`: the index to be re-assigned. This must be owned by the sender."] + #[doc = "- `new`: the new owner of the index. This function is a no-op if it is equal to sender."] + #[doc = ""] + #[doc = "Emits `IndexAssigned` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + transfer { + new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + index: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Free up an index owned by the sender."] + #[doc = ""] + #[doc = "Payment: Any previous deposit placed for the index is unreserved in the sender account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must own the index."] + #[doc = ""] + #[doc = "- `index`: the index to be freed. This must be owned by the sender."] + #[doc = ""] + #[doc = "Emits `IndexFreed` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + free { index: ::core::primitive::u32 }, + #[codec(index = 3)] + #[doc = "Force an index to an account. This doesn't require a deposit. If the index is already"] + #[doc = "held, then any deposit is reimbursed to its current owner."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "- `index`: the index to be (re-)assigned."] + #[doc = "- `new`: the new owner of the index. This function is a no-op if it is equal to sender."] + #[doc = "- `freeze`: if set to `true`, will freeze the index so it cannot be transferred."] + #[doc = ""] + #[doc = "Emits `IndexAssigned` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + force_transfer { + new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + index: ::core::primitive::u32, + freeze: ::core::primitive::bool, + }, + #[codec(index = 4)] + #[doc = "Freeze an index so it will always point to the sender account. This consumes the"] + #[doc = "deposit."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the signing account must have a"] + #[doc = "non-frozen account `index`."] + #[doc = ""] + #[doc = "- `index`: the index to be frozen in place."] + #[doc = ""] + #[doc = "Emits `IndexFrozen` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + freeze { index: ::core::primitive::u32 }, + } + } + } + pub mod pallet_lottery { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Buy a ticket to enter the lottery."] + #[doc = ""] + #[doc = "This extrinsic acts as a passthrough function for `call`. In all"] + #[doc = "situations where `call` alone would succeed, this extrinsic should"] + #[doc = "succeed."] + #[doc = ""] + #[doc = "If `call` is successful, then we will attempt to purchase a ticket,"] + #[doc = "which may fail silently. To detect success of a ticket purchase, you"] + #[doc = "should listen for the `TicketBought` event."] + #[doc = ""] + #[doc = "This extrinsic must be called by a signed origin."] + buy_ticket { + call: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 1)] + #[doc = "Set calls in storage which can be used to purchase a lottery ticket."] + #[doc = ""] + #[doc = "This function only matters if you use the `ValidateCall` implementation"] + #[doc = "provided by this pallet, which uses storage to determine the valid calls."] + #[doc = ""] + #[doc = "This extrinsic must be called by the Manager origin."] + set_calls { + calls: ::std::vec::Vec< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 2)] + #[doc = "Start a lottery using the provided configuration."] + #[doc = ""] + #[doc = "This extrinsic must be called by the `ManagerOrigin`."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = ""] + #[doc = "* `price`: The cost of a single ticket."] + #[doc = "* `length`: How long the lottery should run for starting at the current block."] + #[doc = "* `delay`: How long after the lottery end we should wait before picking a winner."] + #[doc = "* `repeat`: If the lottery should repeat when completed."] + start_lottery { + price: ::core::primitive::u128, + length: ::core::primitive::u32, + delay: ::core::primitive::u32, + repeat: ::core::primitive::bool, + }, + #[codec(index = 3)] + #[doc = "If a lottery is repeating, you can use this to stop the repeat."] + #[doc = "The lottery will continue to run to completion."] + #[doc = ""] + #[doc = "This extrinsic must be called by the `ManagerOrigin`."] + stop_repeat, + } + } + } + pub mod pallet_membership { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Add a member `who` to the set."] + #[doc = ""] + #[doc = "May only be called from `T::AddOrigin`."] + add_member { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 1)] + #[doc = "Remove a member `who` from the set."] + #[doc = ""] + #[doc = "May only be called from `T::RemoveOrigin`."] + remove_member { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 2)] + #[doc = "Swap out one member `remove` for another `add`."] + #[doc = ""] + #[doc = "May only be called from `T::SwapOrigin`."] + #[doc = ""] + #[doc = "Prime membership is *not* passed from `remove` to `add`, if extant."] + swap_member { + remove: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + add: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 3)] + #[doc = "Change the membership to a new set, disregarding the existing membership. Be nice and"] + #[doc = "pass `members` pre-sorted."] + #[doc = ""] + #[doc = "May only be called from `T::ResetOrigin`."] + reset_members { + members: ::std::vec::Vec<::subxt::utils::AccountId32>, + }, + #[codec(index = 4)] + #[doc = "Swap out the sending member for some other key `new`."] + #[doc = ""] + #[doc = "May only be called from `Signed` origin of a current member."] + #[doc = ""] + #[doc = "Prime membership is passed from the origin account to `new`, if extant."] + change_key { + new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 5)] + #[doc = "Set the prime member. Must be a current member."] + #[doc = ""] + #[doc = "May only be called from `T::PrimeOrigin`."] + set_prime { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 6)] + #[doc = "Remove the prime member if it exists."] + #[doc = ""] + #[doc = "May only be called from `T::PrimeOrigin`."] + clear_prime, + } + } + } + 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, + Debug, + )] + #[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: ::core::primitive::u32, + 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: ::core::primitive::u32, + page: ::core::primitive::u32, + index: ::core::primitive::u32, + weight_limit: runtime_types::sp_weights::weight_v2::Weight, + }, + } + } + } + pub mod pallet_multisig { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + 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, + Debug, + )] + pub struct Timepoint<_0> { + pub height: _0, + pub index: _0, + } + } + pub mod pallet_nfts { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] # [doc = "Issue a new collection of non-fungible items from a public origin."] # [doc = ""] # [doc = "This new collection has no items initially and its owner is the origin."] # [doc = ""] # [doc = "The origin must be Signed and the sender must have sufficient funds free."] # [doc = ""] # [doc = "`ItemDeposit` funds of sender are reserved."] # [doc = ""] # [doc = "Parameters:"] # [doc = "- `admin`: The admin of this collection. The admin is the initial address of each"] # [doc = "member of the collection's admin team."] # [doc = ""] # [doc = "Emits `Created` event when successful."] # [doc = ""] # [doc = "Weight: `O(1)`"] create { admin : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , config : runtime_types :: pallet_nfts :: types :: CollectionConfig < :: core :: primitive :: u128 , :: core :: primitive :: u32 , :: core :: primitive :: u32 > , } , # [codec (index = 1)] # [doc = "Issue a new collection of non-fungible items from a privileged origin."] # [doc = ""] # [doc = "This new collection has no items initially."] # [doc = ""] # [doc = "The origin must conform to `ForceOrigin`."] # [doc = ""] # [doc = "Unlike `create`, no funds are reserved."] # [doc = ""] # [doc = "- `owner`: The owner of this collection of items. The owner has full superuser"] # [doc = " permissions over this item, but may later change and configure the permissions using"] # [doc = " `transfer_ownership` and `set_team`."] # [doc = ""] # [doc = "Emits `ForceCreated` event when successful."] # [doc = ""] # [doc = "Weight: `O(1)`"] force_create { owner : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , config : runtime_types :: pallet_nfts :: types :: CollectionConfig < :: core :: primitive :: u128 , :: core :: primitive :: u32 , :: core :: primitive :: u32 > , } , # [codec (index = 2)] # [doc = "Destroy a collection of fungible items."] # [doc = ""] # [doc = "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the"] # [doc = "owner of the `collection`."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection to be destroyed."] # [doc = "- `witness`: Information on the items minted in the collection. This must be"] # [doc = "correct."] # [doc = ""] # [doc = "Emits `Destroyed` event when successful."] # [doc = ""] # [doc = "Weight: `O(n + m)` where:"] # [doc = "- `n = witness.items`"] # [doc = "- `m = witness.item_metadatas`"] # [doc = "- `a = witness.attributes`"] destroy { collection : :: core :: primitive :: u32 , witness : runtime_types :: pallet_nfts :: types :: DestroyWitness , } , # [codec (index = 3)] # [doc = "Mint an item of a particular collection."] # [doc = ""] # [doc = "The origin must be Signed and the sender must be the Issuer of the `collection`."] # [doc = ""] # [doc = "- `collection`: The collection of the item to be minted."] # [doc = "- `item`: An identifier of the new item."] # [doc = "- `mint_to`: Account into which the item will be minted."] # [doc = "- `witness_data`: When the mint type is `HolderOf(collection_id)`, then the owned"] # [doc = " item_id from that collection needs to be provided within the witness data object."] # [doc = ""] # [doc = "Note: the deposit will be taken from the `origin` and not the `owner` of the `item`."] # [doc = ""] # [doc = "Emits `Issued` event when successful."] # [doc = ""] # [doc = "Weight: `O(1)`"] mint { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , mint_to : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , witness_data : :: core :: option :: Option < runtime_types :: pallet_nfts :: types :: MintWitness < :: core :: primitive :: u32 > > , } , # [codec (index = 4)] # [doc = "Mint an item of a particular collection from a privileged origin."] # [doc = ""] # [doc = "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the"] # [doc = "Issuer of the `collection`."] # [doc = ""] # [doc = "- `collection`: The collection of the item to be minted."] # [doc = "- `item`: An identifier of the new item."] # [doc = "- `mint_to`: Account into which the item will be minted."] # [doc = "- `item_config`: A config of the new item."] # [doc = ""] # [doc = "Emits `Issued` event when successful."] # [doc = ""] # [doc = "Weight: `O(1)`"] force_mint { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , mint_to : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , item_config : runtime_types :: pallet_nfts :: types :: ItemConfig , } , # [codec (index = 5)] # [doc = "Destroy a single item."] # [doc = ""] # [doc = "Origin must be Signed and the signing account must be either:"] # [doc = "- the Admin of the `collection`;"] # [doc = "- the Owner of the `item`;"] # [doc = ""] # [doc = "- `collection`: The collection of the item to be burned."] # [doc = "- `item`: The item to be burned."] # [doc = "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the"] # [doc = " item is owned by this value."] # [doc = ""] # [doc = "Emits `Burned` with the actual amount burned."] # [doc = ""] # [doc = "Weight: `O(1)`"] # [doc = "Modes: `check_owner.is_some()`."] burn { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , check_owner : :: core :: option :: Option < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > > , } , # [codec (index = 6)] # [doc = "Move an item from the sender account to another."] # [doc = ""] # [doc = "Origin must be Signed and the signing account must be either:"] # [doc = "- the Admin of the `collection`;"] # [doc = "- the Owner of the `item`;"] # [doc = "- the approved delegate for the `item` (in this case, the approval is reset)."] # [doc = ""] # [doc = "Arguments:"] # [doc = "- `collection`: The collection of the item to be transferred."] # [doc = "- `item`: The item to be transferred."] # [doc = "- `dest`: The account to receive ownership of the item."] # [doc = ""] # [doc = "Emits `Transferred`."] # [doc = ""] # [doc = "Weight: `O(1)`"] transfer { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , dest : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 7)] # [doc = "Re-evaluate the deposits on some items."] # [doc = ""] # [doc = "Origin must be Signed and the sender should be the Owner of the `collection`."] # [doc = ""] # [doc = "- `collection`: The collection of the items to be reevaluated."] # [doc = "- `items`: The items of the collection whose deposits will be reevaluated."] # [doc = ""] # [doc = "NOTE: This exists as a best-effort function. Any items which are unknown or"] # [doc = "in the case that the owner account does not have reservable funds to pay for a"] # [doc = "deposit increase are ignored. Generally the owner isn't going to call this on items"] # [doc = "whose existing deposit is less than the refreshed deposit as it would only cost them,"] # [doc = "so it's of little consequence."] # [doc = ""] # [doc = "It will still return an error in the case that the collection is unknown or the signer"] # [doc = "is not permitted to call it."] # [doc = ""] # [doc = "Weight: `O(items.len())`"] redeposit { collection : :: core :: primitive :: u32 , items : :: std :: vec :: Vec < :: core :: primitive :: u32 > , } , # [codec (index = 8)] # [doc = "Disallow further unprivileged transfer of an item."] # [doc = ""] # [doc = "Origin must be Signed and the sender should be the Freezer of the `collection`."] # [doc = ""] # [doc = "- `collection`: The collection of the item to be changed."] # [doc = "- `item`: The item to become non-transferable."] # [doc = ""] # [doc = "Emits `ItemTransferLocked`."] # [doc = ""] # [doc = "Weight: `O(1)`"] lock_item_transfer { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , } , # [codec (index = 9)] # [doc = "Re-allow unprivileged transfer of an item."] # [doc = ""] # [doc = "Origin must be Signed and the sender should be the Freezer of the `collection`."] # [doc = ""] # [doc = "- `collection`: The collection of the item to be changed."] # [doc = "- `item`: The item to become transferable."] # [doc = ""] # [doc = "Emits `ItemTransferUnlocked`."] # [doc = ""] # [doc = "Weight: `O(1)`"] unlock_item_transfer { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , } , # [codec (index = 10)] # [doc = "Disallows specified settings for the whole collection."] # [doc = ""] # [doc = "Origin must be Signed and the sender should be the Freezer of the `collection`."] # [doc = ""] # [doc = "- `collection`: The collection to be locked."] # [doc = "- `lock_settings`: The settings to be locked."] # [doc = ""] # [doc = "Note: it's possible to only lock(set) the setting, but not to unset it."] # [doc = "Emits `CollectionLocked`."] # [doc = ""] # [doc = "Weight: `O(1)`"] lock_collection { collection : :: core :: primitive :: u32 , lock_settings : runtime_types :: pallet_nfts :: types :: BitFlags < runtime_types :: pallet_nfts :: types :: CollectionSetting > , } , # [codec (index = 11)] # [doc = "Change the Owner of a collection."] # [doc = ""] # [doc = "Origin must be Signed and the sender should be the Owner of the `collection`."] # [doc = ""] # [doc = "- `collection`: The collection whose owner should be changed."] # [doc = "- `owner`: The new Owner of this collection. They must have called"] # [doc = " `set_accept_ownership` with `collection` in order for this operation to succeed."] # [doc = ""] # [doc = "Emits `OwnerChanged`."] # [doc = ""] # [doc = "Weight: `O(1)`"] transfer_ownership { collection : :: core :: primitive :: u32 , owner : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 12)] # [doc = "Change the Issuer, Admin and Freezer of a collection."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] # [doc = "`collection`."] # [doc = ""] # [doc = "- `collection`: The collection whose team should be changed."] # [doc = "- `issuer`: The new Issuer of this collection."] # [doc = "- `admin`: The new Admin of this collection."] # [doc = "- `freezer`: The new Freezer of this collection."] # [doc = ""] # [doc = "Emits `TeamChanged`."] # [doc = ""] # [doc = "Weight: `O(1)`"] set_team { collection : :: core :: primitive :: u32 , issuer : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , admin : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , freezer : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 13)] # [doc = "Change the Owner of a collection."] # [doc = ""] # [doc = "Origin must be `ForceOrigin`."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection."] # [doc = "- `owner`: The new Owner of this collection."] # [doc = ""] # [doc = "Emits `OwnerChanged`."] # [doc = ""] # [doc = "Weight: `O(1)`"] force_collection_owner { collection : :: core :: primitive :: u32 , owner : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 14)] # [doc = "Change the config of a collection."] # [doc = ""] # [doc = "Origin must be `ForceOrigin`."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection."] # [doc = "- `config`: The new config of this collection."] # [doc = ""] # [doc = "Emits `CollectionConfigChanged`."] # [doc = ""] # [doc = "Weight: `O(1)`"] force_collection_config { collection : :: core :: primitive :: u32 , config : runtime_types :: pallet_nfts :: types :: CollectionConfig < :: core :: primitive :: u128 , :: core :: primitive :: u32 , :: core :: primitive :: u32 > , } , # [codec (index = 15)] # [doc = "Approve an item to be transferred by a delegated third-party account."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] # [doc = "`item`."] # [doc = ""] # [doc = "- `collection`: The collection of the item to be approved for delegated transfer."] # [doc = "- `item`: The item to be approved for delegated transfer."] # [doc = "- `delegate`: The account to delegate permission to transfer the item."] # [doc = "- `maybe_deadline`: Optional deadline for the approval. Specified by providing the"] # [doc = "\tnumber of blocks after which the approval will expire"] # [doc = ""] # [doc = "Emits `TransferApproved` on success."] # [doc = ""] # [doc = "Weight: `O(1)`"] approve_transfer { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , delegate : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , maybe_deadline : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 16)] # [doc = "Cancel one of the transfer approvals for a specific item."] # [doc = ""] # [doc = "Origin must be either:"] # [doc = "- the `Force` origin;"] # [doc = "- `Signed` with the signer being the Admin of the `collection`;"] # [doc = "- `Signed` with the signer being the Owner of the `item`;"] # [doc = ""] # [doc = "Arguments:"] # [doc = "- `collection`: The collection of the item of whose approval will be cancelled."] # [doc = "- `item`: The item of the collection of whose approval will be cancelled."] # [doc = "- `delegate`: The account that is going to loose their approval."] # [doc = ""] # [doc = "Emits `ApprovalCancelled` on success."] # [doc = ""] # [doc = "Weight: `O(1)`"] cancel_approval { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , delegate : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 17)] # [doc = "Cancel all the approvals of a specific item."] # [doc = ""] # [doc = "Origin must be either:"] # [doc = "- the `Force` origin;"] # [doc = "- `Signed` with the signer being the Admin of the `collection`;"] # [doc = "- `Signed` with the signer being the Owner of the `item`;"] # [doc = ""] # [doc = "Arguments:"] # [doc = "- `collection`: The collection of the item of whose approvals will be cleared."] # [doc = "- `item`: The item of the collection of whose approvals will be cleared."] # [doc = ""] # [doc = "Emits `AllApprovalsCancelled` on success."] # [doc = ""] # [doc = "Weight: `O(1)`"] clear_all_transfer_approvals { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , } , # [codec (index = 18)] # [doc = "Disallows changing the metadata or attributes of the item."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] # [doc = "`collection`."] # [doc = ""] # [doc = "- `collection`: The collection if the `item`."] # [doc = "- `item`: An item to be locked."] # [doc = "- `lock_metadata`: Specifies whether the metadata should be locked."] # [doc = "- `lock_attributes`: Specifies whether the attributes in the `CollectionOwner` namespace"] # [doc = " should be locked."] # [doc = ""] # [doc = "Note: `lock_attributes` affects the attributes in the `CollectionOwner` namespace"] # [doc = "only. When the metadata or attributes are locked, it won't be possible the unlock them."] # [doc = ""] # [doc = "Emits `ItemPropertiesLocked`."] # [doc = ""] # [doc = "Weight: `O(1)`"] lock_item_properties { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , lock_metadata : :: core :: primitive :: bool , lock_attributes : :: core :: primitive :: bool , } , # [codec (index = 19)] # [doc = "Set an attribute for a collection or item."] # [doc = ""] # [doc = "Origin must be Signed and must conform to the namespace ruleset:"] # [doc = "- `CollectionOwner` namespace could be modified by the `collection` owner only;"] # [doc = "- `ItemOwner` namespace could be modified by the `maybe_item` owner only. `maybe_item`"] # [doc = " should be set in that case;"] # [doc = "- `Account(AccountId)` namespace could be modified only when the `origin` was given a"] # [doc = " permission to do so;"] # [doc = ""] # [doc = "The funds of `origin` are reserved according to the formula:"] # [doc = "`AttributeDepositBase + DepositPerByte * (key.len + value.len)` taking into"] # [doc = "account any already reserved funds."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection whose item's metadata to set."] # [doc = "- `maybe_item`: The identifier of the item whose metadata to set."] # [doc = "- `namespace`: Attribute's namespace."] # [doc = "- `key`: The key of the attribute."] # [doc = "- `value`: The value to which to set the attribute."] # [doc = ""] # [doc = "Emits `AttributeSet`."] # [doc = ""] # [doc = "Weight: `O(1)`"] set_attribute { collection : :: core :: primitive :: u32 , maybe_item : :: core :: option :: Option < :: core :: primitive :: u32 > , namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < :: subxt :: utils :: AccountId32 > , key : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , value : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 20)] # [doc = "Force-set an attribute for a collection or item."] # [doc = ""] # [doc = "Origin must be `ForceOrigin`."] # [doc = ""] # [doc = "If the attribute already exists and it was set by another account, the deposit"] # [doc = "will be returned to the previous owner."] # [doc = ""] # [doc = "- `set_as`: An optional owner of the attribute."] # [doc = "- `collection`: The identifier of the collection whose item's metadata to set."] # [doc = "- `maybe_item`: The identifier of the item whose metadata to set."] # [doc = "- `namespace`: Attribute's namespace."] # [doc = "- `key`: The key of the attribute."] # [doc = "- `value`: The value to which to set the attribute."] # [doc = ""] # [doc = "Emits `AttributeSet`."] # [doc = ""] # [doc = "Weight: `O(1)`"] force_set_attribute { set_as : :: core :: option :: Option < :: subxt :: utils :: AccountId32 > , collection : :: core :: primitive :: u32 , maybe_item : :: core :: option :: Option < :: core :: primitive :: u32 > , namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < :: subxt :: utils :: AccountId32 > , key : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , value : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 21)] # [doc = "Clear an attribute for a collection or item."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] # [doc = "attribute."] # [doc = ""] # [doc = "Any deposit is freed for the collection's owner."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection whose item's metadata to clear."] # [doc = "- `maybe_item`: The identifier of the item whose metadata to clear."] # [doc = "- `namespace`: Attribute's namespace."] # [doc = "- `key`: The key of the attribute."] # [doc = ""] # [doc = "Emits `AttributeCleared`."] # [doc = ""] # [doc = "Weight: `O(1)`"] clear_attribute { collection : :: core :: primitive :: u32 , maybe_item : :: core :: option :: Option < :: core :: primitive :: u32 > , namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < :: subxt :: utils :: AccountId32 > , key : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 22)] # [doc = "Approve item's attributes to be changed by a delegated third-party account."] # [doc = ""] # [doc = "Origin must be Signed and must be an owner of the `item`."] # [doc = ""] # [doc = "- `collection`: A collection of the item."] # [doc = "- `item`: The item that holds attributes."] # [doc = "- `delegate`: The account to delegate permission to change attributes of the item."] # [doc = ""] # [doc = "Emits `ItemAttributesApprovalAdded` on success."] approve_item_attributes { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , delegate : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 23)] # [doc = "Cancel the previously provided approval to change item's attributes."] # [doc = "All the previously set attributes by the `delegate` will be removed."] # [doc = ""] # [doc = "Origin must be Signed and must be an owner of the `item`."] # [doc = ""] # [doc = "- `collection`: Collection that the item is contained within."] # [doc = "- `item`: The item that holds attributes."] # [doc = "- `delegate`: The previously approved account to remove."] # [doc = ""] # [doc = "Emits `ItemAttributesApprovalRemoved` on success."] cancel_item_attributes_approval { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , delegate : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , witness : runtime_types :: pallet_nfts :: types :: CancelAttributesApprovalWitness , } , # [codec (index = 24)] # [doc = "Set the metadata for an item."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] # [doc = "`collection`."] # [doc = ""] # [doc = "If the origin is Signed, then funds of signer are reserved according to the formula:"] # [doc = "`MetadataDepositBase + DepositPerByte * data.len` taking into"] # [doc = "account any already reserved funds."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection whose item's metadata to set."] # [doc = "- `item`: The identifier of the item whose metadata to set."] # [doc = "- `data`: The general information of this item. Limited in length by `StringLimit`."] # [doc = ""] # [doc = "Emits `ItemMetadataSet`."] # [doc = ""] # [doc = "Weight: `O(1)`"] set_metadata { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , data : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 25)] # [doc = "Clear the metadata for an item."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] # [doc = "`collection`."] # [doc = ""] # [doc = "Any deposit is freed for the collection's owner."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection whose item's metadata to clear."] # [doc = "- `item`: The identifier of the item whose metadata to clear."] # [doc = ""] # [doc = "Emits `ItemMetadataCleared`."] # [doc = ""] # [doc = "Weight: `O(1)`"] clear_metadata { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , } , # [codec (index = 26)] # [doc = "Set the metadata for a collection."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of"] # [doc = "the `collection`."] # [doc = ""] # [doc = "If the origin is `Signed`, then funds of signer are reserved according to the formula:"] # [doc = "`MetadataDepositBase + DepositPerByte * data.len` taking into"] # [doc = "account any already reserved funds."] # [doc = ""] # [doc = "- `collection`: The identifier of the item whose metadata to update."] # [doc = "- `data`: The general information of this item. Limited in length by `StringLimit`."] # [doc = ""] # [doc = "Emits `CollectionMetadataSet`."] # [doc = ""] # [doc = "Weight: `O(1)`"] set_collection_metadata { collection : :: core :: primitive :: u32 , data : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 27)] # [doc = "Clear the metadata for a collection."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of"] # [doc = "the `collection`."] # [doc = ""] # [doc = "Any deposit is freed for the collection's owner."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection whose metadata to clear."] # [doc = ""] # [doc = "Emits `CollectionMetadataCleared`."] # [doc = ""] # [doc = "Weight: `O(1)`"] clear_collection_metadata { collection : :: core :: primitive :: u32 , } , # [codec (index = 28)] # [doc = "Set (or reset) the acceptance of ownership for a particular account."] # [doc = ""] # [doc = "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a"] # [doc = "provider reference."] # [doc = ""] # [doc = "- `maybe_collection`: The identifier of the collection whose ownership the signer is"] # [doc = " willing to accept, or if `None`, an indication that the signer is willing to accept no"] # [doc = " ownership transferal."] # [doc = ""] # [doc = "Emits `OwnershipAcceptanceChanged`."] set_accept_ownership { maybe_collection : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 29)] # [doc = "Set the maximum number of items a collection could have."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of"] # [doc = "the `collection`."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection to change."] # [doc = "- `max_supply`: The maximum number of items a collection could have."] # [doc = ""] # [doc = "Emits `CollectionMaxSupplySet` event when successful."] set_collection_max_supply { collection : :: core :: primitive :: u32 , max_supply : :: core :: primitive :: u32 , } , # [codec (index = 30)] # [doc = "Update mint settings."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of"] # [doc = "the `collection`."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection to change."] # [doc = "- `mint_settings`: The new mint settings."] # [doc = ""] # [doc = "Emits `CollectionMintSettingsUpdated` event when successful."] update_mint_settings { collection : :: core :: primitive :: u32 , mint_settings : runtime_types :: pallet_nfts :: types :: MintSettings < :: core :: primitive :: u128 , :: core :: primitive :: u32 , :: core :: primitive :: u32 > , } , # [codec (index = 31)] # [doc = "Set (or reset) the price for an item."] # [doc = ""] # [doc = "Origin must be Signed and must be the owner of the asset `item`."] # [doc = ""] # [doc = "- `collection`: The collection of the item."] # [doc = "- `item`: The item to set the price for."] # [doc = "- `price`: The price for the item. Pass `None`, to reset the price."] # [doc = "- `buyer`: Restricts the buy operation to a specific account."] # [doc = ""] # [doc = "Emits `ItemPriceSet` on success if the price is not `None`."] # [doc = "Emits `ItemPriceRemoved` on success if the price is `None`."] set_price { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , price : :: core :: option :: Option < :: core :: primitive :: u128 > , whitelisted_buyer : :: core :: option :: Option < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > > , } , # [codec (index = 32)] # [doc = "Allows to buy an item if it's up for sale."] # [doc = ""] # [doc = "Origin must be Signed and must not be the owner of the `item`."] # [doc = ""] # [doc = "- `collection`: The collection of the item."] # [doc = "- `item`: The item the sender wants to buy."] # [doc = "- `bid_price`: The price the sender is willing to pay."] # [doc = ""] # [doc = "Emits `ItemBought` on success."] buy_item { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , bid_price : :: core :: primitive :: u128 , } , # [codec (index = 33)] # [doc = "Allows to pay the tips."] # [doc = ""] # [doc = "Origin must be Signed."] # [doc = ""] # [doc = "- `tips`: Tips array."] # [doc = ""] # [doc = "Emits `TipSent` on every tip transfer."] pay_tips { tips : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_nfts :: types :: ItemTip < :: core :: primitive :: u32 , :: core :: primitive :: u32 , :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 > > , } , # [codec (index = 34)] # [doc = "Register a new atomic swap, declaring an intention to send an `item` in exchange for"] # [doc = "`desired_item` from origin to target on the current blockchain."] # [doc = "The target can execute the swap during the specified `duration` of blocks (if set)."] # [doc = "Additionally, the price could be set for the desired `item`."] # [doc = ""] # [doc = "Origin must be Signed and must be an owner of the `item`."] # [doc = ""] # [doc = "- `collection`: The collection of the item."] # [doc = "- `item`: The item an owner wants to give."] # [doc = "- `desired_collection`: The collection of the desired item."] # [doc = "- `desired_item`: The desired item an owner wants to receive."] # [doc = "- `maybe_price`: The price an owner is willing to pay or receive for the desired `item`."] # [doc = "- `duration`: A deadline for the swap. Specified by providing the number of blocks"] # [doc = "\tafter which the swap will expire."] # [doc = ""] # [doc = "Emits `SwapCreated` on success."] create_swap { offered_collection : :: core :: primitive :: u32 , offered_item : :: core :: primitive :: u32 , desired_collection : :: core :: primitive :: u32 , maybe_desired_item : :: core :: option :: Option < :: core :: primitive :: u32 > , maybe_price : :: core :: option :: Option < runtime_types :: pallet_nfts :: types :: PriceWithDirection < :: core :: primitive :: u128 > > , duration : :: core :: primitive :: u32 , } , # [codec (index = 35)] # [doc = "Cancel an atomic swap."] # [doc = ""] # [doc = "Origin must be Signed."] # [doc = "Origin must be an owner of the `item` if the deadline hasn't expired."] # [doc = ""] # [doc = "- `collection`: The collection of the item."] # [doc = "- `item`: The item an owner wants to give."] # [doc = ""] # [doc = "Emits `SwapCancelled` on success."] cancel_swap { offered_collection : :: core :: primitive :: u32 , offered_item : :: core :: primitive :: u32 , } , # [codec (index = 36)] # [doc = "Claim an atomic swap."] # [doc = "This method executes a pending swap, that was created by a counterpart before."] # [doc = ""] # [doc = "Origin must be Signed and must be an owner of the `item`."] # [doc = ""] # [doc = "- `send_collection`: The collection of the item to be sent."] # [doc = "- `send_item`: The item to be sent."] # [doc = "- `receive_collection`: The collection of the item to be received."] # [doc = "- `receive_item`: The item to be received."] # [doc = "- `witness_price`: A price that was previously agreed on."] # [doc = ""] # [doc = "Emits `SwapClaimed` on success."] claim_swap { send_collection : :: core :: primitive :: u32 , send_item : :: core :: primitive :: u32 , receive_collection : :: core :: primitive :: u32 , receive_item : :: core :: primitive :: u32 , witness_price : :: core :: option :: Option < runtime_types :: pallet_nfts :: types :: PriceWithDirection < :: core :: primitive :: u128 > > , } , # [codec (index = 37)] # [doc = "Mint an item by providing the pre-signed approval."] # [doc = ""] # [doc = "Origin must be Signed."] # [doc = ""] # [doc = "- `mint_data`: The pre-signed approval that consists of the information about the item,"] # [doc = " its metadata, attributes, who can mint it (`None` for anyone) and until what block"] # [doc = " number."] # [doc = "- `signature`: The signature of the `data` object."] # [doc = "- `signer`: The `data` object's signer. Should be an owner of the collection."] # [doc = ""] # [doc = "Emits `Issued` on success."] # [doc = "Emits `AttributeSet` if the attributes were provided."] # [doc = "Emits `ItemMetadataSet` if the metadata was not empty."] mint_pre_signed { mint_data : runtime_types :: pallet_nfts :: types :: PreSignedMint < :: core :: primitive :: u32 , :: core :: primitive :: u32 , :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , signature : runtime_types :: sp_runtime :: MultiSignature , signer : :: subxt :: utils :: AccountId32 , } , # [codec (index = 38)] # [doc = "Set attributes for an item by providing the pre-signed approval."] # [doc = ""] # [doc = "Origin must be Signed and must be an owner of the `data.item`."] # [doc = ""] # [doc = "- `data`: The pre-signed approval that consists of the information about the item,"] # [doc = " attributes to update and until what block number."] # [doc = "- `signature`: The signature of the `data` object."] # [doc = "- `signer`: The `data` object's signer. Should be an owner of the collection for the"] # [doc = " `CollectionOwner` namespace."] # [doc = ""] # [doc = "Emits `AttributeSet` for each provided attribute."] # [doc = "Emits `ItemAttributesApprovalAdded` if the approval wasn't set before."] # [doc = "Emits `PreSignedAttributesSet` on success."] set_attributes_pre_signed { data : runtime_types :: pallet_nfts :: types :: PreSignedAttributes < :: core :: primitive :: u32 , :: core :: primitive :: u32 , :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , signature : runtime_types :: sp_runtime :: MultiSignature , signer : :: subxt :: utils :: AccountId32 , } , } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BitFlags<_0>( + pub ::core::primitive::u64, + #[codec(skip)] pub ::core::marker::PhantomData<_0>, + ); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CancelAttributesApprovalWitness { + pub account_attributes: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CollectionConfig<_0, _1, _2> { + pub settings: runtime_types::pallet_nfts::types::BitFlags< + runtime_types::pallet_nfts::types::CollectionSetting, + >, + pub max_supply: ::core::option::Option<_1>, + pub mint_settings: + runtime_types::pallet_nfts::types::MintSettings<_0, _1, _1>, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum CollectionSetting { + #[codec(index = 1)] + TransferableItems, + #[codec(index = 2)] + UnlockedMetadata, + #[codec(index = 4)] + UnlockedAttributes, + #[codec(index = 8)] + UnlockedMaxSupply, + #[codec(index = 16)] + DepositRequired, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DestroyWitness { + #[codec(compact)] + pub items: ::core::primitive::u32, + #[codec(compact)] + pub item_metadatas: ::core::primitive::u32, + #[codec(compact)] + pub attributes: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ItemConfig { + pub settings: runtime_types::pallet_nfts::types::BitFlags< + runtime_types::pallet_nfts::types::ItemSetting, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ItemSetting { + #[codec(index = 1)] + Transferable, + #[codec(index = 2)] + UnlockedMetadata, + #[codec(index = 4)] + UnlockedAttributes, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ItemTip<_0, _1, _2, _3> { + pub collection: _0, + pub item: _0, + pub receiver: _2, + pub amount: _3, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct MintSettings<_0, _1, _2> { + pub mint_type: runtime_types::pallet_nfts::types::MintType<_1>, + pub price: ::core::option::Option<_0>, + pub start_block: ::core::option::Option<_1>, + pub end_block: ::core::option::Option<_1>, + pub default_item_settings: + runtime_types::pallet_nfts::types::BitFlags< + runtime_types::pallet_nfts::types::ItemSetting, + >, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum MintType<_0> { + #[codec(index = 0)] + Issuer, + #[codec(index = 1)] + Public, + #[codec(index = 2)] + HolderOf(_0), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct MintWitness<_0> { + pub owner_of_item: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PreSignedAttributes < _0 , _1 , _2 , _3 > { pub collection : _0 , pub item : _0 , pub attributes : :: std :: vec :: Vec < (:: std :: vec :: Vec < :: core :: primitive :: u8 > , :: std :: vec :: Vec < :: core :: primitive :: u8 > ,) > , pub namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < _2 > , pub deadline : _0 , # [codec (skip)] pub __subxt_unused_type_params : :: core :: marker :: PhantomData < (_3 , _1) > } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PreSignedMint<_0, _1, _2, _3> { + pub collection: _0, + pub item: _0, + pub attributes: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + pub metadata: ::std::vec::Vec<::core::primitive::u8>, + pub only_account: ::core::option::Option<_2>, + pub deadline: _0, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<(_3, _1)>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum PriceDirection { + #[codec(index = 0)] + Send, + #[codec(index = 1)] + Receive, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PriceWithDirection<_0> { + pub amount: _0, + pub direction: runtime_types::pallet_nfts::types::PriceDirection, + } + } + } + pub mod pallet_nis { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Place a bid."] + #[doc = ""] + #[doc = "Origin must be Signed, and account must have at least `amount` in free balance."] + #[doc = ""] + #[doc = "- `amount`: The amount of the bid; these funds will be reserved, and if/when"] + #[doc = " consolidated, removed. Must be at least `MinBid`."] + #[doc = "- `duration`: The number of periods before which the newly consolidated bid may be"] + #[doc = " thawed. Must be greater than 1 and no more than `QueueCount`."] + #[doc = ""] + #[doc = "Complexities:"] + #[doc = "- `Queues[duration].len()` (just take max)."] + place_bid { + #[codec(compact)] + amount: ::core::primitive::u128, + duration: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "Retract a previously placed bid."] + #[doc = ""] + #[doc = "Origin must be Signed, and the account should have previously issued a still-active bid"] + #[doc = "of `amount` for `duration`."] + #[doc = ""] + #[doc = "- `amount`: The amount of the previous bid."] + #[doc = "- `duration`: The duration of the previous bid."] + retract_bid { + #[codec(compact)] + amount: ::core::primitive::u128, + duration: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Ensure we have sufficient funding for all potential payouts."] + #[doc = ""] + #[doc = "- `origin`: Must be accepted by `FundOrigin`."] + fund_deficit, + #[codec(index = 3)] + #[doc = "Reduce or remove an outstanding receipt, placing the according proportion of funds into"] + #[doc = "the account of the owner."] + #[doc = ""] + #[doc = "- `origin`: Must be Signed and the account must be the owner of the receipt `index` as"] + #[doc = " well as any fungible counterpart."] + #[doc = "- `index`: The index of the receipt."] + #[doc = "- `portion`: If `Some`, then only the given portion of the receipt should be thawed. If"] + #[doc = " `None`, then all of it should be."] + thaw_private { + #[codec(compact)] + index: ::core::primitive::u32, + maybe_proportion: ::core::option::Option< + runtime_types::sp_arithmetic::per_things::Perquintill, + >, + }, + #[codec(index = 4)] + #[doc = "Reduce or remove an outstanding receipt, placing the according proportion of funds into"] + #[doc = "the account of the owner."] + #[doc = ""] + #[doc = "- `origin`: Must be Signed and the account must be the owner of the fungible counterpart"] + #[doc = " for receipt `index`."] + #[doc = "- `index`: The index of the receipt."] + thaw_communal { + #[codec(compact)] + index: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "Make a private receipt communal and create fungible counterparts for its owner."] + communify { + #[codec(compact)] + index: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "Make a communal receipt private and burn fungible counterparts from its owner."] + privatize { + #[codec(compact)] + 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, + Debug, + )] + #[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."] + #[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"] + join { + #[codec(compact)] + amount: ::core::primitive::u128, + pool_id: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "Bond `extra` more funds from `origin` into the pool to which they already belong."] + #[doc = ""] + #[doc = "Additional funds can come from either the free balance of the account, of from the"] + #[doc = "accumulated rewards, see [`BondExtra`]."] + #[doc = ""] + #[doc = "Bonding extra funds implies an automatic payout of all pending rewards as well."] + #[doc = "See `bond_extra_other` to bond pending rewards of `other` members."] + bond_extra { + extra: runtime_types::pallet_nomination_pools::BondExtra< + ::core::primitive::u128, + >, + }, + #[codec(index = 2)] + #[doc = "A bonded member can use this to claim their payout based on the rewards that the pool"] + #[doc = "has accumulated since their last claimed payout (OR since joining if this is there first"] + #[doc = "time claiming rewards). The payout will be transferred to the member's account."] + #[doc = ""] + #[doc = "The member will earn rewards pro rata based on the members stake vs the sum of the"] + #[doc = "members in the pools stake. Rewards do not \"expire\"."] + #[doc = ""] + #[doc = "See `claim_payout_other` to caim rewards on bahalf of some `other` pool member."] + claim_payout, + #[codec(index = 3)] + #[doc = "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It"] + #[doc = "implicitly collects the rewards one last time, since not doing so would mean some"] + #[doc = "rewards would be forfeited."] + #[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 either the root or bouncer. This is refereed to"] + #[doc = " as a kick."] + #[doc = "* The pool is destroying and the member is not the depositor."] + #[doc = "* The pool is destroying, the member is the depositor and no other members are in the"] + #[doc = " pool."] + #[doc = ""] + #[doc = "## Conditions for permissioned dispatch (i.e. the caller is also the"] + #[doc = "`member_account`):"] + #[doc = ""] + #[doc = "* The caller is not the depositor."] + #[doc = "* The caller is the depositor, the pool is destroying and no other members are in the"] + #[doc = " pool."] + #[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 { + member_account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[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 and the target is not the depositor."] + #[doc = "* The target is the depositor and they are the only member in the sub pools."] + #[doc = "* The pool is blocked and the caller is either the root or bouncer."] + #[doc = ""] + #[doc = "# Conditions for permissioned dispatch"] + #[doc = ""] + #[doc = "* The caller is the target and they are not the depositor."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "If the target is the depositor, the pool will be destroyed."] + withdraw_unbonded { + member_account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + num_slashing_spans: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "Create a new delegation pool."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `amount` - The amount of funds to delegate to the pool. This also acts of a sort of"] + #[doc = " deposit since the pools creator cannot fully unbond funds until the pool is being"] + #[doc = " destroyed."] + #[doc = "* `index` - A disambiguation index for creating the account. Likely only useful when"] + #[doc = " creating multiple pools in the same extrinsic."] + #[doc = "* `root` - The account to set as [`PoolRoles::root`]."] + #[doc = "* `nominator` - The account to set as the [`PoolRoles::nominator`]."] + #[doc = "* `bouncer` - The account to set as the [`PoolRoles::bouncer`]."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "In addition to `amount`, the caller will transfer the existential deposit; so the caller"] + #[doc = "needs at have at least `amount + existential_deposit` transferrable."] + create { + #[codec(compact)] + amount: ::core::primitive::u128, + root: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + nominator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + bouncer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 7)] + #[doc = "Create a new delegation pool with a previously used pool id"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "same as `create` with the inclusion of"] + #[doc = "* `pool_id` - `A valid PoolId."] + create_with_pool_id { + #[codec(compact)] + amount: ::core::primitive::u128, + root: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + nominator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + bouncer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pool_id: ::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 pool nominator or the pool"] + #[doc = "root role."] + #[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 = 9)] + #[doc = "Set a new state for the pool."] + #[doc = ""] + #[doc = "If a pool is already in the `Destroying` state, then under no condition can its state"] + #[doc = "change again."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be either:"] + #[doc = ""] + #[doc = "1. signed by the bouncer, or the root role of the pool,"] + #[doc = "2. if the pool conditions to be open are NOT met (as described by `ok_to_be_open`), and"] + #[doc = " then the state of the pool can be permissionlessly changed to `Destroying`."] + set_state { + pool_id: ::core::primitive::u32, + state: runtime_types::pallet_nomination_pools::PoolState, + }, + #[codec(index = 10)] + #[doc = "Set a new metadata for the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the bouncer, or the root role"] + #[doc = "of the pool."] + set_metadata { + pool_id: ::core::primitive::u32, + metadata: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 11)] + #[doc = "Update configurations for the nomination pools. The origin for this call must be"] + #[doc = "Root."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `min_join_bond` - Set [`MinJoinBond`]."] + #[doc = "* `min_create_bond` - Set [`MinCreateBond`]."] + #[doc = "* `max_pools` - Set [`MaxPools`]."] + #[doc = "* `max_members` - Set [`MaxPoolMembers`]."] + #[doc = "* `max_members_per_pool` - Set [`MaxPoolMembersPerPool`]."] + set_configs { + min_join_bond: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u128, + >, + min_create_bond: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u128, + >, + max_pools: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + max_members: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + max_members_per_pool: + runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + }, + #[codec(index = 12)] + #[doc = "Update the roles of the pool."] + #[doc = ""] + #[doc = "The root is the only entity that can change any of the roles, including itself,"] + #[doc = "excluding the depositor, who can never change."] + #[doc = ""] + #[doc = "It emits an event, notifying UIs of the role change. This event is quite relevant to"] + #[doc = "most pool members and they should be informed of changes to pool roles."] + update_roles { + pool_id: ::core::primitive::u32, + new_root: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + new_nominator: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + new_bouncer: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + }, + #[codec(index = 13)] + #[doc = "Chill on behalf of the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the pool nominator or the pool"] + #[doc = "root role, same as [`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 = "`origin` bonds funds from `extra` for some pool member `member` into their respective"] + #[doc = "pools."] + #[doc = ""] + #[doc = "`origin` can bond extra funds from free balance or pending rewards when `origin =="] + #[doc = "other`."] + #[doc = ""] + #[doc = "In the case of `origin != other`, `origin` can only bond extra pending rewards of"] + #[doc = "`other` members assuming set_claim_permission for the given member is"] + #[doc = "`PermissionlessAll` or `PermissionlessCompound`."] + bond_extra_other { + member: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + extra: runtime_types::pallet_nomination_pools::BondExtra< + ::core::primitive::u128, + >, + }, + #[codec(index = 15)] + #[doc = "Allows a pool member to set a claim permission to allow or disallow permissionless"] + #[doc = "bonding and withdrawing."] + #[doc = ""] + #[doc = "By default, this is `Permissioned`, which implies only the pool member themselves can"] + #[doc = "claim their pending rewards. If a pool member wishes so, they can set this to"] + #[doc = "`PermissionlessAll` to allow any account to claim their rewards and bond extra to the"] + #[doc = "pool."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Member of a pool."] + #[doc = "* `actor` - Account to claim reward. // improve this"] + set_claim_permission { + permission: + runtime_types::pallet_nomination_pools::ClaimPermission, + }, + #[codec(index = 16)] + #[doc = "`origin` can claim payouts on some pool member `other`'s behalf."] + #[doc = ""] + #[doc = "Pool member `other` must have a `PermissionlessAll` or `PermissionlessWithdraw` in order"] + #[doc = "for this call to be successful."] + claim_payout_other { other: ::subxt::utils::AccountId32 }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum BondExtra<_0> { + #[codec(index = 0)] + FreeBalance(_0), + #[codec(index = 1)] + Rewards, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ClaimPermission { + #[codec(index = 0)] + Permissioned, + #[codec(index = 1)] + PermissionlessCompound, + #[codec(index = 2)] + PermissionlessWithdraw, + #[codec(index = 3)] + PermissionlessAll, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + pub enum PoolState { + #[codec(index = 0)] + Open, + #[codec(index = 1)] + Blocked, + #[codec(index = 2)] + Destroying, + } + } + pub mod pallet_preimage { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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 }, + } + } + } + pub mod pallet_proxy { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Dispatch the given `call` from an account that the sender is authorised for through"] + #[doc = "`add_proxy`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call."] + #[doc = "- `call`: The call to be made by the `real` account."] + proxy { + real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + force_proxy_type: ::core::option::Option< + runtime_types::kitchensink_runtime::ProxyType, + >, + call: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 1)] + #[doc = "Register a proxy account for the sender that is able to make calls on its behalf."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `proxy`: The account that the `caller` would like to make a proxy."] + #[doc = "- `proxy_type`: The permissions allowed for this proxy account."] + #[doc = "- `delay`: The announcement period required of the initial proxy. Will generally be"] + #[doc = "zero."] + add_proxy { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + delay: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Unregister a proxy account for the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `proxy`: The account that the `caller` would like to remove as a proxy."] + #[doc = "- `proxy_type`: The permissions currently enabled for the removed proxy account."] + remove_proxy { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + delay: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Unregister all proxy accounts for the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "WARNING: This may be called on accounts created by `pure`, however if done, then"] + #[doc = "the unreserved fees will be inaccessible. **All access to this account will be lost.**"] + remove_proxies, + #[codec(index = 4)] + #[doc = "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and"] + #[doc = "initialize it with a proxy of `proxy_type` for `origin` sender."] + #[doc = ""] + #[doc = "Requires a `Signed` origin."] + #[doc = ""] + #[doc = "- `proxy_type`: The type of the proxy that the sender will be registered as over the"] + #[doc = "new account. This will almost always be the most permissive `ProxyType` possible to"] + #[doc = "allow for maximum flexibility."] + #[doc = "- `index`: A disambiguation index, in case this is called multiple times in the same"] + #[doc = "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just"] + #[doc = "want to use `0`."] + #[doc = "- `delay`: The announcement period required of the initial proxy. Will generally be"] + #[doc = "zero."] + #[doc = ""] + #[doc = "Fails with `Duplicate` if this has already been called in this transaction, from the"] + #[doc = "same sender, with the same parameters."] + #[doc = ""] + #[doc = "Fails if there are insufficient funds to pay for deposit."] + create_pure { + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + delay: ::core::primitive::u32, + index: ::core::primitive::u16, + }, + #[codec(index = 5)] + #[doc = "Removes a previously spawned pure proxy."] + #[doc = ""] + #[doc = "WARNING: **All access to this account will be lost.** Any funds held in it will be"] + #[doc = "inaccessible."] + #[doc = ""] + #[doc = "Requires a `Signed` origin, and the sender account must have been created by a call to"] + #[doc = "`pure` with corresponding parameters."] + #[doc = ""] + #[doc = "- `spawner`: The account that originally called `pure` to create this account."] + #[doc = "- `index`: The disambiguation index originally passed to `pure`. Probably `0`."] + #[doc = "- `proxy_type`: The proxy type originally passed to `pure`."] + #[doc = "- `height`: The height of the chain when the call to `pure` was processed."] + #[doc = "- `ext_index`: The extrinsic index in which the call to `pure` was processed."] + #[doc = ""] + #[doc = "Fails with `NoPermission` in case the caller is not a previously created pure"] + #[doc = "account whose `pure` call has corresponding parameters."] + kill_pure { + spawner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + index: ::core::primitive::u16, + #[codec(compact)] + height: ::core::primitive::u32, + #[codec(compact)] + ext_index: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "Publish the hash of a proxy-call that will be made in the future."] + #[doc = ""] + #[doc = "This must be called some number of blocks before the corresponding `proxy` is attempted"] + #[doc = "if the delay associated with the proxy relationship is greater than zero."] + #[doc = ""] + #[doc = "No more than `MaxPending` announcements may be made at any one time."] + #[doc = ""] + #[doc = "This will take a deposit of `AnnouncementDepositFactor` as well as"] + #[doc = "`AnnouncementDepositBase` if there are no other pending announcements."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a proxy of `real`."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `call_hash`: The hash of the call to be made by the `real` account."] + announce { + real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 7)] + #[doc = "Remove a given announcement."] + #[doc = ""] + #[doc = "May be called by a proxy account to remove a call they previously announced and return"] + #[doc = "the deposit."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `call_hash`: The hash of the call to be made by the `real` account."] + remove_announcement { + real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 8)] + #[doc = "Remove the given announcement of a delegate."] + #[doc = ""] + #[doc = "May be called by a target (proxied) account to remove a call that one of their delegates"] + #[doc = "(`delegate`) has announced they want to execute. The deposit is returned."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `delegate`: The account that previously announced the call."] + #[doc = "- `call_hash`: The hash of the call to be made."] + reject_announcement { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 9)] + #[doc = "Dispatch the given `call` from an account that the sender is authorized for through"] + #[doc = "`add_proxy`."] + #[doc = ""] + #[doc = "Removes any corresponding announcement(s)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call."] + #[doc = "- `call`: The call to be made by the `real` account."] + proxy_announced { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + force_proxy_type: ::core::option::Option< + runtime_types::kitchensink_runtime::ProxyType, + >, + call: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + } + } + } + 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, + Debug, + )] + #[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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + 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, + }, + } + } + } + pub mod pallet_recovery { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Send a call through a recovered account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and registered to"] + #[doc = "be able to make calls on behalf of the recovered account."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `account`: The recovered account you want to make a call on-behalf-of."] + #[doc = "- `call`: The call you want to make with the recovered account."] + as_recovered { + account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + call: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 1)] + #[doc = "Allow ROOT to bypass the recovery process and set an a rescuer account"] + #[doc = "for a lost account directly."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _ROOT_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `lost`: The \"lost account\" to be recovered."] + #[doc = "- `rescuer`: The \"rescuer account\" which can call as the lost account."] + set_recovered { + lost: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + rescuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 2)] + #[doc = "Create a recovery configuration for your account. This makes your account recoverable."] + #[doc = ""] + #[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"] + #[doc = "will be reserved for storing the recovery configuration. This deposit is returned"] + #[doc = "in full when the user calls `remove_recovery`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be"] + #[doc = " ordered and contain no duplicate values."] + #[doc = "- `threshold`: The number of friends that must vouch for a recovery attempt before the"] + #[doc = " account can be recovered. Should be less than or equal to the length of the list of"] + #[doc = " friends."] + #[doc = "- `delay_period`: The number of blocks after a recovery attempt is initialized that"] + #[doc = " needs to pass before the account can be recovered."] + create_recovery { + friends: ::std::vec::Vec<::subxt::utils::AccountId32>, + threshold: ::core::primitive::u16, + delay_period: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Initiate the process for recovering a recoverable account."] + #[doc = ""] + #[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"] + #[doc = "recovery process. This deposit will always be repatriated to the account"] + #[doc = "trying to be recovered. See `close_recovery`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `account`: The lost account that you want to recover. This account needs to be"] + #[doc = " recoverable (i.e. have a recovery configuration)."] + initiate_recovery { + account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 4)] + #[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"] + #[doc = "process for that account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and must be a \"friend\""] + #[doc = "for the recoverable account."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `lost`: The lost account that you want to recover."] + #[doc = "- `rescuer`: The account trying to rescue the lost account that you want to vouch for."] + #[doc = ""] + #[doc = "The combination of these two parameters must point to an active recovery"] + #[doc = "process."] + vouch_recovery { + lost: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + rescuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 5)] + #[doc = "Allow a successful rescuer to claim their recovered account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""] + #[doc = "who has successfully completed the account recovery process: collected"] + #[doc = "`threshold` or more vouches, waited `delay_period` blocks since initiation."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `account`: The lost account that you want to claim has been successfully recovered by"] + #[doc = " you."] + claim_recovery { + account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 6)] + #[doc = "As the controller of a recoverable account, close an active recovery"] + #[doc = "process for your account."] + #[doc = ""] + #[doc = "Payment: By calling this function, the recoverable account will receive"] + #[doc = "the recovery deposit `RecoveryDeposit` placed by the rescuer."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and must be a"] + #[doc = "recoverable account with an active recovery process for it."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `rescuer`: The account trying to rescue this recoverable account."] + close_recovery { + rescuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 7)] + #[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."] + #[doc = ""] + #[doc = "NOTE: The user must make sure to call `close_recovery` on all active"] + #[doc = "recovery attempts before calling this function else it will fail."] + #[doc = ""] + #[doc = "Payment: By calling this function the recoverable account will unreserve"] + #[doc = "their recovery configuration deposit."] + #[doc = "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)"] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and must be a"] + #[doc = "recoverable account (i.e. has a recovery configuration)."] + remove_recovery, + #[codec(index = 8)] + #[doc = "Cancel the ability to use `as_recovered` for `account`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and registered to"] + #[doc = "be able to make calls on behalf of the recovered account."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `account`: The recovered account you are able to call on-behalf-of."] + cancel_recovered { + account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::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, + Debug, + )] + #[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< + runtime_types::kitchensink_runtime::OriginCaller, + >, + proposal: + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_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>, + }, + } + } + } + pub mod pallet_remark { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Index and store data off chain."] + store { + remark: ::std::vec::Vec<::core::primitive::u8>, + }, + } + } + } + pub mod pallet_root_testing { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "A dispatch that will fill the block weight up to the given ratio."] + fill_block { + ratio: runtime_types::sp_arithmetic::per_things::Perbill, + }, + } + } + } + pub mod pallet_scheduler { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + } + } + } + pub mod pallet_session { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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::kitchensink_runtime::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, + } + } + } + pub mod pallet_society { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "A user outside of the society can make a bid for entry."] + #[doc = ""] + #[doc = "Payment: `CandidateDeposit` will be reserved for making a bid. It is returned"] + #[doc = "when the bid becomes a member, or if the bid calls `unbid`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `value`: A one time payment the bid would like to receive when joining the society."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(M + B + C + logM + logB + X)"] + #[doc = "\t - B (len of bids)"] + #[doc = " - C (len of candidates)"] + #[doc = " - M (len of members)"] + #[doc = " - X (balance reserve)"] + bid { value: ::core::primitive::u128 }, + #[codec(index = 1)] + #[doc = "A bidder can remove their bid for entry into society."] + #[doc = "By doing so, they will have their candidate deposit returned or"] + #[doc = "they will unvouch their voucher."] + #[doc = ""] + #[doc = "Payment: The bid deposit is unreserved if the user made a bid."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a bidder."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `pos`: Position in the `Bids` vector of the bid who wants to unbid."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(B + X)"] + #[doc = " - B (len of bids)"] + #[doc = " - X (balance unreserve)"] + unbid { pos: ::core::primitive::u32 }, + #[codec(index = 2)] + #[doc = "As a member, vouch for someone to join society by placing a bid on their behalf."] + #[doc = ""] + #[doc = "There is no deposit required to vouch for a new bid, but a member can only vouch for"] + #[doc = "one bid at a time. If the bid becomes a suspended candidate and ultimately rejected by"] + #[doc = "the suspension judgement origin, the member will be banned from vouching again."] + #[doc = ""] + #[doc = "As a vouching member, you can claim a tip if the candidate is accepted. This tip will"] + #[doc = "be paid as a portion of the reward the member will receive for joining the society."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a member."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `who`: The user who you would like to vouch for."] + #[doc = "- `value`: The total reward to be paid between you and the candidate if they become"] + #[doc = "a member in the society."] + #[doc = "- `tip`: Your cut of the total `value` payout when the candidate is inducted into"] + #[doc = "the society. Tips larger than `value` will be saturated upon payout."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(M + B + C + logM + logB + X)"] + #[doc = " - B (len of bids)"] + #[doc = " - C (len of candidates)"] + #[doc = " - M (len of members)"] + #[doc = " - X (balance reserve)"] + vouch { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + value: ::core::primitive::u128, + tip: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "As a vouching member, unvouch a bid. This only works while vouched user is"] + #[doc = "only a bidder (and not a candidate)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a vouching member."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `pos`: Position in the `Bids` vector of the bid who should be unvouched."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(B)"] + #[doc = " - B (len of bids)"] + unvouch { pos: ::core::primitive::u32 }, + #[codec(index = 4)] + #[doc = "As a member, vote on a candidate."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a member."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `candidate`: The candidate that the member would like to bid on."] + #[doc = "- `approve`: A boolean which says if the candidate should be approved (`true`) or"] + #[doc = " rejected (`false`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(M + logM + C)"] + #[doc = " - C (len of candidates)"] + #[doc = " - M (len of members)"] + vote { + candidate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + approve: ::core::primitive::bool, + }, + #[codec(index = 5)] + #[doc = "As a member, vote on the defender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a member."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `approve`: A boolean which says if the candidate should be"] + #[doc = "approved (`true`) or rejected (`false`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(M + logM)"] + #[doc = " - M (len of members)"] + defender_vote { approve: ::core::primitive::bool }, + #[codec(index = 6)] + #[doc = "Transfer the first matured payout for the sender and remove it from the records."] + #[doc = ""] + #[doc = "NOTE: This extrinsic needs to be called multiple times to claim multiple matured"] + #[doc = "payouts."] + #[doc = ""] + #[doc = "Payment: The member will receive a payment equal to their first matured"] + #[doc = "payout to their free balance."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a member with"] + #[doc = "payouts remaining."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(M + logM + P + X)"] + #[doc = " - M (len of members)"] + #[doc = " - P (number of payouts for a particular member)"] + #[doc = " - X (currency transfer call)"] + payout, + #[codec(index = 7)] + #[doc = "Found the society."] + #[doc = ""] + #[doc = "This is done as a discrete action in order to allow for the"] + #[doc = "pallet to be included into a running chain and can only be done once."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be from the _FounderSetOrigin_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `founder` - The first member and head of the newly founded society."] + #[doc = "- `max_members` - The initial max number of members for the society."] + #[doc = "- `rules` - The rules of this society concerning membership."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)"] + found { + founder: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + max_members: ::core::primitive::u32, + rules: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 8)] + #[doc = "Annul the founding of the society."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be Signed, and the signing account must be both"] + #[doc = "the `Founder` and the `Head`. This implies that it may only be done when there is one"] + #[doc = "member."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)"] + unfound, + #[codec(index = 9)] + #[doc = "Allow suspension judgement origin to make judgement on a suspended member."] + #[doc = ""] + #[doc = "If a suspended member is forgiven, we simply add them back as a member, not affecting"] + #[doc = "any of the existing storage items for that member."] + #[doc = ""] + #[doc = "If a suspended member is rejected, remove all associated storage items, including"] + #[doc = "their payouts, and remove any vouched bids they currently have."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be from the _SuspensionJudgementOrigin_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `who` - The suspended member to be judged."] + #[doc = "- `forgive` - A boolean representing whether the suspension judgement origin forgives"] + #[doc = " (`true`) or rejects (`false`) a suspended member."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(M + logM + B)"] + #[doc = " - B (len of bids)"] + #[doc = " - M (len of members)"] + judge_suspended_member { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + forgive: ::core::primitive::bool, + }, + #[codec(index = 10)] + #[doc = "Allow suspended judgement origin to make judgement on a suspended candidate."] + #[doc = ""] + #[doc = "If the judgement is `Approve`, we add them to society as a member with the appropriate"] + #[doc = "payment for joining society."] + #[doc = ""] + #[doc = "If the judgement is `Reject`, we either slash the deposit of the bid, giving it back"] + #[doc = "to the society treasury, or we ban the voucher from vouching again."] + #[doc = ""] + #[doc = "If the judgement is `Rebid`, we put the candidate back in the bid pool and let them go"] + #[doc = "through the induction process again."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be from the _SuspensionJudgementOrigin_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `who` - The suspended candidate to be judged."] + #[doc = "- `judgement` - `Approve`, `Reject`, or `Rebid`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(M + logM + B + X)"] + #[doc = " - B (len of bids)"] + #[doc = " - M (len of members)"] + #[doc = " - X (balance action)"] + judge_suspended_candidate { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + judgement: runtime_types::pallet_society::Judgement, + }, + #[codec(index = 11)] + #[doc = "Allows root origin to change the maximum number of members in society."] + #[doc = "Max membership count must be greater than 1."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be from _ROOT_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `max` - The maximum number of members for the society."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)"] + set_max_members { max: ::core::primitive::u32 }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Judgement { + #[codec(index = 0)] + Rebid, + #[codec(index = 1)] + Reject, + #[codec(index = 2)] + Approve, + } + } + 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, + Debug, + )] + #[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 { + controller: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[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, + ::core::primitive::u32, + >, + >, + }, + #[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-)set the controller of a stash."] + #[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 { + controller: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + >, + }, + #[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, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + pub struct ValidatorPrefs { + #[codec(compact)] + pub commission: runtime_types::sp_arithmetic::per_things::Perbill, + pub blocked: ::core::primitive::bool, + } + } + pub mod pallet_state_trie_migration { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] # [doc = "Control the automatic migration."] # [doc = ""] # [doc = "The dispatch origin of this call must be [`Config::ControlOrigin`]."] control_auto_migration { maybe_config : :: core :: option :: Option < runtime_types :: pallet_state_trie_migration :: pallet :: MigrationLimits > , } , # [codec (index = 1)] # [doc = "Continue the migration for the given `limits`."] # [doc = ""] # [doc = "The dispatch origin of this call can be any signed account."] # [doc = ""] # [doc = "This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,"] # [doc = "Upon successful execution, the transaction fee is returned."] # [doc = ""] # [doc = "The (potentially over-estimated) of the byte length of all the data read must be"] # [doc = "provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing"] # [doc = "that executing the current `MigrationTask` with the given `limits` will not exceed"] # [doc = "`real_size_upper` bytes of read data."] # [doc = ""] # [doc = "The `witness_task` is merely a helper to prevent the caller from being slashed or"] # [doc = "generally trigger a migration that they do not intend. This parameter is just a message"] # [doc = "from caller, saying that they believed `witness_task` was the last state of the"] # [doc = "migration, and they only wish for their transaction to do anything, if this assumption"] # [doc = "holds. In case `witness_task` does not match, the transaction fails."] # [doc = ""] # [doc = "Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the"] # [doc = "recommended way of doing this is to pass a `limit` that only bounds `count`, as the"] # [doc = "`size` limit can always be overwritten."] continue_migrate { limits : runtime_types :: pallet_state_trie_migration :: pallet :: MigrationLimits , real_size_upper : :: core :: primitive :: u32 , witness_task : runtime_types :: pallet_state_trie_migration :: pallet :: MigrationTask , } , # [codec (index = 2)] # [doc = "Migrate the list of top keys by iterating each of them one by one."] # [doc = ""] # [doc = "This does not affect the global migration process tracker ([`MigrationProcess`]), and"] # [doc = "should only be used in case any keys are leftover due to a bug."] migrate_custom_top { keys : :: std :: vec :: Vec < :: std :: vec :: Vec < :: core :: primitive :: u8 > > , witness_size : :: core :: primitive :: u32 , } , # [codec (index = 3)] # [doc = "Migrate the list of child keys by iterating each of them one by one."] # [doc = ""] # [doc = "All of the given child keys must be present under one `child_root`."] # [doc = ""] # [doc = "This does not affect the global migration process tracker ([`MigrationProcess`]), and"] # [doc = "should only be used in case any keys are leftover due to a bug."] migrate_custom_child { root : :: std :: vec :: Vec < :: core :: primitive :: u8 > , child_keys : :: std :: vec :: Vec < :: std :: vec :: Vec < :: core :: primitive :: u8 > > , total_size : :: core :: primitive :: u32 , } , # [codec (index = 4)] # [doc = "Set the maximum limit of the signed migration."] set_signed_max_limits { limits : runtime_types :: pallet_state_trie_migration :: pallet :: MigrationLimits , } , # [codec (index = 5)] # [doc = "Forcefully set the progress the running migration."] # [doc = ""] # [doc = "This is only useful in one case: the next key to migrate is too big to be migrated with"] # [doc = "a signed account, in a parachain context, and we simply want to skip it. A reasonable"] # [doc = "example of this would be `:code:`, which is both very expensive to migrate, and commonly"] # [doc = "used, so probably it is already migrated."] # [doc = ""] # [doc = "In case you mess things up, you can also, in principle, use this to reset the migration"] # [doc = "process."] force_set_progress { progress_top : runtime_types :: pallet_state_trie_migration :: pallet :: Progress , progress_child : runtime_types :: pallet_state_trie_migration :: pallet :: Progress , } , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct MigrationLimits { + pub size: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct MigrationTask { + pub progress_top: + runtime_types::pallet_state_trie_migration::pallet::Progress, + pub progress_child: + runtime_types::pallet_state_trie_migration::pallet::Progress, + pub size: ::core::primitive::u32, + pub top_items: ::core::primitive::u32, + pub child_items: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Progress { + #[codec(index = 0)] + ToStart, + #[codec(index = 1)] + LastKey( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 2)] + Complete, + } + } + } + pub mod pallet_sudo { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + 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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + call: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + } + } + } + pub mod pallet_timestamp { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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_tips { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Report something `reason` that deserves a tip and claim any eventual the finder's fee."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as"] + #[doc = "`DataDepositPerByte` for each byte in `reason`."] + #[doc = ""] + #[doc = "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be"] + #[doc = " a UTF-8-encoded URL."] + #[doc = "- `who`: The account which should be credited for the tip."] + #[doc = ""] + #[doc = "Emits `NewTip` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R)` where `R` length of `reason`."] + #[doc = " - encoding and hashing of 'reason'"] + report_awesome { + reason: ::std::vec::Vec<::core::primitive::u8>, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 1)] + #[doc = "Retract a prior tip-report from `report_awesome`, and cancel the process of tipping."] + #[doc = ""] + #[doc = "If successful, the original deposit will be unreserved."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the tip identified by `hash`"] + #[doc = "must have been reported by the signing account through `report_awesome` (and not"] + #[doc = "through `tip_new`)."] + #[doc = ""] + #[doc = "- `hash`: The identity of the open tip for which a tip value is declared. This is formed"] + #[doc = " as the hash of the tuple of the original tip `reason` and the beneficiary account ID."] + #[doc = ""] + #[doc = "Emits `TipRetracted` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`"] + #[doc = " - Depends on the length of `T::Hash` which is fixed."] + retract_tip { hash: ::subxt::utils::H256 }, + #[codec(index = 2)] + #[doc = "Give a tip for something new; no finder's fee will be taken."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the signing account must be a"] + #[doc = "member of the `Tippers` set."] + #[doc = ""] + #[doc = "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be"] + #[doc = " a UTF-8-encoded URL."] + #[doc = "- `who`: The account which should be credited for the tip."] + #[doc = "- `tip_value`: The amount of tip that the sender would like to give. The median tip"] + #[doc = " value of active tippers will be given to the `who`."] + #[doc = ""] + #[doc = "Emits `NewTip` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R + T)` where `R` length of `reason`, `T` is the number of tippers."] + #[doc = " - `O(T)`: decoding `Tipper` vec of length `T`. `T` is charged as upper bound given by"] + #[doc = " `ContainsLengthBound`. The actual cost depends on the implementation of"] + #[doc = " `T::Tippers`."] + #[doc = " - `O(R)`: hashing and encoding of reason of length `R`"] + tip_new { + reason: ::std::vec::Vec<::core::primitive::u8>, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + tip_value: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "Declare a tip value for an already-open tip."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the signing account must be a"] + #[doc = "member of the `Tippers` set."] + #[doc = ""] + #[doc = "- `hash`: The identity of the open tip for which a tip value is declared. This is formed"] + #[doc = " as the hash of the tuple of the hash of the original tip `reason` and the beneficiary"] + #[doc = " account ID."] + #[doc = "- `tip_value`: The amount of tip that the sender would like to give. The median tip"] + #[doc = " value of active tippers will be given to the `who`."] + #[doc = ""] + #[doc = "Emits `TipClosing` if the threshold of tippers has been reached and the countdown period"] + #[doc = "has started."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`, insert"] + #[doc = " tip and check closing, `T` is charged as upper bound given by `ContainsLengthBound`."] + #[doc = " The actual cost depends on the implementation of `T::Tippers`."] + #[doc = ""] + #[doc = " Actually weight could be lower as it depends on how many tips are in `OpenTip` but it"] + #[doc = " is weighted as if almost full i.e of length `T-1`."] + tip { + hash: ::subxt::utils::H256, + #[codec(compact)] + tip_value: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Close and payout a tip."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "The tip identified by `hash` must have finished its countdown period."] + #[doc = ""] + #[doc = "- `hash`: The identity of the open tip for which a tip value is declared. This is formed"] + #[doc = " as the hash of the tuple of the original tip `reason` and the beneficiary account ID."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- : `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`. `T`"] + #[doc = " is charged as upper bound given by `ContainsLengthBound`. The actual cost depends on"] + #[doc = " the implementation of `T::Tippers`."] + close_tip { hash: ::subxt::utils::H256 }, + #[codec(index = 5)] + #[doc = "Remove and slash an already-open tip."] + #[doc = ""] + #[doc = "May only be called from `T::RejectOrigin`."] + #[doc = ""] + #[doc = "As a result, the finder is slashed and the deposits are lost."] + #[doc = ""] + #[doc = "Emits `TipSlashed` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + slash_tip { hash: ::subxt::utils::H256 }, + } + } + } + pub mod pallet_transaction_storage { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] # [doc = "Index and store data off chain. Minimum data size is 1 bytes, maximum is"] # [doc = "`MaxTransactionSize`. Data will be removed after `STORAGE_PERIOD` blocks, unless `renew`"] # [doc = "is called."] # [doc = "## Complexity"] # [doc = "- O(n*log(n)) of data size, as all data is pushed to an in-memory trie."] store { data : :: std :: vec :: Vec < :: core :: primitive :: u8 > , } , # [codec (index = 1)] # [doc = "Renew previously stored data. Parameters are the block number that contains"] # [doc = "previous `store` or `renew` call and transaction index within that block."] # [doc = "Transaction index is emitted in the `Stored` or `Renewed` event."] # [doc = "Applies same fees as `store`."] # [doc = "## Complexity"] # [doc = "- O(1)."] renew { block : :: core :: primitive :: u32 , index : :: core :: primitive :: u32 , } , # [codec (index = 2)] # [doc = "Check storage proof for block number `block_number() - StoragePeriod`."] # [doc = "If such block does not exist the proof is expected to be `None`."] # [doc = "## Complexity"] # [doc = "- Linear w.r.t the number of indexed transactions in the proved block for random"] # [doc = " probing."] # [doc = "There's a DB read for each transaction."] check_proof { proof : runtime_types :: sp_transaction_storage_proof :: TransactionStorageProof , } , } + } + } + pub mod pallet_treasury { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + }, + #[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, + }, + } + } + } + pub mod pallet_uniques { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Issue a new collection of non-fungible items from a public origin."] + #[doc = ""] + #[doc = "This new collection has no items initially and its owner is the origin."] + #[doc = ""] + #[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."] + #[doc = ""] + #[doc = "`ItemDeposit` funds of sender are reserved."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `collection`: The identifier of the new collection. This must not be currently in use."] + #[doc = "- `admin`: The admin of this collection. The admin is the initial address of each"] + #[doc = "member of the collection's admin team."] + #[doc = ""] + #[doc = "Emits `Created` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + create { + collection: ::core::primitive::u32, + admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 1)] + #[doc = "Issue a new collection of non-fungible items from a privileged origin."] + #[doc = ""] + #[doc = "This new collection has no items initially."] + #[doc = ""] + #[doc = "The origin must conform to `ForceOrigin`."] + #[doc = ""] + #[doc = "Unlike `create`, no funds are reserved."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the new item. This must not be currently in use."] + #[doc = "- `owner`: The owner of this collection of items. The owner has full superuser"] + #[doc = " permissions"] + #[doc = "over this item, but may later change and configure the permissions using"] + #[doc = "`transfer_ownership` and `set_team`."] + #[doc = ""] + #[doc = "Emits `ForceCreated` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + force_create { + collection: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + free_holding: ::core::primitive::bool, + }, + #[codec(index = 2)] + #[doc = "Destroy a collection of fungible items."] + #[doc = ""] + #[doc = "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the"] + #[doc = "owner of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the collection to be destroyed."] + #[doc = "- `witness`: Information on the items minted in the collection. This must be"] + #[doc = "correct."] + #[doc = ""] + #[doc = "Emits `Destroyed` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(n + m)` where:"] + #[doc = "- `n = witness.items`"] + #[doc = "- `m = witness.item_metadatas`"] + #[doc = "- `a = witness.attributes`"] + destroy { + collection: ::core::primitive::u32, + witness: runtime_types::pallet_uniques::types::DestroyWitness, + }, + #[codec(index = 3)] + #[doc = "Mint an item of a particular collection."] + #[doc = ""] + #[doc = "The origin must be Signed and the sender must be the Issuer of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection of the item to be minted."] + #[doc = "- `item`: The item value of the item to be minted."] + #[doc = "- `beneficiary`: The initial owner of the minted item."] + #[doc = ""] + #[doc = "Emits `Issued` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + mint { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 4)] + #[doc = "Destroy a single item."] + #[doc = ""] + #[doc = "Origin must be Signed and the signing account must be either:"] + #[doc = "- the Admin of the `collection`;"] + #[doc = "- the Owner of the `item`;"] + #[doc = ""] + #[doc = "- `collection`: The collection of the item to be burned."] + #[doc = "- `item`: The item of the item to be burned."] + #[doc = "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the"] + #[doc = " item is owned by this value."] + #[doc = ""] + #[doc = "Emits `Burned` with the actual amount burned."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: `check_owner.is_some()`."] + burn { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + check_owner: ::core::option::Option< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + }, + #[codec(index = 5)] + #[doc = "Move an item from the sender account to another."] + #[doc = ""] + #[doc = "This resets the approved account of the item."] + #[doc = ""] + #[doc = "Origin must be Signed and the signing account must be either:"] + #[doc = "- the Admin of the `collection`;"] + #[doc = "- the Owner of the `item`;"] + #[doc = "- the approved delegate for the `item` (in this case, the approval is reset)."] + #[doc = ""] + #[doc = "Arguments:"] + #[doc = "- `collection`: The collection of the item to be transferred."] + #[doc = "- `item`: The item of the item to be transferred."] + #[doc = "- `dest`: The account to receive ownership of the item."] + #[doc = ""] + #[doc = "Emits `Transferred`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + transfer { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 6)] + #[doc = "Reevaluate the deposits on some items."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection to be frozen."] + #[doc = "- `items`: The items of the collection whose deposits will be reevaluated."] + #[doc = ""] + #[doc = "NOTE: This exists as a best-effort function. Any items which are unknown or"] + #[doc = "in the case that the owner account does not have reservable funds to pay for a"] + #[doc = "deposit increase are ignored. Generally the owner isn't going to call this on items"] + #[doc = "whose existing deposit is less than the refreshed deposit as it would only cost them,"] + #[doc = "so it's of little consequence."] + #[doc = ""] + #[doc = "It will still return an error in the case that the collection is unknown of the signer"] + #[doc = "is not permitted to call it."] + #[doc = ""] + #[doc = "Weight: `O(items.len())`"] + redeposit { + collection: ::core::primitive::u32, + items: ::std::vec::Vec<::core::primitive::u32>, + }, + #[codec(index = 7)] + #[doc = "Disallow further unprivileged transfer of an item."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection of the item to be frozen."] + #[doc = "- `item`: The item of the item to be frozen."] + #[doc = ""] + #[doc = "Emits `Frozen`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + freeze { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + }, + #[codec(index = 8)] + #[doc = "Re-allow unprivileged transfer of an item."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection of the item to be thawed."] + #[doc = "- `item`: The item of the item to be thawed."] + #[doc = ""] + #[doc = "Emits `Thawed`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + thaw { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + }, + #[codec(index = 9)] + #[doc = "Disallow further unprivileged transfers for a whole collection."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection to be frozen."] + #[doc = ""] + #[doc = "Emits `CollectionFrozen`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + freeze_collection { collection: ::core::primitive::u32 }, + #[codec(index = 10)] + #[doc = "Re-allow unprivileged transfers for a whole collection."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Admin of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection to be thawed."] + #[doc = ""] + #[doc = "Emits `CollectionThawed`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + thaw_collection { collection: ::core::primitive::u32 }, + #[codec(index = 11)] + #[doc = "Change the Owner of a collection."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection whose owner should be changed."] + #[doc = "- `owner`: The new Owner of this collection. They must have called"] + #[doc = " `set_accept_ownership` with `collection` in order for this operation to succeed."] + #[doc = ""] + #[doc = "Emits `OwnerChanged`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + transfer_ownership { + collection: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 12)] + #[doc = "Change the Issuer, Admin and Freezer of a collection."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection whose team should be changed."] + #[doc = "- `issuer`: The new Issuer of this collection."] + #[doc = "- `admin`: The new Admin of this collection."] + #[doc = "- `freezer`: The new Freezer of this collection."] + #[doc = ""] + #[doc = "Emits `TeamChanged`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + set_team { + collection: ::core::primitive::u32, + issuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + freezer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 13)] + #[doc = "Approve an item to be transferred by a delegated third-party account."] + #[doc = ""] + #[doc = "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be"] + #[doc = "either the owner of the `item` or the admin of the collection."] + #[doc = ""] + #[doc = "- `collection`: The collection of the item to be approved for delegated transfer."] + #[doc = "- `item`: The item of the item to be approved for delegated transfer."] + #[doc = "- `delegate`: The account to delegate permission to transfer the item."] + #[doc = ""] + #[doc = "Important NOTE: The `approved` account gets reset after each transfer."] + #[doc = ""] + #[doc = "Emits `ApprovedTransfer` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + approve_transfer { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 14)] + #[doc = "Cancel the prior approval for the transfer of an item by a delegate."] + #[doc = ""] + #[doc = "Origin must be either:"] + #[doc = "- the `Force` origin;"] + #[doc = "- `Signed` with the signer being the Admin of the `collection`;"] + #[doc = "- `Signed` with the signer being the Owner of the `item`;"] + #[doc = ""] + #[doc = "Arguments:"] + #[doc = "- `collection`: The collection of the item of whose approval will be cancelled."] + #[doc = "- `item`: The item of the item of whose approval will be cancelled."] + #[doc = "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to"] + #[doc = " which permission of transfer is delegated."] + #[doc = ""] + #[doc = "Emits `ApprovalCancelled` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + cancel_approval { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + maybe_check_delegate: ::core::option::Option< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + }, + #[codec(index = 15)] + #[doc = "Alter the attributes of a given item."] + #[doc = ""] + #[doc = "Origin must be `ForceOrigin`."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the item."] + #[doc = "- `owner`: The new Owner of this item."] + #[doc = "- `issuer`: The new Issuer of this item."] + #[doc = "- `admin`: The new Admin of this item."] + #[doc = "- `freezer`: The new Freezer of this item."] + #[doc = "- `free_holding`: Whether a deposit is taken for holding an item of this collection."] + #[doc = "- `is_frozen`: Whether this collection is frozen except for permissioned/admin"] + #[doc = "instructions."] + #[doc = ""] + #[doc = "Emits `ItemStatusChanged` with the identity of the item."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + force_item_status { + collection: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + issuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + freezer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + free_holding: ::core::primitive::bool, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 16)] + #[doc = "Set an attribute for a collection or item."] + #[doc = ""] + #[doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] + #[doc = "`collection`."] + #[doc = ""] + #[doc = "If the origin is Signed, then funds of signer are reserved according to the formula:"] + #[doc = "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into"] + #[doc = "account any already reserved funds."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the collection whose item's metadata to set."] + #[doc = "- `maybe_item`: The identifier of the item whose metadata to set."] + #[doc = "- `key`: The key of the attribute."] + #[doc = "- `value`: The value to which to set the attribute."] + #[doc = ""] + #[doc = "Emits `AttributeSet`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + set_attribute { + collection: ::core::primitive::u32, + maybe_item: ::core::option::Option<::core::primitive::u32>, + key: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + value: + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + }, + #[codec(index = 17)] + #[doc = "Clear an attribute for a collection or item."] + #[doc = ""] + #[doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] + #[doc = "`collection`."] + #[doc = ""] + #[doc = "Any deposit is freed for the collection's owner."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the collection whose item's metadata to clear."] + #[doc = "- `maybe_item`: The identifier of the item whose metadata to clear."] + #[doc = "- `key`: The key of the attribute."] + #[doc = ""] + #[doc = "Emits `AttributeCleared`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + clear_attribute { + collection: ::core::primitive::u32, + maybe_item: ::core::option::Option<::core::primitive::u32>, + key: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + }, + #[codec(index = 18)] + #[doc = "Set the metadata for an item."] + #[doc = ""] + #[doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] + #[doc = "`collection`."] + #[doc = ""] + #[doc = "If the origin is Signed, then funds of signer are reserved according to the formula:"] + #[doc = "`MetadataDepositBase + DepositPerByte * data.len` taking into"] + #[doc = "account any already reserved funds."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the collection whose item's metadata to set."] + #[doc = "- `item`: The identifier of the item whose metadata to set."] + #[doc = "- `data`: The general information of this item. Limited in length by `StringLimit`."] + #[doc = "- `is_frozen`: Whether the metadata should be frozen against further changes."] + #[doc = ""] + #[doc = "Emits `MetadataSet`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + set_metadata { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + data: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 19)] + #[doc = "Clear the metadata for an item."] + #[doc = ""] + #[doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] + #[doc = "`item`."] + #[doc = ""] + #[doc = "Any deposit is freed for the collection's owner."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the collection whose item's metadata to clear."] + #[doc = "- `item`: The identifier of the item whose metadata to clear."] + #[doc = ""] + #[doc = "Emits `MetadataCleared`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + clear_metadata { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + }, + #[codec(index = 20)] + #[doc = "Set the metadata for a collection."] + #[doc = ""] + #[doc = "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of"] + #[doc = "the `collection`."] + #[doc = ""] + #[doc = "If the origin is `Signed`, then funds of signer are reserved according to the formula:"] + #[doc = "`MetadataDepositBase + DepositPerByte * data.len` taking into"] + #[doc = "account any already reserved funds."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the item whose metadata to update."] + #[doc = "- `data`: The general information of this item. Limited in length by `StringLimit`."] + #[doc = "- `is_frozen`: Whether the metadata should be frozen against further changes."] + #[doc = ""] + #[doc = "Emits `CollectionMetadataSet`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + set_collection_metadata { + collection: ::core::primitive::u32, + data: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 21)] + #[doc = "Clear the metadata for a collection."] + #[doc = ""] + #[doc = "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of"] + #[doc = "the `collection`."] + #[doc = ""] + #[doc = "Any deposit is freed for the collection's owner."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the collection whose metadata to clear."] + #[doc = ""] + #[doc = "Emits `CollectionMetadataCleared`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + clear_collection_metadata { collection: ::core::primitive::u32 }, + #[codec(index = 22)] + #[doc = "Set (or reset) the acceptance of ownership for a particular account."] + #[doc = ""] + #[doc = "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a"] + #[doc = "provider reference."] + #[doc = ""] + #[doc = "- `maybe_collection`: The identifier of the collection whose ownership the signer is"] + #[doc = " willing to accept, or if `None`, an indication that the signer is willing to accept no"] + #[doc = " ownership transferal."] + #[doc = ""] + #[doc = "Emits `OwnershipAcceptanceChanged`."] + set_accept_ownership { + maybe_collection: ::core::option::Option<::core::primitive::u32>, + }, + #[codec(index = 23)] + #[doc = "Set the maximum amount of items a collection could have."] + #[doc = ""] + #[doc = "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of"] + #[doc = "the `collection`."] + #[doc = ""] + #[doc = "Note: This function can only succeed once per collection."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the collection to change."] + #[doc = "- `max_supply`: The maximum amount of items a collection could have."] + #[doc = ""] + #[doc = "Emits `CollectionMaxSupplySet` event when successful."] + set_collection_max_supply { + collection: ::core::primitive::u32, + max_supply: ::core::primitive::u32, + }, + #[codec(index = 24)] + #[doc = "Set (or reset) the price for an item."] + #[doc = ""] + #[doc = "Origin must be Signed and must be the owner of the asset `item`."] + #[doc = ""] + #[doc = "- `collection`: The collection of the item."] + #[doc = "- `item`: The item to set the price for."] + #[doc = "- `price`: The price for the item. Pass `None`, to reset the price."] + #[doc = "- `buyer`: Restricts the buy operation to a specific account."] + #[doc = ""] + #[doc = "Emits `ItemPriceSet` on success if the price is not `None`."] + #[doc = "Emits `ItemPriceRemoved` on success if the price is `None`."] + set_price { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + price: ::core::option::Option<::core::primitive::u128>, + whitelisted_buyer: ::core::option::Option< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + }, + #[codec(index = 25)] + #[doc = "Allows to buy an item if it's up for sale."] + #[doc = ""] + #[doc = "Origin must be Signed and must not be the owner of the `item`."] + #[doc = ""] + #[doc = "- `collection`: The collection of the item."] + #[doc = "- `item`: The item the sender wants to buy."] + #[doc = "- `bid_price`: The price the sender is willing to pay."] + #[doc = ""] + #[doc = "Emits `ItemBought` on success."] + buy_item { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + bid_price: ::core::primitive::u128, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DestroyWitness { + #[codec(compact)] + pub items: ::core::primitive::u32, + #[codec(compact)] + pub item_metadatas: ::core::primitive::u32, + #[codec(compact)] + pub attributes: ::core::primitive::u32, + } + } + } + pub mod pallet_utility { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::OriginCaller, + >, + call: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + weight: runtime_types::sp_weights::weight_v2::Weight, + }, + } + } + } + pub mod pallet_vesting { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Unlock any vested funds of the sender account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"] + #[doc = "locked under this pallet."] + #[doc = ""] + #[doc = "Emits either `VestingCompleted` or `VestingUpdated`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + vest, + #[codec(index = 1)] + #[doc = "Unlock any vested funds of a `target` account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account whose vested funds should be unlocked. Must have funds still"] + #[doc = "locked under this pallet."] + #[doc = ""] + #[doc = "Emits either `VestingCompleted` or `VestingUpdated`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + vest_other { + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 2)] + #[doc = "Create a vested transfer."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account receiving the vested funds."] + #[doc = "- `schedule`: The vesting schedule attached to the transfer."] + #[doc = ""] + #[doc = "Emits `VestingCreated`."] + #[doc = ""] + #[doc = "NOTE: This will unlock all schedules through the current block."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + vested_transfer { + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + schedule: + runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + }, + #[codec(index = 3)] + #[doc = "Force a vested transfer."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "- `source`: The account whose funds should be transferred."] + #[doc = "- `target`: The account that should be transferred the vested funds."] + #[doc = "- `schedule`: The vesting schedule attached to the transfer."] + #[doc = ""] + #[doc = "Emits `VestingCreated`."] + #[doc = ""] + #[doc = "NOTE: This will unlock all schedules through the current block."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + force_vested_transfer { + source: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + schedule: + runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + }, + #[codec(index = 4)] + #[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"] + #[doc = "the highest possible start and end blocks. If both schedules have already started the"] + #[doc = "current block will be used as the schedule start; with the caveat that if one schedule"] + #[doc = "is finished by the current block, the other will be treated as the new merged schedule,"] + #[doc = "unmodified."] + #[doc = ""] + #[doc = "NOTE: If `schedule1_index == schedule2_index` this is a no-op."] + #[doc = "NOTE: This will unlock all schedules through the current block prior to merging."] + #[doc = "NOTE: If both schedules have ended by the current block, no new schedule will be created"] + #[doc = "and both will be removed."] + #[doc = ""] + #[doc = "Merged schedule attributes:"] + #[doc = "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,"] + #[doc = " current_block)`."] + #[doc = "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`."] + #[doc = "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `schedule1_index`: index of the first schedule to merge."] + #[doc = "- `schedule2_index`: index of the second schedule to merge."] + merge_schedules { + schedule1_index: ::core::primitive::u32, + schedule2_index: ::core::primitive::u32, + }, + } + } + pub mod vesting_info { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct VestingInfo<_0, _1> { + pub locked: _0, + pub per_block: _0, + pub starting_block: _1, + } + } + } + pub mod pallet_whitelist { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + } + } + } + pub mod sp_arithmetic { + use super::runtime_types; + pub mod per_things { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PerU16(pub ::core::primitive::u16); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Perbill(pub ::core::primitive::u32); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Percent(pub ::core::primitive::u8); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Perquintill(pub ::core::primitive::u64); + } + } + 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, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + pub enum AllowedSlots { + #[codec(index = 0)] + PrimarySlots, + #[codec(index = 1)] + PrimaryAndSecondaryPlainSlots, + #[codec(index = 2)] + PrimaryAndSecondaryVRFSlots, + } + } + 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, + Debug, + )] + pub struct Public(pub runtime_types::sp_core::ed25519::Public); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Signature(pub runtime_types::sp_core::ed25519::Signature); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + pub struct Slot(pub ::core::primitive::u64); + } + pub mod sp_core { + use super::runtime_types; + pub mod ecdsa { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Signature(pub [::core::primitive::u8; 65usize]); + } + pub mod ed25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Public(pub [::core::primitive::u8; 32usize]); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Signature(pub [::core::primitive::u8; 64usize]); + } + pub mod offchain { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OpaqueMultiaddr(pub ::std::vec::Vec<::core::primitive::u8>); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OpaqueNetworkState { + pub peer_id: runtime_types::sp_core::OpaquePeerId, + pub external_addresses: ::std::vec::Vec< + runtime_types::sp_core::offchain::OpaqueMultiaddr, + >, + } + } + pub mod sr25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Public(pub [::core::primitive::u8; 32usize]); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Signature(pub [::core::primitive::u8; 64usize]); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OpaquePeerId(pub ::std::vec::Vec<::core::primitive::u8>); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Void {} + } + pub mod sp_npos_elections { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + pub struct Digest { + pub logs: ::std::vec::Vec< + runtime_types::sp_runtime::generic::digest::DigestItem, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + 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 unchecked_extrinsic { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct UncheckedExtrinsic<_0, _1, _2, _3>( + pub ::std::vec::Vec<::core::primitive::u8>, + #[codec(skip)] pub ::core::marker::PhantomData<(_1, _0, _2, _3)>, + ); + } + } + pub mod traits { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BlakeTwo256; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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), + } + } + pub mod sp_session { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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_transaction_storage_proof { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TransactionStorageProof { + pub chunk: ::std::vec::Vec<::core::primitive::u8>, + pub proof: ::std::vec::Vec<::std::vec::Vec<::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, + Debug, + )] + pub struct Weight { + #[codec(compact)] + pub ref_time: ::core::primitive::u64, + #[codec(compact)] + pub proof_size: ::core::primitive::u64, + } + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OldWeight(pub ::core::primitive::u64); + } + } + #[doc = r" The default error type returned when there is a runtime issue,"] + #[doc = r" exposed here for ease of use."] + pub type DispatchError = runtime_types::sp_runtime::DispatchError; + pub fn constants() -> ConstantsApi { + ConstantsApi + } + pub fn storage() -> StorageApi { + StorageApi + } + pub fn tx() -> TransactionApi { + TransactionApi + } + pub struct ConstantsApi; + impl ConstantsApi { + pub fn balances(&self) -> balances::constants::ConstantsApi { + balances::constants::ConstantsApi + } + } + pub struct StorageApi; + impl StorageApi { + pub fn balances(&self) -> balances::storage::StorageApi { + balances::storage::StorageApi + } + } + pub struct TransactionApi; + impl TransactionApi { + pub fn balances(&self) -> balances::calls::TransactionApi { + balances::calls::TransactionApi + } + } + #[doc = r" check whether the Client you are using is aligned with the statically generated codegen."] + pub fn validate_codegen>( + client: &C, + ) -> Result<(), ::subxt::error::MetadataError> { + let runtime_metadata_hash = client.metadata().metadata_hash(&PALLETS); + if runtime_metadata_hash + != [ + 83u8, 136u8, 130u8, 96u8, 143u8, 113u8, 229u8, 107u8, 41u8, 31u8, 166u8, + 254u8, 194u8, 33u8, 137u8, 153u8, 215u8, 35u8, 129u8, 80u8, 147u8, 52u8, + 36u8, 136u8, 200u8, 65u8, 108u8, 230u8, 160u8, 3u8, 219u8, 139u8, + ] + { + Err(::subxt::error::MetadataError::IncompatibleMetadata) + } else { + Ok(()) + } + } +} diff --git a/balances.json b/balances.json new file mode 100644 index 0000000000..a08956c8d5 --- /dev/null +++ b/balances.json @@ -0,0 +1,23586 @@ +[ + 1635018093, + { + "V14": { + "types": { + "types": [ + { + "id": 0, + "type": { + "path": [ + "sp_consensus_grandpa", + "Equivocation" + ], + "params": [ + { + "name": "H", + "type": 1 + }, + { + "name": "N", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Prevote", + "fields": [ + { + "type": 5, + "typeName": "grandpa::Equivocation,\nAuthoritySignature>" + } + ], + "index": 0 + }, + { + "name": "Precommit", + "fields": [ + { + "type": 14, + "typeName": "grandpa::Equivocation,\nAuthoritySignature>" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 1, + "type": { + "path": [ + "primitive_types", + "H256" + ], + "def": { + "composite": { + "fields": [ + { + "type": 2, + "typeName": "[u8; 32]" + } + ] + } + } + } + }, + { + "id": 2, + "type": { + "def": { + "array": { + "len": 32, + "type": 3 + } + } + } + }, + { + "id": 3, + "type": { + "def": { + "primitive": "u8" + } + } + }, + { + "id": 4, + "type": { + "def": { + "primitive": "u32" + } + } + }, + { + "id": 5, + "type": { + "path": [ + "finality_grandpa", + "Equivocation" + ], + "params": [ + { + "name": "Id", + "type": 6 + }, + { + "name": "V", + "type": 8 + }, + { + "name": "S", + "type": 9 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "round_number", + "type": 12, + "typeName": "u64" + }, + { + "name": "identity", + "type": 6, + "typeName": "Id" + }, + { + "name": "first", + "type": 13, + "typeName": "(V, S)" + }, + { + "name": "second", + "type": 13, + "typeName": "(V, S)" + } + ] + } + } + } + }, + { + "id": 6, + "type": { + "path": [ + "sp_consensus_grandpa", + "app", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 7, + "typeName": "ed25519::Public" + } + ] + } + } + } + }, + { + "id": 7, + "type": { + "path": [ + "sp_core", + "ed25519", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 2, + "typeName": "[u8; 32]" + } + ] + } + } + } + }, + { + "id": 8, + "type": { + "path": [ + "finality_grandpa", + "Prevote" + ], + "params": [ + { + "name": "H", + "type": 1 + }, + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "target_hash", + "type": 1, + "typeName": "H" + }, + { + "name": "target_number", + "type": 4, + "typeName": "N" + } + ] + } + } + } + }, + { + "id": 9, + "type": { + "path": [ + "sp_consensus_grandpa", + "app", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 10, + "typeName": "ed25519::Signature" + } + ] + } + } + } + }, + { + "id": 10, + "type": { + "path": [ + "sp_core", + "ed25519", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 11, + "typeName": "[u8; 64]" + } + ] + } + } + } + }, + { + "id": 11, + "type": { + "def": { + "array": { + "len": 64, + "type": 3 + } + } + } + }, + { + "id": 12, + "type": { + "def": { + "primitive": "u64" + } + } + }, + { + "id": 13, + "type": { + "def": { + "tuple": [ + 8, + 9 + ] + } + } + }, + { + "id": 14, + "type": { + "path": [ + "finality_grandpa", + "Equivocation" + ], + "params": [ + { + "name": "Id", + "type": 6 + }, + { + "name": "V", + "type": 15 + }, + { + "name": "S", + "type": 9 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "round_number", + "type": 12, + "typeName": "u64" + }, + { + "name": "identity", + "type": 6, + "typeName": "Id" + }, + { + "name": "first", + "type": 16, + "typeName": "(V, S)" + }, + { + "name": "second", + "type": 16, + "typeName": "(V, S)" + } + ] + } + } + } + }, + { + "id": 15, + "type": { + "path": [ + "finality_grandpa", + "Precommit" + ], + "params": [ + { + "name": "H", + "type": 1 + }, + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "target_hash", + "type": 1, + "typeName": "H" + }, + { + "name": "target_number", + "type": 4, + "typeName": "N" + } + ] + } + } + } + }, + { + "id": 16, + "type": { + "def": { + "tuple": [ + 15, + 9 + ] + } + } + }, + { + "id": 17, + "type": { + "def": { + "array": { + "len": 5, + "type": 18 + } + } + } + }, + { + "id": 18, + "type": { + "def": { + "tuple": [ + 19, + 21 + ] + } + } + }, + { + "id": 19, + "type": { + "def": { + "compact": { + "type": 20 + } + } + } + }, + { + "id": 20, + "type": { + "def": { + "primitive": "u16" + } + } + }, + { + "id": 21, + "type": { + "def": { + "compact": { + "type": 22 + } + } + } + }, + { + "id": 22, + "type": { + "path": [ + "sp_arithmetic", + "per_things", + "PerU16" + ], + "def": { + "composite": { + "fields": [ + { + "type": 20, + "typeName": "u16" + } + ] + } + } + } + }, + { + "id": 23, + "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": 24, + "type": { + "path": [ + "pallet_utility", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "batch", + "fields": [ + { + "name": "calls", + "type": 25, + "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": 20, + "typeName": "u16" + }, + { + "name": "call", + "type": 26, + "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": 25, + "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": 271, + "typeName": "Box" + }, + { + "name": "call", + "type": 26, + "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": 25, + "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": 26, + "typeName": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": 144, + "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": 25, + "type": { + "def": { + "sequence": { + "type": 26 + } + } + } + }, + { + "id": 26, + "type": { + "path": [ + "kitchensink_runtime", + "RuntimeCall" + ], + "def": { + "variant": { + "variants": [ + { + "name": "System", + "fields": [ + { + "type": 27, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 0 + }, + { + "name": "Utility", + "fields": [ + { + "type": 24, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 1 + }, + { + "name": "Babe", + "fields": [ + { + "type": 32, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 2 + }, + { + "name": "Timestamp", + "fields": [ + { + "type": 48, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 3 + }, + { + "name": "Indices", + "fields": [ + { + "type": 50, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 5 + }, + { + "name": "Balances", + "fields": [ + { + "type": 55, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 6 + }, + { + "name": "ElectionProviderMultiPhase", + "fields": [ + { + "type": 58, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 9 + }, + { + "name": "Staking", + "fields": [ + { + "type": 115, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 10 + }, + { + "name": "Session", + "fields": [ + { + "type": 128, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 11 + }, + { + "name": "Democracy", + "fields": [ + { + "type": 132, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 12 + }, + { + "name": "Council", + "fields": [ + { + "type": 140, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 13 + }, + { + "name": "TechnicalCommittee", + "fields": [ + { + "type": 145, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 14 + }, + { + "name": "Elections", + "fields": [ + { + "type": 146, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 15 + }, + { + "name": "TechnicalMembership", + "fields": [ + { + "type": 148, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 16 + }, + { + "name": "Grandpa", + "fields": [ + { + "type": 149, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 17 + }, + { + "name": "Treasury", + "fields": [ + { + "type": 151, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 18 + }, + { + "name": "Contracts", + "fields": [ + { + "type": 152, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 19 + }, + { + "name": "Sudo", + "fields": [ + { + "type": 155, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 20 + }, + { + "name": "ImOnline", + "fields": [ + { + "type": 156, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 21 + }, + { + "name": "Identity", + "fields": [ + { + "type": 164, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 26 + }, + { + "name": "Society", + "fields": [ + { + "type": 206, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 27 + }, + { + "name": "Recovery", + "fields": [ + { + "type": 208, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 28 + }, + { + "name": "Vesting", + "fields": [ + { + "type": 209, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 29 + }, + { + "name": "Scheduler", + "fields": [ + { + "type": 211, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 30 + }, + { + "name": "Glutton", + "fields": [ + { + "type": 214, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 31 + }, + { + "name": "Preimage", + "fields": [ + { + "type": 215, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 32 + }, + { + "name": "Proxy", + "fields": [ + { + "type": 216, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 33 + }, + { + "name": "Multisig", + "fields": [ + { + "type": 219, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 34 + }, + { + "name": "Bounties", + "fields": [ + { + "type": 221, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 35 + }, + { + "name": "Tips", + "fields": [ + { + "type": 222, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 36 + }, + { + "name": "Assets", + "fields": [ + { + "type": 223, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 37 + }, + { + "name": "Lottery", + "fields": [ + { + "type": 224, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 39 + }, + { + "name": "Nis", + "fields": [ + { + "type": 225, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 40 + }, + { + "name": "Uniques", + "fields": [ + { + "type": 228, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 41 + }, + { + "name": "Nfts", + "fields": [ + { + "type": 235, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 42 + }, + { + "name": "TransactionStorage", + "fields": [ + { + "type": 260, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 43 + }, + { + "name": "VoterList", + "fields": [ + { + "type": 262, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 44 + }, + { + "name": "StateTrieMigration", + "fields": [ + { + "type": 263, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 45 + }, + { + "name": "ChildBounties", + "fields": [ + { + "type": 269, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 46 + }, + { + "name": "Referenda", + "fields": [ + { + "type": 270, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 47 + }, + { + "name": "Remark", + "fields": [ + { + "type": 278, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 48 + }, + { + "name": "RootTesting", + "fields": [ + { + "type": 279, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 49 + }, + { + "name": "ConvictionVoting", + "fields": [ + { + "type": 280, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 50 + }, + { + "name": "Whitelist", + "fields": [ + { + "type": 285, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 51 + }, + { + "name": "AllianceMotion", + "fields": [ + { + "type": 286, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 52 + }, + { + "name": "Alliance", + "fields": [ + { + "type": 287, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 53 + }, + { + "name": "NominationPools", + "fields": [ + { + "type": 296, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 54 + }, + { + "name": "RankedPolls", + "fields": [ + { + "type": 303, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 55 + }, + { + "name": "RankedCollective", + "fields": [ + { + "type": 304, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 56 + }, + { + "name": "FastUnstake", + "fields": [ + { + "type": 305, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 57 + }, + { + "name": "MessageQueue", + "fields": [ + { + "type": 306, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 58 + }, + { + "name": "Pov", + "fields": [ + { + "type": 307, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor" + } + ], + "index": 59 + } + ] + } + } + } + }, + { + "id": 27, + "type": { + "path": [ + "frame_system", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "remark", + "fields": [ + { + "name": "remark", + "type": 28, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Make some on-chain remark.", + "", + "## Complexity", + "- `O(1)`" + ] + }, + { + "name": "set_heap_pages", + "fields": [ + { + "name": "pages", + "type": 12, + "typeName": "u64" + } + ], + "index": 1, + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ] + }, + { + "name": "set_code", + "fields": [ + { + "name": "code", + "type": 28, + "typeName": "Vec" + } + ], + "index": 2, + "docs": [ + "Set the new runtime code.", + "", + "## Complexity", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`" + ] + }, + { + "name": "set_code_without_checks", + "fields": [ + { + "name": "code", + "type": 28, + "typeName": "Vec" + } + ], + "index": 3, + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "## Complexity", + "- `O(C)` where `C` length of `code`" + ] + }, + { + "name": "set_storage", + "fields": [ + { + "name": "items", + "type": 29, + "typeName": "Vec" + } + ], + "index": 4, + "docs": [ + "Set some items of storage." + ] + }, + { + "name": "kill_storage", + "fields": [ + { + "name": "keys", + "type": 31, + "typeName": "Vec" + } + ], + "index": 5, + "docs": [ + "Kill some items from storage." + ] + }, + { + "name": "kill_prefix", + "fields": [ + { + "name": "prefix", + "type": 28, + "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": 28, + "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": 28, + "type": { + "def": { + "sequence": { + "type": 3 + } + } + } + }, + { + "id": 29, + "type": { + "def": { + "sequence": { + "type": 30 + } + } + } + }, + { + "id": 30, + "type": { + "def": { + "tuple": [ + 28, + 28 + ] + } + } + }, + { + "id": 31, + "type": { + "def": { + "sequence": { + "type": 28 + } + } + } + }, + { + "id": 32, + "type": { + "path": [ + "pallet_babe", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "report_equivocation", + "fields": [ + { + "name": "equivocation_proof", + "type": 33, + "typeName": "Box>" + }, + { + "name": "key_owner_proof", + "type": 44, + "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": 33, + "typeName": "Box>" + }, + { + "name": "key_owner_proof", + "type": 44, + "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": 45, + "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": 33, + "type": { + "path": [ + "sp_consensus_slots", + "EquivocationProof" + ], + "params": [ + { + "name": "Header", + "type": 34 + }, + { + "name": "Id", + "type": 41 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "offender", + "type": 41, + "typeName": "Id" + }, + { + "name": "slot", + "type": 43, + "typeName": "Slot" + }, + { + "name": "first_header", + "type": 34, + "typeName": "Header" + }, + { + "name": "second_header", + "type": 34, + "typeName": "Header" + } + ] + } + } + } + }, + { + "id": 34, + "type": { + "path": [ + "sp_runtime", + "generic", + "header", + "Header" + ], + "params": [ + { + "name": "Number", + "type": 4 + }, + { + "name": "Hash", + "type": 35 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "parent_hash", + "type": 1, + "typeName": "Hash::Output" + }, + { + "name": "number", + "type": 36, + "typeName": "Number" + }, + { + "name": "state_root", + "type": 1, + "typeName": "Hash::Output" + }, + { + "name": "extrinsics_root", + "type": 1, + "typeName": "Hash::Output" + }, + { + "name": "digest", + "type": 37, + "typeName": "Digest" + } + ] + } + } + } + }, + { + "id": 35, + "type": { + "path": [ + "sp_runtime", + "traits", + "BlakeTwo256" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 36, + "type": { + "def": { + "compact": { + "type": 4 + } + } + } + }, + { + "id": 37, + "type": { + "path": [ + "sp_runtime", + "generic", + "digest", + "Digest" + ], + "def": { + "composite": { + "fields": [ + { + "name": "logs", + "type": 38, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 38, + "type": { + "def": { + "sequence": { + "type": 39 + } + } + } + }, + { + "id": 39, + "type": { + "path": [ + "sp_runtime", + "generic", + "digest", + "DigestItem" + ], + "def": { + "variant": { + "variants": [ + { + "name": "PreRuntime", + "fields": [ + { + "type": 40, + "typeName": "ConsensusEngineId" + }, + { + "type": 28, + "typeName": "Vec" + } + ], + "index": 6 + }, + { + "name": "Consensus", + "fields": [ + { + "type": 40, + "typeName": "ConsensusEngineId" + }, + { + "type": 28, + "typeName": "Vec" + } + ], + "index": 4 + }, + { + "name": "Seal", + "fields": [ + { + "type": 40, + "typeName": "ConsensusEngineId" + }, + { + "type": 28, + "typeName": "Vec" + } + ], + "index": 5 + }, + { + "name": "Other", + "fields": [ + { + "type": 28, + "typeName": "Vec" + } + ], + "index": 0 + }, + { + "name": "RuntimeEnvironmentUpdated", + "index": 8 + } + ] + } + } + } + }, + { + "id": 40, + "type": { + "def": { + "array": { + "len": 4, + "type": 3 + } + } + } + }, + { + "id": 41, + "type": { + "path": [ + "sp_consensus_babe", + "app", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 42, + "typeName": "sr25519::Public" + } + ] + } + } + } + }, + { + "id": 42, + "type": { + "path": [ + "sp_core", + "sr25519", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 2, + "typeName": "[u8; 32]" + } + ] + } + } + } + }, + { + "id": 43, + "type": { + "path": [ + "sp_consensus_slots", + "Slot" + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 44, + "type": { + "path": [ + "sp_session", + "MembershipProof" + ], + "def": { + "composite": { + "fields": [ + { + "name": "session", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "trie_nodes", + "type": 31, + "typeName": "Vec>" + }, + { + "name": "validator_count", + "type": 4, + "typeName": "ValidatorCount" + } + ] + } + } + } + }, + { + "id": 45, + "type": { + "path": [ + "sp_consensus_babe", + "digests", + "NextConfigDescriptor" + ], + "def": { + "variant": { + "variants": [ + { + "name": "V1", + "fields": [ + { + "name": "c", + "type": 46, + "typeName": "(u64, u64)" + }, + { + "name": "allowed_slots", + "type": 47, + "typeName": "AllowedSlots" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 46, + "type": { + "def": { + "tuple": [ + 12, + 12 + ] + } + } + }, + { + "id": 47, + "type": { + "path": [ + "sp_consensus_babe", + "AllowedSlots" + ], + "def": { + "variant": { + "variants": [ + { + "name": "PrimarySlots", + "index": 0 + }, + { + "name": "PrimaryAndSecondaryPlainSlots", + "index": 1 + }, + { + "name": "PrimaryAndSecondaryVRFSlots", + "index": 2 + } + ] + } + } + } + }, + { + "id": 48, + "type": { + "path": [ + "pallet_timestamp", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "set", + "fields": [ + { + "name": "now", + "type": 49, + "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": 49, + "type": { + "def": { + "compact": { + "type": 12 + } + } + } + }, + { + "id": 50, + "type": { + "path": [ + "pallet_indices", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "claim", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "T::AccountIndex" + } + ], + "index": 0, + "docs": [ + "Assign an previously unassigned index.", + "", + "Payment: `Deposit` is reserved from the sender account.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `index`: the index to be claimed. This must not be in use.", + "", + "Emits `IndexAssigned` if successful.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "new", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "index", + "type": 4, + "typeName": "T::AccountIndex" + } + ], + "index": 1, + "docs": [ + "Assign an index already owned by the sender to another account. The balance reservation", + "is effectively transferred to the new account.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `index`: the index to be re-assigned. This must be owned by the sender.", + "- `new`: the new owner of the index. This function is a no-op if it is equal to sender.", + "", + "Emits `IndexAssigned` if successful.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "free", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "T::AccountIndex" + } + ], + "index": 2, + "docs": [ + "Free up an index owned by the sender.", + "", + "Payment: Any previous deposit placed for the index is unreserved in the sender account.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must own the index.", + "", + "- `index`: the index to be freed. This must be owned by the sender.", + "", + "Emits `IndexFreed` if successful.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "force_transfer", + "fields": [ + { + "name": "new", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "index", + "type": 4, + "typeName": "T::AccountIndex" + }, + { + "name": "freeze", + "type": 54, + "typeName": "bool" + } + ], + "index": 3, + "docs": [ + "Force an index to an account. This doesn't require a deposit. If the index is already", + "held, then any deposit is reimbursed to its current owner.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "- `index`: the index to be (re-)assigned.", + "- `new`: the new owner of the index. This function is a no-op if it is equal to sender.", + "- `freeze`: if set to `true`, will freeze the index so it cannot be transferred.", + "", + "Emits `IndexAssigned` if successful.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "freeze", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "T::AccountIndex" + } + ], + "index": 4, + "docs": [ + "Freeze an index so it will always point to the sender account. This consumes the", + "deposit.", + "", + "The dispatch origin for this call must be _Signed_ and the signing account must have a", + "non-frozen account `index`.", + "", + "- `index`: the index to be frozen in place.", + "", + "Emits `IndexFrozen` if successful.", + "", + "## Complexity", + "- `O(1)`." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 51, + "type": { + "path": [ + "sp_runtime", + "multiaddress", + "MultiAddress" + ], + "params": [ + { + "name": "AccountId", + "type": 52 + }, + { + "name": "AccountIndex", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Id", + "fields": [ + { + "type": 52, + "typeName": "AccountId" + } + ], + "index": 0 + }, + { + "name": "Index", + "fields": [ + { + "type": 36, + "typeName": "AccountIndex" + } + ], + "index": 1 + }, + { + "name": "Raw", + "fields": [ + { + "type": 28, + "typeName": "Vec" + } + ], + "index": 2 + }, + { + "name": "Address32", + "fields": [ + { + "type": 2, + "typeName": "[u8; 32]" + } + ], + "index": 3 + }, + { + "name": "Address20", + "fields": [ + { + "type": 53, + "typeName": "[u8; 20]" + } + ], + "index": 4 + } + ] + } + } + } + }, + { + "id": 52, + "type": { + "path": [ + "sp_core", + "crypto", + "AccountId32" + ], + "def": { + "composite": { + "fields": [ + { + "type": 2, + "typeName": "[u8; 32]" + } + ] + } + } + } + }, + { + "id": 53, + "type": { + "def": { + "array": { + "len": 20, + "type": 3 + } + } + } + }, + { + "id": 54, + "type": { + "def": { + "primitive": "bool" + } + } + }, + { + "id": 55, + "type": { + "path": [ + "pallet_balances", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "transfer", + "fields": [ + { + "name": "dest", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 56, + "typeName": "T::Balance" + } + ], + "index": 0, + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer` 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.", + "", + "## Complexity", + "- Dependent on arguments but not critical, given proper implementations for input config", + " types. See related functions below.", + "- It contains a limited number of reads and writes internally and no complex", + " computation.", + "", + "Related functions:", + "", + " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", + " - Transferring balances to accounts that did not exist before will cause", + " `T::OnNewAccount::on_new_account` to be called.", + " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", + " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check", + " that the transfer will not kill the origin account." + ] + }, + { + "name": "set_balance", + "fields": [ + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": 56, + "typeName": "T::Balance" + }, + { + "name": "new_reserved", + "type": 56, + "typeName": "T::Balance" + } + ], + "index": 1, + "docs": [ + "Set the balances of a given account.", + "", + "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", + "also alter the total issuance of the system (`TotalIssuance`) appropriately.", + "If the new free or reserved balance is below the existential deposit,", + "it will reset the account nonce (`frame_system::AccountNonce`).", + "", + "The dispatch origin for this call is `root`." + ] + }, + { + "name": "force_transfer", + "fields": [ + { + "name": "source", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 56, + "typeName": "T::Balance" + } + ], + "index": 2, + "docs": [ + "Exactly as `transfer`, except the origin must be root and the source account may be", + "specified.", + "## Complexity", + "- Same as transfer, but additional read and write because the source account is not", + " assumed to be in the overlay." + ] + }, + { + "name": "transfer_keep_alive", + "fields": [ + { + "name": "dest", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 56, + "typeName": "T::Balance" + } + ], + "index": 3, + "docs": [ + "Same as the [`transfer`] call, but with a check that the transfer will not kill the", + "origin account.", + "", + "99% of the time you want [`transfer`] instead.", + "", + "[`transfer`]: struct.Pallet.html#method.transfer" + ] + }, + { + "name": "transfer_all", + "fields": [ + { + "name": "dest", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": 54, + "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). ## Complexity", + "- O(1). Just like transfer, but reading the user's transferable balance first." + ] + }, + { + "name": "force_unreserve", + "fields": [ + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 57, + "typeName": "T::Balance" + } + ], + "index": 5, + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 56, + "type": { + "def": { + "compact": { + "type": 57 + } + } + } + }, + { + "id": 57, + "type": { + "def": { + "primitive": "u128" + } + } + }, + { + "id": 58, + "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": 59, + "typeName": "Box>>" + }, + { + "name": "witness", + "type": 107, + "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": 108, + "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": 109, + "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": 59, + "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": 114, + "typeName": "Option" + }, + { + "name": "maybe_max_targets", + "type": 114, + "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": 59, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "RawSolution" + ], + "params": [ + { + "name": "S", + "type": 60 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "solution", + "type": 60, + "typeName": "S" + }, + { + "name": "score", + "type": 106, + "typeName": "ElectionScore" + }, + { + "name": "round", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 60, + "type": { + "path": [ + "kitchensink_runtime", + "NposSolution16" + ], + "def": { + "composite": { + "fields": [ + { + "name": "votes1", + "type": 61 + }, + { + "name": "votes2", + "type": 63 + }, + { + "name": "votes3", + "type": 65 + }, + { + "name": "votes4", + "type": 68 + }, + { + "name": "votes5", + "type": 71 + }, + { + "name": "votes6", + "type": 74 + }, + { + "name": "votes7", + "type": 76 + }, + { + "name": "votes8", + "type": 79 + }, + { + "name": "votes9", + "type": 82 + }, + { + "name": "votes10", + "type": 85 + }, + { + "name": "votes11", + "type": 88 + }, + { + "name": "votes12", + "type": 91 + }, + { + "name": "votes13", + "type": 94 + }, + { + "name": "votes14", + "type": 97 + }, + { + "name": "votes15", + "type": 100 + }, + { + "name": "votes16", + "type": 103 + } + ] + } + } + } + }, + { + "id": 61, + "type": { + "def": { + "sequence": { + "type": 62 + } + } + } + }, + { + "id": 62, + "type": { + "def": { + "tuple": [ + 36, + 19 + ] + } + } + }, + { + "id": 63, + "type": { + "def": { + "sequence": { + "type": 64 + } + } + } + }, + { + "id": 64, + "type": { + "def": { + "tuple": [ + 36, + 18, + 19 + ] + } + } + }, + { + "id": 65, + "type": { + "def": { + "sequence": { + "type": 66 + } + } + } + }, + { + "id": 66, + "type": { + "def": { + "tuple": [ + 36, + 67, + 19 + ] + } + } + }, + { + "id": 67, + "type": { + "def": { + "array": { + "len": 2, + "type": 18 + } + } + } + }, + { + "id": 68, + "type": { + "def": { + "sequence": { + "type": 69 + } + } + } + }, + { + "id": 69, + "type": { + "def": { + "tuple": [ + 36, + 70, + 19 + ] + } + } + }, + { + "id": 70, + "type": { + "def": { + "array": { + "len": 3, + "type": 18 + } + } + } + }, + { + "id": 71, + "type": { + "def": { + "sequence": { + "type": 72 + } + } + } + }, + { + "id": 72, + "type": { + "def": { + "tuple": [ + 36, + 73, + 19 + ] + } + } + }, + { + "id": 73, + "type": { + "def": { + "array": { + "len": 4, + "type": 18 + } + } + } + }, + { + "id": 74, + "type": { + "def": { + "sequence": { + "type": 75 + } + } + } + }, + { + "id": 75, + "type": { + "def": { + "tuple": [ + 36, + 17, + 19 + ] + } + } + }, + { + "id": 76, + "type": { + "def": { + "sequence": { + "type": 77 + } + } + } + }, + { + "id": 77, + "type": { + "def": { + "tuple": [ + 36, + 78, + 19 + ] + } + } + }, + { + "id": 78, + "type": { + "def": { + "array": { + "len": 6, + "type": 18 + } + } + } + }, + { + "id": 79, + "type": { + "def": { + "sequence": { + "type": 80 + } + } + } + }, + { + "id": 80, + "type": { + "def": { + "tuple": [ + 36, + 81, + 19 + ] + } + } + }, + { + "id": 81, + "type": { + "def": { + "array": { + "len": 7, + "type": 18 + } + } + } + }, + { + "id": 82, + "type": { + "def": { + "sequence": { + "type": 83 + } + } + } + }, + { + "id": 83, + "type": { + "def": { + "tuple": [ + 36, + 84, + 19 + ] + } + } + }, + { + "id": 84, + "type": { + "def": { + "array": { + "len": 8, + "type": 18 + } + } + } + }, + { + "id": 85, + "type": { + "def": { + "sequence": { + "type": 86 + } + } + } + }, + { + "id": 86, + "type": { + "def": { + "tuple": [ + 36, + 87, + 19 + ] + } + } + }, + { + "id": 87, + "type": { + "def": { + "array": { + "len": 9, + "type": 18 + } + } + } + }, + { + "id": 88, + "type": { + "def": { + "sequence": { + "type": 89 + } + } + } + }, + { + "id": 89, + "type": { + "def": { + "tuple": [ + 36, + 90, + 19 + ] + } + } + }, + { + "id": 90, + "type": { + "def": { + "array": { + "len": 10, + "type": 18 + } + } + } + }, + { + "id": 91, + "type": { + "def": { + "sequence": { + "type": 92 + } + } + } + }, + { + "id": 92, + "type": { + "def": { + "tuple": [ + 36, + 93, + 19 + ] + } + } + }, + { + "id": 93, + "type": { + "def": { + "array": { + "len": 11, + "type": 18 + } + } + } + }, + { + "id": 94, + "type": { + "def": { + "sequence": { + "type": 95 + } + } + } + }, + { + "id": 95, + "type": { + "def": { + "tuple": [ + 36, + 96, + 19 + ] + } + } + }, + { + "id": 96, + "type": { + "def": { + "array": { + "len": 12, + "type": 18 + } + } + } + }, + { + "id": 97, + "type": { + "def": { + "sequence": { + "type": 98 + } + } + } + }, + { + "id": 98, + "type": { + "def": { + "tuple": [ + 36, + 99, + 19 + ] + } + } + }, + { + "id": 99, + "type": { + "def": { + "array": { + "len": 13, + "type": 18 + } + } + } + }, + { + "id": 100, + "type": { + "def": { + "sequence": { + "type": 101 + } + } + } + }, + { + "id": 101, + "type": { + "def": { + "tuple": [ + 36, + 102, + 19 + ] + } + } + }, + { + "id": 102, + "type": { + "def": { + "array": { + "len": 14, + "type": 18 + } + } + } + }, + { + "id": 103, + "type": { + "def": { + "sequence": { + "type": 104 + } + } + } + }, + { + "id": 104, + "type": { + "def": { + "tuple": [ + 36, + 105, + 19 + ] + } + } + }, + { + "id": 105, + "type": { + "def": { + "array": { + "len": 15, + "type": 18 + } + } + } + }, + { + "id": 106, + "type": { + "path": [ + "sp_npos_elections", + "ElectionScore" + ], + "def": { + "composite": { + "fields": [ + { + "name": "minimal_stake", + "type": 57, + "typeName": "ExtendedBalance" + }, + { + "name": "sum_stake", + "type": 57, + "typeName": "ExtendedBalance" + }, + { + "name": "sum_stake_squared", + "type": 57, + "typeName": "ExtendedBalance" + } + ] + } + } + } + }, + { + "id": 107, + "type": { + "path": [ + "pallet_election_provider_multi_phase", + "SolutionOrSnapshotSize" + ], + "def": { + "composite": { + "fields": [ + { + "name": "voters", + "type": 36, + "typeName": "u32" + }, + { + "name": "targets", + "type": 36, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 108, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 106 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 106 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 109, + "type": { + "def": { + "sequence": { + "type": 110 + } + } + } + }, + { + "id": 110, + "type": { + "def": { + "tuple": [ + 52, + 111 + ] + } + } + }, + { + "id": 111, + "type": { + "path": [ + "sp_npos_elections", + "Support" + ], + "params": [ + { + "name": "AccountId", + "type": 52 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "total", + "type": 57, + "typeName": "ExtendedBalance" + }, + { + "name": "voters", + "type": 112, + "typeName": "Vec<(AccountId, ExtendedBalance)>" + } + ] + } + } + } + }, + { + "id": 112, + "type": { + "def": { + "sequence": { + "type": 113 + } + } + } + }, + { + "id": 113, + "type": { + "def": { + "tuple": [ + 52, + 57 + ] + } + } + }, + { + "id": 114, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 4 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 115, + "type": { + "path": [ + "pallet_staking", + "pallet", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "bond", + "fields": [ + { + "name": "controller", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "payee", + "type": 116, + "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": 56, + "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": 56, + "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": 117, + "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": 120, + "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": 116, + "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", + "fields": [ + { + "name": "controller", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 8, + "docs": [ + "(Re-)set the controller of a stash.", + "", + "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": 36, + "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": 36, + "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": 121, + "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": 122, + "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": 52, + "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": 123, + "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": 52, + "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": 56, + "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": 52, + "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": 120, + "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": 124, + "typeName": "ConfigOp>" + }, + { + "name": "min_validator_bond", + "type": 124, + "typeName": "ConfigOp>" + }, + { + "name": "max_nominator_count", + "type": 125, + "typeName": "ConfigOp" + }, + { + "name": "max_validator_count", + "type": 125, + "typeName": "ConfigOp" + }, + { + "name": "chill_threshold", + "type": 126, + "typeName": "ConfigOp" + }, + { + "name": "min_commission", + "type": 127, + "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": 52, + "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": 52, + "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": 119, + "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": 116, + "type": { + "path": [ + "pallet_staking", + "RewardDestination" + ], + "params": [ + { + "name": "AccountId", + "type": 52 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Staked", + "index": 0 + }, + { + "name": "Stash", + "index": 1 + }, + { + "name": "Controller", + "index": 2 + }, + { + "name": "Account", + "fields": [ + { + "type": 52, + "typeName": "AccountId" + } + ], + "index": 3 + }, + { + "name": "None", + "index": 4 + } + ] + } + } + } + }, + { + "id": 117, + "type": { + "path": [ + "pallet_staking", + "ValidatorPrefs" + ], + "def": { + "composite": { + "fields": [ + { + "name": "commission", + "type": 118, + "typeName": "Perbill" + }, + { + "name": "blocked", + "type": 54, + "typeName": "bool" + } + ] + } + } + } + }, + { + "id": 118, + "type": { + "def": { + "compact": { + "type": 119 + } + } + } + }, + { + "id": 119, + "type": { + "path": [ + "sp_arithmetic", + "per_things", + "Perbill" + ], + "def": { + "composite": { + "fields": [ + { + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 120, + "type": { + "def": { + "sequence": { + "type": 51 + } + } + } + }, + { + "id": 121, + "type": { + "path": [ + "sp_arithmetic", + "per_things", + "Percent" + ], + "def": { + "composite": { + "fields": [ + { + "type": 3, + "typeName": "u8" + } + ] + } + } + } + }, + { + "id": 122, + "type": { + "def": { + "sequence": { + "type": 52 + } + } + } + }, + { + "id": 123, + "type": { + "def": { + "sequence": { + "type": 4 + } + } + } + }, + { + "id": 124, + "type": { + "path": [ + "pallet_staking", + "pallet", + "pallet", + "ConfigOp" + ], + "params": [ + { + "name": "T", + "type": 57 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noop", + "index": 0 + }, + { + "name": "Set", + "fields": [ + { + "type": 57, + "typeName": "T" + } + ], + "index": 1 + }, + { + "name": "Remove", + "index": 2 + } + ] + } + } + } + }, + { + "id": 125, + "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": 126, + "type": { + "path": [ + "pallet_staking", + "pallet", + "pallet", + "ConfigOp" + ], + "params": [ + { + "name": "T", + "type": 121 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noop", + "index": 0 + }, + { + "name": "Set", + "fields": [ + { + "type": 121, + "typeName": "T" + } + ], + "index": 1 + }, + { + "name": "Remove", + "index": 2 + } + ] + } + } + } + }, + { + "id": 127, + "type": { + "path": [ + "pallet_staking", + "pallet", + "pallet", + "ConfigOp" + ], + "params": [ + { + "name": "T", + "type": 119 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noop", + "index": 0 + }, + { + "name": "Set", + "fields": [ + { + "type": 119, + "typeName": "T" + } + ], + "index": 1 + }, + { + "name": "Remove", + "index": 2 + } + ] + } + } + } + }, + { + "id": 128, + "type": { + "path": [ + "pallet_session", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "set_keys", + "fields": [ + { + "name": "keys", + "type": 129, + "typeName": "T::Keys" + }, + { + "name": "proof", + "type": 28, + "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": 129, + "type": { + "path": [ + "kitchensink_runtime", + "SessionKeys" + ], + "def": { + "composite": { + "fields": [ + { + "name": "grandpa", + "type": 6, + "typeName": "::Public" + }, + { + "name": "babe", + "type": 41, + "typeName": "::Public" + }, + { + "name": "im_online", + "type": 130, + "typeName": "::Public" + }, + { + "name": "authority_discovery", + "type": 131, + "typeName": "::Public" + } + ] + } + } + } + }, + { + "id": 130, + "type": { + "path": [ + "pallet_im_online", + "sr25519", + "app_sr25519", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 42, + "typeName": "sr25519::Public" + } + ] + } + } + } + }, + { + "id": 131, + "type": { + "path": [ + "sp_authority_discovery", + "app", + "Public" + ], + "def": { + "composite": { + "fields": [ + { + "type": 42, + "typeName": "sr25519::Public" + } + ] + } + } + } + }, + { + "id": 132, + "type": { + "path": [ + "pallet_democracy", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "propose", + "fields": [ + { + "name": "proposal", + "type": 133, + "typeName": "BoundedCallOf" + }, + { + "name": "value", + "type": 56, + "typeName": "BalanceOf" + } + ], + "index": 0, + "docs": [ + "Propose a sensitive action to be taken.", + "", + "The dispatch origin of this call must be _Signed_ and the sender must", + "have funds to cover the deposit.", + "", + "- `proposal_hash`: The hash of the proposal preimage.", + "- `value`: The amount of deposit (must be at least `MinimumDeposit`).", + "", + "Emits `Proposed`." + ] + }, + { + "name": "second", + "fields": [ + { + "name": "proposal", + "type": 36, + "typeName": "PropIndex" + } + ], + "index": 1, + "docs": [ + "Signals agreement with a particular proposal.", + "", + "The dispatch origin of this call must be _Signed_ and the sender", + "must have funds to cover the deposit, equal to the original deposit.", + "", + "- `proposal`: The index of the proposal to second." + ] + }, + { + "name": "vote", + "fields": [ + { + "name": "ref_index", + "type": 36, + "typeName": "ReferendumIndex" + }, + { + "name": "vote", + "type": 135, + "typeName": "AccountVote>" + } + ], + "index": 2, + "docs": [ + "Vote in a referendum. 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_.", + "", + "- `ref_index`: The index of the referendum to vote for.", + "- `vote`: The vote configuration." + ] + }, + { + "name": "emergency_cancel", + "fields": [ + { + "name": "ref_index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 3, + "docs": [ + "Schedule an emergency cancellation of a referendum. Cannot happen twice to the same", + "referendum.", + "", + "The dispatch origin of this call must be `CancellationOrigin`.", + "", + "-`ref_index`: The index of the referendum to cancel.", + "", + "Weight: `O(1)`." + ] + }, + { + "name": "external_propose", + "fields": [ + { + "name": "proposal", + "type": 133, + "typeName": "BoundedCallOf" + } + ], + "index": 4, + "docs": [ + "Schedule a referendum to be tabled once it is legal to schedule an external", + "referendum.", + "", + "The dispatch origin of this call must be `ExternalOrigin`.", + "", + "- `proposal_hash`: The preimage hash of the proposal." + ] + }, + { + "name": "external_propose_majority", + "fields": [ + { + "name": "proposal", + "type": 133, + "typeName": "BoundedCallOf" + } + ], + "index": 5, + "docs": [ + "Schedule a majority-carries referendum to be tabled next once it is legal to schedule", + "an external referendum.", + "", + "The dispatch of this call must be `ExternalMajorityOrigin`.", + "", + "- `proposal_hash`: The preimage hash of the proposal.", + "", + "Unlike `external_propose`, blacklisting has no effect on this and it may replace a", + "pre-scheduled `external_propose` call.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "external_propose_default", + "fields": [ + { + "name": "proposal", + "type": 133, + "typeName": "BoundedCallOf" + } + ], + "index": 6, + "docs": [ + "Schedule a negative-turnout-bias referendum to be tabled next once it is legal to", + "schedule an external referendum.", + "", + "The dispatch of this call must be `ExternalDefaultOrigin`.", + "", + "- `proposal_hash`: The preimage hash of the proposal.", + "", + "Unlike `external_propose`, blacklisting has no effect on this and it may replace a", + "pre-scheduled `external_propose` call.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "fast_track", + "fields": [ + { + "name": "proposal_hash", + "type": 1, + "typeName": "H256" + }, + { + "name": "voting_period", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "delay", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 7, + "docs": [ + "Schedule the currently externally-proposed majority-carries referendum to be tabled", + "immediately. If there is no externally-proposed referendum currently, or if there is one", + "but it is not a majority-carries referendum then it fails.", + "", + "The dispatch of this call must be `FastTrackOrigin`.", + "", + "- `proposal_hash`: The hash of the current external proposal.", + "- `voting_period`: The period that is allowed for voting on this proposal. Increased to", + "\tMust be always greater than zero.", + "\tFor `FastTrackOrigin` must be equal or greater than `FastTrackVotingPeriod`.", + "- `delay`: The number of block after voting has ended in approval and this should be", + " enacted. This doesn't have a minimum amount.", + "", + "Emits `Started`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "veto_external", + "fields": [ + { + "name": "proposal_hash", + "type": 1, + "typeName": "H256" + } + ], + "index": 8, + "docs": [ + "Veto and blacklist the external proposal hash.", + "", + "The dispatch origin of this call must be `VetoOrigin`.", + "", + "- `proposal_hash`: The preimage hash of the proposal to veto and blacklist.", + "", + "Emits `Vetoed`.", + "", + "Weight: `O(V + log(V))` where V is number of `existing vetoers`" + ] + }, + { + "name": "cancel_referendum", + "fields": [ + { + "name": "ref_index", + "type": 36, + "typeName": "ReferendumIndex" + } + ], + "index": 9, + "docs": [ + "Remove a referendum.", + "", + "The dispatch origin of this call must be _Root_.", + "", + "- `ref_index`: The index of the referendum to cancel.", + "", + "# Weight: `O(1)`." + ] + }, + { + "name": "delegate", + "fields": [ + { + "name": "to", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "conviction", + "type": 137, + "typeName": "Conviction" + }, + { + "name": "balance", + "type": 57, + "typeName": "BalanceOf" + } + ], + "index": 10, + "docs": [ + "Delegate the voting power (with some given conviction) of the sending account.", + "", + "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.", + "- `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 referendums the voter delegating to has", + " voted on. Weight is charged as if maximum votes." + ] + }, + { + "name": "undelegate", + "index": 11, + "docs": [ + "Undelegate the voting power of the sending account.", + "", + "Tokens may be unlocked following once an amount of time consistent with the lock period", + "of the conviction with which the delegation was issued.", + "", + "The dispatch origin of this call must be _Signed_ and the signing account must be", + "currently delegating.", + "", + "Emits `Undelegated`.", + "", + "Weight: `O(R)` where R is the number of referendums the voter delegating to has", + " voted on. Weight is charged as if maximum votes." + ] + }, + { + "name": "clear_public_proposals", + "index": 12, + "docs": [ + "Clears all public proposals.", + "", + "The dispatch origin of this call must be _Root_.", + "", + "Weight: `O(1)`." + ] + }, + { + "name": "unlock", + "fields": [ + { + "name": "target", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 13, + "docs": [ + "Unlock tokens that have an expired lock.", + "", + "The dispatch origin of this call must be _Signed_.", + "", + "- `target`: The account to remove the lock on.", + "", + "Weight: `O(R)` with R number of vote of target." + ] + }, + { + "name": "remove_vote", + "fields": [ + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 14, + "docs": [ + "Remove a vote for a referendum.", + "", + "If:", + "- the referendum was cancelled, or", + "- the referendum is ongoing, or", + "- the referendum 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 referendum 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 referendum `index`.", + "", + "- `index`: The index of referendum of the vote to be removed.", + "", + "Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.", + " Weight is calculated for the maximum number of vote." + ] + }, + { + "name": "remove_other_vote", + "fields": [ + { + "name": "target", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "index", + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 15, + "docs": [ + "Remove a vote for a referendum.", + "", + "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 referendum was cancelled, because the voter lost the referendum 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", + " referendum `index`.", + "- `index`: The index of referendum of the vote to be removed.", + "", + "Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.", + " Weight is calculated for the maximum number of vote." + ] + }, + { + "name": "blacklist", + "fields": [ + { + "name": "proposal_hash", + "type": 1, + "typeName": "H256" + }, + { + "name": "maybe_ref_index", + "type": 114, + "typeName": "Option" + } + ], + "index": 16, + "docs": [ + "Permanently place a proposal into the blacklist. This prevents it from ever being", + "proposed again.", + "", + "If called on a queued public or external proposal, then this will result in it being", + "removed. If the `ref_index` supplied is an active referendum with the proposal hash,", + "then it will be cancelled.", + "", + "The dispatch origin of this call must be `BlacklistOrigin`.", + "", + "- `proposal_hash`: The proposal hash to blacklist permanently.", + "- `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be", + "cancelled.", + "", + "Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a", + " reasonable value)." + ] + }, + { + "name": "cancel_proposal", + "fields": [ + { + "name": "prop_index", + "type": 36, + "typeName": "PropIndex" + } + ], + "index": 17, + "docs": [ + "Remove a proposal.", + "", + "The dispatch origin of this call must be `CancelProposalOrigin`.", + "", + "- `prop_index`: The index of the proposal to cancel.", + "", + "Weight: `O(p)` where `p = PublicProps::::decode_len()`" + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "owner", + "type": 138, + "typeName": "MetadataOwner" + }, + { + "name": "maybe_hash", + "type": 139, + "typeName": "Option" + } + ], + "index": 18, + "docs": [ + "Set or clear a metadata of a proposal or a referendum.", + "", + "Parameters:", + "- `origin`: Must correspond to the `MetadataOwner`.", + " - `ExternalOrigin` for an external proposal with the `SuperMajorityApprove`", + " threshold.", + " - `ExternalDefaultOrigin` for an external proposal with the `SuperMajorityAgainst`", + " threshold.", + " - `ExternalMajorityOrigin` for an external proposal with the `SimpleMajority`", + " threshold.", + " - `Signed` by a creator for a public proposal.", + " - `Signed` to clear a metadata for a finished referendum.", + " - `Root` to set a metadata for an ongoing referendum.", + "- `owner`: an identifier of a metadata owner.", + "- `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": 133, + "type": { + "path": [ + "frame_support", + "traits", + "preimages", + "Bounded" + ], + "params": [ + { + "name": "T", + "type": 26 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Legacy", + "fields": [ + { + "name": "hash", + "type": 1, + "typeName": "Hash" + } + ], + "index": 0 + }, + { + "name": "Inline", + "fields": [ + { + "type": 134, + "typeName": "BoundedInline" + } + ], + "index": 1 + }, + { + "name": "Lookup", + "fields": [ + { + "name": "hash", + "type": 1, + "typeName": "Hash" + }, + { + "name": "len", + "type": 4, + "typeName": "u32" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 134, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 3 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 28, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 135, + "type": { + "path": [ + "pallet_democracy", + "vote", + "AccountVote" + ], + "params": [ + { + "name": "Balance", + "type": 57 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Standard", + "fields": [ + { + "name": "vote", + "type": 136, + "typeName": "Vote" + }, + { + "name": "balance", + "type": 57, + "typeName": "Balance" + } + ], + "index": 0 + }, + { + "name": "Split", + "fields": [ + { + "name": "aye", + "type": 57, + "typeName": "Balance" + }, + { + "name": "nay", + "type": 57, + "typeName": "Balance" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 136, + "type": { + "path": [ + "pallet_democracy", + "vote", + "Vote" + ], + "def": { + "composite": { + "fields": [ + { + "type": 3 + } + ] + } + } + } + }, + { + "id": 137, + "type": { + "path": [ + "pallet_democracy", + "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": 138, + "type": { + "path": [ + "pallet_democracy", + "types", + "MetadataOwner" + ], + "def": { + "variant": { + "variants": [ + { + "name": "External", + "index": 0 + }, + { + "name": "Proposal", + "fields": [ + { + "type": 4, + "typeName": "PropIndex" + } + ], + "index": 1 + }, + { + "name": "Referendum", + "fields": [ + { + "type": 4, + "typeName": "ReferendumIndex" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 139, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 1 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 1 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 140, + "type": { + "path": [ + "pallet_collective", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "set_members", + "fields": [ + { + "name": "new_members", + "type": 122, + "typeName": "Vec" + }, + { + "name": "prime", + "type": 141, + "typeName": "Option" + }, + { + "name": "old_count", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0, + "docs": [ + "Set the collective's membership.", + "", + "- `new_members`: The new member list. Be nice to the chain and provide it sorted.", + "- `prime`: The prime member whose vote sets the default.", + "- `old_count`: The upper bound for the previous number of members in storage. Used for", + " weight estimation.", + "", + "The dispatch of this call must be `SetMembersOrigin`.", + "", + "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but", + " the weight estimations rely on it to estimate dispatchable weight.", + "", + "# WARNING:", + "", + "The `pallet-collective` can also be managed by logic outside of the pallet through the", + "implementation of the trait [`ChangeMembers`].", + "Any call to `set_members` must be careful that the member set doesn't get out of sync", + "with other logic managing the member set.", + "", + "## Complexity:", + "- `O(MP + N)` where:", + " - `M` old-members-count (code- and governance-bounded)", + " - `N` new-members-count (code- and governance-bounded)", + " - `P` proposals-count (code-bounded)" + ] + }, + { + "name": "execute", + "fields": [ + { + "name": "proposal", + "type": 26, + "typeName": "Box<>::Proposal>" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "Dispatch a proposal from a member using the `Member` origin.", + "", + "Origin must be a member of the collective.", + "", + "## Complexity:", + "- `O(B + M + P)` where:", + "- `B` is `proposal` size in bytes (length-fee-bounded)", + "- `M` members-count (code-bounded)", + "- `P` complexity of dispatching `proposal`" + ] + }, + { + "name": "propose", + "fields": [ + { + "name": "threshold", + "type": 36, + "typeName": "MemberCount" + }, + { + "name": "proposal", + "type": 26, + "typeName": "Box<>::Proposal>" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 2, + "docs": [ + "Add a new proposal to either be voted on or executed directly.", + "", + "Requires the sender to be member.", + "", + "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)", + "or put up for voting.", + "", + "## Complexity", + "- `O(B + M + P1)` or `O(B + M + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - branching is influenced by `threshold` where:", + " - `P1` is proposal execution complexity (`threshold < 2`)", + " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)" + ] + }, + { + "name": "vote", + "fields": [ + { + "name": "proposal", + "type": 1, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 36, + "typeName": "ProposalIndex" + }, + { + "name": "approve", + "type": 54, + "typeName": "bool" + } + ], + "index": 3, + "docs": [ + "Add an aye or nay vote for the sender to the given proposal.", + "", + "Requires the sender to be a member.", + "", + "Transaction fees will 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.", + "## Complexity", + "- `O(M)` where `M` is members-count (code- and governance-bounded)" + ] + }, + { + "name": "close_old_weight", + "fields": [ + { + "name": "proposal_hash", + "type": 1, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 36, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 142, + "typeName": "OldWeight" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 4, + "docs": [ + "Close a vote that is either approved, disapproved or whose voting period has ended.", + "", + "May be called by any signed account in order to finish voting and close the proposal.", + "", + "If called before the end of the voting period it will only close the vote if it is", + "has enough votes to be approved or disapproved.", + "", + "If called after the end of the voting period abstentions are counted as rejections", + "unless there is a prime member set and the prime member cast an approval.", + "", + "If the close operation completes successfully with disapproval, the transaction fee will", + "be waived. Otherwise execution of the approved operation will be charged to the caller.", + "", + "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed", + "proposal.", + "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", + "`storage::read` so it is `size_of::() == 4` larger than the pure length.", + "", + "## Complexity", + "- `O(B + M + P1 + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - `P1` is the complexity of `proposal` preimage.", + " - `P2` is proposal-count (code-bounded)" + ] + }, + { + "name": "disapprove_proposal", + "fields": [ + { + "name": "proposal_hash", + "type": 1, + "typeName": "T::Hash" + } + ], + "index": 5, + "docs": [ + "Disapprove a proposal, close, and remove it from the system, regardless of its current", + "state.", + "", + "Must be called by the Root origin.", + "", + "Parameters:", + "* `proposal_hash`: The hash of the proposal that should be disapproved.", + "", + "## Complexity", + "O(P) where P is the number of max proposals" + ] + }, + { + "name": "close", + "fields": [ + { + "name": "proposal_hash", + "type": 1, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 36, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 144, + "typeName": "Weight" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 6, + "docs": [ + "Close a vote that is either approved, disapproved or whose voting period has ended.", + "", + "May be called by any signed account in order to finish voting and close the proposal.", + "", + "If called before the end of the voting period it will only close the vote if it is", + "has enough votes to be approved or disapproved.", + "", + "If called after the end of the voting period abstentions are counted as rejections", + "unless there is a prime member set and the prime member cast an approval.", + "", + "If the close operation completes successfully with disapproval, the transaction fee will", + "be waived. Otherwise execution of the approved operation will be charged to the caller.", + "", + "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed", + "proposal.", + "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", + "`storage::read` so it is `size_of::() == 4` larger than the pure length.", + "", + "## Complexity", + "- `O(B + M + P1 + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - `P1` is the complexity of `proposal` preimage.", + " - `P2` is proposal-count (code-bounded)" + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 141, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 52 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 52 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 142, + "type": { + "def": { + "compact": { + "type": 143 + } + } + } + }, + { + "id": 143, + "type": { + "path": [ + "sp_weights", + "OldWeight" + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 144, + "type": { + "path": [ + "sp_weights", + "weight_v2", + "Weight" + ], + "def": { + "composite": { + "fields": [ + { + "name": "ref_time", + "type": 49, + "typeName": "u64" + }, + { + "name": "proof_size", + "type": 49, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 145, + "type": { + "path": [ + "pallet_collective", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "set_members", + "fields": [ + { + "name": "new_members", + "type": 122, + "typeName": "Vec" + }, + { + "name": "prime", + "type": 141, + "typeName": "Option" + }, + { + "name": "old_count", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0, + "docs": [ + "Set the collective's membership.", + "", + "- `new_members`: The new member list. Be nice to the chain and provide it sorted.", + "- `prime`: The prime member whose vote sets the default.", + "- `old_count`: The upper bound for the previous number of members in storage. Used for", + " weight estimation.", + "", + "The dispatch of this call must be `SetMembersOrigin`.", + "", + "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but", + " the weight estimations rely on it to estimate dispatchable weight.", + "", + "# WARNING:", + "", + "The `pallet-collective` can also be managed by logic outside of the pallet through the", + "implementation of the trait [`ChangeMembers`].", + "Any call to `set_members` must be careful that the member set doesn't get out of sync", + "with other logic managing the member set.", + "", + "## Complexity:", + "- `O(MP + N)` where:", + " - `M` old-members-count (code- and governance-bounded)", + " - `N` new-members-count (code- and governance-bounded)", + " - `P` proposals-count (code-bounded)" + ] + }, + { + "name": "execute", + "fields": [ + { + "name": "proposal", + "type": 26, + "typeName": "Box<>::Proposal>" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "Dispatch a proposal from a member using the `Member` origin.", + "", + "Origin must be a member of the collective.", + "", + "## Complexity:", + "- `O(B + M + P)` where:", + "- `B` is `proposal` size in bytes (length-fee-bounded)", + "- `M` members-count (code-bounded)", + "- `P` complexity of dispatching `proposal`" + ] + }, + { + "name": "propose", + "fields": [ + { + "name": "threshold", + "type": 36, + "typeName": "MemberCount" + }, + { + "name": "proposal", + "type": 26, + "typeName": "Box<>::Proposal>" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 2, + "docs": [ + "Add a new proposal to either be voted on or executed directly.", + "", + "Requires the sender to be member.", + "", + "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)", + "or put up for voting.", + "", + "## Complexity", + "- `O(B + M + P1)` or `O(B + M + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - branching is influenced by `threshold` where:", + " - `P1` is proposal execution complexity (`threshold < 2`)", + " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)" + ] + }, + { + "name": "vote", + "fields": [ + { + "name": "proposal", + "type": 1, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 36, + "typeName": "ProposalIndex" + }, + { + "name": "approve", + "type": 54, + "typeName": "bool" + } + ], + "index": 3, + "docs": [ + "Add an aye or nay vote for the sender to the given proposal.", + "", + "Requires the sender to be a member.", + "", + "Transaction fees will 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.", + "## Complexity", + "- `O(M)` where `M` is members-count (code- and governance-bounded)" + ] + }, + { + "name": "close_old_weight", + "fields": [ + { + "name": "proposal_hash", + "type": 1, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 36, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 142, + "typeName": "OldWeight" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 4, + "docs": [ + "Close a vote that is either approved, disapproved or whose voting period has ended.", + "", + "May be called by any signed account in order to finish voting and close the proposal.", + "", + "If called before the end of the voting period it will only close the vote if it is", + "has enough votes to be approved or disapproved.", + "", + "If called after the end of the voting period abstentions are counted as rejections", + "unless there is a prime member set and the prime member cast an approval.", + "", + "If the close operation completes successfully with disapproval, the transaction fee will", + "be waived. Otherwise execution of the approved operation will be charged to the caller.", + "", + "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed", + "proposal.", + "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", + "`storage::read` so it is `size_of::() == 4` larger than the pure length.", + "", + "## Complexity", + "- `O(B + M + P1 + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - `P1` is the complexity of `proposal` preimage.", + " - `P2` is proposal-count (code-bounded)" + ] + }, + { + "name": "disapprove_proposal", + "fields": [ + { + "name": "proposal_hash", + "type": 1, + "typeName": "T::Hash" + } + ], + "index": 5, + "docs": [ + "Disapprove a proposal, close, and remove it from the system, regardless of its current", + "state.", + "", + "Must be called by the Root origin.", + "", + "Parameters:", + "* `proposal_hash`: The hash of the proposal that should be disapproved.", + "", + "## Complexity", + "O(P) where P is the number of max proposals" + ] + }, + { + "name": "close", + "fields": [ + { + "name": "proposal_hash", + "type": 1, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 36, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 144, + "typeName": "Weight" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 6, + "docs": [ + "Close a vote that is either approved, disapproved or whose voting period has ended.", + "", + "May be called by any signed account in order to finish voting and close the proposal.", + "", + "If called before the end of the voting period it will only close the vote if it is", + "has enough votes to be approved or disapproved.", + "", + "If called after the end of the voting period abstentions are counted as rejections", + "unless there is a prime member set and the prime member cast an approval.", + "", + "If the close operation completes successfully with disapproval, the transaction fee will", + "be waived. Otherwise execution of the approved operation will be charged to the caller.", + "", + "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed", + "proposal.", + "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", + "`storage::read` so it is `size_of::() == 4` larger than the pure length.", + "", + "## Complexity", + "- `O(B + M + P1 + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - `P1` is the complexity of `proposal` preimage.", + " - `P2` is proposal-count (code-bounded)" + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 146, + "type": { + "path": [ + "pallet_elections_phragmen", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "vote", + "fields": [ + { + "name": "votes", + "type": 122, + "typeName": "Vec" + }, + { + "name": "value", + "type": 56, + "typeName": "BalanceOf" + } + ], + "index": 0, + "docs": [ + "Vote for a set of candidates for the upcoming round of election. This can be called to", + "set the initial votes, or update already existing votes.", + "", + "Upon initial voting, `value` units of `who`'s balance is locked and a deposit amount is", + "reserved. The deposit is based on the number of votes and can be updated over time.", + "", + "The `votes` should:", + " - not be empty.", + " - be less than the number of possible candidates. Note that all current members and", + " runners-up are also automatically candidates for the next round.", + "", + "If `value` is more than `who`'s free balance, then the maximum of the two is used.", + "", + "The dispatch origin of this call must be signed.", + "", + "### Warning", + "", + "It is the responsibility of the caller to **NOT** place all of their balance into the", + "lock and keep some for further operations." + ] + }, + { + "name": "remove_voter", + "index": 1, + "docs": [ + "Remove `origin` as a voter.", + "", + "This removes the lock and returns the deposit.", + "", + "The dispatch origin of this call must be signed and be a voter." + ] + }, + { + "name": "submit_candidacy", + "fields": [ + { + "name": "candidate_count", + "type": 36, + "typeName": "u32" + } + ], + "index": 2, + "docs": [ + "Submit oneself for candidacy. A fixed amount of deposit is recorded.", + "", + "All candidates are wiped at the end of the term. They either become a member/runner-up,", + "or leave the system while their deposit is slashed.", + "", + "The dispatch origin of this call must be signed.", + "", + "### Warning", + "", + "Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]", + "to get their deposit back. Losing the spot in an election will always lead to a slash.", + "", + "The number of current candidates must be provided as witness data.", + "## Complexity", + "O(C + log(C)) where C is candidate_count." + ] + }, + { + "name": "renounce_candidacy", + "fields": [ + { + "name": "renouncing", + "type": 147, + "typeName": "Renouncing" + } + ], + "index": 3, + "docs": [ + "Renounce one's intention to be a candidate for the next election round. 3 potential", + "outcomes exist:", + "", + "- `origin` is a candidate and not elected in any set. In this case, the deposit is", + " unreserved, returned and origin is removed as a candidate.", + "- `origin` is a current runner-up. In this case, the deposit is unreserved, returned and", + " origin is removed as a runner-up.", + "- `origin` is a current member. In this case, the deposit is unreserved and origin is", + " removed as a member, consequently not being a candidate for the next round anymore.", + " Similar to [`remove_member`](Self::remove_member), if replacement runners exists, they", + " are immediately used. If the prime is renouncing, then no prime will exist until the", + " next round.", + "", + "The dispatch origin of this call must be signed, and have one of the above roles.", + "The type of renouncing must be provided as witness data.", + "", + "## Complexity", + " - Renouncing::Candidate(count): O(count + log(count))", + " - Renouncing::Member: O(1)", + " - Renouncing::RunnerUp: O(1)" + ] + }, + { + "name": "remove_member", + "fields": [ + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "slash_bond", + "type": 54, + "typeName": "bool" + }, + { + "name": "rerun_election", + "type": 54, + "typeName": "bool" + } + ], + "index": 4, + "docs": [ + "Remove a particular member from the set. This is effective immediately and the bond of", + "the outgoing member is slashed.", + "", + "If a runner-up is available, then the best runner-up will be removed and replaces the", + "outgoing member. Otherwise, if `rerun_election` is `true`, a new phragmen election is", + "started, else, nothing happens.", + "", + "If `slash_bond` is set to true, the bond of the member being removed is slashed. Else,", + "it is returned.", + "", + "The dispatch origin of this call must be root.", + "", + "Note that this does not affect the designated block number of the next election.", + "", + "## Complexity", + "- Check details of remove_and_replace_member() and do_phragmen()." + ] + }, + { + "name": "clean_defunct_voters", + "fields": [ + { + "name": "num_voters", + "type": 4, + "typeName": "u32" + }, + { + "name": "num_defunct", + "type": 4, + "typeName": "u32" + } + ], + "index": 5, + "docs": [ + "Clean all voters who are defunct (i.e. they do not serve any purpose at all). The", + "deposit of the removed voters are returned.", + "", + "This is an root function to be used only for cleaning the state.", + "", + "The dispatch origin of this call must be root.", + "", + "## Complexity", + "- Check is_defunct_voter() details." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 147, + "type": { + "path": [ + "pallet_elections_phragmen", + "Renouncing" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Member", + "index": 0 + }, + { + "name": "RunnerUp", + "index": 1 + }, + { + "name": "Candidate", + "fields": [ + { + "type": 36, + "typeName": "u32" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 148, + "type": { + "path": [ + "pallet_membership", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "add_member", + "fields": [ + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 0, + "docs": [ + "Add a member `who` to the set.", + "", + "May only be called from `T::AddOrigin`." + ] + }, + { + "name": "remove_member", + "fields": [ + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 1, + "docs": [ + "Remove a member `who` from the set.", + "", + "May only be called from `T::RemoveOrigin`." + ] + }, + { + "name": "swap_member", + "fields": [ + { + "name": "remove", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "add", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 2, + "docs": [ + "Swap out one member `remove` for another `add`.", + "", + "May only be called from `T::SwapOrigin`.", + "", + "Prime membership is *not* passed from `remove` to `add`, if extant." + ] + }, + { + "name": "reset_members", + "fields": [ + { + "name": "members", + "type": 122, + "typeName": "Vec" + } + ], + "index": 3, + "docs": [ + "Change the membership to a new set, disregarding the existing membership. Be nice and", + "pass `members` pre-sorted.", + "", + "May only be called from `T::ResetOrigin`." + ] + }, + { + "name": "change_key", + "fields": [ + { + "name": "new", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 4, + "docs": [ + "Swap out the sending member for some other key `new`.", + "", + "May only be called from `Signed` origin of a current member.", + "", + "Prime membership is passed from the origin account to `new`, if extant." + ] + }, + { + "name": "set_prime", + "fields": [ + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 5, + "docs": [ + "Set the prime member. Must be a current member.", + "", + "May only be called from `T::PrimeOrigin`." + ] + }, + { + "name": "clear_prime", + "index": 6, + "docs": [ + "Remove the prime member if it exists.", + "", + "May only be called from `T::PrimeOrigin`." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 149, + "type": { + "path": [ + "pallet_grandpa", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "report_equivocation", + "fields": [ + { + "name": "equivocation_proof", + "type": 150, + "typeName": "Box>" + }, + { + "name": "key_owner_proof", + "type": 44, + "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": 150, + "typeName": "Box>" + }, + { + "name": "key_owner_proof", + "type": 44, + "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": 150, + "type": { + "path": [ + "sp_consensus_grandpa", + "EquivocationProof" + ], + "params": [ + { + "name": "H", + "type": 1 + }, + { + "name": "N", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "set_id", + "type": 12, + "typeName": "SetId" + }, + { + "name": "equivocation", + "type": 0, + "typeName": "Equivocation" + } + ] + } + } + } + }, + { + "id": 151, + "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": 56, + "typeName": "BalanceOf" + }, + { + "name": "beneficiary", + "type": 51, + "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": 36, + "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": 36, + "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": 56, + "typeName": "BalanceOf" + }, + { + "name": "beneficiary", + "type": 51, + "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": 36, + "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": 152, + "type": { + "path": [ + "pallet_contracts", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "call_old_weight", + "fields": [ + { + "name": "dest", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "gas_limit", + "type": 142, + "typeName": "OldWeight" + }, + { + "name": "storage_deposit_limit", + "type": 153, + "typeName": "Option< as codec::HasCompact>::Type>" + }, + { + "name": "data", + "type": 28, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Deprecated version if [`Self::call`] for use in an in-storage `Call`." + ] + }, + { + "name": "instantiate_with_code_old_weight", + "fields": [ + { + "name": "value", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "gas_limit", + "type": 142, + "typeName": "OldWeight" + }, + { + "name": "storage_deposit_limit", + "type": 153, + "typeName": "Option< as codec::HasCompact>::Type>" + }, + { + "name": "code", + "type": 28, + "typeName": "Vec" + }, + { + "name": "data", + "type": 28, + "typeName": "Vec" + }, + { + "name": "salt", + "type": 28, + "typeName": "Vec" + } + ], + "index": 1, + "docs": [ + "Deprecated version if [`Self::instantiate_with_code`] for use in an in-storage `Call`." + ] + }, + { + "name": "instantiate_old_weight", + "fields": [ + { + "name": "value", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "gas_limit", + "type": 142, + "typeName": "OldWeight" + }, + { + "name": "storage_deposit_limit", + "type": 153, + "typeName": "Option< as codec::HasCompact>::Type>" + }, + { + "name": "code_hash", + "type": 1, + "typeName": "CodeHash" + }, + { + "name": "data", + "type": 28, + "typeName": "Vec" + }, + { + "name": "salt", + "type": 28, + "typeName": "Vec" + } + ], + "index": 2, + "docs": [ + "Deprecated version if [`Self::instantiate`] for use in an in-storage `Call`." + ] + }, + { + "name": "upload_code", + "fields": [ + { + "name": "code", + "type": 28, + "typeName": "Vec" + }, + { + "name": "storage_deposit_limit", + "type": 153, + "typeName": "Option< as codec::HasCompact>::Type>" + }, + { + "name": "determinism", + "type": 154, + "typeName": "Determinism" + } + ], + "index": 3, + "docs": [ + "Upload new `code` without instantiating a contract from it.", + "", + "If the code does not already exist a deposit is reserved from the caller", + "and unreserved only when [`Self::remove_code`] is called. The size of the reserve", + "depends on the instrumented size of the the supplied `code`.", + "", + "If the code already exists in storage it will still return `Ok` and upgrades", + "the in storage version to the current", + "[`InstructionWeights::version`](InstructionWeights).", + "", + "- `determinism`: If this is set to any other value but [`Determinism::Deterministic`]", + " then the only way to use this code is to delegate call into it from an offchain", + " execution. Set to [`Determinism::Deterministic`] if in doubt.", + "", + "# Note", + "", + "Anyone can instantiate a contract from any uploaded code and thus prevent its removal.", + "To avoid this situation a constructor could employ access control so that it can", + "only be instantiated by permissioned entities. The same is true when uploading", + "through [`Self::instantiate_with_code`]." + ] + }, + { + "name": "remove_code", + "fields": [ + { + "name": "code_hash", + "type": 1, + "typeName": "CodeHash" + } + ], + "index": 4, + "docs": [ + "Remove the code stored under `code_hash` and refund the deposit to its owner.", + "", + "A code can only be removed by its original uploader (its owner) and only if it is", + "not used by any contract." + ] + }, + { + "name": "set_code", + "fields": [ + { + "name": "dest", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "code_hash", + "type": 1, + "typeName": "CodeHash" + } + ], + "index": 5, + "docs": [ + "Privileged function that changes the code of an existing contract.", + "", + "This takes care of updating refcounts and all other necessary operations. Returns", + "an error if either the `code_hash` or `dest` do not exist.", + "", + "# Note", + "", + "This does **not** change the address of the contract in question. This means", + "that the contract address is no longer derived from its code hash after calling", + "this dispatchable." + ] + }, + { + "name": "call", + "fields": [ + { + "name": "dest", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "gas_limit", + "type": 144, + "typeName": "Weight" + }, + { + "name": "storage_deposit_limit", + "type": 153, + "typeName": "Option< as codec::HasCompact>::Type>" + }, + { + "name": "data", + "type": 28, + "typeName": "Vec" + } + ], + "index": 6, + "docs": [ + "Makes a call to an account, optionally transferring some balance.", + "", + "# Parameters", + "", + "* `dest`: Address of the contract to call.", + "* `value`: The balance to transfer from the `origin` to `dest`.", + "* `gas_limit`: The gas limit enforced when executing the constructor.", + "* `storage_deposit_limit`: The maximum amount of balance that can be charged from the", + " caller to pay for the storage consumed.", + "* `data`: The input data to pass to the contract.", + "", + "* If the account is a smart-contract account, the associated code will be", + "executed and any value will be transferred.", + "* If the account is a regular account, any value will be transferred.", + "* If no account exists and the call value is not less than `existential_deposit`,", + "a regular account will be created and any value will be transferred." + ] + }, + { + "name": "instantiate_with_code", + "fields": [ + { + "name": "value", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "gas_limit", + "type": 144, + "typeName": "Weight" + }, + { + "name": "storage_deposit_limit", + "type": 153, + "typeName": "Option< as codec::HasCompact>::Type>" + }, + { + "name": "code", + "type": 28, + "typeName": "Vec" + }, + { + "name": "data", + "type": 28, + "typeName": "Vec" + }, + { + "name": "salt", + "type": 28, + "typeName": "Vec" + } + ], + "index": 7, + "docs": [ + "Instantiates a new contract from the supplied `code` optionally transferring", + "some balance.", + "", + "This dispatchable has the same effect as calling [`Self::upload_code`] +", + "[`Self::instantiate`]. Bundling them together provides efficiency gains. Please", + "also check the documentation of [`Self::upload_code`].", + "", + "# Parameters", + "", + "* `value`: The balance to transfer from the `origin` to the newly created contract.", + "* `gas_limit`: The gas limit enforced when executing the constructor.", + "* `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved", + " from the caller to pay for the storage consumed.", + "* `code`: The contract code to deploy in raw bytes.", + "* `data`: The input data to pass to the contract constructor.", + "* `salt`: Used for the address derivation. See [`Pallet::contract_address`].", + "", + "Instantiation is executed as follows:", + "", + "- The supplied `code` is instrumented, deployed, and a `code_hash` is created for that", + " code.", + "- If the `code_hash` already exists on the chain the underlying `code` will be shared.", + "- The destination address is computed based on the sender, code_hash and the salt.", + "- The smart-contract account is created at the computed address.", + "- The `value` is transferred to the new account.", + "- The `deploy` function is executed in the context of the newly-created account." + ] + }, + { + "name": "instantiate", + "fields": [ + { + "name": "value", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "gas_limit", + "type": 144, + "typeName": "Weight" + }, + { + "name": "storage_deposit_limit", + "type": 153, + "typeName": "Option< as codec::HasCompact>::Type>" + }, + { + "name": "code_hash", + "type": 1, + "typeName": "CodeHash" + }, + { + "name": "data", + "type": 28, + "typeName": "Vec" + }, + { + "name": "salt", + "type": 28, + "typeName": "Vec" + } + ], + "index": 8, + "docs": [ + "Instantiates a contract from a previously deployed wasm binary.", + "", + "This function is identical to [`Self::instantiate_with_code`] but without the", + "code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary", + "must be supplied." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 153, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 56 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 56 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 154, + "type": { + "path": [ + "pallet_contracts", + "wasm", + "Determinism" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Deterministic", + "index": 0 + }, + { + "name": "AllowIndeterminism", + "index": 1 + } + ] + } + } + } + }, + { + "id": 155, + "type": { + "path": [ + "pallet_sudo", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "sudo", + "fields": [ + { + "name": "call", + "type": 26, + "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": 26, + "typeName": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": 144, + "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": 51, + "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": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "call", + "type": 26, + "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": 156, + "type": { + "path": [ + "pallet_im_online", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "heartbeat", + "fields": [ + { + "name": "heartbeat", + "type": 157, + "typeName": "Heartbeat" + }, + { + "name": "signature", + "type": 162, + "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": 157, + "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": 158, + "typeName": "OpaqueNetworkState" + }, + { + "name": "session_index", + "type": 4, + "typeName": "SessionIndex" + }, + { + "name": "authority_index", + "type": 4, + "typeName": "AuthIndex" + }, + { + "name": "validators_len", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 158, + "type": { + "path": [ + "sp_core", + "offchain", + "OpaqueNetworkState" + ], + "def": { + "composite": { + "fields": [ + { + "name": "peer_id", + "type": 159, + "typeName": "OpaquePeerId" + }, + { + "name": "external_addresses", + "type": 160, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 159, + "type": { + "path": [ + "sp_core", + "OpaquePeerId" + ], + "def": { + "composite": { + "fields": [ + { + "type": 28, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 160, + "type": { + "def": { + "sequence": { + "type": 161 + } + } + } + }, + { + "id": 161, + "type": { + "path": [ + "sp_core", + "offchain", + "OpaqueMultiaddr" + ], + "def": { + "composite": { + "fields": [ + { + "type": 28, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 162, + "type": { + "path": [ + "pallet_im_online", + "sr25519", + "app_sr25519", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 163, + "typeName": "sr25519::Signature" + } + ] + } + } + } + }, + { + "id": 163, + "type": { + "path": [ + "sp_core", + "sr25519", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 11, + "typeName": "[u8; 64]" + } + ] + } + } + } + }, + { + "id": 164, + "type": { + "path": [ + "pallet_identity", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "add_registrar", + "fields": [ + { + "name": "account", + "type": 51, + "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": 165, + "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": 201, + "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": 36, + "typeName": "RegistrarIndex" + }, + { + "name": "max_fee", + "type": 56, + "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": 36, + "typeName": "RegistrarIndex" + }, + { + "name": "fee", + "type": 56, + "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": 36, + "typeName": "RegistrarIndex" + }, + { + "name": "new", + "type": 51, + "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": 36, + "typeName": "RegistrarIndex" + }, + { + "name": "fields", + "type": 203, + "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": 36, + "typeName": "RegistrarIndex" + }, + { + "name": "target", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "judgement", + "type": 205, + "typeName": "Judgement>" + }, + { + "name": "identity", + "type": 1, + "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": 51, + "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": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "data", + "type": 168, + "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": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "data", + "type": 168, + "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": 51, + "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": 165, + "type": { + "path": [ + "pallet_identity", + "types", + "IdentityInfo" + ], + "params": [ + { + "name": "FieldLimit", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "additional", + "type": 166, + "typeName": "BoundedVec<(Data, Data), FieldLimit>" + }, + { + "name": "display", + "type": 168, + "typeName": "Data" + }, + { + "name": "legal", + "type": 168, + "typeName": "Data" + }, + { + "name": "web", + "type": 168, + "typeName": "Data" + }, + { + "name": "riot", + "type": 168, + "typeName": "Data" + }, + { + "name": "email", + "type": 168, + "typeName": "Data" + }, + { + "name": "pgp_fingerprint", + "type": 200, + "typeName": "Option<[u8; 20]>" + }, + { + "name": "image", + "type": 168, + "typeName": "Data" + }, + { + "name": "twitter", + "type": 168, + "typeName": "Data" + } + ] + } + } + } + }, + { + "id": 166, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 167 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 199, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 167, + "type": { + "def": { + "tuple": [ + 168, + 168 + ] + } + } + }, + { + "id": 168, + "type": { + "path": [ + "pallet_identity", + "types", + "Data" + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Raw0", + "fields": [ + { + "type": 169 + } + ], + "index": 1 + }, + { + "name": "Raw1", + "fields": [ + { + "type": 170 + } + ], + "index": 2 + }, + { + "name": "Raw2", + "fields": [ + { + "type": 171 + } + ], + "index": 3 + }, + { + "name": "Raw3", + "fields": [ + { + "type": 172 + } + ], + "index": 4 + }, + { + "name": "Raw4", + "fields": [ + { + "type": 40 + } + ], + "index": 5 + }, + { + "name": "Raw5", + "fields": [ + { + "type": 173 + } + ], + "index": 6 + }, + { + "name": "Raw6", + "fields": [ + { + "type": 174 + } + ], + "index": 7 + }, + { + "name": "Raw7", + "fields": [ + { + "type": 175 + } + ], + "index": 8 + }, + { + "name": "Raw8", + "fields": [ + { + "type": 176 + } + ], + "index": 9 + }, + { + "name": "Raw9", + "fields": [ + { + "type": 177 + } + ], + "index": 10 + }, + { + "name": "Raw10", + "fields": [ + { + "type": 178 + } + ], + "index": 11 + }, + { + "name": "Raw11", + "fields": [ + { + "type": 179 + } + ], + "index": 12 + }, + { + "name": "Raw12", + "fields": [ + { + "type": 180 + } + ], + "index": 13 + }, + { + "name": "Raw13", + "fields": [ + { + "type": 181 + } + ], + "index": 14 + }, + { + "name": "Raw14", + "fields": [ + { + "type": 182 + } + ], + "index": 15 + }, + { + "name": "Raw15", + "fields": [ + { + "type": 183 + } + ], + "index": 16 + }, + { + "name": "Raw16", + "fields": [ + { + "type": 184 + } + ], + "index": 17 + }, + { + "name": "Raw17", + "fields": [ + { + "type": 185 + } + ], + "index": 18 + }, + { + "name": "Raw18", + "fields": [ + { + "type": 186 + } + ], + "index": 19 + }, + { + "name": "Raw19", + "fields": [ + { + "type": 187 + } + ], + "index": 20 + }, + { + "name": "Raw20", + "fields": [ + { + "type": 53 + } + ], + "index": 21 + }, + { + "name": "Raw21", + "fields": [ + { + "type": 188 + } + ], + "index": 22 + }, + { + "name": "Raw22", + "fields": [ + { + "type": 189 + } + ], + "index": 23 + }, + { + "name": "Raw23", + "fields": [ + { + "type": 190 + } + ], + "index": 24 + }, + { + "name": "Raw24", + "fields": [ + { + "type": 191 + } + ], + "index": 25 + }, + { + "name": "Raw25", + "fields": [ + { + "type": 192 + } + ], + "index": 26 + }, + { + "name": "Raw26", + "fields": [ + { + "type": 193 + } + ], + "index": 27 + }, + { + "name": "Raw27", + "fields": [ + { + "type": 194 + } + ], + "index": 28 + }, + { + "name": "Raw28", + "fields": [ + { + "type": 195 + } + ], + "index": 29 + }, + { + "name": "Raw29", + "fields": [ + { + "type": 196 + } + ], + "index": 30 + }, + { + "name": "Raw30", + "fields": [ + { + "type": 197 + } + ], + "index": 31 + }, + { + "name": "Raw31", + "fields": [ + { + "type": 198 + } + ], + "index": 32 + }, + { + "name": "Raw32", + "fields": [ + { + "type": 2 + } + ], + "index": 33 + }, + { + "name": "BlakeTwo256", + "fields": [ + { + "type": 2 + } + ], + "index": 34 + }, + { + "name": "Sha256", + "fields": [ + { + "type": 2 + } + ], + "index": 35 + }, + { + "name": "Keccak256", + "fields": [ + { + "type": 2 + } + ], + "index": 36 + }, + { + "name": "ShaThree256", + "fields": [ + { + "type": 2 + } + ], + "index": 37 + } + ] + } + } + } + }, + { + "id": 169, + "type": { + "def": { + "array": { + "len": 0, + "type": 3 + } + } + } + }, + { + "id": 170, + "type": { + "def": { + "array": { + "len": 1, + "type": 3 + } + } + } + }, + { + "id": 171, + "type": { + "def": { + "array": { + "len": 2, + "type": 3 + } + } + } + }, + { + "id": 172, + "type": { + "def": { + "array": { + "len": 3, + "type": 3 + } + } + } + }, + { + "id": 173, + "type": { + "def": { + "array": { + "len": 5, + "type": 3 + } + } + } + }, + { + "id": 174, + "type": { + "def": { + "array": { + "len": 6, + "type": 3 + } + } + } + }, + { + "id": 175, + "type": { + "def": { + "array": { + "len": 7, + "type": 3 + } + } + } + }, + { + "id": 176, + "type": { + "def": { + "array": { + "len": 8, + "type": 3 + } + } + } + }, + { + "id": 177, + "type": { + "def": { + "array": { + "len": 9, + "type": 3 + } + } + } + }, + { + "id": 178, + "type": { + "def": { + "array": { + "len": 10, + "type": 3 + } + } + } + }, + { + "id": 179, + "type": { + "def": { + "array": { + "len": 11, + "type": 3 + } + } + } + }, + { + "id": 180, + "type": { + "def": { + "array": { + "len": 12, + "type": 3 + } + } + } + }, + { + "id": 181, + "type": { + "def": { + "array": { + "len": 13, + "type": 3 + } + } + } + }, + { + "id": 182, + "type": { + "def": { + "array": { + "len": 14, + "type": 3 + } + } + } + }, + { + "id": 183, + "type": { + "def": { + "array": { + "len": 15, + "type": 3 + } + } + } + }, + { + "id": 184, + "type": { + "def": { + "array": { + "len": 16, + "type": 3 + } + } + } + }, + { + "id": 185, + "type": { + "def": { + "array": { + "len": 17, + "type": 3 + } + } + } + }, + { + "id": 186, + "type": { + "def": { + "array": { + "len": 18, + "type": 3 + } + } + } + }, + { + "id": 187, + "type": { + "def": { + "array": { + "len": 19, + "type": 3 + } + } + } + }, + { + "id": 188, + "type": { + "def": { + "array": { + "len": 21, + "type": 3 + } + } + } + }, + { + "id": 189, + "type": { + "def": { + "array": { + "len": 22, + "type": 3 + } + } + } + }, + { + "id": 190, + "type": { + "def": { + "array": { + "len": 23, + "type": 3 + } + } + } + }, + { + "id": 191, + "type": { + "def": { + "array": { + "len": 24, + "type": 3 + } + } + } + }, + { + "id": 192, + "type": { + "def": { + "array": { + "len": 25, + "type": 3 + } + } + } + }, + { + "id": 193, + "type": { + "def": { + "array": { + "len": 26, + "type": 3 + } + } + } + }, + { + "id": 194, + "type": { + "def": { + "array": { + "len": 27, + "type": 3 + } + } + } + }, + { + "id": 195, + "type": { + "def": { + "array": { + "len": 28, + "type": 3 + } + } + } + }, + { + "id": 196, + "type": { + "def": { + "array": { + "len": 29, + "type": 3 + } + } + } + }, + { + "id": 197, + "type": { + "def": { + "array": { + "len": 30, + "type": 3 + } + } + } + }, + { + "id": 198, + "type": { + "def": { + "array": { + "len": 31, + "type": 3 + } + } + } + }, + { + "id": 199, + "type": { + "def": { + "sequence": { + "type": 167 + } + } + } + }, + { + "id": 200, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 53 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 53 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 201, + "type": { + "def": { + "sequence": { + "type": 202 + } + } + } + }, + { + "id": 202, + "type": { + "def": { + "tuple": [ + 52, + 168 + ] + } + } + }, + { + "id": 203, + "type": { + "path": [ + "pallet_identity", + "types", + "BitFlags" + ], + "params": [ + { + "name": "T", + "type": 204 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "IdentityField" + } + ] + } + } + } + }, + { + "id": 204, + "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": 205, + "type": { + "path": [ + "pallet_identity", + "types", + "Judgement" + ], + "params": [ + { + "name": "Balance", + "type": 57 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Unknown", + "index": 0 + }, + { + "name": "FeePaid", + "fields": [ + { + "type": 57, + "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": 206, + "type": { + "path": [ + "pallet_society", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "bid", + "fields": [ + { + "name": "value", + "type": 57, + "typeName": "BalanceOf" + } + ], + "index": 0, + "docs": [ + "A user outside of the society can make a bid for entry.", + "", + "Payment: `CandidateDeposit` will be reserved for making a bid. It is returned", + "when the bid becomes a member, or if the bid calls `unbid`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `value`: A one time payment the bid would like to receive when joining the society.", + "", + "## Complexity", + "- O(M + B + C + logM + logB + X)", + "\t - B (len of bids)", + " - C (len of candidates)", + " - M (len of members)", + " - X (balance reserve)" + ] + }, + { + "name": "unbid", + "fields": [ + { + "name": "pos", + "type": 4, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "A bidder can remove their bid for entry into society.", + "By doing so, they will have their candidate deposit returned or", + "they will unvouch their voucher.", + "", + "Payment: The bid deposit is unreserved if the user made a bid.", + "", + "The dispatch origin for this call must be _Signed_ and a bidder.", + "", + "Parameters:", + "- `pos`: Position in the `Bids` vector of the bid who wants to unbid.", + "", + "## Complexity", + "- O(B + X)", + " - B (len of bids)", + " - X (balance unreserve)" + ] + }, + { + "name": "vouch", + "fields": [ + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "value", + "type": 57, + "typeName": "BalanceOf" + }, + { + "name": "tip", + "type": 57, + "typeName": "BalanceOf" + } + ], + "index": 2, + "docs": [ + "As a member, vouch for someone to join society by placing a bid on their behalf.", + "", + "There is no deposit required to vouch for a new bid, but a member can only vouch for", + "one bid at a time. If the bid becomes a suspended candidate and ultimately rejected by", + "the suspension judgement origin, the member will be banned from vouching again.", + "", + "As a vouching member, you can claim a tip if the candidate is accepted. This tip will", + "be paid as a portion of the reward the member will receive for joining the society.", + "", + "The dispatch origin for this call must be _Signed_ and a member.", + "", + "Parameters:", + "- `who`: The user who you would like to vouch for.", + "- `value`: The total reward to be paid between you and the candidate if they become", + "a member in the society.", + "- `tip`: Your cut of the total `value` payout when the candidate is inducted into", + "the society. Tips larger than `value` will be saturated upon payout.", + "", + "## Complexity", + "- O(M + B + C + logM + logB + X)", + " - B (len of bids)", + " - C (len of candidates)", + " - M (len of members)", + " - X (balance reserve)" + ] + }, + { + "name": "unvouch", + "fields": [ + { + "name": "pos", + "type": 4, + "typeName": "u32" + } + ], + "index": 3, + "docs": [ + "As a vouching member, unvouch a bid. This only works while vouched user is", + "only a bidder (and not a candidate).", + "", + "The dispatch origin for this call must be _Signed_ and a vouching member.", + "", + "Parameters:", + "- `pos`: Position in the `Bids` vector of the bid who should be unvouched.", + "", + "## Complexity", + "- O(B)", + " - B (len of bids)" + ] + }, + { + "name": "vote", + "fields": [ + { + "name": "candidate", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "approve", + "type": 54, + "typeName": "bool" + } + ], + "index": 4, + "docs": [ + "As a member, vote on a candidate.", + "", + "The dispatch origin for this call must be _Signed_ and a member.", + "", + "Parameters:", + "- `candidate`: The candidate that the member would like to bid on.", + "- `approve`: A boolean which says if the candidate should be approved (`true`) or", + " rejected (`false`).", + "", + "## Complexity", + "- O(M + logM + C)", + " - C (len of candidates)", + " - M (len of members)" + ] + }, + { + "name": "defender_vote", + "fields": [ + { + "name": "approve", + "type": 54, + "typeName": "bool" + } + ], + "index": 5, + "docs": [ + "As a member, vote on the defender.", + "", + "The dispatch origin for this call must be _Signed_ and a member.", + "", + "Parameters:", + "- `approve`: A boolean which says if the candidate should be", + "approved (`true`) or rejected (`false`).", + "", + "## Complexity", + "- O(M + logM)", + " - M (len of members)" + ] + }, + { + "name": "payout", + "index": 6, + "docs": [ + "Transfer the first matured payout for the sender and remove it from the records.", + "", + "NOTE: This extrinsic needs to be called multiple times to claim multiple matured", + "payouts.", + "", + "Payment: The member will receive a payment equal to their first matured", + "payout to their free balance.", + "", + "The dispatch origin for this call must be _Signed_ and a member with", + "payouts remaining.", + "", + "## Complexity", + "- O(M + logM + P + X)", + " - M (len of members)", + " - P (number of payouts for a particular member)", + " - X (currency transfer call)" + ] + }, + { + "name": "found", + "fields": [ + { + "name": "founder", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "max_members", + "type": 4, + "typeName": "u32" + }, + { + "name": "rules", + "type": 28, + "typeName": "Vec" + } + ], + "index": 7, + "docs": [ + "Found the society.", + "", + "This is done as a discrete action in order to allow for the", + "pallet to be included into a running chain and can only be done once.", + "", + "The dispatch origin for this call must be from the _FounderSetOrigin_.", + "", + "Parameters:", + "- `founder` - The first member and head of the newly founded society.", + "- `max_members` - The initial max number of members for the society.", + "- `rules` - The rules of this society concerning membership.", + "", + "## Complexity", + "- O(1)" + ] + }, + { + "name": "unfound", + "index": 8, + "docs": [ + "Annul the founding of the society.", + "", + "The dispatch origin for this call must be Signed, and the signing account must be both", + "the `Founder` and the `Head`. This implies that it may only be done when there is one", + "member.", + "", + "## Complexity", + "- O(1)" + ] + }, + { + "name": "judge_suspended_member", + "fields": [ + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "forgive", + "type": 54, + "typeName": "bool" + } + ], + "index": 9, + "docs": [ + "Allow suspension judgement origin to make judgement on a suspended member.", + "", + "If a suspended member is forgiven, we simply add them back as a member, not affecting", + "any of the existing storage items for that member.", + "", + "If a suspended member is rejected, remove all associated storage items, including", + "their payouts, and remove any vouched bids they currently have.", + "", + "The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.", + "", + "Parameters:", + "- `who` - The suspended member to be judged.", + "- `forgive` - A boolean representing whether the suspension judgement origin forgives", + " (`true`) or rejects (`false`) a suspended member.", + "", + "## Complexity", + "- O(M + logM + B)", + " - B (len of bids)", + " - M (len of members)" + ] + }, + { + "name": "judge_suspended_candidate", + "fields": [ + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "judgement", + "type": 207, + "typeName": "Judgement" + } + ], + "index": 10, + "docs": [ + "Allow suspended judgement origin to make judgement on a suspended candidate.", + "", + "If the judgement is `Approve`, we add them to society as a member with the appropriate", + "payment for joining society.", + "", + "If the judgement is `Reject`, we either slash the deposit of the bid, giving it back", + "to the society treasury, or we ban the voucher from vouching again.", + "", + "If the judgement is `Rebid`, we put the candidate back in the bid pool and let them go", + "through the induction process again.", + "", + "The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.", + "", + "Parameters:", + "- `who` - The suspended candidate to be judged.", + "- `judgement` - `Approve`, `Reject`, or `Rebid`.", + "", + "## Complexity", + "- O(M + logM + B + X)", + " - B (len of bids)", + " - M (len of members)", + " - X (balance action)" + ] + }, + { + "name": "set_max_members", + "fields": [ + { + "name": "max", + "type": 4, + "typeName": "u32" + } + ], + "index": 11, + "docs": [ + "Allows root origin to change the maximum number of members in society.", + "Max membership count must be greater than 1.", + "", + "The dispatch origin for this call must be from _ROOT_.", + "", + "Parameters:", + "- `max` - The maximum number of members for the society.", + "", + "## Complexity", + "- O(1)" + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 207, + "type": { + "path": [ + "pallet_society", + "Judgement" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Rebid", + "index": 0 + }, + { + "name": "Reject", + "index": 1 + }, + { + "name": "Approve", + "index": 2 + } + ] + } + } + } + }, + { + "id": 208, + "type": { + "path": [ + "pallet_recovery", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "as_recovered", + "fields": [ + { + "name": "account", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "call", + "type": 26, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 0, + "docs": [ + "Send a call through a recovered account.", + "", + "The dispatch origin for this call must be _Signed_ and registered to", + "be able to make calls on behalf of the recovered account.", + "", + "Parameters:", + "- `account`: The recovered account you want to make a call on-behalf-of.", + "- `call`: The call you want to make with the recovered account." + ] + }, + { + "name": "set_recovered", + "fields": [ + { + "name": "lost", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "rescuer", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 1, + "docs": [ + "Allow ROOT to bypass the recovery process and set an a rescuer account", + "for a lost account directly.", + "", + "The dispatch origin for this call must be _ROOT_.", + "", + "Parameters:", + "- `lost`: The \"lost account\" to be recovered.", + "- `rescuer`: The \"rescuer account\" which can call as the lost account." + ] + }, + { + "name": "create_recovery", + "fields": [ + { + "name": "friends", + "type": 122, + "typeName": "Vec" + }, + { + "name": "threshold", + "type": 20, + "typeName": "u16" + }, + { + "name": "delay_period", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 2, + "docs": [ + "Create a recovery configuration for your account. This makes your account recoverable.", + "", + "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance", + "will be reserved for storing the recovery configuration. This deposit is returned", + "in full when the user calls `remove_recovery`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be", + " ordered and contain no duplicate values.", + "- `threshold`: The number of friends that must vouch for a recovery attempt before the", + " account can be recovered. Should be less than or equal to the length of the list of", + " friends.", + "- `delay_period`: The number of blocks after a recovery attempt is initialized that", + " needs to pass before the account can be recovered." + ] + }, + { + "name": "initiate_recovery", + "fields": [ + { + "name": "account", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 3, + "docs": [ + "Initiate the process for recovering a recoverable account.", + "", + "Payment: `RecoveryDeposit` balance will be reserved for initiating the", + "recovery process. This deposit will always be repatriated to the account", + "trying to be recovered. See `close_recovery`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `account`: The lost account that you want to recover. This account needs to be", + " recoverable (i.e. have a recovery configuration)." + ] + }, + { + "name": "vouch_recovery", + "fields": [ + { + "name": "lost", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "rescuer", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 4, + "docs": [ + "Allow a \"friend\" of a recoverable account to vouch for an active recovery", + "process for that account.", + "", + "The dispatch origin for this call must be _Signed_ and must be a \"friend\"", + "for the recoverable account.", + "", + "Parameters:", + "- `lost`: The lost account that you want to recover.", + "- `rescuer`: The account trying to rescue the lost account that you want to vouch for.", + "", + "The combination of these two parameters must point to an active recovery", + "process." + ] + }, + { + "name": "claim_recovery", + "fields": [ + { + "name": "account", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 5, + "docs": [ + "Allow a successful rescuer to claim their recovered account.", + "", + "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\"", + "who has successfully completed the account recovery process: collected", + "`threshold` or more vouches, waited `delay_period` blocks since initiation.", + "", + "Parameters:", + "- `account`: The lost account that you want to claim has been successfully recovered by", + " you." + ] + }, + { + "name": "close_recovery", + "fields": [ + { + "name": "rescuer", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 6, + "docs": [ + "As the controller of a recoverable account, close an active recovery", + "process for your account.", + "", + "Payment: By calling this function, the recoverable account will receive", + "the recovery deposit `RecoveryDeposit` placed by the rescuer.", + "", + "The dispatch origin for this call must be _Signed_ and must be a", + "recoverable account with an active recovery process for it.", + "", + "Parameters:", + "- `rescuer`: The account trying to rescue this recoverable account." + ] + }, + { + "name": "remove_recovery", + "index": 7, + "docs": [ + "Remove the recovery process for your account. Recovered accounts are still accessible.", + "", + "NOTE: The user must make sure to call `close_recovery` on all active", + "recovery attempts before calling this function else it will fail.", + "", + "Payment: By calling this function the recoverable account will unreserve", + "their recovery configuration deposit.", + "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)", + "", + "The dispatch origin for this call must be _Signed_ and must be a", + "recoverable account (i.e. has a recovery configuration)." + ] + }, + { + "name": "cancel_recovered", + "fields": [ + { + "name": "account", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 8, + "docs": [ + "Cancel the ability to use `as_recovered` for `account`.", + "", + "The dispatch origin for this call must be _Signed_ and registered to", + "be able to make calls on behalf of the recovered account.", + "", + "Parameters:", + "- `account`: The recovered account you are able to call on-behalf-of." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 209, + "type": { + "path": [ + "pallet_vesting", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "vest", + "index": 0, + "docs": [ + "Unlock any vested funds of the sender account.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must have funds still", + "locked under this pallet.", + "", + "Emits either `VestingCompleted` or `VestingUpdated`.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "vest_other", + "fields": [ + { + "name": "target", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 1, + "docs": [ + "Unlock any vested funds of a `target` account.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `target`: The account whose vested funds should be unlocked. Must have funds still", + "locked under this pallet.", + "", + "Emits either `VestingCompleted` or `VestingUpdated`.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "vested_transfer", + "fields": [ + { + "name": "target", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "schedule", + "type": 210, + "typeName": "VestingInfo, T::BlockNumber>" + } + ], + "index": 2, + "docs": [ + "Create a vested transfer.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `target`: The account receiving the vested funds.", + "- `schedule`: The vesting schedule attached to the transfer.", + "", + "Emits `VestingCreated`.", + "", + "NOTE: This will unlock all schedules through the current block.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "force_vested_transfer", + "fields": [ + { + "name": "source", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "target", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "schedule", + "type": 210, + "typeName": "VestingInfo, T::BlockNumber>" + } + ], + "index": 3, + "docs": [ + "Force a vested transfer.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "- `source`: The account whose funds should be transferred.", + "- `target`: The account that should be transferred the vested funds.", + "- `schedule`: The vesting schedule attached to the transfer.", + "", + "Emits `VestingCreated`.", + "", + "NOTE: This will unlock all schedules through the current block.", + "", + "## Complexity", + "- `O(1)`." + ] + }, + { + "name": "merge_schedules", + "fields": [ + { + "name": "schedule1_index", + "type": 4, + "typeName": "u32" + }, + { + "name": "schedule2_index", + "type": 4, + "typeName": "u32" + } + ], + "index": 4, + "docs": [ + "Merge two vesting schedules together, creating a new vesting schedule that unlocks over", + "the highest possible start and end blocks. If both schedules have already started the", + "current block will be used as the schedule start; with the caveat that if one schedule", + "is finished by the current block, the other will be treated as the new merged schedule,", + "unmodified.", + "", + "NOTE: If `schedule1_index == schedule2_index` this is a no-op.", + "NOTE: This will unlock all schedules through the current block prior to merging.", + "NOTE: If both schedules have ended by the current block, no new schedule will be created", + "and both will be removed.", + "", + "Merged schedule attributes:", + "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,", + " current_block)`.", + "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`.", + "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `schedule1_index`: index of the first schedule to merge.", + "- `schedule2_index`: index of the second schedule to merge." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 210, + "type": { + "path": [ + "pallet_vesting", + "vesting_info", + "VestingInfo" + ], + "params": [ + { + "name": "Balance", + "type": 57 + }, + { + "name": "BlockNumber", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "locked", + "type": 57, + "typeName": "Balance" + }, + { + "name": "per_block", + "type": 57, + "typeName": "Balance" + }, + { + "name": "starting_block", + "type": 4, + "typeName": "BlockNumber" + } + ] + } + } + } + }, + { + "id": 211, + "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": 212, + "typeName": "Option>" + }, + { + "name": "priority", + "type": 3, + "typeName": "schedule::Priority" + }, + { + "name": "call", + "type": 26, + "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": 2, + "typeName": "TaskName" + }, + { + "name": "when", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "maybe_periodic", + "type": 212, + "typeName": "Option>" + }, + { + "name": "priority", + "type": 3, + "typeName": "schedule::Priority" + }, + { + "name": "call", + "type": 26, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 2, + "docs": [ + "Schedule a named task." + ] + }, + { + "name": "cancel_named", + "fields": [ + { + "name": "id", + "type": 2, + "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": 212, + "typeName": "Option>" + }, + { + "name": "priority", + "type": 3, + "typeName": "schedule::Priority" + }, + { + "name": "call", + "type": 26, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 4, + "docs": [ + "Anonymously schedule a task after a delay." + ] + }, + { + "name": "schedule_named_after", + "fields": [ + { + "name": "id", + "type": 2, + "typeName": "TaskName" + }, + { + "name": "after", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "maybe_periodic", + "type": 212, + "typeName": "Option>" + }, + { + "name": "priority", + "type": 3, + "typeName": "schedule::Priority" + }, + { + "name": "call", + "type": 26, + "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": 212, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 213 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 213 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 213, + "type": { + "def": { + "tuple": [ + 4, + 4 + ] + } + } + }, + { + "id": 214, + "type": { + "path": [ + "pallet_glutton", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "initialize_pallet", + "fields": [ + { + "name": "new_count", + "type": 4, + "typeName": "u32" + }, + { + "name": "witness_count", + "type": 114, + "typeName": "Option" + } + ], + "index": 0, + "docs": [ + "Initializes the pallet by writing into `TrashData`.", + "", + "Only callable by Root. A good default for `trash_count` is `5_000`." + ] + }, + { + "name": "set_compute", + "fields": [ + { + "name": "compute", + "type": 119, + "typeName": "Perbill" + } + ], + "index": 1, + "docs": [ + "Set the `Compute` storage value that determines how much of the", + "block's weight `ref_time` to use during `on_idle`.", + "", + "Only callable by Root." + ] + }, + { + "name": "set_storage", + "fields": [ + { + "name": "storage", + "type": 119, + "typeName": "Perbill" + } + ], + "index": 2, + "docs": [ + "Set the `Storage` storage value that determines the PoV size usage", + "for each block.", + "", + "Only callable by Root." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 215, + "type": { + "path": [ + "pallet_preimage", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "note_preimage", + "fields": [ + { + "name": "bytes", + "type": 28, + "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": 1, + "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": 1, + "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": 1, + "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": 216, + "type": { + "path": [ + "pallet_proxy", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "proxy", + "fields": [ + { + "name": "real", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": 217, + "typeName": "Option" + }, + { + "name": "call", + "type": 26, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 0, + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ] + }, + { + "name": "add_proxy", + "fields": [ + { + "name": "delegate", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": 218, + "typeName": "T::ProxyType" + }, + { + "name": "delay", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 1, + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero." + ] + }, + { + "name": "remove_proxy", + "fields": [ + { + "name": "delegate", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": 218, + "typeName": "T::ProxyType" + }, + { + "name": "delay", + "type": 4, + "typeName": "T::BlockNumber" + } + ], + "index": 2, + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account." + ] + }, + { + "name": "remove_proxies", + "index": 3, + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `pure`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**" + ] + }, + { + "name": "create_pure", + "fields": [ + { + "name": "proxy_type", + "type": 218, + "typeName": "T::ProxyType" + }, + { + "name": "delay", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "index", + "type": 20, + "typeName": "u16" + } + ], + "index": 4, + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit." + ] + }, + { + "name": "kill_pure", + "fields": [ + { + "name": "spawner", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": 218, + "typeName": "T::ProxyType" + }, + { + "name": "index", + "type": 20, + "typeName": "u16" + }, + { + "name": "height", + "type": 36, + "typeName": "T::BlockNumber" + }, + { + "name": "ext_index", + "type": 36, + "typeName": "u32" + } + ], + "index": 5, + "docs": [ + "Removes a previously spawned pure proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`pure` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `pure` to create this account.", + "- `index`: The disambiguation index originally passed to `pure`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `pure`.", + "- `height`: The height of the chain when the call to `pure` was processed.", + "- `ext_index`: The extrinsic index in which the call to `pure` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created pure", + "account whose `pure` call has corresponding parameters." + ] + }, + { + "name": "announce", + "fields": [ + { + "name": "real", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": 1, + "typeName": "CallHashOf" + } + ], + "index": 6, + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ] + }, + { + "name": "remove_announcement", + "fields": [ + { + "name": "real", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": 1, + "typeName": "CallHashOf" + } + ], + "index": 7, + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ] + }, + { + "name": "reject_announcement", + "fields": [ + { + "name": "delegate", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": 1, + "typeName": "CallHashOf" + } + ], + "index": 8, + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made." + ] + }, + { + "name": "proxy_announced", + "fields": [ + { + "name": "delegate", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "real", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": 217, + "typeName": "Option" + }, + { + "name": "call", + "type": 26, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 9, + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "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": [ + "kitchensink_runtime", + "ProxyType" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Any", + "index": 0 + }, + { + "name": "NonTransfer", + "index": 1 + }, + { + "name": "Governance", + "index": 2 + }, + { + "name": "Staking", + "index": 3 + } + ] + } + } + } + }, + { + "id": 219, + "type": { + "path": [ + "pallet_multisig", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "as_multi_threshold_1", + "fields": [ + { + "name": "other_signatories", + "type": 122, + "typeName": "Vec" + }, + { + "name": "call", + "type": 26, + "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": 20, + "typeName": "u16" + }, + { + "name": "other_signatories", + "type": 122, + "typeName": "Vec" + }, + { + "name": "maybe_timepoint", + "type": 220, + "typeName": "Option>" + }, + { + "name": "call", + "type": 26, + "typeName": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": 144, + "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": 20, + "typeName": "u16" + }, + { + "name": "other_signatories", + "type": 122, + "typeName": "Vec" + }, + { + "name": "maybe_timepoint", + "type": 220, + "typeName": "Option>" + }, + { + "name": "call_hash", + "type": 2, + "typeName": "[u8; 32]" + }, + { + "name": "max_weight", + "type": 144, + "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": 20, + "typeName": "u16" + }, + { + "name": "other_signatories", + "type": 122, + "typeName": "Vec" + }, + { + "name": "timepoint", + "type": 23, + "typeName": "Timepoint" + }, + { + "name": "call_hash", + "type": 2, + "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": 220, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 23 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 23 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 221, + "type": { + "path": [ + "pallet_bounties", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "propose_bounty", + "fields": [ + { + "name": "value", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "description", + "type": 28, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Propose a new bounty.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as", + "`DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,", + "or slashed when rejected.", + "", + "- `curator`: The curator account whom will manage this bounty.", + "- `fee`: The curator fee.", + "- `value`: The total payment amount of this bounty, curator fee included.", + "- `description`: The description of this bounty." + ] + }, + { + "name": "approve_bounty", + "fields": [ + { + "name": "bounty_id", + "type": 36, + "typeName": "BountyIndex" + } + ], + "index": 1, + "docs": [ + "Approve a bounty proposal. At a later time, the bounty will be funded and become active", + "and the original deposit will be returned.", + "", + "May only be called from `T::SpendOrigin`.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "propose_curator", + "fields": [ + { + "name": "bounty_id", + "type": 36, + "typeName": "BountyIndex" + }, + { + "name": "curator", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "fee", + "type": 56, + "typeName": "BalanceOf" + } + ], + "index": 2, + "docs": [ + "Assign a curator to a funded bounty.", + "", + "May only be called from `T::SpendOrigin`.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "unassign_curator", + "fields": [ + { + "name": "bounty_id", + "type": 36, + "typeName": "BountyIndex" + } + ], + "index": 3, + "docs": [ + "Unassign curator from a bounty.", + "", + "This function can only be called by the `RejectOrigin` a signed origin.", + "", + "If this function is called by the `RejectOrigin`, we assume that the curator is", + "malicious or inactive. As a result, we will slash the curator when possible.", + "", + "If the origin is the curator, we take this as a sign they are unable to do their job and", + "they willingly give up. We could slash them, but for now we allow them to recover their", + "deposit and exit without issue. (We may want to change this if it is abused.)", + "", + "Finally, the origin can be anyone if and only if the curator is \"inactive\". This allows", + "anyone in the community to call out that a curator is not doing their due diligence, and", + "we should pick a new curator. In this case the curator should also be slashed.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "accept_curator", + "fields": [ + { + "name": "bounty_id", + "type": 36, + "typeName": "BountyIndex" + } + ], + "index": 4, + "docs": [ + "Accept the curator role for a bounty.", + "A deposit will be reserved from curator and refund upon successful payout.", + "", + "May only be called from the curator.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "award_bounty", + "fields": [ + { + "name": "bounty_id", + "type": 36, + "typeName": "BountyIndex" + }, + { + "name": "beneficiary", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 5, + "docs": [ + "Award bounty to a beneficiary account. The beneficiary will be able to claim the funds", + "after a delay.", + "", + "The dispatch origin for this call must be the curator of this bounty.", + "", + "- `bounty_id`: Bounty ID to award.", + "- `beneficiary`: The beneficiary account whom will receive the payout.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "claim_bounty", + "fields": [ + { + "name": "bounty_id", + "type": 36, + "typeName": "BountyIndex" + } + ], + "index": 6, + "docs": [ + "Claim the payout from an awarded bounty after payout delay.", + "", + "The dispatch origin for this call must be the beneficiary of this bounty.", + "", + "- `bounty_id`: Bounty ID to claim.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "close_bounty", + "fields": [ + { + "name": "bounty_id", + "type": 36, + "typeName": "BountyIndex" + } + ], + "index": 7, + "docs": [ + "Cancel a proposed or active bounty. All the funds will be sent to treasury and", + "the curator deposit will be unreserved if possible.", + "", + "Only `T::RejectOrigin` is able to cancel a bounty.", + "", + "- `bounty_id`: Bounty ID to cancel.", + "", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "extend_bounty_expiry", + "fields": [ + { + "name": "bounty_id", + "type": 36, + "typeName": "BountyIndex" + }, + { + "name": "remark", + "type": 28, + "typeName": "Vec" + } + ], + "index": 8, + "docs": [ + "Extend the expiry time of an active bounty.", + "", + "The dispatch origin for this call must be the curator of this bounty.", + "", + "- `bounty_id`: Bounty ID to extend.", + "- `remark`: additional information.", + "", + "## Complexity", + "- O(1)." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 222, + "type": { + "path": [ + "pallet_tips", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "report_awesome", + "fields": [ + { + "name": "reason", + "type": 28, + "typeName": "Vec" + }, + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 0, + "docs": [ + "Report something `reason` that deserves a tip and claim any eventual the finder's fee.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as", + "`DataDepositPerByte` for each byte in `reason`.", + "", + "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be", + " a UTF-8-encoded URL.", + "- `who`: The account which should be credited for the tip.", + "", + "Emits `NewTip` if successful.", + "", + "## Complexity", + "- `O(R)` where `R` length of `reason`.", + " - encoding and hashing of 'reason'" + ] + }, + { + "name": "retract_tip", + "fields": [ + { + "name": "hash", + "type": 1, + "typeName": "T::Hash" + } + ], + "index": 1, + "docs": [ + "Retract a prior tip-report from `report_awesome`, and cancel the process of tipping.", + "", + "If successful, the original deposit will be unreserved.", + "", + "The dispatch origin for this call must be _Signed_ and the tip identified by `hash`", + "must have been reported by the signing account through `report_awesome` (and not", + "through `tip_new`).", + "", + "- `hash`: The identity of the open tip for which a tip value is declared. This is formed", + " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.", + "", + "Emits `TipRetracted` if successful.", + "", + "## Complexity", + "- `O(1)`", + " - Depends on the length of `T::Hash` which is fixed." + ] + }, + { + "name": "tip_new", + "fields": [ + { + "name": "reason", + "type": 28, + "typeName": "Vec" + }, + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "tip_value", + "type": 56, + "typeName": "BalanceOf" + } + ], + "index": 2, + "docs": [ + "Give a tip for something new; no finder's fee will be taken.", + "", + "The dispatch origin for this call must be _Signed_ and the signing account must be a", + "member of the `Tippers` set.", + "", + "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be", + " a UTF-8-encoded URL.", + "- `who`: The account which should be credited for the tip.", + "- `tip_value`: The amount of tip that the sender would like to give. The median tip", + " value of active tippers will be given to the `who`.", + "", + "Emits `NewTip` if successful.", + "", + "## Complexity", + "- `O(R + T)` where `R` length of `reason`, `T` is the number of tippers.", + " - `O(T)`: decoding `Tipper` vec of length `T`. `T` is charged as upper bound given by", + " `ContainsLengthBound`. The actual cost depends on the implementation of", + " `T::Tippers`.", + " - `O(R)`: hashing and encoding of reason of length `R`" + ] + }, + { + "name": "tip", + "fields": [ + { + "name": "hash", + "type": 1, + "typeName": "T::Hash" + }, + { + "name": "tip_value", + "type": 56, + "typeName": "BalanceOf" + } + ], + "index": 3, + "docs": [ + "Declare a tip value for an already-open tip.", + "", + "The dispatch origin for this call must be _Signed_ and the signing account must be a", + "member of the `Tippers` set.", + "", + "- `hash`: The identity of the open tip for which a tip value is declared. This is formed", + " as the hash of the tuple of the hash of the original tip `reason` and the beneficiary", + " account ID.", + "- `tip_value`: The amount of tip that the sender would like to give. The median tip", + " value of active tippers will be given to the `who`.", + "", + "Emits `TipClosing` if the threshold of tippers has been reached and the countdown period", + "has started.", + "", + "## Complexity", + "- `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`, insert", + " tip and check closing, `T` is charged as upper bound given by `ContainsLengthBound`.", + " The actual cost depends on the implementation of `T::Tippers`.", + "", + " Actually weight could be lower as it depends on how many tips are in `OpenTip` but it", + " is weighted as if almost full i.e of length `T-1`." + ] + }, + { + "name": "close_tip", + "fields": [ + { + "name": "hash", + "type": 1, + "typeName": "T::Hash" + } + ], + "index": 4, + "docs": [ + "Close and payout a tip.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "The tip identified by `hash` must have finished its countdown period.", + "", + "- `hash`: The identity of the open tip for which a tip value is declared. This is formed", + " as the hash of the tuple of the original tip `reason` and the beneficiary account ID.", + "", + "## Complexity", + "- : `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`. `T`", + " is charged as upper bound given by `ContainsLengthBound`. The actual cost depends on", + " the implementation of `T::Tippers`." + ] + }, + { + "name": "slash_tip", + "fields": [ + { + "name": "hash", + "type": 1, + "typeName": "T::Hash" + } + ], + "index": 5, + "docs": [ + "Remove and slash an already-open tip.", + "", + "May only be called from `T::RejectOrigin`.", + "", + "As a result, the finder is slashed and the deposits are lost.", + "", + "Emits `TipSlashed` if successful.", + "", + "## Complexity", + "- O(1)." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 223, + "type": { + "path": [ + "pallet_assets", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "create", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "admin", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": 57, + "typeName": "T::Balance" + } + ], + "index": 0, + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_create", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "owner", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": 54, + "typeName": "bool" + }, + { + "name": "min_balance", + "type": 56, + "typeName": "T::Balance" + } + ], + "index": 1, + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "start_destroy", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + } + ], + "index": 2, + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "The asset class must be frozen before calling `start_destroy`." + ] + }, + { + "name": "destroy_accounts", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + } + ], + "index": 3, + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ] + }, + { + "name": "destroy_approvals", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + } + ], + "index": 4, + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ] + }, + { + "name": "finish_destroy", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + } + ], + "index": 5, + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ] + }, + { + "name": "mint", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "beneficiary", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 56, + "typeName": "T::Balance" + } + ], + "index": 6, + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ] + }, + { + "name": "burn", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 56, + "typeName": "T::Balance" + } + ], + "index": 7, + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "target", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 56, + "typeName": "T::Balance" + } + ], + "index": 8, + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ] + }, + { + "name": "transfer_keep_alive", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "target", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 56, + "typeName": "T::Balance" + } + ], + "index": 9, + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ] + }, + { + "name": "force_transfer", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "source", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 56, + "typeName": "T::Balance" + } + ], + "index": 10, + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ] + }, + { + "name": "freeze", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 11, + "docs": [ + "Disallow further unprivileged transfers from an account.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 12, + "docs": [ + "Allow unprivileged transfers from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "freeze_asset", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + } + ], + "index": 13, + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw_asset", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + } + ], + "index": 14, + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_ownership", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "owner", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 15, + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_team", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "issuer", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 16, + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "name", + "type": 28, + "typeName": "Vec" + }, + { + "name": "symbol", + "type": 28, + "typeName": "Vec" + }, + { + "name": "decimals", + "type": 3, + "typeName": "u8" + } + ], + "index": 17, + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_metadata", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + } + ], + "index": 18, + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_set_metadata", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "name", + "type": 28, + "typeName": "Vec" + }, + { + "name": "symbol", + "type": 28, + "typeName": "Vec" + }, + { + "name": "decimals", + "type": 3, + "typeName": "u8" + }, + { + "name": "is_frozen", + "type": 54, + "typeName": "bool" + } + ], + "index": 19, + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ] + }, + { + "name": "force_clear_metadata", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + } + ], + "index": 20, + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_asset_status", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "owner", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": 56, + "typeName": "T::Balance" + }, + { + "name": "is_sufficient", + "type": 54, + "typeName": "bool" + }, + { + "name": "is_frozen", + "type": 54, + "typeName": "bool" + } + ], + "index": 21, + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "approve_transfer", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "delegate", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 56, + "typeName": "T::Balance" + } + ], + "index": 22, + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "cancel_approval", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "delegate", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 23, + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_cancel_approval", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "owner", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 24, + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_approved", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "owner", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": 56, + "typeName": "T::Balance" + } + ], + "index": 25, + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "touch", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + } + ], + "index": 26, + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ] + }, + { + "name": "refund", + "fields": [ + { + "name": "id", + "type": 36, + "typeName": "T::AssetIdParameter" + }, + { + "name": "allow_burn", + "type": 54, + "typeName": "bool" + } + ], + "index": 27, + "docs": [ + "Return the deposit (if any) of an asset account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for the account to be created.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 224, + "type": { + "path": [ + "pallet_lottery", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "buy_ticket", + "fields": [ + { + "name": "call", + "type": 26, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 0, + "docs": [ + "Buy a ticket to enter the lottery.", + "", + "This extrinsic acts as a passthrough function for `call`. In all", + "situations where `call` alone would succeed, this extrinsic should", + "succeed.", + "", + "If `call` is successful, then we will attempt to purchase a ticket,", + "which may fail silently. To detect success of a ticket purchase, you", + "should listen for the `TicketBought` event.", + "", + "This extrinsic must be called by a signed origin." + ] + }, + { + "name": "set_calls", + "fields": [ + { + "name": "calls", + "type": 25, + "typeName": "Vec<::RuntimeCall>" + } + ], + "index": 1, + "docs": [ + "Set calls in storage which can be used to purchase a lottery ticket.", + "", + "This function only matters if you use the `ValidateCall` implementation", + "provided by this pallet, which uses storage to determine the valid calls.", + "", + "This extrinsic must be called by the Manager origin." + ] + }, + { + "name": "start_lottery", + "fields": [ + { + "name": "price", + "type": 57, + "typeName": "BalanceOf" + }, + { + "name": "length", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "delay", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "repeat", + "type": 54, + "typeName": "bool" + } + ], + "index": 2, + "docs": [ + "Start a lottery using the provided configuration.", + "", + "This extrinsic must be called by the `ManagerOrigin`.", + "", + "Parameters:", + "", + "* `price`: The cost of a single ticket.", + "* `length`: How long the lottery should run for starting at the current block.", + "* `delay`: How long after the lottery end we should wait before picking a winner.", + "* `repeat`: If the lottery should repeat when completed." + ] + }, + { + "name": "stop_repeat", + "index": 3, + "docs": [ + "If a lottery is repeating, you can use this to stop the repeat.", + "The lottery will continue to run to completion.", + "", + "This extrinsic must be called by the `ManagerOrigin`." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 225, + "type": { + "path": [ + "pallet_nis", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "place_bid", + "fields": [ + { + "name": "amount", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "duration", + "type": 4, + "typeName": "u32" + } + ], + "index": 0, + "docs": [ + "Place a bid.", + "", + "Origin must be Signed, and account must have at least `amount` in free balance.", + "", + "- `amount`: The amount of the bid; these funds will be reserved, and if/when", + " consolidated, removed. Must be at least `MinBid`.", + "- `duration`: The number of periods before which the newly consolidated bid may be", + " thawed. Must be greater than 1 and no more than `QueueCount`.", + "", + "Complexities:", + "- `Queues[duration].len()` (just take max)." + ] + }, + { + "name": "retract_bid", + "fields": [ + { + "name": "amount", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "duration", + "type": 4, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "Retract a previously placed bid.", + "", + "Origin must be Signed, and the account should have previously issued a still-active bid", + "of `amount` for `duration`.", + "", + "- `amount`: The amount of the previous bid.", + "- `duration`: The duration of the previous bid." + ] + }, + { + "name": "fund_deficit", + "index": 2, + "docs": [ + "Ensure we have sufficient funding for all potential payouts.", + "", + "- `origin`: Must be accepted by `FundOrigin`." + ] + }, + { + "name": "thaw_private", + "fields": [ + { + "name": "index", + "type": 36, + "typeName": "ReceiptIndex" + }, + { + "name": "maybe_proportion", + "type": 226, + "typeName": "Option" + } + ], + "index": 3, + "docs": [ + "Reduce or remove an outstanding receipt, placing the according proportion of funds into", + "the account of the owner.", + "", + "- `origin`: Must be Signed and the account must be the owner of the receipt `index` as", + " well as any fungible counterpart.", + "- `index`: The index of the receipt.", + "- `portion`: If `Some`, then only the given portion of the receipt should be thawed. If", + " `None`, then all of it should be." + ] + }, + { + "name": "thaw_communal", + "fields": [ + { + "name": "index", + "type": 36, + "typeName": "ReceiptIndex" + } + ], + "index": 4, + "docs": [ + "Reduce or remove an outstanding receipt, placing the according proportion of funds into", + "the account of the owner.", + "", + "- `origin`: Must be Signed and the account must be the owner of the fungible counterpart", + " for receipt `index`.", + "- `index`: The index of the receipt." + ] + }, + { + "name": "communify", + "fields": [ + { + "name": "index", + "type": 36, + "typeName": "ReceiptIndex" + } + ], + "index": 5, + "docs": [ + "Make a private receipt communal and create fungible counterparts for its owner." + ] + }, + { + "name": "privatize", + "fields": [ + { + "name": "index", + "type": 36, + "typeName": "ReceiptIndex" + } + ], + "index": 6, + "docs": [ + "Make a communal receipt private and burn fungible counterparts from its owner." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 226, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 227 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 227 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 227, + "type": { + "path": [ + "sp_arithmetic", + "per_things", + "Perquintill" + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "u64" + } + ] + } + } + } + }, + { + "id": 228, + "type": { + "path": [ + "pallet_uniques", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "create", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "admin", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 0, + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `collection`: The identifier of the new collection. This must not be currently in use.", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_create", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "owner", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": 54, + "typeName": "bool" + } + ], + "index": 1, + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `collection`: The identifier of the new item. This must not be currently in use.", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions", + "over this item, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "destroy", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "witness", + "type": 229, + "typeName": "DestroyWitness" + } + ], + "index": 2, + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ] + }, + { + "name": "mint", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "owner", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 3, + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: The item value of the item to be minted.", + "- `beneficiary`: The initial owner of the minted item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "burn", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "check_owner", + "type": 230, + "typeName": "Option>" + } + ], + "index": 4, + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item of the item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "dest", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 5, + "docs": [ + "Move an item from the sender account to another.", + "", + "This resets the approved account of the item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item of the item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "redeposit", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "items", + "type": 123, + "typeName": "Vec" + } + ], + "index": 6, + "docs": [ + "Reevaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown of the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ] + }, + { + "name": "freeze", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 7, + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be frozen.", + "- `item`: The item of the item to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 8, + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be thawed.", + "- `item`: The item of the item to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "freeze_collection", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 9, + "docs": [ + "Disallow further unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "", + "Emits `CollectionFrozen`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "thaw_collection", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 10, + "docs": [ + "Re-allow unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection to be thawed.", + "", + "Emits `CollectionThawed`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_ownership", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "owner", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 11, + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_team", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "issuer", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 12, + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "approve_transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "delegate", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 13, + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be", + "either the owner of the `item` or the admin of the collection.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item of the item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "", + "Important NOTE: The `approved` account gets reset after each transfer.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "cancel_approval", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "maybe_check_delegate", + "type": 230, + "typeName": "Option>" + } + ], + "index": 14, + "docs": [ + "Cancel the prior approval for the transfer of an item by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the item of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_item_status", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "owner", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": 54, + "typeName": "bool" + }, + { + "name": "is_frozen", + "type": 54, + "typeName": "bool" + } + ], + "index": 15, + "docs": [ + "Alter the attributes of a given item.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the item.", + "- `owner`: The new Owner of this item.", + "- `issuer`: The new Issuer of this item.", + "- `admin`: The new Admin of this item.", + "- `freezer`: The new Freezer of this item.", + "- `free_holding`: Whether a deposit is taken for holding an item of this collection.", + "- `is_frozen`: Whether this collection is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `ItemStatusChanged` with the identity of the item.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_attribute", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_item", + "type": 114, + "typeName": "Option" + }, + { + "name": "key", + "type": 231, + "typeName": "BoundedVec" + }, + { + "name": "value", + "type": 232, + "typeName": "BoundedVec" + } + ], + "index": 16, + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_attribute", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_item", + "type": 114, + "typeName": "Option" + }, + { + "name": "key", + "type": 231, + "typeName": "BoundedVec" + } + ], + "index": 17, + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "data", + "type": 233, + "typeName": "BoundedVec" + }, + { + "name": "is_frozen", + "type": 54, + "typeName": "bool" + } + ], + "index": 18, + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 19, + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_collection_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "data", + "type": 233, + "typeName": "BoundedVec" + }, + { + "name": "is_frozen", + "type": 54, + "typeName": "bool" + } + ], + "index": 20, + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_collection_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 21, + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_accept_ownership", + "fields": [ + { + "name": "maybe_collection", + "type": 114, + "typeName": "Option" + } + ], + "index": 22, + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ] + }, + { + "name": "set_collection_max_supply", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "max_supply", + "type": 4, + "typeName": "u32" + } + ], + "index": 23, + "docs": [ + "Set the maximum amount of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Note: This function can only succeed once per collection.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum amount of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ] + }, + { + "name": "set_price", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "price", + "type": 234, + "typeName": "Option>" + }, + { + "name": "whitelisted_buyer", + "type": 230, + "typeName": "Option>" + } + ], + "index": 24, + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ] + }, + { + "name": "buy_item", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "bid_price", + "type": 57, + "typeName": "ItemPrice" + } + ], + "index": 25, + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 229, + "type": { + "path": [ + "pallet_uniques", + "types", + "DestroyWitness" + ], + "def": { + "composite": { + "fields": [ + { + "name": "items", + "type": 36, + "typeName": "u32" + }, + { + "name": "item_metadatas", + "type": 36, + "typeName": "u32" + }, + { + "name": "attributes", + "type": 36, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 230, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 51 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 51 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 231, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 3 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 28, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 232, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 3 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 28, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 233, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 3 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 28, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 234, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 57 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 57 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 235, + "type": { + "path": [ + "pallet_nfts", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "create", + "fields": [ + { + "name": "admin", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "config", + "type": 236, + "typeName": "CollectionConfigFor" + } + ], + "index": 0, + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_create", + "fields": [ + { + "name": "owner", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "config", + "type": 236, + "typeName": "CollectionConfigFor" + } + ], + "index": 1, + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions over this item, but may later change and configure the permissions using", + " `transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "destroy", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "witness", + "type": 243, + "typeName": "DestroyWitness" + } + ], + "index": 2, + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ] + }, + { + "name": "mint", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "mint_to", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "witness_data", + "type": 244, + "typeName": "Option>" + } + ], + "index": 3, + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: An identifier of the new item.", + "- `mint_to`: Account into which the item will be minted.", + "- `witness_data`: When the mint type is `HolderOf(collection_id)`, then the owned", + " item_id from that collection needs to be provided within the witness data object.", + "", + "Note: the deposit will be taken from the `origin` and not the `owner` of the `item`.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_mint", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "mint_to", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "item_config", + "type": 246, + "typeName": "ItemConfig" + } + ], + "index": 4, + "docs": [ + "Mint an item of a particular collection from a privileged origin.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: An identifier of the new item.", + "- `mint_to`: Account into which the item will be minted.", + "- `item_config`: A config of the new item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "burn", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "check_owner", + "type": 230, + "typeName": "Option>" + } + ], + "index": 5, + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ] + }, + { + "name": "transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "dest", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 6, + "docs": [ + "Move an item from the sender account to another.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "redeposit", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "items", + "type": 123, + "typeName": "Vec" + } + ], + "index": 7, + "docs": [ + "Re-evaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection of the items to be reevaluated.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown or the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ] + }, + { + "name": "lock_item_transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 8, + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be changed.", + "- `item`: The item to become non-transferable.", + "", + "Emits `ItemTransferLocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "unlock_item_transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 9, + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be changed.", + "- `item`: The item to become transferable.", + "", + "Emits `ItemTransferUnlocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "lock_collection", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "lock_settings", + "type": 237, + "typeName": "CollectionSettings" + } + ], + "index": 10, + "docs": [ + "Disallows specified settings for the whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be locked.", + "- `lock_settings`: The settings to be locked.", + "", + "Note: it's possible to only lock(set) the setting, but not to unset it.", + "Emits `CollectionLocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "transfer_ownership", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "owner", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 11, + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_team", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "issuer", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 12, + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_collection_owner", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "owner", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 13, + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the collection.", + "- `owner`: The new Owner of this collection.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_collection_config", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "config", + "type": 236, + "typeName": "CollectionConfigFor" + } + ], + "index": 14, + "docs": [ + "Change the config of a collection.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the collection.", + "- `config`: The new config of this collection.", + "", + "Emits `CollectionConfigChanged`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "approve_transfer", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "delegate", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "maybe_deadline", + "type": 114, + "typeName": "Option<::BlockNumber>" + } + ], + "index": 15, + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "- `maybe_deadline`: Optional deadline for the approval. Specified by providing the", + "\tnumber of blocks after which the approval will expire", + "", + "Emits `TransferApproved` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "cancel_approval", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "delegate", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 16, + "docs": [ + "Cancel one of the transfer approvals for a specific item.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the collection of whose approval will be cancelled.", + "- `delegate`: The account that is going to loose their approval.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_all_transfer_approvals", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 17, + "docs": [ + "Cancel all the approvals of a specific item.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approvals will be cleared.", + "- `item`: The item of the collection of whose approvals will be cleared.", + "", + "Emits `AllApprovalsCancelled` on success.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "lock_item_properties", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "lock_metadata", + "type": 54, + "typeName": "bool" + }, + { + "name": "lock_attributes", + "type": 54, + "typeName": "bool" + } + ], + "index": 18, + "docs": [ + "Disallows changing the metadata or attributes of the item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "- `collection`: The collection if the `item`.", + "- `item`: An item to be locked.", + "- `lock_metadata`: Specifies whether the metadata should be locked.", + "- `lock_attributes`: Specifies whether the attributes in the `CollectionOwner` namespace", + " should be locked.", + "", + "Note: `lock_attributes` affects the attributes in the `CollectionOwner` namespace", + "only. When the metadata or attributes are locked, it won't be possible the unlock them.", + "", + "Emits `ItemPropertiesLocked`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_attribute", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_item", + "type": 114, + "typeName": "Option" + }, + { + "name": "namespace", + "type": 247, + "typeName": "AttributeNamespace" + }, + { + "name": "key", + "type": 231, + "typeName": "BoundedVec" + }, + { + "name": "value", + "type": 232, + "typeName": "BoundedVec" + } + ], + "index": 19, + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be Signed and must conform to the namespace ruleset:", + "- `CollectionOwner` namespace could be modified by the `collection` owner only;", + "- `ItemOwner` namespace could be modified by the `maybe_item` owner only. `maybe_item`", + " should be set in that case;", + "- `Account(AccountId)` namespace could be modified only when the `origin` was given a", + " permission to do so;", + "", + "The funds of `origin` are reserved according to the formula:", + "`AttributeDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "force_set_attribute", + "fields": [ + { + "name": "set_as", + "type": 141, + "typeName": "Option" + }, + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_item", + "type": 114, + "typeName": "Option" + }, + { + "name": "namespace", + "type": 247, + "typeName": "AttributeNamespace" + }, + { + "name": "key", + "type": 231, + "typeName": "BoundedVec" + }, + { + "name": "value", + "type": 232, + "typeName": "BoundedVec" + } + ], + "index": 20, + "docs": [ + "Force-set an attribute for a collection or item.", + "", + "Origin must be `ForceOrigin`.", + "", + "If the attribute already exists and it was set by another account, the deposit", + "will be returned to the previous owner.", + "", + "- `set_as`: An optional owner of the attribute.", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_attribute", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_item", + "type": 114, + "typeName": "Option" + }, + { + "name": "namespace", + "type": 247, + "typeName": "AttributeNamespace" + }, + { + "name": "key", + "type": 231, + "typeName": "BoundedVec" + } + ], + "index": 21, + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "attribute.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "approve_item_attributes", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "delegate", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 22, + "docs": [ + "Approve item's attributes to be changed by a delegated third-party account.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: A collection of the item.", + "- `item`: The item that holds attributes.", + "- `delegate`: The account to delegate permission to change attributes of the item.", + "", + "Emits `ItemAttributesApprovalAdded` on success." + ] + }, + { + "name": "cancel_item_attributes_approval", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "delegate", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "witness", + "type": 248, + "typeName": "CancelAttributesApprovalWitness" + } + ], + "index": 23, + "docs": [ + "Cancel the previously provided approval to change item's attributes.", + "All the previously set attributes by the `delegate` will be removed.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: Collection that the item is contained within.", + "- `item`: The item that holds attributes.", + "- `delegate`: The previously approved account to remove.", + "", + "Emits `ItemAttributesApprovalRemoved` on success." + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "data", + "type": 233, + "typeName": "BoundedVec" + } + ], + "index": 24, + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "", + "Emits `ItemMetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 25, + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `ItemMetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_collection_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "data", + "type": 233, + "typeName": "BoundedVec" + } + ], + "index": 26, + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "clear_collection_metadata", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + } + ], + "index": 27, + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ] + }, + { + "name": "set_accept_ownership", + "fields": [ + { + "name": "maybe_collection", + "type": 114, + "typeName": "Option" + } + ], + "index": 28, + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ] + }, + { + "name": "set_collection_max_supply", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "max_supply", + "type": 4, + "typeName": "u32" + } + ], + "index": 29, + "docs": [ + "Set the maximum number of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum number of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ] + }, + { + "name": "update_mint_settings", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "mint_settings", + "type": 239, + "typeName": "MintSettings,::BlockNumber, T::\nCollectionId,>" + } + ], + "index": 30, + "docs": [ + "Update mint settings.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "- `collection`: The identifier of the collection to change.", + "- `mint_settings`: The new mint settings.", + "", + "Emits `CollectionMintSettingsUpdated` event when successful." + ] + }, + { + "name": "set_price", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "price", + "type": 234, + "typeName": "Option>" + }, + { + "name": "whitelisted_buyer", + "type": 230, + "typeName": "Option>" + } + ], + "index": 31, + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ] + }, + { + "name": "buy_item", + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "bid_price", + "type": 57, + "typeName": "ItemPrice" + } + ], + "index": 32, + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ] + }, + { + "name": "pay_tips", + "fields": [ + { + "name": "tips", + "type": 249, + "typeName": "BoundedVec, T::MaxTips>" + } + ], + "index": 33, + "docs": [ + "Allows to pay the tips.", + "", + "Origin must be Signed.", + "", + "- `tips`: Tips array.", + "", + "Emits `TipSent` on every tip transfer." + ] + }, + { + "name": "create_swap", + "fields": [ + { + "name": "offered_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "offered_item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "desired_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "maybe_desired_item", + "type": 114, + "typeName": "Option" + }, + { + "name": "maybe_price", + "type": 252, + "typeName": "Option>>" + }, + { + "name": "duration", + "type": 4, + "typeName": "::BlockNumber" + } + ], + "index": 34, + "docs": [ + "Register a new atomic swap, declaring an intention to send an `item` in exchange for", + "`desired_item` from origin to target on the current blockchain.", + "The target can execute the swap during the specified `duration` of blocks (if set).", + "Additionally, the price could be set for the desired `item`.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item an owner wants to give.", + "- `desired_collection`: The collection of the desired item.", + "- `desired_item`: The desired item an owner wants to receive.", + "- `maybe_price`: The price an owner is willing to pay or receive for the desired `item`.", + "- `duration`: A deadline for the swap. Specified by providing the number of blocks", + "\tafter which the swap will expire.", + "", + "Emits `SwapCreated` on success." + ] + }, + { + "name": "cancel_swap", + "fields": [ + { + "name": "offered_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "offered_item", + "type": 4, + "typeName": "T::ItemId" + } + ], + "index": 35, + "docs": [ + "Cancel an atomic swap.", + "", + "Origin must be Signed.", + "Origin must be an owner of the `item` if the deadline hasn't expired.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item an owner wants to give.", + "", + "Emits `SwapCancelled` on success." + ] + }, + { + "name": "claim_swap", + "fields": [ + { + "name": "send_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "send_item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "receive_collection", + "type": 4, + "typeName": "T::CollectionId" + }, + { + "name": "receive_item", + "type": 4, + "typeName": "T::ItemId" + }, + { + "name": "witness_price", + "type": 252, + "typeName": "Option>>" + } + ], + "index": 36, + "docs": [ + "Claim an atomic swap.", + "This method executes a pending swap, that was created by a counterpart before.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `send_collection`: The collection of the item to be sent.", + "- `send_item`: The item to be sent.", + "- `receive_collection`: The collection of the item to be received.", + "- `receive_item`: The item to be received.", + "- `witness_price`: A price that was previously agreed on.", + "", + "Emits `SwapClaimed` on success." + ] + }, + { + "name": "mint_pre_signed", + "fields": [ + { + "name": "mint_data", + "type": 255, + "typeName": "PreSignedMintOf" + }, + { + "name": "signature", + "type": 256, + "typeName": "T::OffchainSignature" + }, + { + "name": "signer", + "type": 52, + "typeName": "T::AccountId" + } + ], + "index": 37, + "docs": [ + "Mint an item by providing the pre-signed approval.", + "", + "Origin must be Signed.", + "", + "- `mint_data`: The pre-signed approval that consists of the information about the item,", + " its metadata, attributes, who can mint it (`None` for anyone) and until what block", + " number.", + "- `signature`: The signature of the `data` object.", + "- `signer`: The `data` object's signer. Should be an owner of the collection.", + "", + "Emits `Issued` on success.", + "Emits `AttributeSet` if the attributes were provided.", + "Emits `ItemMetadataSet` if the metadata was not empty." + ] + }, + { + "name": "set_attributes_pre_signed", + "fields": [ + { + "name": "data", + "type": 259, + "typeName": "PreSignedAttributesOf" + }, + { + "name": "signature", + "type": 256, + "typeName": "T::OffchainSignature" + }, + { + "name": "signer", + "type": 52, + "typeName": "T::AccountId" + } + ], + "index": 38, + "docs": [ + "Set attributes for an item by providing the pre-signed approval.", + "", + "Origin must be Signed and must be an owner of the `data.item`.", + "", + "- `data`: The pre-signed approval that consists of the information about the item,", + " attributes to update and until what block number.", + "- `signature`: The signature of the `data` object.", + "- `signer`: The `data` object's signer. Should be an owner of the collection for the", + " `CollectionOwner` namespace.", + "", + "Emits `AttributeSet` for each provided attribute.", + "Emits `ItemAttributesApprovalAdded` if the approval wasn't set before.", + "Emits `PreSignedAttributesSet` on success." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 236, + "type": { + "path": [ + "pallet_nfts", + "types", + "CollectionConfig" + ], + "params": [ + { + "name": "Price", + "type": 57 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "CollectionId", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "settings", + "type": 237, + "typeName": "CollectionSettings" + }, + { + "name": "max_supply", + "type": 114, + "typeName": "Option" + }, + { + "name": "mint_settings", + "type": 239, + "typeName": "MintSettings" + } + ] + } + } + } + }, + { + "id": 237, + "type": { + "path": [ + "pallet_nfts", + "types", + "BitFlags" + ], + "params": [ + { + "name": "T", + "type": 238 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "CollectionSetting" + } + ] + } + } + } + }, + { + "id": 238, + "type": { + "path": [ + "pallet_nfts", + "types", + "CollectionSetting" + ], + "def": { + "variant": { + "variants": [ + { + "name": "TransferableItems", + "index": 1 + }, + { + "name": "UnlockedMetadata", + "index": 2 + }, + { + "name": "UnlockedAttributes", + "index": 4 + }, + { + "name": "UnlockedMaxSupply", + "index": 8 + }, + { + "name": "DepositRequired", + "index": 16 + } + ] + } + } + } + }, + { + "id": 239, + "type": { + "path": [ + "pallet_nfts", + "types", + "MintSettings" + ], + "params": [ + { + "name": "Price", + "type": 57 + }, + { + "name": "BlockNumber", + "type": 4 + }, + { + "name": "CollectionId", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "mint_type", + "type": 240, + "typeName": "MintType" + }, + { + "name": "price", + "type": 234, + "typeName": "Option" + }, + { + "name": "start_block", + "type": 114, + "typeName": "Option" + }, + { + "name": "end_block", + "type": 114, + "typeName": "Option" + }, + { + "name": "default_item_settings", + "type": 241, + "typeName": "ItemSettings" + } + ] + } + } + } + }, + { + "id": 240, + "type": { + "path": [ + "pallet_nfts", + "types", + "MintType" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Issuer", + "index": 0 + }, + { + "name": "Public", + "index": 1 + }, + { + "name": "HolderOf", + "fields": [ + { + "type": 4, + "typeName": "CollectionId" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 241, + "type": { + "path": [ + "pallet_nfts", + "types", + "BitFlags" + ], + "params": [ + { + "name": "T", + "type": 242 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 12, + "typeName": "ItemSetting" + } + ] + } + } + } + }, + { + "id": 242, + "type": { + "path": [ + "pallet_nfts", + "types", + "ItemSetting" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Transferable", + "index": 1 + }, + { + "name": "UnlockedMetadata", + "index": 2 + }, + { + "name": "UnlockedAttributes", + "index": 4 + } + ] + } + } + } + }, + { + "id": 243, + "type": { + "path": [ + "pallet_nfts", + "types", + "DestroyWitness" + ], + "def": { + "composite": { + "fields": [ + { + "name": "items", + "type": 36, + "typeName": "u32" + }, + { + "name": "item_metadatas", + "type": 36, + "typeName": "u32" + }, + { + "name": "attributes", + "type": 36, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 244, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 245 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 245 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 245, + "type": { + "path": [ + "pallet_nfts", + "types", + "MintWitness" + ], + "params": [ + { + "name": "ItemId", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "owner_of_item", + "type": 4, + "typeName": "ItemId" + } + ] + } + } + } + }, + { + "id": 246, + "type": { + "path": [ + "pallet_nfts", + "types", + "ItemConfig" + ], + "def": { + "composite": { + "fields": [ + { + "name": "settings", + "type": 241, + "typeName": "ItemSettings" + } + ] + } + } + } + }, + { + "id": 247, + "type": { + "path": [ + "frame_support", + "traits", + "tokens", + "misc", + "AttributeNamespace" + ], + "params": [ + { + "name": "AccountId", + "type": 52 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Pallet", + "index": 0 + }, + { + "name": "CollectionOwner", + "index": 1 + }, + { + "name": "ItemOwner", + "index": 2 + }, + { + "name": "Account", + "fields": [ + { + "type": 52, + "typeName": "AccountId" + } + ], + "index": 3 + } + ] + } + } + } + }, + { + "id": 248, + "type": { + "path": [ + "pallet_nfts", + "types", + "CancelAttributesApprovalWitness" + ], + "def": { + "composite": { + "fields": [ + { + "name": "account_attributes", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 249, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 250 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 251, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 250, + "type": { + "path": [ + "pallet_nfts", + "types", + "ItemTip" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + }, + { + "name": "ItemId", + "type": 4 + }, + { + "name": "AccountId", + "type": 52 + }, + { + "name": "Amount", + "type": 57 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "ItemId" + }, + { + "name": "receiver", + "type": 52, + "typeName": "AccountId" + }, + { + "name": "amount", + "type": 57, + "typeName": "Amount" + } + ] + } + } + } + }, + { + "id": 251, + "type": { + "def": { + "sequence": { + "type": 250 + } + } + } + }, + { + "id": 252, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 253 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 253 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 253, + "type": { + "path": [ + "pallet_nfts", + "types", + "PriceWithDirection" + ], + "params": [ + { + "name": "Amount", + "type": 57 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "amount", + "type": 57, + "typeName": "Amount" + }, + { + "name": "direction", + "type": 254, + "typeName": "PriceDirection" + } + ] + } + } + } + }, + { + "id": 254, + "type": { + "path": [ + "pallet_nfts", + "types", + "PriceDirection" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Send", + "index": 0 + }, + { + "name": "Receive", + "index": 1 + } + ] + } + } + } + }, + { + "id": 255, + "type": { + "path": [ + "pallet_nfts", + "types", + "PreSignedMint" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + }, + { + "name": "ItemId", + "type": 4 + }, + { + "name": "AccountId", + "type": 52 + }, + { + "name": "Deadline", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "ItemId" + }, + { + "name": "attributes", + "type": 29, + "typeName": "Vec<(Vec, Vec)>" + }, + { + "name": "metadata", + "type": 28, + "typeName": "Vec" + }, + { + "name": "only_account", + "type": 141, + "typeName": "Option" + }, + { + "name": "deadline", + "type": 4, + "typeName": "Deadline" + } + ] + } + } + } + }, + { + "id": 256, + "type": { + "path": [ + "sp_runtime", + "MultiSignature" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Ed25519", + "fields": [ + { + "type": 10, + "typeName": "ed25519::Signature" + } + ], + "index": 0 + }, + { + "name": "Sr25519", + "fields": [ + { + "type": 163, + "typeName": "sr25519::Signature" + } + ], + "index": 1 + }, + { + "name": "Ecdsa", + "fields": [ + { + "type": 257, + "typeName": "ecdsa::Signature" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 257, + "type": { + "path": [ + "sp_core", + "ecdsa", + "Signature" + ], + "def": { + "composite": { + "fields": [ + { + "type": 258, + "typeName": "[u8; 65]" + } + ] + } + } + } + }, + { + "id": 258, + "type": { + "def": { + "array": { + "len": 65, + "type": 3 + } + } + } + }, + { + "id": 259, + "type": { + "path": [ + "pallet_nfts", + "types", + "PreSignedAttributes" + ], + "params": [ + { + "name": "CollectionId", + "type": 4 + }, + { + "name": "ItemId", + "type": 4 + }, + { + "name": "AccountId", + "type": 52 + }, + { + "name": "Deadline", + "type": 4 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "collection", + "type": 4, + "typeName": "CollectionId" + }, + { + "name": "item", + "type": 4, + "typeName": "ItemId" + }, + { + "name": "attributes", + "type": 29, + "typeName": "Vec<(Vec, Vec)>" + }, + { + "name": "namespace", + "type": 247, + "typeName": "AttributeNamespace" + }, + { + "name": "deadline", + "type": 4, + "typeName": "Deadline" + } + ] + } + } + } + }, + { + "id": 260, + "type": { + "path": [ + "pallet_transaction_storage", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "store", + "fields": [ + { + "name": "data", + "type": 28, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Index and store data off chain. Minimum data size is 1 bytes, maximum is", + "`MaxTransactionSize`. Data will be removed after `STORAGE_PERIOD` blocks, unless `renew`", + "is called.", + "## Complexity", + "- O(n*log(n)) of data size, as all data is pushed to an in-memory trie." + ] + }, + { + "name": "renew", + "fields": [ + { + "name": "block", + "type": 4, + "typeName": "T::BlockNumber" + }, + { + "name": "index", + "type": 4, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "Renew previously stored data. Parameters are the block number that contains", + "previous `store` or `renew` call and transaction index within that block.", + "Transaction index is emitted in the `Stored` or `Renewed` event.", + "Applies same fees as `store`.", + "## Complexity", + "- O(1)." + ] + }, + { + "name": "check_proof", + "fields": [ + { + "name": "proof", + "type": 261, + "typeName": "TransactionStorageProof" + } + ], + "index": 2, + "docs": [ + "Check storage proof for block number `block_number() - StoragePeriod`.", + "If such block does not exist the proof is expected to be `None`.", + "## Complexity", + "- Linear w.r.t the number of indexed transactions in the proved block for random", + " probing.", + "There's a DB read for each transaction." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 261, + "type": { + "path": [ + "sp_transaction_storage_proof", + "TransactionStorageProof" + ], + "def": { + "composite": { + "fields": [ + { + "name": "chunk", + "type": 28, + "typeName": "Vec" + }, + { + "name": "proof", + "type": 31, + "typeName": "Vec>" + } + ] + } + } + } + }, + { + "id": 262, + "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": 51, + "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": 51, + "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": 263, + "type": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "control_auto_migration", + "fields": [ + { + "name": "maybe_config", + "type": 264, + "typeName": "Option" + } + ], + "index": 0, + "docs": [ + "Control the automatic migration.", + "", + "The dispatch origin of this call must be [`Config::ControlOrigin`]." + ] + }, + { + "name": "continue_migrate", + "fields": [ + { + "name": "limits", + "type": 265, + "typeName": "MigrationLimits" + }, + { + "name": "real_size_upper", + "type": 4, + "typeName": "u32" + }, + { + "name": "witness_task", + "type": 266, + "typeName": "MigrationTask" + } + ], + "index": 1, + "docs": [ + "Continue the migration for the given `limits`.", + "", + "The dispatch origin of this call can be any signed account.", + "", + "This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,", + "Upon successful execution, the transaction fee is returned.", + "", + "The (potentially over-estimated) of the byte length of all the data read must be", + "provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing", + "that executing the current `MigrationTask` with the given `limits` will not exceed", + "`real_size_upper` bytes of read data.", + "", + "The `witness_task` is merely a helper to prevent the caller from being slashed or", + "generally trigger a migration that they do not intend. This parameter is just a message", + "from caller, saying that they believed `witness_task` was the last state of the", + "migration, and they only wish for their transaction to do anything, if this assumption", + "holds. In case `witness_task` does not match, the transaction fails.", + "", + "Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the", + "recommended way of doing this is to pass a `limit` that only bounds `count`, as the", + "`size` limit can always be overwritten." + ] + }, + { + "name": "migrate_custom_top", + "fields": [ + { + "name": "keys", + "type": 31, + "typeName": "Vec>" + }, + { + "name": "witness_size", + "type": 4, + "typeName": "u32" + } + ], + "index": 2, + "docs": [ + "Migrate the list of top keys by iterating each of them one by one.", + "", + "This does not affect the global migration process tracker ([`MigrationProcess`]), and", + "should only be used in case any keys are leftover due to a bug." + ] + }, + { + "name": "migrate_custom_child", + "fields": [ + { + "name": "root", + "type": 28, + "typeName": "Vec" + }, + { + "name": "child_keys", + "type": 31, + "typeName": "Vec>" + }, + { + "name": "total_size", + "type": 4, + "typeName": "u32" + } + ], + "index": 3, + "docs": [ + "Migrate the list of child keys by iterating each of them one by one.", + "", + "All of the given child keys must be present under one `child_root`.", + "", + "This does not affect the global migration process tracker ([`MigrationProcess`]), and", + "should only be used in case any keys are leftover due to a bug." + ] + }, + { + "name": "set_signed_max_limits", + "fields": [ + { + "name": "limits", + "type": 265, + "typeName": "MigrationLimits" + } + ], + "index": 4, + "docs": [ + "Set the maximum limit of the signed migration." + ] + }, + { + "name": "force_set_progress", + "fields": [ + { + "name": "progress_top", + "type": 267, + "typeName": "ProgressOf" + }, + { + "name": "progress_child", + "type": 267, + "typeName": "ProgressOf" + } + ], + "index": 5, + "docs": [ + "Forcefully set the progress the running migration.", + "", + "This is only useful in one case: the next key to migrate is too big to be migrated with", + "a signed account, in a parachain context, and we simply want to skip it. A reasonable", + "example of this would be `:code:`, which is both very expensive to migrate, and commonly", + "used, so probably it is already migrated.", + "", + "In case you mess things up, you can also, in principle, use this to reset the migration", + "process." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 264, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 265 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 265 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 265, + "type": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "MigrationLimits" + ], + "def": { + "composite": { + "fields": [ + { + "name": "size", + "type": 4, + "typeName": "u32" + }, + { + "name": "item", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 266, + "type": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "MigrationTask" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "progress_top", + "type": 267, + "typeName": "ProgressOf" + }, + { + "name": "progress_child", + "type": 267, + "typeName": "ProgressOf" + }, + { + "name": "size", + "type": 4, + "typeName": "u32" + }, + { + "name": "top_items", + "type": 4, + "typeName": "u32" + }, + { + "name": "child_items", + "type": 4, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 267, + "type": { + "path": [ + "pallet_state_trie_migration", + "pallet", + "Progress" + ], + "params": [ + { + "name": "MaxKeyLen", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "ToStart", + "index": 0 + }, + { + "name": "LastKey", + "fields": [ + { + "type": 268, + "typeName": "BoundedVec" + } + ], + "index": 1 + }, + { + "name": "Complete", + "index": 2 + } + ] + } + } + } + }, + { + "id": 268, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 3 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 28, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 269, + "type": { + "path": [ + "pallet_child_bounties", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "add_child_bounty", + "fields": [ + { + "name": "parent_bounty_id", + "type": 36, + "typeName": "BountyIndex" + }, + { + "name": "value", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "description", + "type": 28, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Add a new child-bounty.", + "", + "The dispatch origin for this call must be the curator of parent", + "bounty and the parent bounty must be in \"active\" state.", + "", + "Child-bounty gets added successfully & fund gets transferred from", + "parent bounty to child-bounty account, if parent bounty has enough", + "funds, else the call fails.", + "", + "Upper bound to maximum number of active child bounties that can be", + "added are managed via runtime trait config", + "[`Config::MaxActiveChildBountyCount`].", + "", + "If the call is success, the status of child-bounty is updated to", + "\"Added\".", + "", + "- `parent_bounty_id`: Index of parent bounty for which child-bounty is being added.", + "- `value`: Value for executing the proposal.", + "- `description`: Text description for the child-bounty." + ] + }, + { + "name": "propose_curator", + "fields": [ + { + "name": "parent_bounty_id", + "type": 36, + "typeName": "BountyIndex" + }, + { + "name": "child_bounty_id", + "type": 36, + "typeName": "BountyIndex" + }, + { + "name": "curator", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "fee", + "type": 56, + "typeName": "BalanceOf" + } + ], + "index": 1, + "docs": [ + "Propose curator for funded child-bounty.", + "", + "The dispatch origin for this call must be curator of parent bounty.", + "", + "Parent bounty must be in active state, for this child-bounty call to", + "work.", + "", + "Child-bounty must be in \"Added\" state, for processing the call. And", + "state of child-bounty is moved to \"CuratorProposed\" on successful", + "call completion.", + "", + "- `parent_bounty_id`: Index of parent bounty.", + "- `child_bounty_id`: Index of child bounty.", + "- `curator`: Address of child-bounty curator.", + "- `fee`: payment fee to child-bounty curator for execution." + ] + }, + { + "name": "accept_curator", + "fields": [ + { + "name": "parent_bounty_id", + "type": 36, + "typeName": "BountyIndex" + }, + { + "name": "child_bounty_id", + "type": 36, + "typeName": "BountyIndex" + } + ], + "index": 2, + "docs": [ + "Accept the curator role for the child-bounty.", + "", + "The dispatch origin for this call must be the curator of this", + "child-bounty.", + "", + "A deposit will be reserved from the curator and refund upon", + "successful payout or cancellation.", + "", + "Fee for curator is deducted from curator fee of parent bounty.", + "", + "Parent bounty must be in active state, for this child-bounty call to", + "work.", + "", + "Child-bounty must be in \"CuratorProposed\" state, for processing the", + "call. And state of child-bounty is moved to \"Active\" on successful", + "call completion.", + "", + "- `parent_bounty_id`: Index of parent bounty.", + "- `child_bounty_id`: Index of child bounty." + ] + }, + { + "name": "unassign_curator", + "fields": [ + { + "name": "parent_bounty_id", + "type": 36, + "typeName": "BountyIndex" + }, + { + "name": "child_bounty_id", + "type": 36, + "typeName": "BountyIndex" + } + ], + "index": 3, + "docs": [ + "Unassign curator from a child-bounty.", + "", + "The dispatch origin for this call can be either `RejectOrigin`, or", + "the curator of the parent bounty, or any signed origin.", + "", + "For the origin other than T::RejectOrigin and the child-bounty", + "curator, parent bounty must be in active state, for this call to", + "work. We allow child-bounty curator and T::RejectOrigin to execute", + "this call irrespective of the parent bounty state.", + "", + "If this function is called by the `RejectOrigin` or the", + "parent bounty curator, we assume that the child-bounty curator is", + "malicious or inactive. As a result, child-bounty curator deposit is", + "slashed.", + "", + "If the origin is the child-bounty curator, we take this as a sign", + "that they are unable to do their job, and are willingly giving up.", + "We could slash the deposit, but for now we allow them to unreserve", + "their deposit and exit without issue. (We may want to change this if", + "it is abused.)", + "", + "Finally, the origin can be anyone iff the child-bounty curator is", + "\"inactive\". Expiry update due of parent bounty is used to estimate", + "inactive state of child-bounty curator.", + "", + "This allows anyone in the community to call out that a child-bounty", + "curator is not doing their due diligence, and we should pick a new", + "one. In this case the child-bounty curator deposit is slashed.", + "", + "State of child-bounty is moved to Added state on successful call", + "completion.", + "", + "- `parent_bounty_id`: Index of parent bounty.", + "- `child_bounty_id`: Index of child bounty." + ] + }, + { + "name": "award_child_bounty", + "fields": [ + { + "name": "parent_bounty_id", + "type": 36, + "typeName": "BountyIndex" + }, + { + "name": "child_bounty_id", + "type": 36, + "typeName": "BountyIndex" + }, + { + "name": "beneficiary", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 4, + "docs": [ + "Award child-bounty to a beneficiary.", + "", + "The beneficiary will be able to claim the funds after a delay.", + "", + "The dispatch origin for this call must be the parent curator or", + "curator of this child-bounty.", + "", + "Parent bounty must be in active state, for this child-bounty call to", + "work.", + "", + "Child-bounty must be in active state, for processing the call. And", + "state of child-bounty is moved to \"PendingPayout\" on successful call", + "completion.", + "", + "- `parent_bounty_id`: Index of parent bounty.", + "- `child_bounty_id`: Index of child bounty.", + "- `beneficiary`: Beneficiary account." + ] + }, + { + "name": "claim_child_bounty", + "fields": [ + { + "name": "parent_bounty_id", + "type": 36, + "typeName": "BountyIndex" + }, + { + "name": "child_bounty_id", + "type": 36, + "typeName": "BountyIndex" + } + ], + "index": 5, + "docs": [ + "Claim the payout from an awarded child-bounty after payout delay.", + "", + "The dispatch origin for this call may be any signed origin.", + "", + "Call works independent of parent bounty state, No need for parent", + "bounty to be in active state.", + "", + "The Beneficiary is paid out with agreed bounty value. Curator fee is", + "paid & curator deposit is unreserved.", + "", + "Child-bounty must be in \"PendingPayout\" state, for processing the", + "call. And instance of child-bounty is removed from the state on", + "successful call completion.", + "", + "- `parent_bounty_id`: Index of parent bounty.", + "- `child_bounty_id`: Index of child bounty." + ] + }, + { + "name": "close_child_bounty", + "fields": [ + { + "name": "parent_bounty_id", + "type": 36, + "typeName": "BountyIndex" + }, + { + "name": "child_bounty_id", + "type": 36, + "typeName": "BountyIndex" + } + ], + "index": 6, + "docs": [ + "Cancel a proposed or active child-bounty. Child-bounty account funds", + "are transferred to parent bounty account. The child-bounty curator", + "deposit may be unreserved if possible.", + "", + "The dispatch origin for this call must be either parent curator or", + "`T::RejectOrigin`.", + "", + "If the state of child-bounty is `Active`, curator deposit is", + "unreserved.", + "", + "If the state of child-bounty is `PendingPayout`, call fails &", + "returns `PendingPayout` error.", + "", + "For the origin other than T::RejectOrigin, parent bounty must be in", + "active state, for this child-bounty call to work. For origin", + "T::RejectOrigin execution is forced.", + "", + "Instance of child-bounty is removed from the state on successful", + "call completion.", + "", + "- `parent_bounty_id`: Index of parent bounty.", + "- `child_bounty_id`: Index of child bounty." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 270, + "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": 271, + "typeName": "Box>" + }, + { + "name": "proposal", + "type": 133, + "typeName": "BoundedCallOf" + }, + { + "name": "enactment_moment", + "type": 277, + "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": 20, + "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": 139, + "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": 271, + "type": { + "path": [ + "kitchensink_runtime", + "OriginCaller" + ], + "def": { + "variant": { + "variants": [ + { + "name": "system", + "fields": [ + { + "type": 272, + "typeName": "frame_system::Origin" + } + ], + "index": 0 + }, + { + "name": "Council", + "fields": [ + { + "type": 273, + "typeName": "pallet_collective::Origin" + } + ], + "index": 13 + }, + { + "name": "TechnicalCommittee", + "fields": [ + { + "type": 274, + "typeName": "pallet_collective::Origin" + } + ], + "index": 14 + }, + { + "name": "AllianceMotion", + "fields": [ + { + "type": 275, + "typeName": "pallet_collective::Origin" + } + ], + "index": 52 + }, + { + "name": "Void", + "fields": [ + { + "type": 276, + "typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::Void" + } + ], + "index": 4 + } + ] + } + } + } + }, + { + "id": 272, + "type": { + "path": [ + "frame_support", + "dispatch", + "RawOrigin" + ], + "params": [ + { + "name": "AccountId", + "type": 52 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Root", + "index": 0 + }, + { + "name": "Signed", + "fields": [ + { + "type": 52, + "typeName": "AccountId" + } + ], + "index": 1 + }, + { + "name": "None", + "index": 2 + } + ] + } + } + } + }, + { + "id": 273, + "type": { + "path": [ + "pallet_collective", + "RawOrigin" + ], + "params": [ + { + "name": "AccountId", + "type": 52 + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Members", + "fields": [ + { + "type": 4, + "typeName": "MemberCount" + }, + { + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0 + }, + { + "name": "Member", + "fields": [ + { + "type": 52, + "typeName": "AccountId" + } + ], + "index": 1 + }, + { + "name": "_Phantom", + "index": 2 + } + ] + } + } + } + }, + { + "id": 274, + "type": { + "path": [ + "pallet_collective", + "RawOrigin" + ], + "params": [ + { + "name": "AccountId", + "type": 52 + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Members", + "fields": [ + { + "type": 4, + "typeName": "MemberCount" + }, + { + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0 + }, + { + "name": "Member", + "fields": [ + { + "type": 52, + "typeName": "AccountId" + } + ], + "index": 1 + }, + { + "name": "_Phantom", + "index": 2 + } + ] + } + } + } + }, + { + "id": 275, + "type": { + "path": [ + "pallet_collective", + "RawOrigin" + ], + "params": [ + { + "name": "AccountId", + "type": 52 + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Members", + "fields": [ + { + "type": 4, + "typeName": "MemberCount" + }, + { + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0 + }, + { + "name": "Member", + "fields": [ + { + "type": 52, + "typeName": "AccountId" + } + ], + "index": 1 + }, + { + "name": "_Phantom", + "index": 2 + } + ] + } + } + } + }, + { + "id": 276, + "type": { + "path": [ + "sp_core", + "Void" + ], + "def": { + "variant": {} + } + } + }, + { + "id": 277, + "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": 278, + "type": { + "path": [ + "pallet_remark", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "store", + "fields": [ + { + "name": "remark", + "type": 28, + "typeName": "Vec" + } + ], + "index": 0, + "docs": [ + "Index and store data off chain." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 279, + "type": { + "path": [ + "pallet_root_testing", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "fill_block", + "fields": [ + { + "name": "ratio", + "type": 119, + "typeName": "Perbill" + } + ], + "index": 0, + "docs": [ + "A dispatch that will fill the block weight up to the given ratio." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 280, + "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": 36, + "typeName": "PollIndexOf" + }, + { + "name": "vote", + "type": 281, + "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": 20, + "typeName": "ClassOf" + }, + { + "name": "to", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "conviction", + "type": 283, + "typeName": "Conviction" + }, + { + "name": "balance", + "type": 57, + "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": 20, + "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": 20, + "typeName": "ClassOf" + }, + { + "name": "target", + "type": 51, + "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": 284, + "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": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "class", + "type": 20, + "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": 281, + "type": { + "path": [ + "pallet_conviction_voting", + "vote", + "AccountVote" + ], + "params": [ + { + "name": "Balance", + "type": 57 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Standard", + "fields": [ + { + "name": "vote", + "type": 282, + "typeName": "Vote" + }, + { + "name": "balance", + "type": 57, + "typeName": "Balance" + } + ], + "index": 0 + }, + { + "name": "Split", + "fields": [ + { + "name": "aye", + "type": 57, + "typeName": "Balance" + }, + { + "name": "nay", + "type": 57, + "typeName": "Balance" + } + ], + "index": 1 + }, + { + "name": "SplitAbstain", + "fields": [ + { + "name": "aye", + "type": 57, + "typeName": "Balance" + }, + { + "name": "nay", + "type": 57, + "typeName": "Balance" + }, + { + "name": "abstain", + "type": 57, + "typeName": "Balance" + } + ], + "index": 2 + } + ] + } + } + } + }, + { + "id": 282, + "type": { + "path": [ + "pallet_conviction_voting", + "vote", + "Vote" + ], + "def": { + "composite": { + "fields": [ + { + "type": 3 + } + ] + } + } + } + }, + { + "id": 283, + "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": 284, + "type": { + "path": [ + "Option" + ], + "params": [ + { + "name": "T", + "type": 20 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "None", + "index": 0 + }, + { + "name": "Some", + "fields": [ + { + "type": 20 + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 285, + "type": { + "path": [ + "pallet_whitelist", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "whitelist_call", + "fields": [ + { + "name": "call_hash", + "type": 1, + "typeName": "PreimageHash" + } + ], + "index": 0 + }, + { + "name": "remove_whitelisted_call", + "fields": [ + { + "name": "call_hash", + "type": 1, + "typeName": "PreimageHash" + } + ], + "index": 1 + }, + { + "name": "dispatch_whitelisted_call", + "fields": [ + { + "name": "call_hash", + "type": 1, + "typeName": "PreimageHash" + }, + { + "name": "call_encoded_len", + "type": 4, + "typeName": "u32" + }, + { + "name": "call_weight_witness", + "type": 144, + "typeName": "Weight" + } + ], + "index": 2 + }, + { + "name": "dispatch_whitelisted_call_with_preimage", + "fields": [ + { + "name": "call", + "type": 26, + "typeName": "Box<::RuntimeCall>" + } + ], + "index": 3 + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 286, + "type": { + "path": [ + "pallet_collective", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "set_members", + "fields": [ + { + "name": "new_members", + "type": 122, + "typeName": "Vec" + }, + { + "name": "prime", + "type": 141, + "typeName": "Option" + }, + { + "name": "old_count", + "type": 4, + "typeName": "MemberCount" + } + ], + "index": 0, + "docs": [ + "Set the collective's membership.", + "", + "- `new_members`: The new member list. Be nice to the chain and provide it sorted.", + "- `prime`: The prime member whose vote sets the default.", + "- `old_count`: The upper bound for the previous number of members in storage. Used for", + " weight estimation.", + "", + "The dispatch of this call must be `SetMembersOrigin`.", + "", + "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but", + " the weight estimations rely on it to estimate dispatchable weight.", + "", + "# WARNING:", + "", + "The `pallet-collective` can also be managed by logic outside of the pallet through the", + "implementation of the trait [`ChangeMembers`].", + "Any call to `set_members` must be careful that the member set doesn't get out of sync", + "with other logic managing the member set.", + "", + "## Complexity:", + "- `O(MP + N)` where:", + " - `M` old-members-count (code- and governance-bounded)", + " - `N` new-members-count (code- and governance-bounded)", + " - `P` proposals-count (code-bounded)" + ] + }, + { + "name": "execute", + "fields": [ + { + "name": "proposal", + "type": 26, + "typeName": "Box<>::Proposal>" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 1, + "docs": [ + "Dispatch a proposal from a member using the `Member` origin.", + "", + "Origin must be a member of the collective.", + "", + "## Complexity:", + "- `O(B + M + P)` where:", + "- `B` is `proposal` size in bytes (length-fee-bounded)", + "- `M` members-count (code-bounded)", + "- `P` complexity of dispatching `proposal`" + ] + }, + { + "name": "propose", + "fields": [ + { + "name": "threshold", + "type": 36, + "typeName": "MemberCount" + }, + { + "name": "proposal", + "type": 26, + "typeName": "Box<>::Proposal>" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 2, + "docs": [ + "Add a new proposal to either be voted on or executed directly.", + "", + "Requires the sender to be member.", + "", + "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)", + "or put up for voting.", + "", + "## Complexity", + "- `O(B + M + P1)` or `O(B + M + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - branching is influenced by `threshold` where:", + " - `P1` is proposal execution complexity (`threshold < 2`)", + " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)" + ] + }, + { + "name": "vote", + "fields": [ + { + "name": "proposal", + "type": 1, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 36, + "typeName": "ProposalIndex" + }, + { + "name": "approve", + "type": 54, + "typeName": "bool" + } + ], + "index": 3, + "docs": [ + "Add an aye or nay vote for the sender to the given proposal.", + "", + "Requires the sender to be a member.", + "", + "Transaction fees will 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.", + "## Complexity", + "- `O(M)` where `M` is members-count (code- and governance-bounded)" + ] + }, + { + "name": "close_old_weight", + "fields": [ + { + "name": "proposal_hash", + "type": 1, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 36, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 142, + "typeName": "OldWeight" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 4, + "docs": [ + "Close a vote that is either approved, disapproved or whose voting period has ended.", + "", + "May be called by any signed account in order to finish voting and close the proposal.", + "", + "If called before the end of the voting period it will only close the vote if it is", + "has enough votes to be approved or disapproved.", + "", + "If called after the end of the voting period abstentions are counted as rejections", + "unless there is a prime member set and the prime member cast an approval.", + "", + "If the close operation completes successfully with disapproval, the transaction fee will", + "be waived. Otherwise execution of the approved operation will be charged to the caller.", + "", + "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed", + "proposal.", + "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", + "`storage::read` so it is `size_of::() == 4` larger than the pure length.", + "", + "## Complexity", + "- `O(B + M + P1 + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - `P1` is the complexity of `proposal` preimage.", + " - `P2` is proposal-count (code-bounded)" + ] + }, + { + "name": "disapprove_proposal", + "fields": [ + { + "name": "proposal_hash", + "type": 1, + "typeName": "T::Hash" + } + ], + "index": 5, + "docs": [ + "Disapprove a proposal, close, and remove it from the system, regardless of its current", + "state.", + "", + "Must be called by the Root origin.", + "", + "Parameters:", + "* `proposal_hash`: The hash of the proposal that should be disapproved.", + "", + "## Complexity", + "O(P) where P is the number of max proposals" + ] + }, + { + "name": "close", + "fields": [ + { + "name": "proposal_hash", + "type": 1, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 36, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 144, + "typeName": "Weight" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 6, + "docs": [ + "Close a vote that is either approved, disapproved or whose voting period has ended.", + "", + "May be called by any signed account in order to finish voting and close the proposal.", + "", + "If called before the end of the voting period it will only close the vote if it is", + "has enough votes to be approved or disapproved.", + "", + "If called after the end of the voting period abstentions are counted as rejections", + "unless there is a prime member set and the prime member cast an approval.", + "", + "If the close operation completes successfully with disapproval, the transaction fee will", + "be waived. Otherwise execution of the approved operation will be charged to the caller.", + "", + "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed", + "proposal.", + "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via", + "`storage::read` so it is `size_of::() == 4` larger than the pure length.", + "", + "## Complexity", + "- `O(B + M + P1 + P2)` where:", + " - `B` is `proposal` size in bytes (length-fee-bounded)", + " - `M` is members-count (code- and governance-bounded)", + " - `P1` is the complexity of `proposal` preimage.", + " - `P2` is proposal-count (code-bounded)" + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 287, + "type": { + "path": [ + "pallet_alliance", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "propose", + "fields": [ + { + "name": "threshold", + "type": 36, + "typeName": "u32" + }, + { + "name": "proposal", + "type": 26, + "typeName": "Box<>::Proposal>" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 0, + "docs": [ + "Add a new proposal to be voted on.", + "", + "Must be called by a Fellow." + ] + }, + { + "name": "vote", + "fields": [ + { + "name": "proposal", + "type": 1, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 36, + "typeName": "ProposalIndex" + }, + { + "name": "approve", + "type": 54, + "typeName": "bool" + } + ], + "index": 1, + "docs": [ + "Add an aye or nay vote for the sender to the given proposal.", + "", + "Must be called by a Fellow." + ] + }, + { + "name": "close_old_weight", + "fields": [ + { + "name": "proposal_hash", + "type": 1, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 36, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 142, + "typeName": "OldWeight" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 2, + "docs": [ + "Close a vote that is either approved, disapproved, or whose voting period has ended.", + "", + "Must be called by a Fellow." + ] + }, + { + "name": "init_members", + "fields": [ + { + "name": "fellows", + "type": 122, + "typeName": "Vec" + }, + { + "name": "allies", + "type": 122, + "typeName": "Vec" + } + ], + "index": 3, + "docs": [ + "Initialize the Alliance, onboard fellows and allies.", + "", + "The Alliance must be empty, and the call must provide some founding members.", + "", + "Must be called by the Root origin." + ] + }, + { + "name": "disband", + "fields": [ + { + "name": "witness", + "type": 288, + "typeName": "DisbandWitness" + } + ], + "index": 4, + "docs": [ + "Disband the Alliance, remove all active members and unreserve deposits.", + "", + "Witness data must be set." + ] + }, + { + "name": "set_rule", + "fields": [ + { + "name": "rule", + "type": 289, + "typeName": "Cid" + } + ], + "index": 5, + "docs": [ + "Set a new IPFS CID to the alliance rule." + ] + }, + { + "name": "announce", + "fields": [ + { + "name": "announcement", + "type": 289, + "typeName": "Cid" + } + ], + "index": 6, + "docs": [ + "Make an announcement of a new IPFS CID about alliance issues." + ] + }, + { + "name": "remove_announcement", + "fields": [ + { + "name": "announcement", + "type": 289, + "typeName": "Cid" + } + ], + "index": 7, + "docs": [ + "Remove an announcement." + ] + }, + { + "name": "join_alliance", + "index": 8, + "docs": [ + "Submit oneself for candidacy. A fixed deposit is reserved." + ] + }, + { + "name": "nominate_ally", + "fields": [ + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 9, + "docs": [ + "A Fellow can nominate someone to join the alliance as an Ally. There is no deposit", + "required from the nominator or nominee." + ] + }, + { + "name": "elevate_ally", + "fields": [ + { + "name": "ally", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 10, + "docs": [ + "Elevate an Ally to Fellow." + ] + }, + { + "name": "give_retirement_notice", + "index": 11, + "docs": [ + "As a member, give a retirement notice and start a retirement period required to pass in", + "order to retire." + ] + }, + { + "name": "retire", + "index": 12, + "docs": [ + "As a member, retire from the Alliance and unreserve the deposit.", + "", + "This can only be done once you have called `give_retirement_notice` and the", + "`RetirementPeriod` has passed." + ] + }, + { + "name": "kick_member", + "fields": [ + { + "name": "who", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 13, + "docs": [ + "Kick a member from the Alliance and slash its deposit." + ] + }, + { + "name": "add_unscrupulous_items", + "fields": [ + { + "name": "items", + "type": 293, + "typeName": "Vec>" + } + ], + "index": 14, + "docs": [ + "Add accounts or websites to the list of unscrupulous items." + ] + }, + { + "name": "remove_unscrupulous_items", + "fields": [ + { + "name": "items", + "type": 293, + "typeName": "Vec>" + } + ], + "index": 15, + "docs": [ + "Deem some items no longer unscrupulous." + ] + }, + { + "name": "close", + "fields": [ + { + "name": "proposal_hash", + "type": 1, + "typeName": "T::Hash" + }, + { + "name": "index", + "type": 36, + "typeName": "ProposalIndex" + }, + { + "name": "proposal_weight_bound", + "type": 144, + "typeName": "Weight" + }, + { + "name": "length_bound", + "type": 36, + "typeName": "u32" + } + ], + "index": 16, + "docs": [ + "Close a vote that is either approved, disapproved, or whose voting period has ended.", + "", + "Must be called by a Fellow." + ] + }, + { + "name": "abdicate_fellow_status", + "index": 17, + "docs": [ + "Abdicate one's position as a voting member and just be an Ally. May be used by Fellows", + "who do not want to leave the Alliance but do not have the capacity to participate", + "operationally for some time." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 288, + "type": { + "path": [ + "pallet_alliance", + "types", + "DisbandWitness" + ], + "def": { + "composite": { + "fields": [ + { + "name": "fellow_members", + "type": 36, + "typeName": "u32" + }, + { + "name": "ally_members", + "type": 36, + "typeName": "u32" + } + ] + } + } + } + }, + { + "id": 289, + "type": { + "path": [ + "pallet_alliance", + "types", + "Cid" + ], + "def": { + "composite": { + "fields": [ + { + "name": "version", + "type": 290, + "typeName": "Version" + }, + { + "name": "codec", + "type": 12, + "typeName": "u64" + }, + { + "name": "hash", + "type": 291, + "typeName": "Multihash" + } + ] + } + } + } + }, + { + "id": 290, + "type": { + "path": [ + "pallet_alliance", + "types", + "Version" + ], + "def": { + "variant": { + "variants": [ + { + "name": "V0", + "index": 0 + }, + { + "name": "V1", + "index": 1 + } + ] + } + } + } + }, + { + "id": 291, + "type": { + "path": [ + "pallet_alliance", + "types", + "Multihash" + ], + "def": { + "composite": { + "fields": [ + { + "name": "code", + "type": 12, + "typeName": "u64" + }, + { + "name": "digest", + "type": 292, + "typeName": "BoundedVec>" + } + ] + } + } + } + }, + { + "id": 292, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 3 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 28, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 293, + "type": { + "def": { + "sequence": { + "type": 294 + } + } + } + }, + { + "id": 294, + "type": { + "path": [ + "pallet_alliance", + "UnscrupulousItem" + ], + "params": [ + { + "name": "AccountId", + "type": 52 + }, + { + "name": "Url", + "type": 295 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "AccountId", + "fields": [ + { + "type": 52, + "typeName": "AccountId" + } + ], + "index": 0 + }, + { + "name": "Website", + "fields": [ + { + "type": 295, + "typeName": "Url" + } + ], + "index": 1 + } + ] + } + } + } + }, + { + "id": 295, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 3 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 28, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 296, + "type": { + "path": [ + "pallet_nomination_pools", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "join", + "fields": [ + { + "name": "amount", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + } + ], + "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.", + "", + "# 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": "bond_extra", + "fields": [ + { + "name": "extra", + "type": 297, + "typeName": "BondExtra>" + } + ], + "index": 1, + "docs": [ + "Bond `extra` more funds from `origin` into the pool to which they already belong.", + "", + "Additional funds can come from either the free balance of the account, of from the", + "accumulated rewards, see [`BondExtra`].", + "", + "Bonding extra funds implies an automatic payout of all pending rewards as well.", + "See `bond_extra_other` to bond pending rewards of `other` members." + ] + }, + { + "name": "claim_payout", + "index": 2, + "docs": [ + "A bonded member can use this to claim their payout based on the rewards that the pool", + "has accumulated since their last claimed payout (OR since joining if this is there first", + "time claiming rewards). The payout will be transferred to the member's account.", + "", + "The member will earn rewards pro rata based on the members stake vs the sum of the", + "members in the pools stake. Rewards do not \"expire\".", + "", + "See `claim_payout_other` to caim rewards on bahalf of some `other` pool member." + ] + }, + { + "name": "unbond", + "fields": [ + { + "name": "member_account", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "unbonding_points", + "type": 56, + "typeName": "BalanceOf" + } + ], + "index": 3, + "docs": [ + "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It", + "implicitly collects the rewards one last time, since not doing so would mean some", + "rewards would be forfeited.", + "", + "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 either the root or bouncer. This is refereed to", + " as a kick.", + "* The pool is destroying and the member is not the depositor.", + "* The pool is destroying, the member is the depositor 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 depositor.", + "* The caller is the depositor, the pool is destroying and no other members are in the", + " pool.", + "", + "# 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": "member_account", + "type": 51, + "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 and the target is not the depositor.", + "* The target is the depositor and they are the only member in the sub pools.", + "* The pool is blocked and the caller is either the root or bouncer.", + "", + "# Conditions for permissioned dispatch", + "", + "* The caller is the target and they are not the depositor.", + "", + "# Note", + "", + "If the target is the depositor, the pool will be destroyed." + ] + }, + { + "name": "create", + "fields": [ + { + "name": "amount", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "root", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "nominator", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "bouncer", + "type": 51, + "typeName": "AccountIdLookupOf" + } + ], + "index": 6, + "docs": [ + "Create a new delegation pool.", + "", + "# Arguments", + "", + "* `amount` - The amount of funds to delegate to the pool. This also acts of a sort of", + " deposit since the pools creator cannot fully unbond funds until the pool is being", + " destroyed.", + "* `index` - A disambiguation index for creating the account. Likely only useful when", + " creating multiple pools in the same extrinsic.", + "* `root` - The account to set as [`PoolRoles::root`].", + "* `nominator` - The account to set as the [`PoolRoles::nominator`].", + "* `bouncer` - The account to set as the [`PoolRoles::bouncer`].", + "", + "# Note", + "", + "In addition to `amount`, the caller will transfer the existential deposit; so the caller", + "needs at have at least `amount + existential_deposit` transferrable." + ] + }, + { + "name": "create_with_pool_id", + "fields": [ + { + "name": "amount", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "root", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "nominator", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "bouncer", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + } + ], + "index": 7, + "docs": [ + "Create a new delegation pool with a previously used pool id", + "", + "# Arguments", + "", + "same as `create` with the inclusion of", + "* `pool_id` - `A valid PoolId." + ] + }, + { + "name": "nominate", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "validators", + "type": 122, + "typeName": "Vec" + } + ], + "index": 8, + "docs": [ + "Nominate on behalf of the pool.", + "", + "The dispatch origin of this call must be signed by the pool nominator or the pool", + "root role.", + "", + "This directly forward the call to the staking pallet, on behalf of the pool bonded", + "account." + ] + }, + { + "name": "set_state", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "state", + "type": 298, + "typeName": "PoolState" + } + ], + "index": 9, + "docs": [ + "Set a new state for the pool.", + "", + "If a pool is already in the `Destroying` state, then under no condition can its state", + "change again.", + "", + "The dispatch origin of this call must be either:", + "", + "1. signed by the bouncer, or the root role of the pool,", + "2. if the pool conditions to be open are NOT met (as described by `ok_to_be_open`), and", + " then the state of the pool can be permissionlessly changed to `Destroying`." + ] + }, + { + "name": "set_metadata", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "metadata", + "type": 28, + "typeName": "Vec" + } + ], + "index": 10, + "docs": [ + "Set a new metadata for the pool.", + "", + "The dispatch origin of this call must be signed by the bouncer, or the root role", + "of the pool." + ] + }, + { + "name": "set_configs", + "fields": [ + { + "name": "min_join_bond", + "type": 299, + "typeName": "ConfigOp>" + }, + { + "name": "min_create_bond", + "type": 299, + "typeName": "ConfigOp>" + }, + { + "name": "max_pools", + "type": 300, + "typeName": "ConfigOp" + }, + { + "name": "max_members", + "type": 300, + "typeName": "ConfigOp" + }, + { + "name": "max_members_per_pool", + "type": 300, + "typeName": "ConfigOp" + } + ], + "index": 11, + "docs": [ + "Update configurations for the nomination pools. The origin for this call must be", + "Root.", + "", + "# Arguments", + "", + "* `min_join_bond` - Set [`MinJoinBond`].", + "* `min_create_bond` - Set [`MinCreateBond`].", + "* `max_pools` - Set [`MaxPools`].", + "* `max_members` - Set [`MaxPoolMembers`].", + "* `max_members_per_pool` - Set [`MaxPoolMembersPerPool`]." + ] + }, + { + "name": "update_roles", + "fields": [ + { + "name": "pool_id", + "type": 4, + "typeName": "PoolId" + }, + { + "name": "new_root", + "type": 301, + "typeName": "ConfigOp" + }, + { + "name": "new_nominator", + "type": 301, + "typeName": "ConfigOp" + }, + { + "name": "new_bouncer", + "type": 301, + "typeName": "ConfigOp" + } + ], + "index": 12, + "docs": [ + "Update the roles of the pool.", + "", + "The root is the only entity that can change any of the roles, including itself,", + "excluding the depositor, who can never change.", + "", + "It emits an event, notifying UIs of the role change. This event is quite relevant to", + "most pool members and they should be informed of changes to pool roles." + ] + }, + { + "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 nominator or the pool", + "root role, same as [`Pallet::nominate`].", + "", + "This directly forward the call to the staking pallet, on behalf of the pool bonded", + "account." + ] + }, + { + "name": "bond_extra_other", + "fields": [ + { + "name": "member", + "type": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "extra", + "type": 297, + "typeName": "BondExtra>" + } + ], + "index": 14, + "docs": [ + "`origin` bonds funds from `extra` for some pool member `member` into their respective", + "pools.", + "", + "`origin` can bond extra funds from free balance or pending rewards when `origin ==", + "other`.", + "", + "In the case of `origin != other`, `origin` can only bond extra pending rewards of", + "`other` members assuming set_claim_permission for the given member is", + "`PermissionlessAll` or `PermissionlessCompound`." + ] + }, + { + "name": "set_claim_permission", + "fields": [ + { + "name": "permission", + "type": 302, + "typeName": "ClaimPermission" + } + ], + "index": 15, + "docs": [ + "Allows a pool member to set a claim permission to allow or disallow permissionless", + "bonding and withdrawing.", + "", + "By default, this is `Permissioned`, which implies only the pool member themselves can", + "claim their pending rewards. If a pool member wishes so, they can set this to", + "`PermissionlessAll` to allow any account to claim their rewards and bond extra to the", + "pool.", + "", + "# Arguments", + "", + "* `origin` - Member of a pool.", + "* `actor` - Account to claim reward. // improve this" + ] + }, + { + "name": "claim_payout_other", + "fields": [ + { + "name": "other", + "type": 52, + "typeName": "T::AccountId" + } + ], + "index": 16, + "docs": [ + "`origin` can claim payouts on some pool member `other`'s behalf.", + "", + "Pool member `other` must have a `PermissionlessAll` or `PermissionlessWithdraw` in order", + "for this call to be successful." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 297, + "type": { + "path": [ + "pallet_nomination_pools", + "BondExtra" + ], + "params": [ + { + "name": "Balance", + "type": 57 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "FreeBalance", + "fields": [ + { + "type": 57, + "typeName": "Balance" + } + ], + "index": 0 + }, + { + "name": "Rewards", + "index": 1 + } + ] + } + } + } + }, + { + "id": 298, + "type": { + "path": [ + "pallet_nomination_pools", + "PoolState" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Open", + "index": 0 + }, + { + "name": "Blocked", + "index": 1 + }, + { + "name": "Destroying", + "index": 2 + } + ] + } + } + } + }, + { + "id": 299, + "type": { + "path": [ + "pallet_nomination_pools", + "ConfigOp" + ], + "params": [ + { + "name": "T", + "type": 57 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noop", + "index": 0 + }, + { + "name": "Set", + "fields": [ + { + "type": 57, + "typeName": "T" + } + ], + "index": 1 + }, + { + "name": "Remove", + "index": 2 + } + ] + } + } + } + }, + { + "id": 300, + "type": { + "path": [ + "pallet_nomination_pools", + "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": 301, + "type": { + "path": [ + "pallet_nomination_pools", + "ConfigOp" + ], + "params": [ + { + "name": "T", + "type": 52 + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Noop", + "index": 0 + }, + { + "name": "Set", + "fields": [ + { + "type": 52, + "typeName": "T" + } + ], + "index": 1 + }, + { + "name": "Remove", + "index": 2 + } + ] + } + } + } + }, + { + "id": 302, + "type": { + "path": [ + "pallet_nomination_pools", + "ClaimPermission" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Permissioned", + "index": 0 + }, + { + "name": "PermissionlessCompound", + "index": 1 + }, + { + "name": "PermissionlessWithdraw", + "index": 2 + }, + { + "name": "PermissionlessAll", + "index": 3 + } + ] + } + } + } + }, + { + "id": 303, + "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": 271, + "typeName": "Box>" + }, + { + "name": "proposal", + "type": 133, + "typeName": "BoundedCallOf" + }, + { + "name": "enactment_moment", + "type": 277, + "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": 20, + "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": 139, + "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": 304, + "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": 51, + "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": 51, + "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": 51, + "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": 51, + "typeName": "AccountIdLookupOf" + }, + { + "name": "min_rank", + "type": 20, + "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": 54, + "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": 305, + "type": { + "path": [ + "pallet_fast_unstake", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "register_fast_unstake", + "index": 0, + "docs": [ + "Register oneself for fast-unstake.", + "", + "The dispatch origin of this call must be signed by the controller account, similar to", + "`staking::unbond`.", + "", + "The stash associated with the origin must have no ongoing unlocking chunks. If", + "successful, this will fully unbond and chill the stash. Then, it will enqueue the stash", + "to be checked in further blocks.", + "", + "If by the time this is called, the stash is actually eligible for fast-unstake, then", + "they are guaranteed to remain eligible, because the call will chill them as well.", + "", + "If the check works, the entire staking data is removed, i.e. the stash is fully", + "unstaked.", + "", + "If the check fails, the stash remains chilled and waiting for being unbonded as in with", + "the normal staking system, but they lose part of their unbonding chunks due to consuming", + "the chain's resources." + ] + }, + { + "name": "deregister", + "index": 1, + "docs": [ + "Deregister oneself from the fast-unstake.", + "", + "This is useful if one is registered, they are still waiting, and they change their mind.", + "", + "Note that the associated stash is still fully unbonded and chilled as a consequence of", + "calling `register_fast_unstake`. This should probably be followed by a call to", + "`Staking::rebond`." + ] + }, + { + "name": "control", + "fields": [ + { + "name": "eras_to_check", + "type": 4, + "typeName": "EraIndex" + } + ], + "index": 2, + "docs": [ + "Control the operation of this pallet.", + "", + "Dispatch origin must be signed by the [`Config::ControlOrigin`]." + ] + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 306, + "type": { + "path": [ + "pallet_message_queue", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "reap_page", + "fields": [ + { + "name": "message_origin", + "type": 4, + "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": 4, + "typeName": "MessageOriginOf" + }, + { + "name": "page", + "type": 4, + "typeName": "PageIndex" + }, + { + "name": "index", + "type": 4, + "typeName": "T::Size" + }, + { + "name": "weight_limit", + "type": 144, + "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": 307, + "type": { + "path": [ + "frame_benchmarking_pallet_pov", + "pallet", + "Call" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "emit_event", + "index": 0 + }, + { + "name": "noop", + "index": 1 + } + ] + } + }, + "docs": [ + "Contains one variant per dispatchable that can be called by an extrinsic." + ] + } + }, + { + "id": 308, + "type": { + "def": { + "tuple": [ + 309, + 310, + 311, + 312, + 313, + 315, + 316, + 317 + ] + } + } + }, + { + "id": 309, + "type": { + "path": [ + "frame_system", + "extensions", + "check_non_zero_sender", + "CheckNonZeroSender" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 310, + "type": { + "path": [ + "frame_system", + "extensions", + "check_spec_version", + "CheckSpecVersion" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 311, + "type": { + "path": [ + "frame_system", + "extensions", + "check_tx_version", + "CheckTxVersion" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 312, + "type": { + "path": [ + "frame_system", + "extensions", + "check_genesis", + "CheckGenesis" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 313, + "type": { + "path": [ + "frame_system", + "extensions", + "check_mortality", + "CheckMortality" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 314, + "typeName": "Era" + } + ] + } + } + } + }, + { + "id": 314, + "type": { + "path": [ + "sp_runtime", + "generic", + "era", + "Era" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Immortal", + "index": 0 + }, + { + "name": "Mortal1", + "fields": [ + { + "type": 3 + } + ], + "index": 1 + }, + { + "name": "Mortal2", + "fields": [ + { + "type": 3 + } + ], + "index": 2 + }, + { + "name": "Mortal3", + "fields": [ + { + "type": 3 + } + ], + "index": 3 + }, + { + "name": "Mortal4", + "fields": [ + { + "type": 3 + } + ], + "index": 4 + }, + { + "name": "Mortal5", + "fields": [ + { + "type": 3 + } + ], + "index": 5 + }, + { + "name": "Mortal6", + "fields": [ + { + "type": 3 + } + ], + "index": 6 + }, + { + "name": "Mortal7", + "fields": [ + { + "type": 3 + } + ], + "index": 7 + }, + { + "name": "Mortal8", + "fields": [ + { + "type": 3 + } + ], + "index": 8 + }, + { + "name": "Mortal9", + "fields": [ + { + "type": 3 + } + ], + "index": 9 + }, + { + "name": "Mortal10", + "fields": [ + { + "type": 3 + } + ], + "index": 10 + }, + { + "name": "Mortal11", + "fields": [ + { + "type": 3 + } + ], + "index": 11 + }, + { + "name": "Mortal12", + "fields": [ + { + "type": 3 + } + ], + "index": 12 + }, + { + "name": "Mortal13", + "fields": [ + { + "type": 3 + } + ], + "index": 13 + }, + { + "name": "Mortal14", + "fields": [ + { + "type": 3 + } + ], + "index": 14 + }, + { + "name": "Mortal15", + "fields": [ + { + "type": 3 + } + ], + "index": 15 + }, + { + "name": "Mortal16", + "fields": [ + { + "type": 3 + } + ], + "index": 16 + }, + { + "name": "Mortal17", + "fields": [ + { + "type": 3 + } + ], + "index": 17 + }, + { + "name": "Mortal18", + "fields": [ + { + "type": 3 + } + ], + "index": 18 + }, + { + "name": "Mortal19", + "fields": [ + { + "type": 3 + } + ], + "index": 19 + }, + { + "name": "Mortal20", + "fields": [ + { + "type": 3 + } + ], + "index": 20 + }, + { + "name": "Mortal21", + "fields": [ + { + "type": 3 + } + ], + "index": 21 + }, + { + "name": "Mortal22", + "fields": [ + { + "type": 3 + } + ], + "index": 22 + }, + { + "name": "Mortal23", + "fields": [ + { + "type": 3 + } + ], + "index": 23 + }, + { + "name": "Mortal24", + "fields": [ + { + "type": 3 + } + ], + "index": 24 + }, + { + "name": "Mortal25", + "fields": [ + { + "type": 3 + } + ], + "index": 25 + }, + { + "name": "Mortal26", + "fields": [ + { + "type": 3 + } + ], + "index": 26 + }, + { + "name": "Mortal27", + "fields": [ + { + "type": 3 + } + ], + "index": 27 + }, + { + "name": "Mortal28", + "fields": [ + { + "type": 3 + } + ], + "index": 28 + }, + { + "name": "Mortal29", + "fields": [ + { + "type": 3 + } + ], + "index": 29 + }, + { + "name": "Mortal30", + "fields": [ + { + "type": 3 + } + ], + "index": 30 + }, + { + "name": "Mortal31", + "fields": [ + { + "type": 3 + } + ], + "index": 31 + }, + { + "name": "Mortal32", + "fields": [ + { + "type": 3 + } + ], + "index": 32 + }, + { + "name": "Mortal33", + "fields": [ + { + "type": 3 + } + ], + "index": 33 + }, + { + "name": "Mortal34", + "fields": [ + { + "type": 3 + } + ], + "index": 34 + }, + { + "name": "Mortal35", + "fields": [ + { + "type": 3 + } + ], + "index": 35 + }, + { + "name": "Mortal36", + "fields": [ + { + "type": 3 + } + ], + "index": 36 + }, + { + "name": "Mortal37", + "fields": [ + { + "type": 3 + } + ], + "index": 37 + }, + { + "name": "Mortal38", + "fields": [ + { + "type": 3 + } + ], + "index": 38 + }, + { + "name": "Mortal39", + "fields": [ + { + "type": 3 + } + ], + "index": 39 + }, + { + "name": "Mortal40", + "fields": [ + { + "type": 3 + } + ], + "index": 40 + }, + { + "name": "Mortal41", + "fields": [ + { + "type": 3 + } + ], + "index": 41 + }, + { + "name": "Mortal42", + "fields": [ + { + "type": 3 + } + ], + "index": 42 + }, + { + "name": "Mortal43", + "fields": [ + { + "type": 3 + } + ], + "index": 43 + }, + { + "name": "Mortal44", + "fields": [ + { + "type": 3 + } + ], + "index": 44 + }, + { + "name": "Mortal45", + "fields": [ + { + "type": 3 + } + ], + "index": 45 + }, + { + "name": "Mortal46", + "fields": [ + { + "type": 3 + } + ], + "index": 46 + }, + { + "name": "Mortal47", + "fields": [ + { + "type": 3 + } + ], + "index": 47 + }, + { + "name": "Mortal48", + "fields": [ + { + "type": 3 + } + ], + "index": 48 + }, + { + "name": "Mortal49", + "fields": [ + { + "type": 3 + } + ], + "index": 49 + }, + { + "name": "Mortal50", + "fields": [ + { + "type": 3 + } + ], + "index": 50 + }, + { + "name": "Mortal51", + "fields": [ + { + "type": 3 + } + ], + "index": 51 + }, + { + "name": "Mortal52", + "fields": [ + { + "type": 3 + } + ], + "index": 52 + }, + { + "name": "Mortal53", + "fields": [ + { + "type": 3 + } + ], + "index": 53 + }, + { + "name": "Mortal54", + "fields": [ + { + "type": 3 + } + ], + "index": 54 + }, + { + "name": "Mortal55", + "fields": [ + { + "type": 3 + } + ], + "index": 55 + }, + { + "name": "Mortal56", + "fields": [ + { + "type": 3 + } + ], + "index": 56 + }, + { + "name": "Mortal57", + "fields": [ + { + "type": 3 + } + ], + "index": 57 + }, + { + "name": "Mortal58", + "fields": [ + { + "type": 3 + } + ], + "index": 58 + }, + { + "name": "Mortal59", + "fields": [ + { + "type": 3 + } + ], + "index": 59 + }, + { + "name": "Mortal60", + "fields": [ + { + "type": 3 + } + ], + "index": 60 + }, + { + "name": "Mortal61", + "fields": [ + { + "type": 3 + } + ], + "index": 61 + }, + { + "name": "Mortal62", + "fields": [ + { + "type": 3 + } + ], + "index": 62 + }, + { + "name": "Mortal63", + "fields": [ + { + "type": 3 + } + ], + "index": 63 + }, + { + "name": "Mortal64", + "fields": [ + { + "type": 3 + } + ], + "index": 64 + }, + { + "name": "Mortal65", + "fields": [ + { + "type": 3 + } + ], + "index": 65 + }, + { + "name": "Mortal66", + "fields": [ + { + "type": 3 + } + ], + "index": 66 + }, + { + "name": "Mortal67", + "fields": [ + { + "type": 3 + } + ], + "index": 67 + }, + { + "name": "Mortal68", + "fields": [ + { + "type": 3 + } + ], + "index": 68 + }, + { + "name": "Mortal69", + "fields": [ + { + "type": 3 + } + ], + "index": 69 + }, + { + "name": "Mortal70", + "fields": [ + { + "type": 3 + } + ], + "index": 70 + }, + { + "name": "Mortal71", + "fields": [ + { + "type": 3 + } + ], + "index": 71 + }, + { + "name": "Mortal72", + "fields": [ + { + "type": 3 + } + ], + "index": 72 + }, + { + "name": "Mortal73", + "fields": [ + { + "type": 3 + } + ], + "index": 73 + }, + { + "name": "Mortal74", + "fields": [ + { + "type": 3 + } + ], + "index": 74 + }, + { + "name": "Mortal75", + "fields": [ + { + "type": 3 + } + ], + "index": 75 + }, + { + "name": "Mortal76", + "fields": [ + { + "type": 3 + } + ], + "index": 76 + }, + { + "name": "Mortal77", + "fields": [ + { + "type": 3 + } + ], + "index": 77 + }, + { + "name": "Mortal78", + "fields": [ + { + "type": 3 + } + ], + "index": 78 + }, + { + "name": "Mortal79", + "fields": [ + { + "type": 3 + } + ], + "index": 79 + }, + { + "name": "Mortal80", + "fields": [ + { + "type": 3 + } + ], + "index": 80 + }, + { + "name": "Mortal81", + "fields": [ + { + "type": 3 + } + ], + "index": 81 + }, + { + "name": "Mortal82", + "fields": [ + { + "type": 3 + } + ], + "index": 82 + }, + { + "name": "Mortal83", + "fields": [ + { + "type": 3 + } + ], + "index": 83 + }, + { + "name": "Mortal84", + "fields": [ + { + "type": 3 + } + ], + "index": 84 + }, + { + "name": "Mortal85", + "fields": [ + { + "type": 3 + } + ], + "index": 85 + }, + { + "name": "Mortal86", + "fields": [ + { + "type": 3 + } + ], + "index": 86 + }, + { + "name": "Mortal87", + "fields": [ + { + "type": 3 + } + ], + "index": 87 + }, + { + "name": "Mortal88", + "fields": [ + { + "type": 3 + } + ], + "index": 88 + }, + { + "name": "Mortal89", + "fields": [ + { + "type": 3 + } + ], + "index": 89 + }, + { + "name": "Mortal90", + "fields": [ + { + "type": 3 + } + ], + "index": 90 + }, + { + "name": "Mortal91", + "fields": [ + { + "type": 3 + } + ], + "index": 91 + }, + { + "name": "Mortal92", + "fields": [ + { + "type": 3 + } + ], + "index": 92 + }, + { + "name": "Mortal93", + "fields": [ + { + "type": 3 + } + ], + "index": 93 + }, + { + "name": "Mortal94", + "fields": [ + { + "type": 3 + } + ], + "index": 94 + }, + { + "name": "Mortal95", + "fields": [ + { + "type": 3 + } + ], + "index": 95 + }, + { + "name": "Mortal96", + "fields": [ + { + "type": 3 + } + ], + "index": 96 + }, + { + "name": "Mortal97", + "fields": [ + { + "type": 3 + } + ], + "index": 97 + }, + { + "name": "Mortal98", + "fields": [ + { + "type": 3 + } + ], + "index": 98 + }, + { + "name": "Mortal99", + "fields": [ + { + "type": 3 + } + ], + "index": 99 + }, + { + "name": "Mortal100", + "fields": [ + { + "type": 3 + } + ], + "index": 100 + }, + { + "name": "Mortal101", + "fields": [ + { + "type": 3 + } + ], + "index": 101 + }, + { + "name": "Mortal102", + "fields": [ + { + "type": 3 + } + ], + "index": 102 + }, + { + "name": "Mortal103", + "fields": [ + { + "type": 3 + } + ], + "index": 103 + }, + { + "name": "Mortal104", + "fields": [ + { + "type": 3 + } + ], + "index": 104 + }, + { + "name": "Mortal105", + "fields": [ + { + "type": 3 + } + ], + "index": 105 + }, + { + "name": "Mortal106", + "fields": [ + { + "type": 3 + } + ], + "index": 106 + }, + { + "name": "Mortal107", + "fields": [ + { + "type": 3 + } + ], + "index": 107 + }, + { + "name": "Mortal108", + "fields": [ + { + "type": 3 + } + ], + "index": 108 + }, + { + "name": "Mortal109", + "fields": [ + { + "type": 3 + } + ], + "index": 109 + }, + { + "name": "Mortal110", + "fields": [ + { + "type": 3 + } + ], + "index": 110 + }, + { + "name": "Mortal111", + "fields": [ + { + "type": 3 + } + ], + "index": 111 + }, + { + "name": "Mortal112", + "fields": [ + { + "type": 3 + } + ], + "index": 112 + }, + { + "name": "Mortal113", + "fields": [ + { + "type": 3 + } + ], + "index": 113 + }, + { + "name": "Mortal114", + "fields": [ + { + "type": 3 + } + ], + "index": 114 + }, + { + "name": "Mortal115", + "fields": [ + { + "type": 3 + } + ], + "index": 115 + }, + { + "name": "Mortal116", + "fields": [ + { + "type": 3 + } + ], + "index": 116 + }, + { + "name": "Mortal117", + "fields": [ + { + "type": 3 + } + ], + "index": 117 + }, + { + "name": "Mortal118", + "fields": [ + { + "type": 3 + } + ], + "index": 118 + }, + { + "name": "Mortal119", + "fields": [ + { + "type": 3 + } + ], + "index": 119 + }, + { + "name": "Mortal120", + "fields": [ + { + "type": 3 + } + ], + "index": 120 + }, + { + "name": "Mortal121", + "fields": [ + { + "type": 3 + } + ], + "index": 121 + }, + { + "name": "Mortal122", + "fields": [ + { + "type": 3 + } + ], + "index": 122 + }, + { + "name": "Mortal123", + "fields": [ + { + "type": 3 + } + ], + "index": 123 + }, + { + "name": "Mortal124", + "fields": [ + { + "type": 3 + } + ], + "index": 124 + }, + { + "name": "Mortal125", + "fields": [ + { + "type": 3 + } + ], + "index": 125 + }, + { + "name": "Mortal126", + "fields": [ + { + "type": 3 + } + ], + "index": 126 + }, + { + "name": "Mortal127", + "fields": [ + { + "type": 3 + } + ], + "index": 127 + }, + { + "name": "Mortal128", + "fields": [ + { + "type": 3 + } + ], + "index": 128 + }, + { + "name": "Mortal129", + "fields": [ + { + "type": 3 + } + ], + "index": 129 + }, + { + "name": "Mortal130", + "fields": [ + { + "type": 3 + } + ], + "index": 130 + }, + { + "name": "Mortal131", + "fields": [ + { + "type": 3 + } + ], + "index": 131 + }, + { + "name": "Mortal132", + "fields": [ + { + "type": 3 + } + ], + "index": 132 + }, + { + "name": "Mortal133", + "fields": [ + { + "type": 3 + } + ], + "index": 133 + }, + { + "name": "Mortal134", + "fields": [ + { + "type": 3 + } + ], + "index": 134 + }, + { + "name": "Mortal135", + "fields": [ + { + "type": 3 + } + ], + "index": 135 + }, + { + "name": "Mortal136", + "fields": [ + { + "type": 3 + } + ], + "index": 136 + }, + { + "name": "Mortal137", + "fields": [ + { + "type": 3 + } + ], + "index": 137 + }, + { + "name": "Mortal138", + "fields": [ + { + "type": 3 + } + ], + "index": 138 + }, + { + "name": "Mortal139", + "fields": [ + { + "type": 3 + } + ], + "index": 139 + }, + { + "name": "Mortal140", + "fields": [ + { + "type": 3 + } + ], + "index": 140 + }, + { + "name": "Mortal141", + "fields": [ + { + "type": 3 + } + ], + "index": 141 + }, + { + "name": "Mortal142", + "fields": [ + { + "type": 3 + } + ], + "index": 142 + }, + { + "name": "Mortal143", + "fields": [ + { + "type": 3 + } + ], + "index": 143 + }, + { + "name": "Mortal144", + "fields": [ + { + "type": 3 + } + ], + "index": 144 + }, + { + "name": "Mortal145", + "fields": [ + { + "type": 3 + } + ], + "index": 145 + }, + { + "name": "Mortal146", + "fields": [ + { + "type": 3 + } + ], + "index": 146 + }, + { + "name": "Mortal147", + "fields": [ + { + "type": 3 + } + ], + "index": 147 + }, + { + "name": "Mortal148", + "fields": [ + { + "type": 3 + } + ], + "index": 148 + }, + { + "name": "Mortal149", + "fields": [ + { + "type": 3 + } + ], + "index": 149 + }, + { + "name": "Mortal150", + "fields": [ + { + "type": 3 + } + ], + "index": 150 + }, + { + "name": "Mortal151", + "fields": [ + { + "type": 3 + } + ], + "index": 151 + }, + { + "name": "Mortal152", + "fields": [ + { + "type": 3 + } + ], + "index": 152 + }, + { + "name": "Mortal153", + "fields": [ + { + "type": 3 + } + ], + "index": 153 + }, + { + "name": "Mortal154", + "fields": [ + { + "type": 3 + } + ], + "index": 154 + }, + { + "name": "Mortal155", + "fields": [ + { + "type": 3 + } + ], + "index": 155 + }, + { + "name": "Mortal156", + "fields": [ + { + "type": 3 + } + ], + "index": 156 + }, + { + "name": "Mortal157", + "fields": [ + { + "type": 3 + } + ], + "index": 157 + }, + { + "name": "Mortal158", + "fields": [ + { + "type": 3 + } + ], + "index": 158 + }, + { + "name": "Mortal159", + "fields": [ + { + "type": 3 + } + ], + "index": 159 + }, + { + "name": "Mortal160", + "fields": [ + { + "type": 3 + } + ], + "index": 160 + }, + { + "name": "Mortal161", + "fields": [ + { + "type": 3 + } + ], + "index": 161 + }, + { + "name": "Mortal162", + "fields": [ + { + "type": 3 + } + ], + "index": 162 + }, + { + "name": "Mortal163", + "fields": [ + { + "type": 3 + } + ], + "index": 163 + }, + { + "name": "Mortal164", + "fields": [ + { + "type": 3 + } + ], + "index": 164 + }, + { + "name": "Mortal165", + "fields": [ + { + "type": 3 + } + ], + "index": 165 + }, + { + "name": "Mortal166", + "fields": [ + { + "type": 3 + } + ], + "index": 166 + }, + { + "name": "Mortal167", + "fields": [ + { + "type": 3 + } + ], + "index": 167 + }, + { + "name": "Mortal168", + "fields": [ + { + "type": 3 + } + ], + "index": 168 + }, + { + "name": "Mortal169", + "fields": [ + { + "type": 3 + } + ], + "index": 169 + }, + { + "name": "Mortal170", + "fields": [ + { + "type": 3 + } + ], + "index": 170 + }, + { + "name": "Mortal171", + "fields": [ + { + "type": 3 + } + ], + "index": 171 + }, + { + "name": "Mortal172", + "fields": [ + { + "type": 3 + } + ], + "index": 172 + }, + { + "name": "Mortal173", + "fields": [ + { + "type": 3 + } + ], + "index": 173 + }, + { + "name": "Mortal174", + "fields": [ + { + "type": 3 + } + ], + "index": 174 + }, + { + "name": "Mortal175", + "fields": [ + { + "type": 3 + } + ], + "index": 175 + }, + { + "name": "Mortal176", + "fields": [ + { + "type": 3 + } + ], + "index": 176 + }, + { + "name": "Mortal177", + "fields": [ + { + "type": 3 + } + ], + "index": 177 + }, + { + "name": "Mortal178", + "fields": [ + { + "type": 3 + } + ], + "index": 178 + }, + { + "name": "Mortal179", + "fields": [ + { + "type": 3 + } + ], + "index": 179 + }, + { + "name": "Mortal180", + "fields": [ + { + "type": 3 + } + ], + "index": 180 + }, + { + "name": "Mortal181", + "fields": [ + { + "type": 3 + } + ], + "index": 181 + }, + { + "name": "Mortal182", + "fields": [ + { + "type": 3 + } + ], + "index": 182 + }, + { + "name": "Mortal183", + "fields": [ + { + "type": 3 + } + ], + "index": 183 + }, + { + "name": "Mortal184", + "fields": [ + { + "type": 3 + } + ], + "index": 184 + }, + { + "name": "Mortal185", + "fields": [ + { + "type": 3 + } + ], + "index": 185 + }, + { + "name": "Mortal186", + "fields": [ + { + "type": 3 + } + ], + "index": 186 + }, + { + "name": "Mortal187", + "fields": [ + { + "type": 3 + } + ], + "index": 187 + }, + { + "name": "Mortal188", + "fields": [ + { + "type": 3 + } + ], + "index": 188 + }, + { + "name": "Mortal189", + "fields": [ + { + "type": 3 + } + ], + "index": 189 + }, + { + "name": "Mortal190", + "fields": [ + { + "type": 3 + } + ], + "index": 190 + }, + { + "name": "Mortal191", + "fields": [ + { + "type": 3 + } + ], + "index": 191 + }, + { + "name": "Mortal192", + "fields": [ + { + "type": 3 + } + ], + "index": 192 + }, + { + "name": "Mortal193", + "fields": [ + { + "type": 3 + } + ], + "index": 193 + }, + { + "name": "Mortal194", + "fields": [ + { + "type": 3 + } + ], + "index": 194 + }, + { + "name": "Mortal195", + "fields": [ + { + "type": 3 + } + ], + "index": 195 + }, + { + "name": "Mortal196", + "fields": [ + { + "type": 3 + } + ], + "index": 196 + }, + { + "name": "Mortal197", + "fields": [ + { + "type": 3 + } + ], + "index": 197 + }, + { + "name": "Mortal198", + "fields": [ + { + "type": 3 + } + ], + "index": 198 + }, + { + "name": "Mortal199", + "fields": [ + { + "type": 3 + } + ], + "index": 199 + }, + { + "name": "Mortal200", + "fields": [ + { + "type": 3 + } + ], + "index": 200 + }, + { + "name": "Mortal201", + "fields": [ + { + "type": 3 + } + ], + "index": 201 + }, + { + "name": "Mortal202", + "fields": [ + { + "type": 3 + } + ], + "index": 202 + }, + { + "name": "Mortal203", + "fields": [ + { + "type": 3 + } + ], + "index": 203 + }, + { + "name": "Mortal204", + "fields": [ + { + "type": 3 + } + ], + "index": 204 + }, + { + "name": "Mortal205", + "fields": [ + { + "type": 3 + } + ], + "index": 205 + }, + { + "name": "Mortal206", + "fields": [ + { + "type": 3 + } + ], + "index": 206 + }, + { + "name": "Mortal207", + "fields": [ + { + "type": 3 + } + ], + "index": 207 + }, + { + "name": "Mortal208", + "fields": [ + { + "type": 3 + } + ], + "index": 208 + }, + { + "name": "Mortal209", + "fields": [ + { + "type": 3 + } + ], + "index": 209 + }, + { + "name": "Mortal210", + "fields": [ + { + "type": 3 + } + ], + "index": 210 + }, + { + "name": "Mortal211", + "fields": [ + { + "type": 3 + } + ], + "index": 211 + }, + { + "name": "Mortal212", + "fields": [ + { + "type": 3 + } + ], + "index": 212 + }, + { + "name": "Mortal213", + "fields": [ + { + "type": 3 + } + ], + "index": 213 + }, + { + "name": "Mortal214", + "fields": [ + { + "type": 3 + } + ], + "index": 214 + }, + { + "name": "Mortal215", + "fields": [ + { + "type": 3 + } + ], + "index": 215 + }, + { + "name": "Mortal216", + "fields": [ + { + "type": 3 + } + ], + "index": 216 + }, + { + "name": "Mortal217", + "fields": [ + { + "type": 3 + } + ], + "index": 217 + }, + { + "name": "Mortal218", + "fields": [ + { + "type": 3 + } + ], + "index": 218 + }, + { + "name": "Mortal219", + "fields": [ + { + "type": 3 + } + ], + "index": 219 + }, + { + "name": "Mortal220", + "fields": [ + { + "type": 3 + } + ], + "index": 220 + }, + { + "name": "Mortal221", + "fields": [ + { + "type": 3 + } + ], + "index": 221 + }, + { + "name": "Mortal222", + "fields": [ + { + "type": 3 + } + ], + "index": 222 + }, + { + "name": "Mortal223", + "fields": [ + { + "type": 3 + } + ], + "index": 223 + }, + { + "name": "Mortal224", + "fields": [ + { + "type": 3 + } + ], + "index": 224 + }, + { + "name": "Mortal225", + "fields": [ + { + "type": 3 + } + ], + "index": 225 + }, + { + "name": "Mortal226", + "fields": [ + { + "type": 3 + } + ], + "index": 226 + }, + { + "name": "Mortal227", + "fields": [ + { + "type": 3 + } + ], + "index": 227 + }, + { + "name": "Mortal228", + "fields": [ + { + "type": 3 + } + ], + "index": 228 + }, + { + "name": "Mortal229", + "fields": [ + { + "type": 3 + } + ], + "index": 229 + }, + { + "name": "Mortal230", + "fields": [ + { + "type": 3 + } + ], + "index": 230 + }, + { + "name": "Mortal231", + "fields": [ + { + "type": 3 + } + ], + "index": 231 + }, + { + "name": "Mortal232", + "fields": [ + { + "type": 3 + } + ], + "index": 232 + }, + { + "name": "Mortal233", + "fields": [ + { + "type": 3 + } + ], + "index": 233 + }, + { + "name": "Mortal234", + "fields": [ + { + "type": 3 + } + ], + "index": 234 + }, + { + "name": "Mortal235", + "fields": [ + { + "type": 3 + } + ], + "index": 235 + }, + { + "name": "Mortal236", + "fields": [ + { + "type": 3 + } + ], + "index": 236 + }, + { + "name": "Mortal237", + "fields": [ + { + "type": 3 + } + ], + "index": 237 + }, + { + "name": "Mortal238", + "fields": [ + { + "type": 3 + } + ], + "index": 238 + }, + { + "name": "Mortal239", + "fields": [ + { + "type": 3 + } + ], + "index": 239 + }, + { + "name": "Mortal240", + "fields": [ + { + "type": 3 + } + ], + "index": 240 + }, + { + "name": "Mortal241", + "fields": [ + { + "type": 3 + } + ], + "index": 241 + }, + { + "name": "Mortal242", + "fields": [ + { + "type": 3 + } + ], + "index": 242 + }, + { + "name": "Mortal243", + "fields": [ + { + "type": 3 + } + ], + "index": 243 + }, + { + "name": "Mortal244", + "fields": [ + { + "type": 3 + } + ], + "index": 244 + }, + { + "name": "Mortal245", + "fields": [ + { + "type": 3 + } + ], + "index": 245 + }, + { + "name": "Mortal246", + "fields": [ + { + "type": 3 + } + ], + "index": 246 + }, + { + "name": "Mortal247", + "fields": [ + { + "type": 3 + } + ], + "index": 247 + }, + { + "name": "Mortal248", + "fields": [ + { + "type": 3 + } + ], + "index": 248 + }, + { + "name": "Mortal249", + "fields": [ + { + "type": 3 + } + ], + "index": 249 + }, + { + "name": "Mortal250", + "fields": [ + { + "type": 3 + } + ], + "index": 250 + }, + { + "name": "Mortal251", + "fields": [ + { + "type": 3 + } + ], + "index": 251 + }, + { + "name": "Mortal252", + "fields": [ + { + "type": 3 + } + ], + "index": 252 + }, + { + "name": "Mortal253", + "fields": [ + { + "type": 3 + } + ], + "index": 253 + }, + { + "name": "Mortal254", + "fields": [ + { + "type": 3 + } + ], + "index": 254 + }, + { + "name": "Mortal255", + "fields": [ + { + "type": 3 + } + ], + "index": 255 + } + ] + } + } + } + }, + { + "id": 315, + "type": { + "path": [ + "frame_system", + "extensions", + "check_nonce", + "CheckNonce" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 36, + "typeName": "T::Index" + } + ] + } + } + } + }, + { + "id": 316, + "type": { + "path": [ + "frame_system", + "extensions", + "check_weight", + "CheckWeight" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": {} + } + } + }, + { + "id": 317, + "type": { + "path": [ + "pallet_asset_tx_payment", + "ChargeAssetTxPayment" + ], + "params": [ + { + "name": "T", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "tip", + "type": 56, + "typeName": "BalanceOf" + }, + { + "name": "asset_id", + "type": 114, + "typeName": "Option>" + } + ] + } + } + } + }, + { + "id": 318, + "type": { + "path": [ + "sp_runtime", + "generic", + "unchecked_extrinsic", + "UncheckedExtrinsic" + ], + "params": [ + { + "name": "Address", + "type": 51 + }, + { + "name": "Call", + "type": 26 + }, + { + "name": "Signature", + "type": 256 + }, + { + "name": "Extra", + "type": 308 + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 28 + } + ] + } + } + } + }, + { + "id": 319, + "type": { + "path": [ + "pallet_balances", + "pallet", + "Event" + ], + "params": [ + { + "name": "T", + "type": null + }, + { + "name": "I", + "type": null + } + ], + "def": { + "variant": { + "variants": [ + { + "name": "Endowed", + "fields": [ + { + "name": "account", + "type": 52, + "typeName": "T::AccountId" + }, + { + "name": "free_balance", + "type": 57, + "typeName": "T::Balance" + } + ], + "index": 0, + "docs": [ + "An account was created with some free balance." + ] + }, + { + "name": "DustLost", + "fields": [ + { + "name": "account", + "type": 52, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 57, + "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": 52, + "typeName": "T::AccountId" + }, + { + "name": "to", + "type": 52, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 57, + "typeName": "T::Balance" + } + ], + "index": 2, + "docs": [ + "Transfer succeeded." + ] + }, + { + "name": "BalanceSet", + "fields": [ + { + "name": "who", + "type": 52, + "typeName": "T::AccountId" + }, + { + "name": "free", + "type": 57, + "typeName": "T::Balance" + }, + { + "name": "reserved", + "type": 57, + "typeName": "T::Balance" + } + ], + "index": 3, + "docs": [ + "A balance was set by root." + ] + }, + { + "name": "Reserved", + "fields": [ + { + "name": "who", + "type": 52, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 57, + "typeName": "T::Balance" + } + ], + "index": 4, + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ] + }, + { + "name": "Unreserved", + "fields": [ + { + "name": "who", + "type": 52, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 57, + "typeName": "T::Balance" + } + ], + "index": 5, + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ] + }, + { + "name": "ReserveRepatriated", + "fields": [ + { + "name": "from", + "type": 52, + "typeName": "T::AccountId" + }, + { + "name": "to", + "type": 52, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 57, + "typeName": "T::Balance" + }, + { + "name": "destination_status", + "type": 320, + "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": 52, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 57, + "typeName": "T::Balance" + } + ], + "index": 7, + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ] + }, + { + "name": "Withdraw", + "fields": [ + { + "name": "who", + "type": 52, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 57, + "typeName": "T::Balance" + } + ], + "index": 8, + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ] + }, + { + "name": "Slashed", + "fields": [ + { + "name": "who", + "type": 52, + "typeName": "T::AccountId" + }, + { + "name": "amount", + "type": 57, + "typeName": "T::Balance" + } + ], + "index": 9, + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ] + } + ] + } + }, + "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": 320, + "type": { + "path": [ + "frame_support", + "traits", + "tokens", + "misc", + "BalanceStatus" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Free", + "index": 0 + }, + { + "name": "Reserved", + "index": 1 + } + ] + } + } + } + }, + { + "id": 321, + "type": { + "path": [ + "bounded_collections", + "weak_bounded_vec", + "WeakBoundedVec" + ], + "params": [ + { + "name": "T", + "type": 322 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 324, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 322, + "type": { + "path": [ + "pallet_balances", + "BalanceLock" + ], + "params": [ + { + "name": "Balance", + "type": 57 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "id", + "type": 176, + "typeName": "LockIdentifier" + }, + { + "name": "amount", + "type": 57, + "typeName": "Balance" + }, + { + "name": "reasons", + "type": 323, + "typeName": "Reasons" + } + ] + } + } + } + }, + { + "id": 323, + "type": { + "path": [ + "pallet_balances", + "Reasons" + ], + "def": { + "variant": { + "variants": [ + { + "name": "Fee", + "index": 0 + }, + { + "name": "Misc", + "index": 1 + }, + { + "name": "All", + "index": 2 + } + ] + } + } + } + }, + { + "id": 324, + "type": { + "def": { + "sequence": { + "type": 322 + } + } + } + }, + { + "id": 325, + "type": { + "path": [ + "bounded_collections", + "bounded_vec", + "BoundedVec" + ], + "params": [ + { + "name": "T", + "type": 326 + }, + { + "name": "S", + "type": null + } + ], + "def": { + "composite": { + "fields": [ + { + "type": 327, + "typeName": "Vec" + } + ] + } + } + } + }, + { + "id": 326, + "type": { + "path": [ + "pallet_balances", + "ReserveData" + ], + "params": [ + { + "name": "ReserveIdentifier", + "type": 176 + }, + { + "name": "Balance", + "type": 57 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "id", + "type": 176, + "typeName": "ReserveIdentifier" + }, + { + "name": "amount", + "type": 57, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 327, + "type": { + "def": { + "sequence": { + "type": 326 + } + } + } + }, + { + "id": 328, + "type": { + "path": [ + "pallet_balances", + "AccountData" + ], + "params": [ + { + "name": "Balance", + "type": 57 + } + ], + "def": { + "composite": { + "fields": [ + { + "name": "free", + "type": 57, + "typeName": "Balance" + }, + { + "name": "reserved", + "type": 57, + "typeName": "Balance" + }, + { + "name": "misc_frozen", + "type": 57, + "typeName": "Balance" + }, + { + "name": "fee_frozen", + "type": 57, + "typeName": "Balance" + } + ] + } + } + } + }, + { + "id": 329, + "type": { + "path": [ + "kitchensink_runtime", + "Runtime" + ], + "def": { + "composite": {} + } + } + }, + { + "id": 330, + "type": { + "def": { + "tuple": [] + } + } + }, + { + "id": 331, + "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": "KeepAlive", + "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" + ] + } + ] + } + }, + "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" + ] + } + } + ] + }, + "pallets": [ + { + "name": "Balances", + "storage": { + "prefix": "Balances", + "entries": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "ty": { + "Plain": 57 + }, + "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": 57 + }, + "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": 52, + "value": 328 + } + }, + "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 + ], + "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": 52, + "value": 321 + } + }, + "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": 52, + "value": 325 + } + }, + "default": [ + 0 + ], + "docs": [ + " Named reserves on some account balances." + ] + } + ] + }, + "calls": { + "ty": 55 + }, + "event": { + "ty": 319 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "ty": 57, + "value": [ + 0, + 64, + 122, + 16, + 243, + 90, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "docs": [ + " The minimum amount required to keep an account open." + ] + }, + { + "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." + ] + } + ], + "error": { + "ty": 331 + }, + "index": 6 + } + ], + "extrinsic": { + "ty": 318, + "version": 4, + "signed_extensions": [ + { + "identifier": "CheckNonZeroSender", + "ty": 309, + "additional_signed": 330 + }, + { + "identifier": "CheckSpecVersion", + "ty": 310, + "additional_signed": 4 + }, + { + "identifier": "CheckTxVersion", + "ty": 311, + "additional_signed": 4 + }, + { + "identifier": "CheckGenesis", + "ty": 312, + "additional_signed": 1 + }, + { + "identifier": "CheckMortality", + "ty": 313, + "additional_signed": 1 + }, + { + "identifier": "CheckNonce", + "ty": 315, + "additional_signed": 330 + }, + { + "identifier": "CheckWeight", + "ty": 316, + "additional_signed": 330 + }, + { + "identifier": "ChargeAssetTxPayment", + "ty": 317, + "additional_signed": 330 + } + ] + }, + "ty": 755 + } + } +] diff --git a/cli/src/commands/metadata.rs b/cli/src/commands/metadata.rs index 4fe5ddc743..9214c528a6 100644 --- a/cli/src/commands/metadata.rs +++ b/cli/src/commands/metadata.rs @@ -9,6 +9,7 @@ use jsonrpsee::client_transport::ws::Uri; use scale::Decode; use std::io::{ self, + Read, Write, }; use subxt_codegen::utils::fetch_metadata_hex; @@ -35,6 +36,15 @@ pub async fn run(opts: Opts) -> color_eyre::Result<()> { match opts.format.as_str() { "json" => { let bytes = hex::decode(hex_data.trim_start_matches("0x"))?; + + // let metadata = ::decode(&mut &bytes[..])?; + // let mut file = std::fs::File::open( + // "/home/lexnv/workspace/subxt/artifacts/Balances.scale", + // ) + // .unwrap(); + // let mut bytes = Vec::new(); + // file.read_to_end(&mut bytes).unwrap(); + let metadata = ::decode(&mut &bytes[..])?; let json = serde_json::to_string_pretty(&metadata)?; println!("{json}"); diff --git a/examples/examples/balance_transfer_with_params.rs b/examples/examples/balance_transfer_with_params.rs index be53272d23..fe6f00149d 100644 --- a/examples/examples/balance_transfer_with_params.rs +++ b/examples/examples/balance_transfer_with_params.rs @@ -24,7 +24,8 @@ use subxt::{ OnlineClient, }; -#[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +// #[subxt::subxt(runtime_metadata_path = "../artifacts/polkadot_metadata.scale")] +#[subxt::subxt(runtime_metadata_path = "../artifacts/Balances.scale")] pub mod polkadot {} #[tokio::main] @@ -40,7 +41,8 @@ async fn main() -> Result<(), Box> { // Create a transaction to submit: let tx = polkadot::tx() .balances() - .transfer(dest, 123_456_789_012_345); + .transfer(dest, 123_456_789_012_345) + .unvalidated(); // Configure the transaction tip and era: let tx_params = Params::new() diff --git a/metadata/src/stripped.rs b/metadata/src/stripped.rs index c0ed5481b4..10922df8d7 100644 --- a/metadata/src/stripped.rs +++ b/metadata/src/stripped.rs @@ -165,6 +165,16 @@ pub fn keep_pallet>( // Collect type ids from the pallet. let mut type_ids = collect_pallet_types(pallet); + for ty in metadata.types.types() { + let Some(ident) = ty.ty().path().ident() else { + continue + }; + // Collect custom type IDs. + if ident == "DispatchError" { + type_ids.insert(ty.id()); + } + } + // sp_runtime:: DispatchError // Collect extrisic type IDs. type_ids.insert(metadata.extrinsic.ty.id()); diff --git a/testing/integration-tests/src/codegen/balances.rs b/testing/integration-tests/src/codegen/balances.rs new file mode 100644 index 0000000000..6a9d5f75a1 --- /dev/null +++ b/testing/integration-tests/src/codegen/balances.rs @@ -0,0 +1,9393 @@ +#[allow(dead_code, unused_imports, non_camel_case_types)] +#[allow(clippy::all)] +pub mod api { + use super::api as root_mod; + pub static PALLETS: [&str; 1usize] = ["Balances"]; + #[derive( + :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, Debug, + )] + pub enum Event { + #[codec(index = 6)] + Balances(balances::Event), + } + pub mod balances { + use super::root_mod; + use super::runtime_types; + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub mod calls { + use super::root_mod; + use super::runtime_types; + type DispatchError = runtime_types::sp_runtime::DispatchError; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Transfer { + pub dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct SetBalance { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub new_free: ::core::primitive::u128, + #[codec(compact)] + pub new_reserved: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceTransfer { + pub source: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TransferKeepAlive { + pub dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TransferAll { + pub dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub keep_alive: ::core::primitive::bool, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ForceUnreserve { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub amount: ::core::primitive::u128, + } + pub struct TransactionApi; + impl TransactionApi { + #[doc = "Transfer some liquid free balance to another account."] + #[doc = ""] + #[doc = "`transfer` 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."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- Dependent on arguments but not critical, given proper implementations for input config"] + #[doc = " types. See related functions below."] + #[doc = "- It contains a limited number of reads and writes internally and no complex"] + #[doc = " computation."] + #[doc = ""] + #[doc = "Related functions:"] + #[doc = ""] + #[doc = " - `ensure_can_withdraw` is always called internally but has a bounded complexity."] + #[doc = " - Transferring balances to accounts that did not exist before will cause"] + #[doc = " `T::OnNewAccount::on_new_account` to be called."] + #[doc = " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`."] + #[doc = " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check"] + #[doc = " that the transfer will not kill the origin account."] + pub fn transfer( + &self, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "transfer", + Transfer { dest, value }, + [ + 255u8, 181u8, 144u8, 248u8, 64u8, 167u8, 5u8, 134u8, 208u8, + 20u8, 223u8, 103u8, 235u8, 35u8, 66u8, 184u8, 27u8, 94u8, + 176u8, 60u8, 233u8, 236u8, 145u8, 218u8, 44u8, 138u8, 240u8, + 224u8, 16u8, 193u8, 220u8, 95u8, + ], + ) + } + #[doc = "Set the balances of a given account."] + #[doc = ""] + #[doc = "This will alter `FreeBalance` and `ReservedBalance` in storage. it will"] + #[doc = "also alter the total issuance of the system (`TotalIssuance`) appropriately."] + #[doc = "If the new free or reserved balance is below the existential deposit,"] + #[doc = "it will reset the account nonce (`frame_system::AccountNonce`)."] + #[doc = ""] + #[doc = "The dispatch origin for this call is `root`."] + pub fn set_balance( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + new_free: ::core::primitive::u128, + new_reserved: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "set_balance", + SetBalance { + who, + new_free, + new_reserved, + }, + [ + 174u8, 34u8, 80u8, 252u8, 193u8, 51u8, 228u8, 236u8, 234u8, + 16u8, 173u8, 214u8, 122u8, 21u8, 254u8, 7u8, 49u8, 176u8, + 18u8, 128u8, 122u8, 68u8, 72u8, 181u8, 119u8, 90u8, 167u8, + 46u8, 203u8, 220u8, 109u8, 110u8, + ], + ) + } + #[doc = "Exactly as `transfer`, except the origin must be root and the source account may be"] + #[doc = "specified."] + #[doc = "## Complexity"] + #[doc = "- Same as transfer, but additional read and write because the source account is not"] + #[doc = " assumed to be in the overlay."] + pub fn force_transfer( + &self, + source: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "force_transfer", + ForceTransfer { + source, + dest, + value, + }, + [ + 56u8, 80u8, 186u8, 45u8, 134u8, 147u8, 200u8, 19u8, 53u8, + 221u8, 213u8, 32u8, 13u8, 51u8, 130u8, 42u8, 244u8, 85u8, + 50u8, 246u8, 189u8, 51u8, 93u8, 1u8, 108u8, 142u8, 112u8, + 245u8, 104u8, 255u8, 15u8, 62u8, + ], + ) + } + #[doc = "Same as the [`transfer`] call, but with a check that the transfer will not kill the"] + #[doc = "origin account."] + #[doc = ""] + #[doc = "99% of the time you want [`transfer`] instead."] + #[doc = ""] + #[doc = "[`transfer`]: struct.Pallet.html#method.transfer"] + pub fn transfer_keep_alive( + &self, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + value: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "transfer_keep_alive", + TransferKeepAlive { dest, value }, + [ + 202u8, 239u8, 204u8, 0u8, 52u8, 57u8, 158u8, 8u8, 252u8, + 178u8, 91u8, 197u8, 238u8, 186u8, 205u8, 56u8, 217u8, 250u8, + 21u8, 44u8, 239u8, 66u8, 79u8, 99u8, 25u8, 106u8, 70u8, + 226u8, 50u8, 255u8, 176u8, 71u8, + ], + ) + } + #[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). ## Complexity"] + #[doc = "- O(1). Just like transfer, but reading the user's transferable balance first."] + pub fn transfer_all( + &self, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + keep_alive: ::core::primitive::bool, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "transfer_all", + TransferAll { dest, keep_alive }, + [ + 118u8, 215u8, 198u8, 243u8, 4u8, 173u8, 108u8, 224u8, 113u8, + 203u8, 149u8, 23u8, 130u8, 176u8, 53u8, 205u8, 112u8, 147u8, + 88u8, 167u8, 197u8, 32u8, 104u8, 117u8, 201u8, 168u8, 144u8, + 230u8, 120u8, 29u8, 122u8, 159u8, + ], + ) + } + #[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, + ::core::primitive::u32, + >, + amount: ::core::primitive::u128, + ) -> ::subxt::tx::StaticTxPayload { + ::subxt::tx::StaticTxPayload::new( + "Balances", + "force_unreserve", + ForceUnreserve { who, amount }, + [ + 39u8, 229u8, 111u8, 44u8, 147u8, 80u8, 7u8, 26u8, 185u8, + 121u8, 149u8, 25u8, 151u8, 37u8, 124u8, 46u8, 108u8, 136u8, + 167u8, 145u8, 103u8, 65u8, 33u8, 168u8, 36u8, 214u8, 126u8, + 237u8, 180u8, 61u8, 108u8, 110u8, + ], + ) + } + } + } + #[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, + Debug, + )] + #[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, + Debug, + )] + #[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, + Debug, + )] + #[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, + Debug, + )] + #[doc = "A balance was set by root."] + pub struct BalanceSet { + pub who: ::subxt::utils::AccountId32, + pub free: ::core::primitive::u128, + pub reserved: ::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, + Debug, + )] + #[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, + Debug, + )] + #[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, + Debug, + )] + #[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, + Debug, + )] + #[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, + Debug, + )] + #[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, + Debug, + )] + #[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"; + } + } + 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::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "TotalIssuance", + vec![], + [ + 1u8, 206u8, 252u8, 237u8, 6u8, 30u8, 20u8, 232u8, 164u8, + 115u8, 51u8, 156u8, 156u8, 206u8, 241u8, 187u8, 44u8, 84u8, + 25u8, 164u8, 235u8, 20u8, 86u8, 242u8, 124u8, 23u8, 28u8, + 140u8, 26u8, 73u8, 231u8, 51u8, + ], + ) + } + #[doc = " The total units of outstanding deactivated balance in the system."] + pub fn inactive_issuance( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "InactiveIssuance", + vec![], + [ + 74u8, 203u8, 111u8, 142u8, 225u8, 104u8, 173u8, 51u8, 226u8, + 12u8, 85u8, 135u8, 41u8, 206u8, 177u8, 238u8, 94u8, 246u8, + 184u8, 250u8, 140u8, 213u8, 91u8, 118u8, 163u8, 111u8, 211u8, + 46u8, 204u8, 160u8, 154u8, 21u8, + ], + ) + } + #[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::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_balances::AccountData< + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Account", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 246u8, 154u8, 253u8, 71u8, 192u8, 192u8, 192u8, 236u8, 128u8, + 80u8, 40u8, 252u8, 201u8, 43u8, 3u8, 131u8, 19u8, 49u8, + 141u8, 240u8, 172u8, 217u8, 215u8, 109u8, 87u8, 135u8, 248u8, + 57u8, 98u8, 185u8, 22u8, 4u8, + ], + ) + } + #[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_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::pallet_balances::AccountData< + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Account", + Vec::new(), + [ + 246u8, 154u8, 253u8, 71u8, 192u8, 192u8, 192u8, 236u8, 128u8, + 80u8, 40u8, 252u8, 201u8, 43u8, 3u8, 131u8, 19u8, 49u8, + 141u8, 240u8, 172u8, 217u8, 215u8, 109u8, 87u8, 135u8, 248u8, + 57u8, 98u8, 185u8, 22u8, 4u8, + ], + ) + } + #[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 :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: bounded_collections :: weak_bounded_vec :: WeakBoundedVec < runtime_types :: pallet_balances :: BalanceLock < :: core :: primitive :: u128 > > > , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Locks", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 216u8, 253u8, 87u8, 73u8, 24u8, 218u8, 35u8, 0u8, 244u8, + 134u8, 195u8, 58u8, 255u8, 64u8, 153u8, 212u8, 210u8, 232u8, + 4u8, 122u8, 90u8, 212u8, 136u8, 14u8, 127u8, 232u8, 8u8, + 192u8, 40u8, 233u8, 18u8, 250u8, + ], + ) + } + #[doc = " Any liquidity locks on some account balances."] + #[doc = " NOTE: Should only be accessed when setting, changing and freeing a lock."] pub fn locks_root (& self ,) -> :: subxt :: storage :: address :: StaticStorageAddress :: < :: subxt :: metadata :: DecodeStaticType < runtime_types :: bounded_collections :: weak_bounded_vec :: WeakBoundedVec < runtime_types :: pallet_balances :: BalanceLock < :: core :: primitive :: u128 > > > , () , :: subxt :: storage :: address :: Yes , :: subxt :: storage :: address :: Yes >{ + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Locks", + Vec::new(), + [ + 216u8, 253u8, 87u8, 73u8, 24u8, 218u8, 35u8, 0u8, 244u8, + 134u8, 195u8, 58u8, 255u8, 64u8, 153u8, 212u8, 210u8, 232u8, + 4u8, 122u8, 90u8, 212u8, 136u8, 14u8, 127u8, 232u8, 8u8, + 192u8, 40u8, 233u8, 18u8, 250u8, + ], + ) + } + #[doc = " Named reserves on some account balances."] + pub fn reserves( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::ReserveData< + [::core::primitive::u8; 8usize], + ::core::primitive::u128, + >, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Reserves", + vec![::subxt::storage::address::StorageMapKey::new( + _0.borrow(), + ::subxt::storage::address::StorageHasher::Blake2_128Concat, + )], + [ + 17u8, 32u8, 191u8, 46u8, 76u8, 220u8, 101u8, 100u8, 42u8, + 250u8, 128u8, 167u8, 117u8, 44u8, 85u8, 96u8, 105u8, 216u8, + 16u8, 147u8, 74u8, 55u8, 183u8, 94u8, 160u8, 177u8, 26u8, + 187u8, 71u8, 197u8, 187u8, 163u8, + ], + ) + } + #[doc = " Named reserves on some account balances."] + pub fn reserves_root( + &self, + ) -> ::subxt::storage::address::StaticStorageAddress< + ::subxt::metadata::DecodeStaticType< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::ReserveData< + [::core::primitive::u8; 8usize], + ::core::primitive::u128, + >, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::StaticStorageAddress::new( + "Balances", + "Reserves", + Vec::new(), + [ + 17u8, 32u8, 191u8, 46u8, 76u8, 220u8, 101u8, 100u8, 42u8, + 250u8, 128u8, 167u8, 117u8, 44u8, 85u8, 96u8, 105u8, 216u8, + 16u8, 147u8, 74u8, 55u8, 183u8, 94u8, 160u8, 177u8, 26u8, + 187u8, 71u8, 197u8, 187u8, 163u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The minimum amount required to keep an account open."] + pub fn existential_deposit( + &self, + ) -> ::subxt::constants::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u128>, + > { + ::subxt::constants::StaticConstantAddress::new( + "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::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "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::StaticConstantAddress< + ::subxt::metadata::DecodeStaticType<::core::primitive::u32>, + > { + ::subxt::constants::StaticConstantAddress::new( + "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, + ], + ) + } + } + } + } + pub mod runtime_types { + use super::runtime_types; + pub mod bounded_collections { + use super::runtime_types; + pub mod bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + } + pub mod finality_grandpa { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + pub struct Precommit<_0, _1> { + pub target_hash: _0, + pub target_number: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Prevote<_0, _1> { + pub target_hash: _0, + pub target_number: _1, + } + } + pub mod frame_benchmarking_pallet_pov { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + emit_event, + #[codec(index = 1)] + noop, + } + } + } + pub mod frame_support { + use super::runtime_types; + pub mod dispatch { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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 preimages { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + pub enum AttributeNamespace<_0> { + #[codec(index = 0)] + Pallet, + #[codec(index = 1)] + CollectionOwner, + #[codec(index = 2)] + ItemOwner, + #[codec(index = 3)] + Account(_0), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum BalanceStatus { + #[codec(index = 0)] + Free, + #[codec(index = 1)] + Reserved, + } + } + } + } + } + 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, + Debug, + )] + pub struct CheckGenesis; + } + pub mod check_mortality { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + pub struct CheckNonZeroSender; + } + pub mod check_nonce { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + pub struct CheckSpecVersion; + } + pub mod check_tx_version { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CheckTxVersion; + } + pub mod check_weight { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CheckWeight; + } + } + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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 = "## Complexity"] + #[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."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_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`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(C)` where `C` length of `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>, + }, + } + } + } + pub mod kitchensink_runtime { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + pub enum OriginCaller { + #[codec(index = 0)] + system( + runtime_types::frame_support::dispatch::RawOrigin< + ::subxt::utils::AccountId32, + >, + ), + #[codec(index = 13)] + Council( + runtime_types::pallet_collective::RawOrigin< + ::subxt::utils::AccountId32, + >, + ), + #[codec(index = 14)] + TechnicalCommittee( + runtime_types::pallet_collective::RawOrigin< + ::subxt::utils::AccountId32, + >, + ), + #[codec(index = 52)] + AllianceMotion( + runtime_types::pallet_collective::RawOrigin< + ::subxt::utils::AccountId32, + >, + ), + #[codec(index = 4)] + Void(runtime_types::sp_core::Void), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ProxyType { + #[codec(index = 0)] + Any, + #[codec(index = 1)] + NonTransfer, + #[codec(index = 2)] + Governance, + #[codec(index = 3)] + Staking, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Runtime; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum RuntimeCall { + #[codec(index = 0)] + System(runtime_types::frame_system::pallet::Call), + #[codec(index = 1)] + Utility(runtime_types::pallet_utility::pallet::Call), + #[codec(index = 2)] + Babe(runtime_types::pallet_babe::pallet::Call), + #[codec(index = 3)] + Timestamp(runtime_types::pallet_timestamp::pallet::Call), + #[codec(index = 5)] + Indices(runtime_types::pallet_indices::pallet::Call), + #[codec(index = 6)] + Balances(runtime_types::pallet_balances::pallet::Call), + #[codec(index = 9)] + ElectionProviderMultiPhase( + runtime_types::pallet_election_provider_multi_phase::pallet::Call, + ), + #[codec(index = 10)] + Staking(runtime_types::pallet_staking::pallet::pallet::Call), + #[codec(index = 11)] + Session(runtime_types::pallet_session::pallet::Call), + #[codec(index = 12)] + Democracy(runtime_types::pallet_democracy::pallet::Call), + #[codec(index = 13)] + Council(runtime_types::pallet_collective::pallet::Call), + #[codec(index = 14)] + TechnicalCommittee(runtime_types::pallet_collective::pallet::Call), + #[codec(index = 15)] + Elections(runtime_types::pallet_elections_phragmen::pallet::Call), + #[codec(index = 16)] + TechnicalMembership(runtime_types::pallet_membership::pallet::Call), + #[codec(index = 17)] + Grandpa(runtime_types::pallet_grandpa::pallet::Call), + #[codec(index = 18)] + Treasury(runtime_types::pallet_treasury::pallet::Call), + #[codec(index = 19)] + Contracts(runtime_types::pallet_contracts::pallet::Call), + #[codec(index = 20)] + Sudo(runtime_types::pallet_sudo::pallet::Call), + #[codec(index = 21)] + ImOnline(runtime_types::pallet_im_online::pallet::Call), + #[codec(index = 26)] + Identity(runtime_types::pallet_identity::pallet::Call), + #[codec(index = 27)] + Society(runtime_types::pallet_society::pallet::Call), + #[codec(index = 28)] + Recovery(runtime_types::pallet_recovery::pallet::Call), + #[codec(index = 29)] + Vesting(runtime_types::pallet_vesting::pallet::Call), + #[codec(index = 30)] + Scheduler(runtime_types::pallet_scheduler::pallet::Call), + #[codec(index = 31)] + Glutton(runtime_types::pallet_glutton::pallet::Call), + #[codec(index = 32)] + Preimage(runtime_types::pallet_preimage::pallet::Call), + #[codec(index = 33)] + Proxy(runtime_types::pallet_proxy::pallet::Call), + #[codec(index = 34)] + Multisig(runtime_types::pallet_multisig::pallet::Call), + #[codec(index = 35)] + Bounties(runtime_types::pallet_bounties::pallet::Call), + #[codec(index = 36)] + Tips(runtime_types::pallet_tips::pallet::Call), + #[codec(index = 37)] + Assets(runtime_types::pallet_assets::pallet::Call), + #[codec(index = 39)] + Lottery(runtime_types::pallet_lottery::pallet::Call), + #[codec(index = 40)] + Nis(runtime_types::pallet_nis::pallet::Call), + #[codec(index = 41)] + Uniques(runtime_types::pallet_uniques::pallet::Call), + #[codec(index = 42)] + Nfts(runtime_types::pallet_nfts::pallet::Call), + #[codec(index = 43)] + TransactionStorage( + runtime_types::pallet_transaction_storage::pallet::Call, + ), + #[codec(index = 44)] + VoterList(runtime_types::pallet_bags_list::pallet::Call), + #[codec(index = 45)] + StateTrieMigration( + runtime_types::pallet_state_trie_migration::pallet::Call, + ), + #[codec(index = 46)] + ChildBounties(runtime_types::pallet_child_bounties::pallet::Call), + #[codec(index = 47)] + Referenda(runtime_types::pallet_referenda::pallet::Call), + #[codec(index = 48)] + Remark(runtime_types::pallet_remark::pallet::Call), + #[codec(index = 49)] + RootTesting(runtime_types::pallet_root_testing::pallet::Call), + #[codec(index = 50)] + ConvictionVoting(runtime_types::pallet_conviction_voting::pallet::Call), + #[codec(index = 51)] + Whitelist(runtime_types::pallet_whitelist::pallet::Call), + #[codec(index = 52)] + AllianceMotion(runtime_types::pallet_collective::pallet::Call), + #[codec(index = 53)] + Alliance(runtime_types::pallet_alliance::pallet::Call), + #[codec(index = 54)] + NominationPools(runtime_types::pallet_nomination_pools::pallet::Call), + #[codec(index = 55)] + RankedPolls(runtime_types::pallet_referenda::pallet::Call), + #[codec(index = 56)] + RankedCollective(runtime_types::pallet_ranked_collective::pallet::Call), + #[codec(index = 57)] + FastUnstake(runtime_types::pallet_fast_unstake::pallet::Call), + #[codec(index = 58)] + MessageQueue(runtime_types::pallet_message_queue::pallet::Call), + #[codec(index = 59)] + Pov(runtime_types::frame_benchmarking_pallet_pov::pallet::Call), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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 authority_discovery: + runtime_types::sp_authority_discovery::app::Public, + } + } + pub mod pallet_alliance { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] # [doc = "Add a new proposal to be voted on."] # [doc = ""] # [doc = "Must be called by a Fellow."] propose { # [codec (compact)] threshold : :: core :: primitive :: u32 , proposal : :: std :: boxed :: Box < runtime_types :: kitchensink_runtime :: RuntimeCall > , # [codec (compact)] length_bound : :: core :: primitive :: u32 , } , # [codec (index = 1)] # [doc = "Add an aye or nay vote for the sender to the given proposal."] # [doc = ""] # [doc = "Must be called by a Fellow."] vote { proposal : :: subxt :: utils :: H256 , # [codec (compact)] index : :: core :: primitive :: u32 , approve : :: core :: primitive :: bool , } , # [codec (index = 2)] # [doc = "Close a vote that is either approved, disapproved, or whose voting period has ended."] # [doc = ""] # [doc = "Must be called by a Fellow."] close_old_weight { proposal_hash : :: subxt :: utils :: H256 , # [codec (compact)] index : :: core :: primitive :: u32 , # [codec (compact)] proposal_weight_bound : runtime_types :: sp_weights :: OldWeight , # [codec (compact)] length_bound : :: core :: primitive :: u32 , } , # [codec (index = 3)] # [doc = "Initialize the Alliance, onboard fellows and allies."] # [doc = ""] # [doc = "The Alliance must be empty, and the call must provide some founding members."] # [doc = ""] # [doc = "Must be called by the Root origin."] init_members { fellows : :: std :: vec :: Vec < :: subxt :: utils :: AccountId32 > , allies : :: std :: vec :: Vec < :: subxt :: utils :: AccountId32 > , } , # [codec (index = 4)] # [doc = "Disband the Alliance, remove all active members and unreserve deposits."] # [doc = ""] # [doc = "Witness data must be set."] disband { witness : runtime_types :: pallet_alliance :: types :: DisbandWitness , } , # [codec (index = 5)] # [doc = "Set a new IPFS CID to the alliance rule."] set_rule { rule : runtime_types :: pallet_alliance :: types :: Cid , } , # [codec (index = 6)] # [doc = "Make an announcement of a new IPFS CID about alliance issues."] announce { announcement : runtime_types :: pallet_alliance :: types :: Cid , } , # [codec (index = 7)] # [doc = "Remove an announcement."] remove_announcement { announcement : runtime_types :: pallet_alliance :: types :: Cid , } , # [codec (index = 8)] # [doc = "Submit oneself for candidacy. A fixed deposit is reserved."] join_alliance , # [codec (index = 9)] # [doc = "A Fellow can nominate someone to join the alliance as an Ally. There is no deposit"] # [doc = "required from the nominator or nominee."] nominate_ally { who : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 10)] # [doc = "Elevate an Ally to Fellow."] elevate_ally { ally : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 11)] # [doc = "As a member, give a retirement notice and start a retirement period required to pass in"] # [doc = "order to retire."] give_retirement_notice , # [codec (index = 12)] # [doc = "As a member, retire from the Alliance and unreserve the deposit."] # [doc = ""] # [doc = "This can only be done once you have called `give_retirement_notice` and the"] # [doc = "`RetirementPeriod` has passed."] retire , # [codec (index = 13)] # [doc = "Kick a member from the Alliance and slash its deposit."] kick_member { who : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 14)] # [doc = "Add accounts or websites to the list of unscrupulous items."] add_unscrupulous_items { items : :: std :: vec :: Vec < runtime_types :: pallet_alliance :: UnscrupulousItem < :: subxt :: utils :: AccountId32 , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > > > , } , # [codec (index = 15)] # [doc = "Deem some items no longer unscrupulous."] remove_unscrupulous_items { items : :: std :: vec :: Vec < runtime_types :: pallet_alliance :: UnscrupulousItem < :: subxt :: utils :: AccountId32 , runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > > > , } , # [codec (index = 16)] # [doc = "Close a vote that is either approved, disapproved, or whose voting period has ended."] # [doc = ""] # [doc = "Must be called by a Fellow."] close { proposal_hash : :: subxt :: utils :: H256 , # [codec (compact)] index : :: core :: primitive :: u32 , proposal_weight_bound : runtime_types :: sp_weights :: weight_v2 :: Weight , # [codec (compact)] length_bound : :: core :: primitive :: u32 , } , # [codec (index = 17)] # [doc = "Abdicate one's position as a voting member and just be an Ally. May be used by Fellows"] # [doc = "who do not want to leave the Alliance but do not have the capacity to participate"] # [doc = "operationally for some time."] abdicate_fellow_status , } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Cid { + pub version: runtime_types::pallet_alliance::types::Version, + pub codec: ::core::primitive::u64, + pub hash: runtime_types::pallet_alliance::types::Multihash, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DisbandWitness { + #[codec(compact)] + pub fellow_members: ::core::primitive::u32, + #[codec(compact)] + pub ally_members: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Multihash { + pub code: ::core::primitive::u64, + pub digest: + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Version { + #[codec(index = 0)] + V0, + #[codec(index = 1)] + V1, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum UnscrupulousItem<_0, _1> { + #[codec(index = 0)] + AccountId(_0), + #[codec(index = 1)] + Website(_1), + } + } + pub mod pallet_asset_tx_payment { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ChargeAssetTxPayment { + #[codec(compact)] + pub tip: ::core::primitive::u128, + pub asset_id: ::core::option::Option<::core::primitive::u32>, + } + } + pub mod pallet_assets { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Issue a new class of fungible assets from a public origin."] + #[doc = ""] + #[doc = "This new asset class has no assets initially and its owner is the origin."] + #[doc = ""] + #[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."] + #[doc = ""] + #[doc = "Funds of sender are reserved by `AssetDeposit`."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"] + #[doc = "an existing asset."] + #[doc = "- `admin`: The admin of this class of assets. The admin is the initial address of each"] + #[doc = "member of the asset class's admin team."] + #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] + #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] + #[doc = ""] + #[doc = "Emits `Created` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + create { + #[codec(compact)] + id: ::core::primitive::u32, + admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + min_balance: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "Issue a new class of fungible assets from a privileged origin."] + #[doc = ""] + #[doc = "This new asset class has no assets initially."] + #[doc = ""] + #[doc = "The origin must conform to `ForceOrigin`."] + #[doc = ""] + #[doc = "Unlike `create`, no funds are reserved."] + #[doc = ""] + #[doc = "- `id`: The identifier of the new asset. This must not be currently in use to identify"] + #[doc = "an existing asset."] + #[doc = "- `owner`: The owner of this class of assets. The owner has full superuser permissions"] + #[doc = "over this asset, but may later change and configure the permissions using"] + #[doc = "`transfer_ownership` and `set_team`."] + #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] + #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] + #[doc = ""] + #[doc = "Emits `ForceCreated` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + force_create { + #[codec(compact)] + id: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + is_sufficient: ::core::primitive::bool, + #[codec(compact)] + min_balance: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Start the process of destroying a fungible asset class."] + #[doc = ""] + #[doc = "`start_destroy` is the first in a series of extrinsics that should be called, to allow"] + #[doc = "destruction of an asset class."] + #[doc = ""] + #[doc = "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "The asset class must be frozen before calling `start_destroy`."] + start_destroy { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Destroy all accounts associated with a given asset."] + #[doc = ""] + #[doc = "`destroy_accounts` should only be called after `start_destroy` has been called, and the"] + #[doc = "asset is in a `Destroying` state."] + #[doc = ""] + #[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"] + #[doc = "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "Each call emits the `Event::DestroyedAccounts` event."] + destroy_accounts { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit)."] + #[doc = ""] + #[doc = "`destroy_approvals` should only be called after `start_destroy` has been called, and the"] + #[doc = "asset is in a `Destroying` state."] + #[doc = ""] + #[doc = "Due to weight restrictions, this function may need to be called multiple times to fully"] + #[doc = "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "Each call emits the `Event::DestroyedApprovals` event."] + destroy_approvals { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "Complete destroying asset and unreserve currency."] + #[doc = ""] + #[doc = "`finish_destroy` should only be called after `start_destroy` has been called, and the"] + #[doc = "asset is in a `Destroying` state. All accounts or approvals should be destroyed before"] + #[doc = "hand."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be destroyed. This must identify an existing"] + #[doc = " asset."] + #[doc = ""] + #[doc = "Each successful call emits the `Event::Destroyed` event."] + finish_destroy { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "Mint assets of a particular class."] + #[doc = ""] + #[doc = "The origin must be Signed and the sender must be the Issuer of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount minted."] + #[doc = "- `beneficiary`: The account to be credited with the minted assets."] + #[doc = "- `amount`: The amount of the asset to be minted."] + #[doc = ""] + #[doc = "Emits `Issued` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."] + mint { + #[codec(compact)] + id: ::core::primitive::u32, + beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 7)] + #[doc = "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Manager of the asset `id`."] + #[doc = ""] + #[doc = "Bails with `NoAccount` if the `who` is already dead."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount burned."] + #[doc = "- `who`: The account to be debited from."] + #[doc = "- `amount`: The maximum amount by which `who`'s balance should be reduced."] + #[doc = ""] + #[doc = "Emits `Burned` with the actual amount burned. If this takes the balance to below the"] + #[doc = "minimum for the asset, then the amount burned is increased to take it to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."] + burn { + #[codec(compact)] + id: ::core::primitive::u32, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 8)] + #[doc = "Move some assets from the sender account to another."] + #[doc = ""] + #[doc = "Origin must be Signed."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount transferred."] + #[doc = "- `target`: The account to be credited."] + #[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"] + #[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"] + #[doc = "the case that the transfer would otherwise take the sender balance above zero but below"] + #[doc = "the minimum balance. Must be greater than zero."] + #[doc = ""] + #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] + #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] + #[doc = "to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"] + #[doc = "`target`."] + transfer { + #[codec(compact)] + id: ::core::primitive::u32, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 9)] + #[doc = "Move some assets from the sender account to another, keeping the sender account alive."] + #[doc = ""] + #[doc = "Origin must be Signed."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount transferred."] + #[doc = "- `target`: The account to be credited."] + #[doc = "- `amount`: The amount by which the sender's balance of assets should be reduced and"] + #[doc = "`target`'s balance increased. The amount actually transferred may be slightly greater in"] + #[doc = "the case that the transfer would otherwise take the sender balance above zero but below"] + #[doc = "the minimum balance. Must be greater than zero."] + #[doc = ""] + #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] + #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] + #[doc = "to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of"] + #[doc = "`target`."] + transfer_keep_alive { + #[codec(compact)] + id: ::core::primitive::u32, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 10)] + #[doc = "Move some assets from one account to another."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to have some amount transferred."] + #[doc = "- `source`: The account to be debited."] + #[doc = "- `dest`: The account to be credited."] + #[doc = "- `amount`: The amount by which the `source`'s balance of assets should be reduced and"] + #[doc = "`dest`'s balance increased. The amount actually transferred may be slightly greater in"] + #[doc = "the case that the transfer would otherwise take the `source` balance above zero but"] + #[doc = "below the minimum balance. Must be greater than zero."] + #[doc = ""] + #[doc = "Emits `Transferred` with the actual amount transferred. If this takes the source balance"] + #[doc = "to below the minimum for the asset, then the amount transferred is increased to take it"] + #[doc = "to zero."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of"] + #[doc = "`dest`."] + force_transfer { + #[codec(compact)] + id: ::core::primitive::u32, + source: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 11)] + #[doc = "Disallow further unprivileged transfers from an account."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = "- `who`: The account to be frozen."] + #[doc = ""] + #[doc = "Emits `Frozen`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + freeze { + #[codec(compact)] + id: ::core::primitive::u32, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 12)] + #[doc = "Allow unprivileged transfers from an account again."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = "- `who`: The account to be unfrozen."] + #[doc = ""] + #[doc = "Emits `Thawed`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + thaw { + #[codec(compact)] + id: ::core::primitive::u32, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 13)] + #[doc = "Disallow further unprivileged transfers for the asset class."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = ""] + #[doc = "Emits `Frozen`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + freeze_asset { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 14)] + #[doc = "Allow unprivileged transfers for the asset again."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Admin of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be thawed."] + #[doc = ""] + #[doc = "Emits `Thawed`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + thaw_asset { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 15)] + #[doc = "Change the Owner of an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `owner`: The new Owner of this asset."] + #[doc = ""] + #[doc = "Emits `OwnerChanged`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + transfer_ownership { + #[codec(compact)] + id: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 16)] + #[doc = "Change the Issuer, Admin and Freezer of an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to be frozen."] + #[doc = "- `issuer`: The new Issuer of this asset."] + #[doc = "- `admin`: The new Admin of this asset."] + #[doc = "- `freezer`: The new Freezer of this asset."] + #[doc = ""] + #[doc = "Emits `TeamChanged`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + set_team { + #[codec(compact)] + id: ::core::primitive::u32, + issuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + freezer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 17)] + #[doc = "Set the metadata for an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "Funds of sender are reserved according to the formula:"] + #[doc = "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into"] + #[doc = "account any already reserved funds."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to update."] + #[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."] + #[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."] + #[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."] + #[doc = ""] + #[doc = "Emits `MetadataSet`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + set_metadata { + #[codec(compact)] + id: ::core::primitive::u32, + name: ::std::vec::Vec<::core::primitive::u8>, + symbol: ::std::vec::Vec<::core::primitive::u8>, + decimals: ::core::primitive::u8, + }, + #[codec(index = 18)] + #[doc = "Clear the metadata for an asset."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the asset `id`."] + #[doc = ""] + #[doc = "Any deposit is freed for the asset owner."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to clear."] + #[doc = ""] + #[doc = "Emits `MetadataCleared`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + clear_metadata { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 19)] + #[doc = "Force the metadata for an asset to some value."] + #[doc = ""] + #[doc = "Origin must be ForceOrigin."] + #[doc = ""] + #[doc = "Any deposit is left alone."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to update."] + #[doc = "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`."] + #[doc = "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`."] + #[doc = "- `decimals`: The number of decimals this asset uses to represent one unit."] + #[doc = ""] + #[doc = "Emits `MetadataSet`."] + #[doc = ""] + #[doc = "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."] + force_set_metadata { + #[codec(compact)] + id: ::core::primitive::u32, + name: ::std::vec::Vec<::core::primitive::u8>, + symbol: ::std::vec::Vec<::core::primitive::u8>, + decimals: ::core::primitive::u8, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 20)] + #[doc = "Clear the metadata for an asset."] + #[doc = ""] + #[doc = "Origin must be ForceOrigin."] + #[doc = ""] + #[doc = "Any deposit is returned."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset to clear."] + #[doc = ""] + #[doc = "Emits `MetadataCleared`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + force_clear_metadata { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 21)] + #[doc = "Alter the attributes of a given asset."] + #[doc = ""] + #[doc = "Origin must be `ForceOrigin`."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `owner`: The new Owner of this asset."] + #[doc = "- `issuer`: The new Issuer of this asset."] + #[doc = "- `admin`: The new Admin of this asset."] + #[doc = "- `freezer`: The new Freezer of this asset."] + #[doc = "- `min_balance`: The minimum balance of this new asset that any single account must"] + #[doc = "have. If an account's balance is reduced below this, then it collapses to zero."] + #[doc = "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient"] + #[doc = "value to account for the state bloat associated with its balance storage. If set to"] + #[doc = "`true`, then non-zero balances may be stored without a `consumer` reference (and thus"] + #[doc = "an ED in the Balances pallet or whatever else is used to control user-account state"] + #[doc = "growth)."] + #[doc = "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin"] + #[doc = "instructions."] + #[doc = ""] + #[doc = "Emits `AssetStatusChanged` with the identity of the asset."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + force_asset_status { + #[codec(compact)] + id: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + issuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + freezer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + min_balance: ::core::primitive::u128, + is_sufficient: ::core::primitive::bool, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 22)] + #[doc = "Approve an amount of asset for transfer by a delegated third-party account."] + #[doc = ""] + #[doc = "Origin must be Signed."] + #[doc = ""] + #[doc = "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account"] + #[doc = "for the purpose of holding the approval. If some non-zero amount of assets is already"] + #[doc = "approved from signing account to `delegate`, then it is topped up or unreserved to"] + #[doc = "meet the right value."] + #[doc = ""] + #[doc = "NOTE: The signing account does not need to own `amount` of assets at the point of"] + #[doc = "making this call."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `delegate`: The account to delegate permission to transfer asset."] + #[doc = "- `amount`: The amount of asset that may be transferred by `delegate`. If there is"] + #[doc = "already an approval in place, then this acts additively."] + #[doc = ""] + #[doc = "Emits `ApprovedTransfer` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + approve_transfer { + #[codec(compact)] + id: ::core::primitive::u32, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 23)] + #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] + #[doc = ""] + #[doc = "Origin must be Signed and there must be an approval in place between signer and"] + #[doc = "`delegate`."] + #[doc = ""] + #[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `delegate`: The account delegated permission to transfer asset."] + #[doc = ""] + #[doc = "Emits `ApprovalCancelled` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + cancel_approval { + #[codec(compact)] + id: ::core::primitive::u32, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 24)] + #[doc = "Cancel all of some asset approved for delegated transfer by a third-party account."] + #[doc = ""] + #[doc = "Origin must be either ForceOrigin or Signed origin with the signer being the Admin"] + #[doc = "account of the asset `id`."] + #[doc = ""] + #[doc = "Unreserves any deposit previously reserved by `approve_transfer` for the approval."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `delegate`: The account delegated permission to transfer asset."] + #[doc = ""] + #[doc = "Emits `ApprovalCancelled` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + force_cancel_approval { + #[codec(compact)] + id: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 25)] + #[doc = "Transfer some asset balance from a previously delegated account to some third-party"] + #[doc = "account."] + #[doc = ""] + #[doc = "Origin must be Signed and there must be an approval in place by the `owner` to the"] + #[doc = "signer."] + #[doc = ""] + #[doc = "If the entire amount approved for transfer is transferred, then any deposit previously"] + #[doc = "reserved by `approve_transfer` is unreserved."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset."] + #[doc = "- `owner`: The account which previously approved for a transfer of at least `amount` and"] + #[doc = "from which the asset balance will be withdrawn."] + #[doc = "- `destination`: The account to which the asset balance of `amount` will be transferred."] + #[doc = "- `amount`: The amount of assets to transfer."] + #[doc = ""] + #[doc = "Emits `TransferredApproved` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + transfer_approved { + #[codec(compact)] + id: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + destination: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + amount: ::core::primitive::u128, + }, + #[codec(index = 26)] + #[doc = "Create an asset account for non-provider assets."] + #[doc = ""] + #[doc = "A deposit will be taken from the signer account."] + #[doc = ""] + #[doc = "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit"] + #[doc = " to be taken."] + #[doc = "- `id`: The identifier of the asset for the account to be created."] + #[doc = ""] + #[doc = "Emits `Touched` event when successful."] + touch { + #[codec(compact)] + id: ::core::primitive::u32, + }, + #[codec(index = 27)] + #[doc = "Return the deposit (if any) of an asset account."] + #[doc = ""] + #[doc = "The origin must be Signed."] + #[doc = ""] + #[doc = "- `id`: The identifier of the asset for the account to be created."] + #[doc = "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund."] + #[doc = ""] + #[doc = "Emits `Refunded` event when successful."] + refund { + #[codec(compact)] + id: ::core::primitive::u32, + allow_burn: ::core::primitive::bool, + }, + } + } + } + pub mod pallet_babe { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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 , } , } + } + } + pub mod pallet_bags_list { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + }, + } + } + } + pub mod pallet_balances { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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` 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."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- Dependent on arguments but not critical, given proper implementations for input config"] + #[doc = " types. See related functions below."] + #[doc = "- It contains a limited number of reads and writes internally and no complex"] + #[doc = " computation."] + #[doc = ""] + #[doc = "Related functions:"] + #[doc = ""] + #[doc = " - `ensure_can_withdraw` is always called internally but has a bounded complexity."] + #[doc = " - Transferring balances to accounts that did not exist before will cause"] + #[doc = " `T::OnNewAccount::on_new_account` to be called."] + #[doc = " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`."] + #[doc = " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check"] + #[doc = " that the transfer will not kill the origin account."] + transfer { + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "Set the balances of a given account."] + #[doc = ""] + #[doc = "This will alter `FreeBalance` and `ReservedBalance` in storage. it will"] + #[doc = "also alter the total issuance of the system (`TotalIssuance`) appropriately."] + #[doc = "If the new free or reserved balance is below the existential deposit,"] + #[doc = "it will reset the account nonce (`frame_system::AccountNonce`)."] + #[doc = ""] + #[doc = "The dispatch origin for this call is `root`."] + set_balance { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + new_free: ::core::primitive::u128, + #[codec(compact)] + new_reserved: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Exactly as `transfer`, except the origin must be root and the source account may be"] + #[doc = "specified."] + #[doc = "## Complexity"] + #[doc = "- Same as transfer, but additional read and write because the source account is not"] + #[doc = " assumed to be in the overlay."] + force_transfer { + source: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "Same as the [`transfer`] call, but with a check that the transfer will not kill the"] + #[doc = "origin account."] + #[doc = ""] + #[doc = "99% of the time you want [`transfer`] instead."] + #[doc = ""] + #[doc = "[`transfer`]: struct.Pallet.html#method.transfer"] + transfer_keep_alive { + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[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). ## Complexity"] + #[doc = "- O(1). Just like transfer, but reading the user's transferable balance first."] + transfer_all { + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + 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, + ::core::primitive::u32, + >, + amount: ::core::primitive::u128, + }, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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"] + KeepAlive, + #[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, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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 , reserved : :: 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 , } , } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct AccountData<_0> { + pub free: _0, + pub reserved: _0, + pub misc_frozen: _0, + pub fee_frozen: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BalanceLock<_0> { + pub id: [::core::primitive::u8; 8usize], + pub amount: _0, + pub reasons: runtime_types::pallet_balances::Reasons, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Reasons { + #[codec(index = 0)] + Fee, + #[codec(index = 1)] + Misc, + #[codec(index = 2)] + All, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ReserveData<_0, _1> { + pub id: _0, + pub amount: _1, + } + } + pub mod pallet_bounties { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Propose a new bounty."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as"] + #[doc = "`DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,"] + #[doc = "or slashed when rejected."] + #[doc = ""] + #[doc = "- `curator`: The curator account whom will manage this bounty."] + #[doc = "- `fee`: The curator fee."] + #[doc = "- `value`: The total payment amount of this bounty, curator fee included."] + #[doc = "- `description`: The description of this bounty."] + propose_bounty { + #[codec(compact)] + value: ::core::primitive::u128, + description: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 1)] + #[doc = "Approve a bounty proposal. At a later time, the bounty will be funded and become active"] + #[doc = "and the original deposit will be returned."] + #[doc = ""] + #[doc = "May only be called from `T::SpendOrigin`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + approve_bounty { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Assign a curator to a funded bounty."] + #[doc = ""] + #[doc = "May only be called from `T::SpendOrigin`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + propose_curator { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + curator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + fee: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "Unassign curator from a bounty."] + #[doc = ""] + #[doc = "This function can only be called by the `RejectOrigin` a signed origin."] + #[doc = ""] + #[doc = "If this function is called by the `RejectOrigin`, we assume that the curator is"] + #[doc = "malicious or inactive. As a result, we will slash the curator when possible."] + #[doc = ""] + #[doc = "If the origin is the curator, we take this as a sign they are unable to do their job and"] + #[doc = "they willingly give up. We could slash them, but for now we allow them to recover their"] + #[doc = "deposit and exit without issue. (We may want to change this if it is abused.)"] + #[doc = ""] + #[doc = "Finally, the origin can be anyone if and only if the curator is \"inactive\". This allows"] + #[doc = "anyone in the community to call out that a curator is not doing their due diligence, and"] + #[doc = "we should pick a new curator. In this case the curator should also be slashed."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + unassign_curator { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "Accept the curator role for a bounty."] + #[doc = "A deposit will be reserved from curator and refund upon successful payout."] + #[doc = ""] + #[doc = "May only be called from the curator."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + accept_curator { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "Award bounty to a beneficiary account. The beneficiary will be able to claim the funds"] + #[doc = "after a delay."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be the curator of this bounty."] + #[doc = ""] + #[doc = "- `bounty_id`: Bounty ID to award."] + #[doc = "- `beneficiary`: The beneficiary account whom will receive the payout."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + award_bounty { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 6)] + #[doc = "Claim the payout from an awarded bounty after payout delay."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be the beneficiary of this bounty."] + #[doc = ""] + #[doc = "- `bounty_id`: Bounty ID to claim."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + claim_bounty { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 7)] + #[doc = "Cancel a proposed or active bounty. All the funds will be sent to treasury and"] + #[doc = "the curator deposit will be unreserved if possible."] + #[doc = ""] + #[doc = "Only `T::RejectOrigin` is able to cancel a bounty."] + #[doc = ""] + #[doc = "- `bounty_id`: Bounty ID to cancel."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + close_bounty { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + }, + #[codec(index = 8)] + #[doc = "Extend the expiry time of an active bounty."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be the curator of this bounty."] + #[doc = ""] + #[doc = "- `bounty_id`: Bounty ID to extend."] + #[doc = "- `remark`: additional information."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + extend_bounty_expiry { + #[codec(compact)] + bounty_id: ::core::primitive::u32, + remark: ::std::vec::Vec<::core::primitive::u8>, + }, + } + } + } + pub mod pallet_child_bounties { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Add a new child-bounty."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be the curator of parent"] + #[doc = "bounty and the parent bounty must be in \"active\" state."] + #[doc = ""] + #[doc = "Child-bounty gets added successfully & fund gets transferred from"] + #[doc = "parent bounty to child-bounty account, if parent bounty has enough"] + #[doc = "funds, else the call fails."] + #[doc = ""] + #[doc = "Upper bound to maximum number of active child bounties that can be"] + #[doc = "added are managed via runtime trait config"] + #[doc = "[`Config::MaxActiveChildBountyCount`]."] + #[doc = ""] + #[doc = "If the call is success, the status of child-bounty is updated to"] + #[doc = "\"Added\"."] + #[doc = ""] + #[doc = "- `parent_bounty_id`: Index of parent bounty for which child-bounty is being added."] + #[doc = "- `value`: Value for executing the proposal."] + #[doc = "- `description`: Text description for the child-bounty."] + add_child_bounty { + #[codec(compact)] + parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + value: ::core::primitive::u128, + description: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 1)] + #[doc = "Propose curator for funded child-bounty."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be curator of parent bounty."] + #[doc = ""] + #[doc = "Parent bounty must be in active state, for this child-bounty call to"] + #[doc = "work."] + #[doc = ""] + #[doc = "Child-bounty must be in \"Added\" state, for processing the call. And"] + #[doc = "state of child-bounty is moved to \"CuratorProposed\" on successful"] + #[doc = "call completion."] + #[doc = ""] + #[doc = "- `parent_bounty_id`: Index of parent bounty."] + #[doc = "- `child_bounty_id`: Index of child bounty."] + #[doc = "- `curator`: Address of child-bounty curator."] + #[doc = "- `fee`: payment fee to child-bounty curator for execution."] + propose_curator { + #[codec(compact)] + parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + child_bounty_id: ::core::primitive::u32, + curator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + fee: ::core::primitive::u128, + }, + #[codec(index = 2)] + #[doc = "Accept the curator role for the child-bounty."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be the curator of this"] + #[doc = "child-bounty."] + #[doc = ""] + #[doc = "A deposit will be reserved from the curator and refund upon"] + #[doc = "successful payout or cancellation."] + #[doc = ""] + #[doc = "Fee for curator is deducted from curator fee of parent bounty."] + #[doc = ""] + #[doc = "Parent bounty must be in active state, for this child-bounty call to"] + #[doc = "work."] + #[doc = ""] + #[doc = "Child-bounty must be in \"CuratorProposed\" state, for processing the"] + #[doc = "call. And state of child-bounty is moved to \"Active\" on successful"] + #[doc = "call completion."] + #[doc = ""] + #[doc = "- `parent_bounty_id`: Index of parent bounty."] + #[doc = "- `child_bounty_id`: Index of child bounty."] + accept_curator { + #[codec(compact)] + parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + child_bounty_id: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Unassign curator from a child-bounty."] + #[doc = ""] + #[doc = "The dispatch origin for this call can be either `RejectOrigin`, or"] + #[doc = "the curator of the parent bounty, or any signed origin."] + #[doc = ""] + #[doc = "For the origin other than T::RejectOrigin and the child-bounty"] + #[doc = "curator, parent bounty must be in active state, for this call to"] + #[doc = "work. We allow child-bounty curator and T::RejectOrigin to execute"] + #[doc = "this call irrespective of the parent bounty state."] + #[doc = ""] + #[doc = "If this function is called by the `RejectOrigin` or the"] + #[doc = "parent bounty curator, we assume that the child-bounty curator is"] + #[doc = "malicious or inactive. As a result, child-bounty curator deposit is"] + #[doc = "slashed."] + #[doc = ""] + #[doc = "If the origin is the child-bounty curator, we take this as a sign"] + #[doc = "that they are unable to do their job, and are willingly giving up."] + #[doc = "We could slash the deposit, but for now we allow them to unreserve"] + #[doc = "their deposit and exit without issue. (We may want to change this if"] + #[doc = "it is abused.)"] + #[doc = ""] + #[doc = "Finally, the origin can be anyone iff the child-bounty curator is"] + #[doc = "\"inactive\". Expiry update due of parent bounty is used to estimate"] + #[doc = "inactive state of child-bounty curator."] + #[doc = ""] + #[doc = "This allows anyone in the community to call out that a child-bounty"] + #[doc = "curator is not doing their due diligence, and we should pick a new"] + #[doc = "one. In this case the child-bounty curator deposit is slashed."] + #[doc = ""] + #[doc = "State of child-bounty is moved to Added state on successful call"] + #[doc = "completion."] + #[doc = ""] + #[doc = "- `parent_bounty_id`: Index of parent bounty."] + #[doc = "- `child_bounty_id`: Index of child bounty."] + unassign_curator { + #[codec(compact)] + parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + child_bounty_id: ::core::primitive::u32, + }, + #[codec(index = 4)] + #[doc = "Award child-bounty to a beneficiary."] + #[doc = ""] + #[doc = "The beneficiary will be able to claim the funds after a delay."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be the parent curator or"] + #[doc = "curator of this child-bounty."] + #[doc = ""] + #[doc = "Parent bounty must be in active state, for this child-bounty call to"] + #[doc = "work."] + #[doc = ""] + #[doc = "Child-bounty must be in active state, for processing the call. And"] + #[doc = "state of child-bounty is moved to \"PendingPayout\" on successful call"] + #[doc = "completion."] + #[doc = ""] + #[doc = "- `parent_bounty_id`: Index of parent bounty."] + #[doc = "- `child_bounty_id`: Index of child bounty."] + #[doc = "- `beneficiary`: Beneficiary account."] + award_child_bounty { + #[codec(compact)] + parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + child_bounty_id: ::core::primitive::u32, + beneficiary: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 5)] + #[doc = "Claim the payout from an awarded child-bounty after payout delay."] + #[doc = ""] + #[doc = "The dispatch origin for this call may be any signed origin."] + #[doc = ""] + #[doc = "Call works independent of parent bounty state, No need for parent"] + #[doc = "bounty to be in active state."] + #[doc = ""] + #[doc = "The Beneficiary is paid out with agreed bounty value. Curator fee is"] + #[doc = "paid & curator deposit is unreserved."] + #[doc = ""] + #[doc = "Child-bounty must be in \"PendingPayout\" state, for processing the"] + #[doc = "call. And instance of child-bounty is removed from the state on"] + #[doc = "successful call completion."] + #[doc = ""] + #[doc = "- `parent_bounty_id`: Index of parent bounty."] + #[doc = "- `child_bounty_id`: Index of child bounty."] + claim_child_bounty { + #[codec(compact)] + parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + child_bounty_id: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "Cancel a proposed or active child-bounty. Child-bounty account funds"] + #[doc = "are transferred to parent bounty account. The child-bounty curator"] + #[doc = "deposit may be unreserved if possible."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be either parent curator or"] + #[doc = "`T::RejectOrigin`."] + #[doc = ""] + #[doc = "If the state of child-bounty is `Active`, curator deposit is"] + #[doc = "unreserved."] + #[doc = ""] + #[doc = "If the state of child-bounty is `PendingPayout`, call fails &"] + #[doc = "returns `PendingPayout` error."] + #[doc = ""] + #[doc = "For the origin other than T::RejectOrigin, parent bounty must be in"] + #[doc = "active state, for this child-bounty call to work. For origin"] + #[doc = "T::RejectOrigin execution is forced."] + #[doc = ""] + #[doc = "Instance of child-bounty is removed from the state on successful"] + #[doc = "call completion."] + #[doc = ""] + #[doc = "- `parent_bounty_id`: Index of parent bounty."] + #[doc = "- `child_bounty_id`: Index of child bounty."] + close_child_bounty { + #[codec(compact)] + parent_bounty_id: ::core::primitive::u32, + #[codec(compact)] + child_bounty_id: ::core::primitive::u32, + }, + } + } + } + pub mod pallet_collective { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Set the collective's membership."] + #[doc = ""] + #[doc = "- `new_members`: The new member list. Be nice to the chain and provide it sorted."] + #[doc = "- `prime`: The prime member whose vote sets the default."] + #[doc = "- `old_count`: The upper bound for the previous number of members in storage. Used for"] + #[doc = " weight estimation."] + #[doc = ""] + #[doc = "The dispatch of this call must be `SetMembersOrigin`."] + #[doc = ""] + #[doc = "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but"] + #[doc = " the weight estimations rely on it to estimate dispatchable weight."] + #[doc = ""] + #[doc = "# WARNING:"] + #[doc = ""] + #[doc = "The `pallet-collective` can also be managed by logic outside of the pallet through the"] + #[doc = "implementation of the trait [`ChangeMembers`]."] + #[doc = "Any call to `set_members` must be careful that the member set doesn't get out of sync"] + #[doc = "with other logic managing the member set."] + #[doc = ""] + #[doc = "## Complexity:"] + #[doc = "- `O(MP + N)` where:"] + #[doc = " - `M` old-members-count (code- and governance-bounded)"] + #[doc = " - `N` new-members-count (code- and governance-bounded)"] + #[doc = " - `P` proposals-count (code-bounded)"] + set_members { + new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, + prime: ::core::option::Option<::subxt::utils::AccountId32>, + old_count: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "Dispatch a proposal from a member using the `Member` origin."] + #[doc = ""] + #[doc = "Origin must be a member of the collective."] + #[doc = ""] + #[doc = "## Complexity:"] + #[doc = "- `O(B + M + P)` where:"] + #[doc = "- `B` is `proposal` size in bytes (length-fee-bounded)"] + #[doc = "- `M` members-count (code-bounded)"] + #[doc = "- `P` complexity of dispatching `proposal`"] + execute { + proposal: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + #[codec(compact)] + length_bound: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Add a new proposal to either be voted on or executed directly."] + #[doc = ""] + #[doc = "Requires the sender to be member."] + #[doc = ""] + #[doc = "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)"] + #[doc = "or put up for voting."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(B + M + P1)` or `O(B + M + P2)` where:"] + #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] + #[doc = " - `M` is members-count (code- and governance-bounded)"] + #[doc = " - branching is influenced by `threshold` where:"] + #[doc = " - `P1` is proposal execution complexity (`threshold < 2`)"] + #[doc = " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)"] + propose { + #[codec(compact)] + threshold: ::core::primitive::u32, + proposal: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + #[codec(compact)] + length_bound: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Add an aye or nay vote for the sender to the given proposal."] + #[doc = ""] + #[doc = "Requires the sender to be a member."] + #[doc = ""] + #[doc = "Transaction fees will 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 = "## Complexity"] + #[doc = "- `O(M)` where `M` is members-count (code- and governance-bounded)"] + vote { + proposal: ::subxt::utils::H256, + #[codec(compact)] + index: ::core::primitive::u32, + approve: ::core::primitive::bool, + }, + #[codec(index = 4)] + #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] + #[doc = ""] + #[doc = "May be called by any signed account in order to finish voting and close the proposal."] + #[doc = ""] + #[doc = "If called before the end of the voting period it will only close the vote if it is"] + #[doc = "has enough votes to be approved or disapproved."] + #[doc = ""] + #[doc = "If called after the end of the voting period abstentions are counted as rejections"] + #[doc = "unless there is a prime member set and the prime member cast an approval."] + #[doc = ""] + #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] + #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] + #[doc = ""] + #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] + #[doc = "proposal."] + #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] + #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(B + M + P1 + P2)` where:"] + #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] + #[doc = " - `M` is members-count (code- and governance-bounded)"] + #[doc = " - `P1` is the complexity of `proposal` preimage."] + #[doc = " - `P2` is proposal-count (code-bounded)"] + close_old_weight { + proposal_hash: ::subxt::utils::H256, + #[codec(compact)] + index: ::core::primitive::u32, + #[codec(compact)] + proposal_weight_bound: runtime_types::sp_weights::OldWeight, + #[codec(compact)] + length_bound: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "Disapprove a proposal, close, and remove it from the system, regardless of its current"] + #[doc = "state."] + #[doc = ""] + #[doc = "Must be called by the Root origin."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "* `proposal_hash`: The hash of the proposal that should be disapproved."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "O(P) where P is the number of max proposals"] + disapprove_proposal { proposal_hash: ::subxt::utils::H256 }, + #[codec(index = 6)] + #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] + #[doc = ""] + #[doc = "May be called by any signed account in order to finish voting and close the proposal."] + #[doc = ""] + #[doc = "If called before the end of the voting period it will only close the vote if it is"] + #[doc = "has enough votes to be approved or disapproved."] + #[doc = ""] + #[doc = "If called after the end of the voting period abstentions are counted as rejections"] + #[doc = "unless there is a prime member set and the prime member cast an approval."] + #[doc = ""] + #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] + #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] + #[doc = ""] + #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] + #[doc = "proposal."] + #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] + #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(B + M + P1 + P2)` where:"] + #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] + #[doc = " - `M` is members-count (code- and governance-bounded)"] + #[doc = " - `P1` is the complexity of `proposal` preimage."] + #[doc = " - `P2` is proposal-count (code-bounded)"] + close { + proposal_hash: ::subxt::utils::H256, + #[codec(compact)] + index: ::core::primitive::u32, + proposal_weight_bound: + runtime_types::sp_weights::weight_v2::Weight, + #[codec(compact)] + length_bound: ::core::primitive::u32, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum RawOrigin<_0> { + #[codec(index = 0)] + Members(::core::primitive::u32, ::core::primitive::u32), + #[codec(index = 1)] + Member(_0), + #[codec(index = 2)] + _Phantom, + } + } + pub mod pallet_contracts { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Deprecated version if [`Self::call`] for use in an in-storage `Call`."] + call_old_weight { + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + value: ::core::primitive::u128, + #[codec(compact)] + gas_limit: runtime_types::sp_weights::OldWeight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + data: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 1)] + #[doc = "Deprecated version if [`Self::instantiate_with_code`] for use in an in-storage `Call`."] + instantiate_with_code_old_weight { + #[codec(compact)] + value: ::core::primitive::u128, + #[codec(compact)] + gas_limit: runtime_types::sp_weights::OldWeight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code: ::std::vec::Vec<::core::primitive::u8>, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 2)] + #[doc = "Deprecated version if [`Self::instantiate`] for use in an in-storage `Call`."] + instantiate_old_weight { + #[codec(compact)] + value: ::core::primitive::u128, + #[codec(compact)] + gas_limit: runtime_types::sp_weights::OldWeight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code_hash: ::subxt::utils::H256, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 3)] + #[doc = "Upload new `code` without instantiating a contract from it."] + #[doc = ""] + #[doc = "If the code does not already exist a deposit is reserved from the caller"] + #[doc = "and unreserved only when [`Self::remove_code`] is called. The size of the reserve"] + #[doc = "depends on the instrumented size of the the supplied `code`."] + #[doc = ""] + #[doc = "If the code already exists in storage it will still return `Ok` and upgrades"] + #[doc = "the in storage version to the current"] + #[doc = "[`InstructionWeights::version`](InstructionWeights)."] + #[doc = ""] + #[doc = "- `determinism`: If this is set to any other value but [`Determinism::Deterministic`]"] + #[doc = " then the only way to use this code is to delegate call into it from an offchain"] + #[doc = " execution. Set to [`Determinism::Deterministic`] if in doubt."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "Anyone can instantiate a contract from any uploaded code and thus prevent its removal."] + #[doc = "To avoid this situation a constructor could employ access control so that it can"] + #[doc = "only be instantiated by permissioned entities. The same is true when uploading"] + #[doc = "through [`Self::instantiate_with_code`]."] + upload_code { + code: ::std::vec::Vec<::core::primitive::u8>, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + determinism: runtime_types::pallet_contracts::wasm::Determinism, + }, + #[codec(index = 4)] + #[doc = "Remove the code stored under `code_hash` and refund the deposit to its owner."] + #[doc = ""] + #[doc = "A code can only be removed by its original uploader (its owner) and only if it is"] + #[doc = "not used by any contract."] + remove_code { code_hash: ::subxt::utils::H256 }, + #[codec(index = 5)] + #[doc = "Privileged function that changes the code of an existing contract."] + #[doc = ""] + #[doc = "This takes care of updating refcounts and all other necessary operations. Returns"] + #[doc = "an error if either the `code_hash` or `dest` do not exist."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "This does **not** change the address of the contract in question. This means"] + #[doc = "that the contract address is no longer derived from its code hash after calling"] + #[doc = "this dispatchable."] + set_code { + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + code_hash: ::subxt::utils::H256, + }, + #[codec(index = 6)] + #[doc = "Makes a call to an account, optionally transferring some balance."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "* `dest`: Address of the contract to call."] + #[doc = "* `value`: The balance to transfer from the `origin` to `dest`."] + #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] + #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged from the"] + #[doc = " caller to pay for the storage consumed."] + #[doc = "* `data`: The input data to pass to the contract."] + #[doc = ""] + #[doc = "* If the account is a smart-contract account, the associated code will be"] + #[doc = "executed and any value will be transferred."] + #[doc = "* If the account is a regular account, any value will be transferred."] + #[doc = "* If no account exists and the call value is not less than `existential_deposit`,"] + #[doc = "a regular account will be created and any value will be transferred."] + call { + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + value: ::core::primitive::u128, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + data: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 7)] + #[doc = "Instantiates a new contract from the supplied `code` optionally transferring"] + #[doc = "some balance."] + #[doc = ""] + #[doc = "This dispatchable has the same effect as calling [`Self::upload_code`] +"] + #[doc = "[`Self::instantiate`]. Bundling them together provides efficiency gains. Please"] + #[doc = "also check the documentation of [`Self::upload_code`]."] + #[doc = ""] + #[doc = "# Parameters"] + #[doc = ""] + #[doc = "* `value`: The balance to transfer from the `origin` to the newly created contract."] + #[doc = "* `gas_limit`: The gas limit enforced when executing the constructor."] + #[doc = "* `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved"] + #[doc = " from the caller to pay for the storage consumed."] + #[doc = "* `code`: The contract code to deploy in raw bytes."] + #[doc = "* `data`: The input data to pass to the contract constructor."] + #[doc = "* `salt`: Used for the address derivation. See [`Pallet::contract_address`]."] + #[doc = ""] + #[doc = "Instantiation is executed as follows:"] + #[doc = ""] + #[doc = "- The supplied `code` is instrumented, deployed, and a `code_hash` is created for that"] + #[doc = " code."] + #[doc = "- If the `code_hash` already exists on the chain the underlying `code` will be shared."] + #[doc = "- The destination address is computed based on the sender, code_hash and the salt."] + #[doc = "- The smart-contract account is created at the computed address."] + #[doc = "- The `value` is transferred to the new account."] + #[doc = "- The `deploy` function is executed in the context of the newly-created account."] + instantiate_with_code { + #[codec(compact)] + value: ::core::primitive::u128, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code: ::std::vec::Vec<::core::primitive::u8>, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 8)] + #[doc = "Instantiates a contract from a previously deployed wasm binary."] + #[doc = ""] + #[doc = "This function is identical to [`Self::instantiate_with_code`] but without the"] + #[doc = "code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary"] + #[doc = "must be supplied."] + instantiate { + #[codec(compact)] + value: ::core::primitive::u128, + gas_limit: runtime_types::sp_weights::weight_v2::Weight, + storage_deposit_limit: ::core::option::Option< + ::subxt::ext::codec::Compact<::core::primitive::u128>, + >, + code_hash: ::subxt::utils::H256, + data: ::std::vec::Vec<::core::primitive::u8>, + salt: ::std::vec::Vec<::core::primitive::u8>, + }, + } + } + pub mod wasm { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Determinism { + #[codec(index = 0)] + Deterministic, + #[codec(index = 1)] + AllowIndeterminism, + } + } + } + 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, + Debug, + )] + 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, + Debug, + )] + #[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 , :: core :: primitive :: u32 > , 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 , :: core :: primitive :: u32 > , } , # [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 , :: core :: primitive :: u32 > , class : :: core :: primitive :: u16 , index : :: core :: primitive :: u32 , } , } + } + pub mod vote { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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 :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Vote(pub ::core::primitive::u8); + } + } + pub mod pallet_democracy { + use super::runtime_types; + pub mod conviction { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Propose a sensitive action to be taken."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_ and the sender must"] + #[doc = "have funds to cover the deposit."] + #[doc = ""] + #[doc = "- `proposal_hash`: The hash of the proposal preimage."] + #[doc = "- `value`: The amount of deposit (must be at least `MinimumDeposit`)."] + #[doc = ""] + #[doc = "Emits `Proposed`."] + propose { + proposal: + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "Signals agreement with a particular proposal."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_ and the sender"] + #[doc = "must have funds to cover the deposit, equal to the original deposit."] + #[doc = ""] + #[doc = "- `proposal`: The index of the proposal to second."] + second { + #[codec(compact)] + proposal: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Vote in a referendum. 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 = "- `ref_index`: The index of the referendum to vote for."] + #[doc = "- `vote`: The vote configuration."] + vote { + #[codec(compact)] + ref_index: ::core::primitive::u32, + vote: runtime_types::pallet_democracy::vote::AccountVote< + ::core::primitive::u128, + >, + }, + #[codec(index = 3)] + #[doc = "Schedule an emergency cancellation of a referendum. Cannot happen twice to the same"] + #[doc = "referendum."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be `CancellationOrigin`."] + #[doc = ""] + #[doc = "-`ref_index`: The index of the referendum to cancel."] + #[doc = ""] + #[doc = "Weight: `O(1)`."] + emergency_cancel { ref_index: ::core::primitive::u32 }, + #[codec(index = 4)] + #[doc = "Schedule a referendum to be tabled once it is legal to schedule an external"] + #[doc = "referendum."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be `ExternalOrigin`."] + #[doc = ""] + #[doc = "- `proposal_hash`: The preimage hash of the proposal."] + external_propose { + proposal: + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 5)] + #[doc = "Schedule a majority-carries referendum to be tabled next once it is legal to schedule"] + #[doc = "an external referendum."] + #[doc = ""] + #[doc = "The dispatch of this call must be `ExternalMajorityOrigin`."] + #[doc = ""] + #[doc = "- `proposal_hash`: The preimage hash of the proposal."] + #[doc = ""] + #[doc = "Unlike `external_propose`, blacklisting has no effect on this and it may replace a"] + #[doc = "pre-scheduled `external_propose` call."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + external_propose_majority { + proposal: + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 6)] + #[doc = "Schedule a negative-turnout-bias referendum to be tabled next once it is legal to"] + #[doc = "schedule an external referendum."] + #[doc = ""] + #[doc = "The dispatch of this call must be `ExternalDefaultOrigin`."] + #[doc = ""] + #[doc = "- `proposal_hash`: The preimage hash of the proposal."] + #[doc = ""] + #[doc = "Unlike `external_propose`, blacklisting has no effect on this and it may replace a"] + #[doc = "pre-scheduled `external_propose` call."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + external_propose_default { + proposal: + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 7)] + #[doc = "Schedule the currently externally-proposed majority-carries referendum to be tabled"] + #[doc = "immediately. If there is no externally-proposed referendum currently, or if there is one"] + #[doc = "but it is not a majority-carries referendum then it fails."] + #[doc = ""] + #[doc = "The dispatch of this call must be `FastTrackOrigin`."] + #[doc = ""] + #[doc = "- `proposal_hash`: The hash of the current external proposal."] + #[doc = "- `voting_period`: The period that is allowed for voting on this proposal. Increased to"] + #[doc = "\tMust be always greater than zero."] + #[doc = "\tFor `FastTrackOrigin` must be equal or greater than `FastTrackVotingPeriod`."] + #[doc = "- `delay`: The number of block after voting has ended in approval and this should be"] + #[doc = " enacted. This doesn't have a minimum amount."] + #[doc = ""] + #[doc = "Emits `Started`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + fast_track { + proposal_hash: ::subxt::utils::H256, + voting_period: ::core::primitive::u32, + delay: ::core::primitive::u32, + }, + #[codec(index = 8)] + #[doc = "Veto and blacklist the external proposal hash."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be `VetoOrigin`."] + #[doc = ""] + #[doc = "- `proposal_hash`: The preimage hash of the proposal to veto and blacklist."] + #[doc = ""] + #[doc = "Emits `Vetoed`."] + #[doc = ""] + #[doc = "Weight: `O(V + log(V))` where V is number of `existing vetoers`"] + veto_external { proposal_hash: ::subxt::utils::H256 }, + #[codec(index = 9)] + #[doc = "Remove a referendum."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Root_."] + #[doc = ""] + #[doc = "- `ref_index`: The index of the referendum to cancel."] + #[doc = ""] + #[doc = "# Weight: `O(1)`."] + cancel_referendum { + #[codec(compact)] + ref_index: ::core::primitive::u32, + }, + #[codec(index = 10)] + #[doc = "Delegate the voting power (with some given conviction) of the sending account."] + #[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 = "- `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 referendums the voter delegating to has"] + #[doc = " voted on. Weight is charged as if maximum votes."] + delegate { + to: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + conviction: + runtime_types::pallet_democracy::conviction::Conviction, + balance: ::core::primitive::u128, + }, + #[codec(index = 11)] + #[doc = "Undelegate the voting power of the sending account."] + #[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."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"] + #[doc = "currently delegating."] + #[doc = ""] + #[doc = "Emits `Undelegated`."] + #[doc = ""] + #[doc = "Weight: `O(R)` where R is the number of referendums the voter delegating to has"] + #[doc = " voted on. Weight is charged as if maximum votes."] + undelegate, + #[codec(index = 12)] + #[doc = "Clears all public proposals."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Root_."] + #[doc = ""] + #[doc = "Weight: `O(1)`."] + clear_public_proposals, + #[codec(index = 13)] + #[doc = "Unlock tokens that have an expired lock."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account to remove the lock on."] + #[doc = ""] + #[doc = "Weight: `O(R)` with R number of vote of target."] + unlock { + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 14)] + #[doc = "Remove a vote for a referendum."] + #[doc = ""] + #[doc = "If:"] + #[doc = "- the referendum was cancelled, or"] + #[doc = "- the referendum is ongoing, or"] + #[doc = "- the referendum 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 referendum 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 referendum `index`."] + #[doc = ""] + #[doc = "- `index`: The index of referendum of the vote to be removed."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on."] + #[doc = " Weight is calculated for the maximum number of vote."] + remove_vote { index: ::core::primitive::u32 }, + #[codec(index = 15)] + #[doc = "Remove a vote for a referendum."] + #[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 referendum was cancelled, because the voter lost the referendum 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"] + #[doc = " referendum `index`."] + #[doc = "- `index`: The index of referendum of the vote to be removed."] + #[doc = ""] + #[doc = "Weight: `O(R + log R)` where R is the number of referenda 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, + ::core::primitive::u32, + >, + index: ::core::primitive::u32, + }, + #[codec(index = 16)] + #[doc = "Permanently place a proposal into the blacklist. This prevents it from ever being"] + #[doc = "proposed again."] + #[doc = ""] + #[doc = "If called on a queued public or external proposal, then this will result in it being"] + #[doc = "removed. If the `ref_index` supplied is an active referendum with the proposal hash,"] + #[doc = "then it will be cancelled."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be `BlacklistOrigin`."] + #[doc = ""] + #[doc = "- `proposal_hash`: The proposal hash to blacklist permanently."] + #[doc = "- `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be"] + #[doc = "cancelled."] + #[doc = ""] + #[doc = "Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a"] + #[doc = " reasonable value)."] + blacklist { + proposal_hash: ::subxt::utils::H256, + maybe_ref_index: ::core::option::Option<::core::primitive::u32>, + }, + #[codec(index = 17)] + #[doc = "Remove a proposal."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be `CancelProposalOrigin`."] + #[doc = ""] + #[doc = "- `prop_index`: The index of the proposal to cancel."] + #[doc = ""] + #[doc = "Weight: `O(p)` where `p = PublicProps::::decode_len()`"] + cancel_proposal { + #[codec(compact)] + prop_index: ::core::primitive::u32, + }, + #[codec(index = 18)] + #[doc = "Set or clear a metadata of a proposal or a referendum."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `origin`: Must correspond to the `MetadataOwner`."] + #[doc = " - `ExternalOrigin` for an external proposal with the `SuperMajorityApprove`"] + #[doc = " threshold."] + #[doc = " - `ExternalDefaultOrigin` for an external proposal with the `SuperMajorityAgainst`"] + #[doc = " threshold."] + #[doc = " - `ExternalMajorityOrigin` for an external proposal with the `SimpleMajority`"] + #[doc = " threshold."] + #[doc = " - `Signed` by a creator for a public proposal."] + #[doc = " - `Signed` to clear a metadata for a finished referendum."] + #[doc = " - `Root` to set a metadata for an ongoing referendum."] + #[doc = "- `owner`: an identifier of a metadata owner."] + #[doc = "- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."] + set_metadata { + owner: runtime_types::pallet_democracy::types::MetadataOwner, + maybe_hash: ::core::option::Option<::subxt::utils::H256>, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum MetadataOwner { + #[codec(index = 0)] + External, + #[codec(index = 1)] + Proposal(::core::primitive::u32), + #[codec(index = 2)] + Referendum(::core::primitive::u32), + } + } + pub mod vote { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum AccountVote<_0> { + #[codec(index = 0)] + Standard { + vote: runtime_types::pallet_democracy::vote::Vote, + balance: _0, + }, + #[codec(index = 1)] + Split { aye: _0, nay: _0 }, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Vote(pub ::core::primitive::u8); + } + } + 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, + Debug, + )] + #[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 :: kitchensink_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 :: kitchensink_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, + Debug, + )] + 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, + Debug, + )] + pub struct SolutionOrSnapshotSize { + #[codec(compact)] + pub voters: ::core::primitive::u32, + #[codec(compact)] + pub targets: ::core::primitive::u32, + } + } + pub mod pallet_elections_phragmen { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Vote for a set of candidates for the upcoming round of election. This can be called to"] + #[doc = "set the initial votes, or update already existing votes."] + #[doc = ""] + #[doc = "Upon initial voting, `value` units of `who`'s balance is locked and a deposit amount is"] + #[doc = "reserved. The deposit is based on the number of votes and can be updated over time."] + #[doc = ""] + #[doc = "The `votes` should:"] + #[doc = " - not be empty."] + #[doc = " - be less than the number of possible candidates. Note that all current members and"] + #[doc = " runners-up are also automatically candidates for the next round."] + #[doc = ""] + #[doc = "If `value` is more than `who`'s free balance, then the maximum of the two is used."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed."] + #[doc = ""] + #[doc = "### Warning"] + #[doc = ""] + #[doc = "It is the responsibility of the caller to **NOT** place all of their balance into the"] + #[doc = "lock and keep some for further operations."] + vote { + votes: ::std::vec::Vec<::subxt::utils::AccountId32>, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 1)] + #[doc = "Remove `origin` as a voter."] + #[doc = ""] + #[doc = "This removes the lock and returns the deposit."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed and be a voter."] + remove_voter, + #[codec(index = 2)] + #[doc = "Submit oneself for candidacy. A fixed amount of deposit is recorded."] + #[doc = ""] + #[doc = "All candidates are wiped at the end of the term. They either become a member/runner-up,"] + #[doc = "or leave the system while their deposit is slashed."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed."] + #[doc = ""] + #[doc = "### Warning"] + #[doc = ""] + #[doc = "Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]"] + #[doc = "to get their deposit back. Losing the spot in an election will always lead to a slash."] + #[doc = ""] + #[doc = "The number of current candidates must be provided as witness data."] + #[doc = "## Complexity"] + #[doc = "O(C + log(C)) where C is candidate_count."] + submit_candidacy { + #[codec(compact)] + candidate_count: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Renounce one's intention to be a candidate for the next election round. 3 potential"] + #[doc = "outcomes exist:"] + #[doc = ""] + #[doc = "- `origin` is a candidate and not elected in any set. In this case, the deposit is"] + #[doc = " unreserved, returned and origin is removed as a candidate."] + #[doc = "- `origin` is a current runner-up. In this case, the deposit is unreserved, returned and"] + #[doc = " origin is removed as a runner-up."] + #[doc = "- `origin` is a current member. In this case, the deposit is unreserved and origin is"] + #[doc = " removed as a member, consequently not being a candidate for the next round anymore."] + #[doc = " Similar to [`remove_member`](Self::remove_member), if replacement runners exists, they"] + #[doc = " are immediately used. If the prime is renouncing, then no prime will exist until the"] + #[doc = " next round."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed, and have one of the above roles."] + #[doc = "The type of renouncing must be provided as witness data."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = " - Renouncing::Candidate(count): O(count + log(count))"] + #[doc = " - Renouncing::Member: O(1)"] + #[doc = " - Renouncing::RunnerUp: O(1)"] + renounce_candidacy { + renouncing: runtime_types::pallet_elections_phragmen::Renouncing, + }, + #[codec(index = 4)] + #[doc = "Remove a particular member from the set. This is effective immediately and the bond of"] + #[doc = "the outgoing member is slashed."] + #[doc = ""] + #[doc = "If a runner-up is available, then the best runner-up will be removed and replaces the"] + #[doc = "outgoing member. Otherwise, if `rerun_election` is `true`, a new phragmen election is"] + #[doc = "started, else, nothing happens."] + #[doc = ""] + #[doc = "If `slash_bond` is set to true, the bond of the member being removed is slashed. Else,"] + #[doc = "it is returned."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be root."] + #[doc = ""] + #[doc = "Note that this does not affect the designated block number of the next election."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- Check details of remove_and_replace_member() and do_phragmen()."] + remove_member { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + slash_bond: ::core::primitive::bool, + rerun_election: ::core::primitive::bool, + }, + #[codec(index = 5)] + #[doc = "Clean all voters who are defunct (i.e. they do not serve any purpose at all). The"] + #[doc = "deposit of the removed voters are returned."] + #[doc = ""] + #[doc = "This is an root function to be used only for cleaning the state."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be root."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- Check is_defunct_voter() details."] + clean_defunct_voters { + num_voters: ::core::primitive::u32, + num_defunct: ::core::primitive::u32, + }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Renouncing { + #[codec(index = 0)] + Member, + #[codec(index = 1)] + RunnerUp, + #[codec(index = 2)] + Candidate(#[codec(compact)] ::core::primitive::u32), + } + } + pub mod pallet_fast_unstake { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Register oneself for fast-unstake."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the controller account, similar to"] + #[doc = "`staking::unbond`."] + #[doc = ""] + #[doc = "The stash associated with the origin must have no ongoing unlocking chunks. If"] + #[doc = "successful, this will fully unbond and chill the stash. Then, it will enqueue the stash"] + #[doc = "to be checked in further blocks."] + #[doc = ""] + #[doc = "If by the time this is called, the stash is actually eligible for fast-unstake, then"] + #[doc = "they are guaranteed to remain eligible, because the call will chill them as well."] + #[doc = ""] + #[doc = "If the check works, the entire staking data is removed, i.e. the stash is fully"] + #[doc = "unstaked."] + #[doc = ""] + #[doc = "If the check fails, the stash remains chilled and waiting for being unbonded as in with"] + #[doc = "the normal staking system, but they lose part of their unbonding chunks due to consuming"] + #[doc = "the chain's resources."] + register_fast_unstake, + #[codec(index = 1)] + #[doc = "Deregister oneself from the fast-unstake."] + #[doc = ""] + #[doc = "This is useful if one is registered, they are still waiting, and they change their mind."] + #[doc = ""] + #[doc = "Note that the associated stash is still fully unbonded and chilled as a consequence of"] + #[doc = "calling `register_fast_unstake`. This should probably be followed by a call to"] + #[doc = "`Staking::rebond`."] + deregister, + #[codec(index = 2)] + #[doc = "Control the operation of this pallet."] + #[doc = ""] + #[doc = "Dispatch origin must be signed by the [`Config::ControlOrigin`]."] + control { + eras_to_check: ::core::primitive::u32, + }, + } + } + } + pub mod pallet_glutton { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Initializes the pallet by writing into `TrashData`."] + #[doc = ""] + #[doc = "Only callable by Root. A good default for `trash_count` is `5_000`."] + initialize_pallet { + new_count: ::core::primitive::u32, + witness_count: ::core::option::Option<::core::primitive::u32>, + }, + #[codec(index = 1)] + #[doc = "Set the `Compute` storage value that determines how much of the"] + #[doc = "block's weight `ref_time` to use during `on_idle`."] + #[doc = ""] + #[doc = "Only callable by Root."] + set_compute { + compute: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 2)] + #[doc = "Set the `Storage` storage value that determines the PoV size usage"] + #[doc = "for each block."] + #[doc = ""] + #[doc = "Only callable by Root."] + set_storage { + storage: runtime_types::sp_arithmetic::per_things::Perbill, + }, + } + } + } + pub mod pallet_grandpa { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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, + }, + } + } + } + pub mod pallet_identity { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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, + ::core::primitive::u32, + >, + }, + #[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< + runtime_types::pallet_identity::types::IdentityInfo, + >, + }, + #[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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + 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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + 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, + ::core::primitive::u32, + >, + 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, + ::core::primitive::u32, + >, + }, + #[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, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BitFlags<_0>( + pub ::core::primitive::u64, + #[codec(skip)] pub ::core::marker::PhantomData<_0>, + ); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + 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, + } + } + } + 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, + Debug, + )] + #[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 , } , } + } + pub mod sr25519 { + use super::runtime_types; + pub mod app_sr25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Public(pub runtime_types::sp_core::sr25519::Public); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Signature(pub runtime_types::sp_core::sr25519::Signature); + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Heartbeat<_0> { + pub block_number: _0, + pub network_state: runtime_types::sp_core::offchain::OpaqueNetworkState, + pub session_index: _0, + pub authority_index: _0, + pub validators_len: _0, + } + } + pub mod pallet_indices { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Assign an previously unassigned index."] + #[doc = ""] + #[doc = "Payment: `Deposit` is reserved from the sender account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `index`: the index to be claimed. This must not be in use."] + #[doc = ""] + #[doc = "Emits `IndexAssigned` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + claim { index: ::core::primitive::u32 }, + #[codec(index = 1)] + #[doc = "Assign an index already owned by the sender to another account. The balance reservation"] + #[doc = "is effectively transferred to the new account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `index`: the index to be re-assigned. This must be owned by the sender."] + #[doc = "- `new`: the new owner of the index. This function is a no-op if it is equal to sender."] + #[doc = ""] + #[doc = "Emits `IndexAssigned` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + transfer { + new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + index: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Free up an index owned by the sender."] + #[doc = ""] + #[doc = "Payment: Any previous deposit placed for the index is unreserved in the sender account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must own the index."] + #[doc = ""] + #[doc = "- `index`: the index to be freed. This must be owned by the sender."] + #[doc = ""] + #[doc = "Emits `IndexFreed` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + free { index: ::core::primitive::u32 }, + #[codec(index = 3)] + #[doc = "Force an index to an account. This doesn't require a deposit. If the index is already"] + #[doc = "held, then any deposit is reimbursed to its current owner."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "- `index`: the index to be (re-)assigned."] + #[doc = "- `new`: the new owner of the index. This function is a no-op if it is equal to sender."] + #[doc = "- `freeze`: if set to `true`, will freeze the index so it cannot be transferred."] + #[doc = ""] + #[doc = "Emits `IndexAssigned` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + force_transfer { + new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + index: ::core::primitive::u32, + freeze: ::core::primitive::bool, + }, + #[codec(index = 4)] + #[doc = "Freeze an index so it will always point to the sender account. This consumes the"] + #[doc = "deposit."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the signing account must have a"] + #[doc = "non-frozen account `index`."] + #[doc = ""] + #[doc = "- `index`: the index to be frozen in place."] + #[doc = ""] + #[doc = "Emits `IndexFrozen` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + freeze { index: ::core::primitive::u32 }, + } + } + } + pub mod pallet_lottery { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Buy a ticket to enter the lottery."] + #[doc = ""] + #[doc = "This extrinsic acts as a passthrough function for `call`. In all"] + #[doc = "situations where `call` alone would succeed, this extrinsic should"] + #[doc = "succeed."] + #[doc = ""] + #[doc = "If `call` is successful, then we will attempt to purchase a ticket,"] + #[doc = "which may fail silently. To detect success of a ticket purchase, you"] + #[doc = "should listen for the `TicketBought` event."] + #[doc = ""] + #[doc = "This extrinsic must be called by a signed origin."] + buy_ticket { + call: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 1)] + #[doc = "Set calls in storage which can be used to purchase a lottery ticket."] + #[doc = ""] + #[doc = "This function only matters if you use the `ValidateCall` implementation"] + #[doc = "provided by this pallet, which uses storage to determine the valid calls."] + #[doc = ""] + #[doc = "This extrinsic must be called by the Manager origin."] + set_calls { + calls: ::std::vec::Vec< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 2)] + #[doc = "Start a lottery using the provided configuration."] + #[doc = ""] + #[doc = "This extrinsic must be called by the `ManagerOrigin`."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = ""] + #[doc = "* `price`: The cost of a single ticket."] + #[doc = "* `length`: How long the lottery should run for starting at the current block."] + #[doc = "* `delay`: How long after the lottery end we should wait before picking a winner."] + #[doc = "* `repeat`: If the lottery should repeat when completed."] + start_lottery { + price: ::core::primitive::u128, + length: ::core::primitive::u32, + delay: ::core::primitive::u32, + repeat: ::core::primitive::bool, + }, + #[codec(index = 3)] + #[doc = "If a lottery is repeating, you can use this to stop the repeat."] + #[doc = "The lottery will continue to run to completion."] + #[doc = ""] + #[doc = "This extrinsic must be called by the `ManagerOrigin`."] + stop_repeat, + } + } + } + pub mod pallet_membership { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Add a member `who` to the set."] + #[doc = ""] + #[doc = "May only be called from `T::AddOrigin`."] + add_member { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 1)] + #[doc = "Remove a member `who` from the set."] + #[doc = ""] + #[doc = "May only be called from `T::RemoveOrigin`."] + remove_member { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 2)] + #[doc = "Swap out one member `remove` for another `add`."] + #[doc = ""] + #[doc = "May only be called from `T::SwapOrigin`."] + #[doc = ""] + #[doc = "Prime membership is *not* passed from `remove` to `add`, if extant."] + swap_member { + remove: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + add: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 3)] + #[doc = "Change the membership to a new set, disregarding the existing membership. Be nice and"] + #[doc = "pass `members` pre-sorted."] + #[doc = ""] + #[doc = "May only be called from `T::ResetOrigin`."] + reset_members { + members: ::std::vec::Vec<::subxt::utils::AccountId32>, + }, + #[codec(index = 4)] + #[doc = "Swap out the sending member for some other key `new`."] + #[doc = ""] + #[doc = "May only be called from `Signed` origin of a current member."] + #[doc = ""] + #[doc = "Prime membership is passed from the origin account to `new`, if extant."] + change_key { + new: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 5)] + #[doc = "Set the prime member. Must be a current member."] + #[doc = ""] + #[doc = "May only be called from `T::PrimeOrigin`."] + set_prime { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 6)] + #[doc = "Remove the prime member if it exists."] + #[doc = ""] + #[doc = "May only be called from `T::PrimeOrigin`."] + clear_prime, + } + } + } + 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, + Debug, + )] + #[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: ::core::primitive::u32, + 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: ::core::primitive::u32, + page: ::core::primitive::u32, + index: ::core::primitive::u32, + weight_limit: runtime_types::sp_weights::weight_v2::Weight, + }, + } + } + } + pub mod pallet_multisig { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + 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, + Debug, + )] + pub struct Timepoint<_0> { + pub height: _0, + pub index: _0, + } + } + pub mod pallet_nfts { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] # [doc = "Issue a new collection of non-fungible items from a public origin."] # [doc = ""] # [doc = "This new collection has no items initially and its owner is the origin."] # [doc = ""] # [doc = "The origin must be Signed and the sender must have sufficient funds free."] # [doc = ""] # [doc = "`ItemDeposit` funds of sender are reserved."] # [doc = ""] # [doc = "Parameters:"] # [doc = "- `admin`: The admin of this collection. The admin is the initial address of each"] # [doc = "member of the collection's admin team."] # [doc = ""] # [doc = "Emits `Created` event when successful."] # [doc = ""] # [doc = "Weight: `O(1)`"] create { admin : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , config : runtime_types :: pallet_nfts :: types :: CollectionConfig < :: core :: primitive :: u128 , :: core :: primitive :: u32 , :: core :: primitive :: u32 > , } , # [codec (index = 1)] # [doc = "Issue a new collection of non-fungible items from a privileged origin."] # [doc = ""] # [doc = "This new collection has no items initially."] # [doc = ""] # [doc = "The origin must conform to `ForceOrigin`."] # [doc = ""] # [doc = "Unlike `create`, no funds are reserved."] # [doc = ""] # [doc = "- `owner`: The owner of this collection of items. The owner has full superuser"] # [doc = " permissions over this item, but may later change and configure the permissions using"] # [doc = " `transfer_ownership` and `set_team`."] # [doc = ""] # [doc = "Emits `ForceCreated` event when successful."] # [doc = ""] # [doc = "Weight: `O(1)`"] force_create { owner : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , config : runtime_types :: pallet_nfts :: types :: CollectionConfig < :: core :: primitive :: u128 , :: core :: primitive :: u32 , :: core :: primitive :: u32 > , } , # [codec (index = 2)] # [doc = "Destroy a collection of fungible items."] # [doc = ""] # [doc = "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the"] # [doc = "owner of the `collection`."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection to be destroyed."] # [doc = "- `witness`: Information on the items minted in the collection. This must be"] # [doc = "correct."] # [doc = ""] # [doc = "Emits `Destroyed` event when successful."] # [doc = ""] # [doc = "Weight: `O(n + m)` where:"] # [doc = "- `n = witness.items`"] # [doc = "- `m = witness.item_metadatas`"] # [doc = "- `a = witness.attributes`"] destroy { collection : :: core :: primitive :: u32 , witness : runtime_types :: pallet_nfts :: types :: DestroyWitness , } , # [codec (index = 3)] # [doc = "Mint an item of a particular collection."] # [doc = ""] # [doc = "The origin must be Signed and the sender must be the Issuer of the `collection`."] # [doc = ""] # [doc = "- `collection`: The collection of the item to be minted."] # [doc = "- `item`: An identifier of the new item."] # [doc = "- `mint_to`: Account into which the item will be minted."] # [doc = "- `witness_data`: When the mint type is `HolderOf(collection_id)`, then the owned"] # [doc = " item_id from that collection needs to be provided within the witness data object."] # [doc = ""] # [doc = "Note: the deposit will be taken from the `origin` and not the `owner` of the `item`."] # [doc = ""] # [doc = "Emits `Issued` event when successful."] # [doc = ""] # [doc = "Weight: `O(1)`"] mint { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , mint_to : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , witness_data : :: core :: option :: Option < runtime_types :: pallet_nfts :: types :: MintWitness < :: core :: primitive :: u32 > > , } , # [codec (index = 4)] # [doc = "Mint an item of a particular collection from a privileged origin."] # [doc = ""] # [doc = "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the"] # [doc = "Issuer of the `collection`."] # [doc = ""] # [doc = "- `collection`: The collection of the item to be minted."] # [doc = "- `item`: An identifier of the new item."] # [doc = "- `mint_to`: Account into which the item will be minted."] # [doc = "- `item_config`: A config of the new item."] # [doc = ""] # [doc = "Emits `Issued` event when successful."] # [doc = ""] # [doc = "Weight: `O(1)`"] force_mint { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , mint_to : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , item_config : runtime_types :: pallet_nfts :: types :: ItemConfig , } , # [codec (index = 5)] # [doc = "Destroy a single item."] # [doc = ""] # [doc = "Origin must be Signed and the signing account must be either:"] # [doc = "- the Admin of the `collection`;"] # [doc = "- the Owner of the `item`;"] # [doc = ""] # [doc = "- `collection`: The collection of the item to be burned."] # [doc = "- `item`: The item to be burned."] # [doc = "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the"] # [doc = " item is owned by this value."] # [doc = ""] # [doc = "Emits `Burned` with the actual amount burned."] # [doc = ""] # [doc = "Weight: `O(1)`"] # [doc = "Modes: `check_owner.is_some()`."] burn { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , check_owner : :: core :: option :: Option < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > > , } , # [codec (index = 6)] # [doc = "Move an item from the sender account to another."] # [doc = ""] # [doc = "Origin must be Signed and the signing account must be either:"] # [doc = "- the Admin of the `collection`;"] # [doc = "- the Owner of the `item`;"] # [doc = "- the approved delegate for the `item` (in this case, the approval is reset)."] # [doc = ""] # [doc = "Arguments:"] # [doc = "- `collection`: The collection of the item to be transferred."] # [doc = "- `item`: The item to be transferred."] # [doc = "- `dest`: The account to receive ownership of the item."] # [doc = ""] # [doc = "Emits `Transferred`."] # [doc = ""] # [doc = "Weight: `O(1)`"] transfer { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , dest : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 7)] # [doc = "Re-evaluate the deposits on some items."] # [doc = ""] # [doc = "Origin must be Signed and the sender should be the Owner of the `collection`."] # [doc = ""] # [doc = "- `collection`: The collection of the items to be reevaluated."] # [doc = "- `items`: The items of the collection whose deposits will be reevaluated."] # [doc = ""] # [doc = "NOTE: This exists as a best-effort function. Any items which are unknown or"] # [doc = "in the case that the owner account does not have reservable funds to pay for a"] # [doc = "deposit increase are ignored. Generally the owner isn't going to call this on items"] # [doc = "whose existing deposit is less than the refreshed deposit as it would only cost them,"] # [doc = "so it's of little consequence."] # [doc = ""] # [doc = "It will still return an error in the case that the collection is unknown or the signer"] # [doc = "is not permitted to call it."] # [doc = ""] # [doc = "Weight: `O(items.len())`"] redeposit { collection : :: core :: primitive :: u32 , items : :: std :: vec :: Vec < :: core :: primitive :: u32 > , } , # [codec (index = 8)] # [doc = "Disallow further unprivileged transfer of an item."] # [doc = ""] # [doc = "Origin must be Signed and the sender should be the Freezer of the `collection`."] # [doc = ""] # [doc = "- `collection`: The collection of the item to be changed."] # [doc = "- `item`: The item to become non-transferable."] # [doc = ""] # [doc = "Emits `ItemTransferLocked`."] # [doc = ""] # [doc = "Weight: `O(1)`"] lock_item_transfer { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , } , # [codec (index = 9)] # [doc = "Re-allow unprivileged transfer of an item."] # [doc = ""] # [doc = "Origin must be Signed and the sender should be the Freezer of the `collection`."] # [doc = ""] # [doc = "- `collection`: The collection of the item to be changed."] # [doc = "- `item`: The item to become transferable."] # [doc = ""] # [doc = "Emits `ItemTransferUnlocked`."] # [doc = ""] # [doc = "Weight: `O(1)`"] unlock_item_transfer { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , } , # [codec (index = 10)] # [doc = "Disallows specified settings for the whole collection."] # [doc = ""] # [doc = "Origin must be Signed and the sender should be the Freezer of the `collection`."] # [doc = ""] # [doc = "- `collection`: The collection to be locked."] # [doc = "- `lock_settings`: The settings to be locked."] # [doc = ""] # [doc = "Note: it's possible to only lock(set) the setting, but not to unset it."] # [doc = "Emits `CollectionLocked`."] # [doc = ""] # [doc = "Weight: `O(1)`"] lock_collection { collection : :: core :: primitive :: u32 , lock_settings : runtime_types :: pallet_nfts :: types :: BitFlags < runtime_types :: pallet_nfts :: types :: CollectionSetting > , } , # [codec (index = 11)] # [doc = "Change the Owner of a collection."] # [doc = ""] # [doc = "Origin must be Signed and the sender should be the Owner of the `collection`."] # [doc = ""] # [doc = "- `collection`: The collection whose owner should be changed."] # [doc = "- `owner`: The new Owner of this collection. They must have called"] # [doc = " `set_accept_ownership` with `collection` in order for this operation to succeed."] # [doc = ""] # [doc = "Emits `OwnerChanged`."] # [doc = ""] # [doc = "Weight: `O(1)`"] transfer_ownership { collection : :: core :: primitive :: u32 , owner : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 12)] # [doc = "Change the Issuer, Admin and Freezer of a collection."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] # [doc = "`collection`."] # [doc = ""] # [doc = "- `collection`: The collection whose team should be changed."] # [doc = "- `issuer`: The new Issuer of this collection."] # [doc = "- `admin`: The new Admin of this collection."] # [doc = "- `freezer`: The new Freezer of this collection."] # [doc = ""] # [doc = "Emits `TeamChanged`."] # [doc = ""] # [doc = "Weight: `O(1)`"] set_team { collection : :: core :: primitive :: u32 , issuer : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , admin : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , freezer : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 13)] # [doc = "Change the Owner of a collection."] # [doc = ""] # [doc = "Origin must be `ForceOrigin`."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection."] # [doc = "- `owner`: The new Owner of this collection."] # [doc = ""] # [doc = "Emits `OwnerChanged`."] # [doc = ""] # [doc = "Weight: `O(1)`"] force_collection_owner { collection : :: core :: primitive :: u32 , owner : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 14)] # [doc = "Change the config of a collection."] # [doc = ""] # [doc = "Origin must be `ForceOrigin`."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection."] # [doc = "- `config`: The new config of this collection."] # [doc = ""] # [doc = "Emits `CollectionConfigChanged`."] # [doc = ""] # [doc = "Weight: `O(1)`"] force_collection_config { collection : :: core :: primitive :: u32 , config : runtime_types :: pallet_nfts :: types :: CollectionConfig < :: core :: primitive :: u128 , :: core :: primitive :: u32 , :: core :: primitive :: u32 > , } , # [codec (index = 15)] # [doc = "Approve an item to be transferred by a delegated third-party account."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] # [doc = "`item`."] # [doc = ""] # [doc = "- `collection`: The collection of the item to be approved for delegated transfer."] # [doc = "- `item`: The item to be approved for delegated transfer."] # [doc = "- `delegate`: The account to delegate permission to transfer the item."] # [doc = "- `maybe_deadline`: Optional deadline for the approval. Specified by providing the"] # [doc = "\tnumber of blocks after which the approval will expire"] # [doc = ""] # [doc = "Emits `TransferApproved` on success."] # [doc = ""] # [doc = "Weight: `O(1)`"] approve_transfer { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , delegate : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , maybe_deadline : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 16)] # [doc = "Cancel one of the transfer approvals for a specific item."] # [doc = ""] # [doc = "Origin must be either:"] # [doc = "- the `Force` origin;"] # [doc = "- `Signed` with the signer being the Admin of the `collection`;"] # [doc = "- `Signed` with the signer being the Owner of the `item`;"] # [doc = ""] # [doc = "Arguments:"] # [doc = "- `collection`: The collection of the item of whose approval will be cancelled."] # [doc = "- `item`: The item of the collection of whose approval will be cancelled."] # [doc = "- `delegate`: The account that is going to loose their approval."] # [doc = ""] # [doc = "Emits `ApprovalCancelled` on success."] # [doc = ""] # [doc = "Weight: `O(1)`"] cancel_approval { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , delegate : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 17)] # [doc = "Cancel all the approvals of a specific item."] # [doc = ""] # [doc = "Origin must be either:"] # [doc = "- the `Force` origin;"] # [doc = "- `Signed` with the signer being the Admin of the `collection`;"] # [doc = "- `Signed` with the signer being the Owner of the `item`;"] # [doc = ""] # [doc = "Arguments:"] # [doc = "- `collection`: The collection of the item of whose approvals will be cleared."] # [doc = "- `item`: The item of the collection of whose approvals will be cleared."] # [doc = ""] # [doc = "Emits `AllApprovalsCancelled` on success."] # [doc = ""] # [doc = "Weight: `O(1)`"] clear_all_transfer_approvals { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , } , # [codec (index = 18)] # [doc = "Disallows changing the metadata or attributes of the item."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] # [doc = "`collection`."] # [doc = ""] # [doc = "- `collection`: The collection if the `item`."] # [doc = "- `item`: An item to be locked."] # [doc = "- `lock_metadata`: Specifies whether the metadata should be locked."] # [doc = "- `lock_attributes`: Specifies whether the attributes in the `CollectionOwner` namespace"] # [doc = " should be locked."] # [doc = ""] # [doc = "Note: `lock_attributes` affects the attributes in the `CollectionOwner` namespace"] # [doc = "only. When the metadata or attributes are locked, it won't be possible the unlock them."] # [doc = ""] # [doc = "Emits `ItemPropertiesLocked`."] # [doc = ""] # [doc = "Weight: `O(1)`"] lock_item_properties { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , lock_metadata : :: core :: primitive :: bool , lock_attributes : :: core :: primitive :: bool , } , # [codec (index = 19)] # [doc = "Set an attribute for a collection or item."] # [doc = ""] # [doc = "Origin must be Signed and must conform to the namespace ruleset:"] # [doc = "- `CollectionOwner` namespace could be modified by the `collection` owner only;"] # [doc = "- `ItemOwner` namespace could be modified by the `maybe_item` owner only. `maybe_item`"] # [doc = " should be set in that case;"] # [doc = "- `Account(AccountId)` namespace could be modified only when the `origin` was given a"] # [doc = " permission to do so;"] # [doc = ""] # [doc = "The funds of `origin` are reserved according to the formula:"] # [doc = "`AttributeDepositBase + DepositPerByte * (key.len + value.len)` taking into"] # [doc = "account any already reserved funds."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection whose item's metadata to set."] # [doc = "- `maybe_item`: The identifier of the item whose metadata to set."] # [doc = "- `namespace`: Attribute's namespace."] # [doc = "- `key`: The key of the attribute."] # [doc = "- `value`: The value to which to set the attribute."] # [doc = ""] # [doc = "Emits `AttributeSet`."] # [doc = ""] # [doc = "Weight: `O(1)`"] set_attribute { collection : :: core :: primitive :: u32 , maybe_item : :: core :: option :: Option < :: core :: primitive :: u32 > , namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < :: subxt :: utils :: AccountId32 > , key : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , value : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 20)] # [doc = "Force-set an attribute for a collection or item."] # [doc = ""] # [doc = "Origin must be `ForceOrigin`."] # [doc = ""] # [doc = "If the attribute already exists and it was set by another account, the deposit"] # [doc = "will be returned to the previous owner."] # [doc = ""] # [doc = "- `set_as`: An optional owner of the attribute."] # [doc = "- `collection`: The identifier of the collection whose item's metadata to set."] # [doc = "- `maybe_item`: The identifier of the item whose metadata to set."] # [doc = "- `namespace`: Attribute's namespace."] # [doc = "- `key`: The key of the attribute."] # [doc = "- `value`: The value to which to set the attribute."] # [doc = ""] # [doc = "Emits `AttributeSet`."] # [doc = ""] # [doc = "Weight: `O(1)`"] force_set_attribute { set_as : :: core :: option :: Option < :: subxt :: utils :: AccountId32 > , collection : :: core :: primitive :: u32 , maybe_item : :: core :: option :: Option < :: core :: primitive :: u32 > , namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < :: subxt :: utils :: AccountId32 > , key : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , value : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 21)] # [doc = "Clear an attribute for a collection or item."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] # [doc = "attribute."] # [doc = ""] # [doc = "Any deposit is freed for the collection's owner."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection whose item's metadata to clear."] # [doc = "- `maybe_item`: The identifier of the item whose metadata to clear."] # [doc = "- `namespace`: Attribute's namespace."] # [doc = "- `key`: The key of the attribute."] # [doc = ""] # [doc = "Emits `AttributeCleared`."] # [doc = ""] # [doc = "Weight: `O(1)`"] clear_attribute { collection : :: core :: primitive :: u32 , maybe_item : :: core :: option :: Option < :: core :: primitive :: u32 > , namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < :: subxt :: utils :: AccountId32 > , key : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 22)] # [doc = "Approve item's attributes to be changed by a delegated third-party account."] # [doc = ""] # [doc = "Origin must be Signed and must be an owner of the `item`."] # [doc = ""] # [doc = "- `collection`: A collection of the item."] # [doc = "- `item`: The item that holds attributes."] # [doc = "- `delegate`: The account to delegate permission to change attributes of the item."] # [doc = ""] # [doc = "Emits `ItemAttributesApprovalAdded` on success."] approve_item_attributes { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , delegate : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , } , # [codec (index = 23)] # [doc = "Cancel the previously provided approval to change item's attributes."] # [doc = "All the previously set attributes by the `delegate` will be removed."] # [doc = ""] # [doc = "Origin must be Signed and must be an owner of the `item`."] # [doc = ""] # [doc = "- `collection`: Collection that the item is contained within."] # [doc = "- `item`: The item that holds attributes."] # [doc = "- `delegate`: The previously approved account to remove."] # [doc = ""] # [doc = "Emits `ItemAttributesApprovalRemoved` on success."] cancel_item_attributes_approval { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , delegate : :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , witness : runtime_types :: pallet_nfts :: types :: CancelAttributesApprovalWitness , } , # [codec (index = 24)] # [doc = "Set the metadata for an item."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] # [doc = "`collection`."] # [doc = ""] # [doc = "If the origin is Signed, then funds of signer are reserved according to the formula:"] # [doc = "`MetadataDepositBase + DepositPerByte * data.len` taking into"] # [doc = "account any already reserved funds."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection whose item's metadata to set."] # [doc = "- `item`: The identifier of the item whose metadata to set."] # [doc = "- `data`: The general information of this item. Limited in length by `StringLimit`."] # [doc = ""] # [doc = "Emits `ItemMetadataSet`."] # [doc = ""] # [doc = "Weight: `O(1)`"] set_metadata { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , data : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 25)] # [doc = "Clear the metadata for an item."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] # [doc = "`collection`."] # [doc = ""] # [doc = "Any deposit is freed for the collection's owner."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection whose item's metadata to clear."] # [doc = "- `item`: The identifier of the item whose metadata to clear."] # [doc = ""] # [doc = "Emits `ItemMetadataCleared`."] # [doc = ""] # [doc = "Weight: `O(1)`"] clear_metadata { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , } , # [codec (index = 26)] # [doc = "Set the metadata for a collection."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of"] # [doc = "the `collection`."] # [doc = ""] # [doc = "If the origin is `Signed`, then funds of signer are reserved according to the formula:"] # [doc = "`MetadataDepositBase + DepositPerByte * data.len` taking into"] # [doc = "account any already reserved funds."] # [doc = ""] # [doc = "- `collection`: The identifier of the item whose metadata to update."] # [doc = "- `data`: The general information of this item. Limited in length by `StringLimit`."] # [doc = ""] # [doc = "Emits `CollectionMetadataSet`."] # [doc = ""] # [doc = "Weight: `O(1)`"] set_collection_metadata { collection : :: core :: primitive :: u32 , data : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < :: core :: primitive :: u8 > , } , # [codec (index = 27)] # [doc = "Clear the metadata for a collection."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of"] # [doc = "the `collection`."] # [doc = ""] # [doc = "Any deposit is freed for the collection's owner."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection whose metadata to clear."] # [doc = ""] # [doc = "Emits `CollectionMetadataCleared`."] # [doc = ""] # [doc = "Weight: `O(1)`"] clear_collection_metadata { collection : :: core :: primitive :: u32 , } , # [codec (index = 28)] # [doc = "Set (or reset) the acceptance of ownership for a particular account."] # [doc = ""] # [doc = "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a"] # [doc = "provider reference."] # [doc = ""] # [doc = "- `maybe_collection`: The identifier of the collection whose ownership the signer is"] # [doc = " willing to accept, or if `None`, an indication that the signer is willing to accept no"] # [doc = " ownership transferal."] # [doc = ""] # [doc = "Emits `OwnershipAcceptanceChanged`."] set_accept_ownership { maybe_collection : :: core :: option :: Option < :: core :: primitive :: u32 > , } , # [codec (index = 29)] # [doc = "Set the maximum number of items a collection could have."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of"] # [doc = "the `collection`."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection to change."] # [doc = "- `max_supply`: The maximum number of items a collection could have."] # [doc = ""] # [doc = "Emits `CollectionMaxSupplySet` event when successful."] set_collection_max_supply { collection : :: core :: primitive :: u32 , max_supply : :: core :: primitive :: u32 , } , # [codec (index = 30)] # [doc = "Update mint settings."] # [doc = ""] # [doc = "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of"] # [doc = "the `collection`."] # [doc = ""] # [doc = "- `collection`: The identifier of the collection to change."] # [doc = "- `mint_settings`: The new mint settings."] # [doc = ""] # [doc = "Emits `CollectionMintSettingsUpdated` event when successful."] update_mint_settings { collection : :: core :: primitive :: u32 , mint_settings : runtime_types :: pallet_nfts :: types :: MintSettings < :: core :: primitive :: u128 , :: core :: primitive :: u32 , :: core :: primitive :: u32 > , } , # [codec (index = 31)] # [doc = "Set (or reset) the price for an item."] # [doc = ""] # [doc = "Origin must be Signed and must be the owner of the asset `item`."] # [doc = ""] # [doc = "- `collection`: The collection of the item."] # [doc = "- `item`: The item to set the price for."] # [doc = "- `price`: The price for the item. Pass `None`, to reset the price."] # [doc = "- `buyer`: Restricts the buy operation to a specific account."] # [doc = ""] # [doc = "Emits `ItemPriceSet` on success if the price is not `None`."] # [doc = "Emits `ItemPriceRemoved` on success if the price is `None`."] set_price { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , price : :: core :: option :: Option < :: core :: primitive :: u128 > , whitelisted_buyer : :: core :: option :: Option < :: subxt :: utils :: MultiAddress < :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > > , } , # [codec (index = 32)] # [doc = "Allows to buy an item if it's up for sale."] # [doc = ""] # [doc = "Origin must be Signed and must not be the owner of the `item`."] # [doc = ""] # [doc = "- `collection`: The collection of the item."] # [doc = "- `item`: The item the sender wants to buy."] # [doc = "- `bid_price`: The price the sender is willing to pay."] # [doc = ""] # [doc = "Emits `ItemBought` on success."] buy_item { collection : :: core :: primitive :: u32 , item : :: core :: primitive :: u32 , bid_price : :: core :: primitive :: u128 , } , # [codec (index = 33)] # [doc = "Allows to pay the tips."] # [doc = ""] # [doc = "Origin must be Signed."] # [doc = ""] # [doc = "- `tips`: Tips array."] # [doc = ""] # [doc = "Emits `TipSent` on every tip transfer."] pay_tips { tips : runtime_types :: bounded_collections :: bounded_vec :: BoundedVec < runtime_types :: pallet_nfts :: types :: ItemTip < :: core :: primitive :: u32 , :: core :: primitive :: u32 , :: subxt :: utils :: AccountId32 , :: core :: primitive :: u128 > > , } , # [codec (index = 34)] # [doc = "Register a new atomic swap, declaring an intention to send an `item` in exchange for"] # [doc = "`desired_item` from origin to target on the current blockchain."] # [doc = "The target can execute the swap during the specified `duration` of blocks (if set)."] # [doc = "Additionally, the price could be set for the desired `item`."] # [doc = ""] # [doc = "Origin must be Signed and must be an owner of the `item`."] # [doc = ""] # [doc = "- `collection`: The collection of the item."] # [doc = "- `item`: The item an owner wants to give."] # [doc = "- `desired_collection`: The collection of the desired item."] # [doc = "- `desired_item`: The desired item an owner wants to receive."] # [doc = "- `maybe_price`: The price an owner is willing to pay or receive for the desired `item`."] # [doc = "- `duration`: A deadline for the swap. Specified by providing the number of blocks"] # [doc = "\tafter which the swap will expire."] # [doc = ""] # [doc = "Emits `SwapCreated` on success."] create_swap { offered_collection : :: core :: primitive :: u32 , offered_item : :: core :: primitive :: u32 , desired_collection : :: core :: primitive :: u32 , maybe_desired_item : :: core :: option :: Option < :: core :: primitive :: u32 > , maybe_price : :: core :: option :: Option < runtime_types :: pallet_nfts :: types :: PriceWithDirection < :: core :: primitive :: u128 > > , duration : :: core :: primitive :: u32 , } , # [codec (index = 35)] # [doc = "Cancel an atomic swap."] # [doc = ""] # [doc = "Origin must be Signed."] # [doc = "Origin must be an owner of the `item` if the deadline hasn't expired."] # [doc = ""] # [doc = "- `collection`: The collection of the item."] # [doc = "- `item`: The item an owner wants to give."] # [doc = ""] # [doc = "Emits `SwapCancelled` on success."] cancel_swap { offered_collection : :: core :: primitive :: u32 , offered_item : :: core :: primitive :: u32 , } , # [codec (index = 36)] # [doc = "Claim an atomic swap."] # [doc = "This method executes a pending swap, that was created by a counterpart before."] # [doc = ""] # [doc = "Origin must be Signed and must be an owner of the `item`."] # [doc = ""] # [doc = "- `send_collection`: The collection of the item to be sent."] # [doc = "- `send_item`: The item to be sent."] # [doc = "- `receive_collection`: The collection of the item to be received."] # [doc = "- `receive_item`: The item to be received."] # [doc = "- `witness_price`: A price that was previously agreed on."] # [doc = ""] # [doc = "Emits `SwapClaimed` on success."] claim_swap { send_collection : :: core :: primitive :: u32 , send_item : :: core :: primitive :: u32 , receive_collection : :: core :: primitive :: u32 , receive_item : :: core :: primitive :: u32 , witness_price : :: core :: option :: Option < runtime_types :: pallet_nfts :: types :: PriceWithDirection < :: core :: primitive :: u128 > > , } , # [codec (index = 37)] # [doc = "Mint an item by providing the pre-signed approval."] # [doc = ""] # [doc = "Origin must be Signed."] # [doc = ""] # [doc = "- `mint_data`: The pre-signed approval that consists of the information about the item,"] # [doc = " its metadata, attributes, who can mint it (`None` for anyone) and until what block"] # [doc = " number."] # [doc = "- `signature`: The signature of the `data` object."] # [doc = "- `signer`: The `data` object's signer. Should be an owner of the collection."] # [doc = ""] # [doc = "Emits `Issued` on success."] # [doc = "Emits `AttributeSet` if the attributes were provided."] # [doc = "Emits `ItemMetadataSet` if the metadata was not empty."] mint_pre_signed { mint_data : runtime_types :: pallet_nfts :: types :: PreSignedMint < :: core :: primitive :: u32 , :: core :: primitive :: u32 , :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , signature : runtime_types :: sp_runtime :: MultiSignature , signer : :: subxt :: utils :: AccountId32 , } , # [codec (index = 38)] # [doc = "Set attributes for an item by providing the pre-signed approval."] # [doc = ""] # [doc = "Origin must be Signed and must be an owner of the `data.item`."] # [doc = ""] # [doc = "- `data`: The pre-signed approval that consists of the information about the item,"] # [doc = " attributes to update and until what block number."] # [doc = "- `signature`: The signature of the `data` object."] # [doc = "- `signer`: The `data` object's signer. Should be an owner of the collection for the"] # [doc = " `CollectionOwner` namespace."] # [doc = ""] # [doc = "Emits `AttributeSet` for each provided attribute."] # [doc = "Emits `ItemAttributesApprovalAdded` if the approval wasn't set before."] # [doc = "Emits `PreSignedAttributesSet` on success."] set_attributes_pre_signed { data : runtime_types :: pallet_nfts :: types :: PreSignedAttributes < :: core :: primitive :: u32 , :: core :: primitive :: u32 , :: subxt :: utils :: AccountId32 , :: core :: primitive :: u32 > , signature : runtime_types :: sp_runtime :: MultiSignature , signer : :: subxt :: utils :: AccountId32 , } , } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BitFlags<_0>( + pub ::core::primitive::u64, + #[codec(skip)] pub ::core::marker::PhantomData<_0>, + ); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CancelAttributesApprovalWitness { + pub account_attributes: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct CollectionConfig<_0, _1, _2> { + pub settings: runtime_types::pallet_nfts::types::BitFlags< + runtime_types::pallet_nfts::types::CollectionSetting, + >, + pub max_supply: ::core::option::Option<_1>, + pub mint_settings: + runtime_types::pallet_nfts::types::MintSettings<_0, _1, _1>, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum CollectionSetting { + #[codec(index = 1)] + TransferableItems, + #[codec(index = 2)] + UnlockedMetadata, + #[codec(index = 4)] + UnlockedAttributes, + #[codec(index = 8)] + UnlockedMaxSupply, + #[codec(index = 16)] + DepositRequired, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DestroyWitness { + #[codec(compact)] + pub items: ::core::primitive::u32, + #[codec(compact)] + pub item_metadatas: ::core::primitive::u32, + #[codec(compact)] + pub attributes: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ItemConfig { + pub settings: runtime_types::pallet_nfts::types::BitFlags< + runtime_types::pallet_nfts::types::ItemSetting, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ItemSetting { + #[codec(index = 1)] + Transferable, + #[codec(index = 2)] + UnlockedMetadata, + #[codec(index = 4)] + UnlockedAttributes, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct ItemTip<_0, _1, _2, _3> { + pub collection: _0, + pub item: _0, + pub receiver: _2, + pub amount: _3, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_1>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct MintSettings<_0, _1, _2> { + pub mint_type: runtime_types::pallet_nfts::types::MintType<_1>, + pub price: ::core::option::Option<_0>, + pub start_block: ::core::option::Option<_1>, + pub end_block: ::core::option::Option<_1>, + pub default_item_settings: + runtime_types::pallet_nfts::types::BitFlags< + runtime_types::pallet_nfts::types::ItemSetting, + >, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<_2>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum MintType<_0> { + #[codec(index = 0)] + Issuer, + #[codec(index = 1)] + Public, + #[codec(index = 2)] + HolderOf(_0), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct MintWitness<_0> { + pub owner_of_item: _0, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PreSignedAttributes < _0 , _1 , _2 , _3 > { pub collection : _0 , pub item : _0 , pub attributes : :: std :: vec :: Vec < (:: std :: vec :: Vec < :: core :: primitive :: u8 > , :: std :: vec :: Vec < :: core :: primitive :: u8 > ,) > , pub namespace : runtime_types :: frame_support :: traits :: tokens :: misc :: AttributeNamespace < _2 > , pub deadline : _0 , # [codec (skip)] pub __subxt_unused_type_params : :: core :: marker :: PhantomData < (_3 , _1) > } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PreSignedMint<_0, _1, _2, _3> { + pub collection: _0, + pub item: _0, + pub attributes: ::std::vec::Vec<( + ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::core::primitive::u8>, + )>, + pub metadata: ::std::vec::Vec<::core::primitive::u8>, + pub only_account: ::core::option::Option<_2>, + pub deadline: _0, + #[codec(skip)] + pub __subxt_unused_type_params: ::core::marker::PhantomData<(_3, _1)>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum PriceDirection { + #[codec(index = 0)] + Send, + #[codec(index = 1)] + Receive, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PriceWithDirection<_0> { + pub amount: _0, + pub direction: runtime_types::pallet_nfts::types::PriceDirection, + } + } + } + pub mod pallet_nis { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Place a bid."] + #[doc = ""] + #[doc = "Origin must be Signed, and account must have at least `amount` in free balance."] + #[doc = ""] + #[doc = "- `amount`: The amount of the bid; these funds will be reserved, and if/when"] + #[doc = " consolidated, removed. Must be at least `MinBid`."] + #[doc = "- `duration`: The number of periods before which the newly consolidated bid may be"] + #[doc = " thawed. Must be greater than 1 and no more than `QueueCount`."] + #[doc = ""] + #[doc = "Complexities:"] + #[doc = "- `Queues[duration].len()` (just take max)."] + place_bid { + #[codec(compact)] + amount: ::core::primitive::u128, + duration: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "Retract a previously placed bid."] + #[doc = ""] + #[doc = "Origin must be Signed, and the account should have previously issued a still-active bid"] + #[doc = "of `amount` for `duration`."] + #[doc = ""] + #[doc = "- `amount`: The amount of the previous bid."] + #[doc = "- `duration`: The duration of the previous bid."] + retract_bid { + #[codec(compact)] + amount: ::core::primitive::u128, + duration: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Ensure we have sufficient funding for all potential payouts."] + #[doc = ""] + #[doc = "- `origin`: Must be accepted by `FundOrigin`."] + fund_deficit, + #[codec(index = 3)] + #[doc = "Reduce or remove an outstanding receipt, placing the according proportion of funds into"] + #[doc = "the account of the owner."] + #[doc = ""] + #[doc = "- `origin`: Must be Signed and the account must be the owner of the receipt `index` as"] + #[doc = " well as any fungible counterpart."] + #[doc = "- `index`: The index of the receipt."] + #[doc = "- `portion`: If `Some`, then only the given portion of the receipt should be thawed. If"] + #[doc = " `None`, then all of it should be."] + thaw_private { + #[codec(compact)] + index: ::core::primitive::u32, + maybe_proportion: ::core::option::Option< + runtime_types::sp_arithmetic::per_things::Perquintill, + >, + }, + #[codec(index = 4)] + #[doc = "Reduce or remove an outstanding receipt, placing the according proportion of funds into"] + #[doc = "the account of the owner."] + #[doc = ""] + #[doc = "- `origin`: Must be Signed and the account must be the owner of the fungible counterpart"] + #[doc = " for receipt `index`."] + #[doc = "- `index`: The index of the receipt."] + thaw_communal { + #[codec(compact)] + index: ::core::primitive::u32, + }, + #[codec(index = 5)] + #[doc = "Make a private receipt communal and create fungible counterparts for its owner."] + communify { + #[codec(compact)] + index: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "Make a communal receipt private and burn fungible counterparts from its owner."] + privatize { + #[codec(compact)] + 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, + Debug, + )] + #[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."] + #[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"] + join { + #[codec(compact)] + amount: ::core::primitive::u128, + pool_id: ::core::primitive::u32, + }, + #[codec(index = 1)] + #[doc = "Bond `extra` more funds from `origin` into the pool to which they already belong."] + #[doc = ""] + #[doc = "Additional funds can come from either the free balance of the account, of from the"] + #[doc = "accumulated rewards, see [`BondExtra`]."] + #[doc = ""] + #[doc = "Bonding extra funds implies an automatic payout of all pending rewards as well."] + #[doc = "See `bond_extra_other` to bond pending rewards of `other` members."] + bond_extra { + extra: runtime_types::pallet_nomination_pools::BondExtra< + ::core::primitive::u128, + >, + }, + #[codec(index = 2)] + #[doc = "A bonded member can use this to claim their payout based on the rewards that the pool"] + #[doc = "has accumulated since their last claimed payout (OR since joining if this is there first"] + #[doc = "time claiming rewards). The payout will be transferred to the member's account."] + #[doc = ""] + #[doc = "The member will earn rewards pro rata based on the members stake vs the sum of the"] + #[doc = "members in the pools stake. Rewards do not \"expire\"."] + #[doc = ""] + #[doc = "See `claim_payout_other` to caim rewards on bahalf of some `other` pool member."] + claim_payout, + #[codec(index = 3)] + #[doc = "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It"] + #[doc = "implicitly collects the rewards one last time, since not doing so would mean some"] + #[doc = "rewards would be forfeited."] + #[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 either the root or bouncer. This is refereed to"] + #[doc = " as a kick."] + #[doc = "* The pool is destroying and the member is not the depositor."] + #[doc = "* The pool is destroying, the member is the depositor and no other members are in the"] + #[doc = " pool."] + #[doc = ""] + #[doc = "## Conditions for permissioned dispatch (i.e. the caller is also the"] + #[doc = "`member_account`):"] + #[doc = ""] + #[doc = "* The caller is not the depositor."] + #[doc = "* The caller is the depositor, the pool is destroying and no other members are in the"] + #[doc = " pool."] + #[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 { + member_account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[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 and the target is not the depositor."] + #[doc = "* The target is the depositor and they are the only member in the sub pools."] + #[doc = "* The pool is blocked and the caller is either the root or bouncer."] + #[doc = ""] + #[doc = "# Conditions for permissioned dispatch"] + #[doc = ""] + #[doc = "* The caller is the target and they are not the depositor."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "If the target is the depositor, the pool will be destroyed."] + withdraw_unbonded { + member_account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + num_slashing_spans: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "Create a new delegation pool."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `amount` - The amount of funds to delegate to the pool. This also acts of a sort of"] + #[doc = " deposit since the pools creator cannot fully unbond funds until the pool is being"] + #[doc = " destroyed."] + #[doc = "* `index` - A disambiguation index for creating the account. Likely only useful when"] + #[doc = " creating multiple pools in the same extrinsic."] + #[doc = "* `root` - The account to set as [`PoolRoles::root`]."] + #[doc = "* `nominator` - The account to set as the [`PoolRoles::nominator`]."] + #[doc = "* `bouncer` - The account to set as the [`PoolRoles::bouncer`]."] + #[doc = ""] + #[doc = "# Note"] + #[doc = ""] + #[doc = "In addition to `amount`, the caller will transfer the existential deposit; so the caller"] + #[doc = "needs at have at least `amount + existential_deposit` transferrable."] + create { + #[codec(compact)] + amount: ::core::primitive::u128, + root: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + nominator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + bouncer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 7)] + #[doc = "Create a new delegation pool with a previously used pool id"] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "same as `create` with the inclusion of"] + #[doc = "* `pool_id` - `A valid PoolId."] + create_with_pool_id { + #[codec(compact)] + amount: ::core::primitive::u128, + root: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + nominator: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + bouncer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pool_id: ::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 pool nominator or the pool"] + #[doc = "root role."] + #[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 = 9)] + #[doc = "Set a new state for the pool."] + #[doc = ""] + #[doc = "If a pool is already in the `Destroying` state, then under no condition can its state"] + #[doc = "change again."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be either:"] + #[doc = ""] + #[doc = "1. signed by the bouncer, or the root role of the pool,"] + #[doc = "2. if the pool conditions to be open are NOT met (as described by `ok_to_be_open`), and"] + #[doc = " then the state of the pool can be permissionlessly changed to `Destroying`."] + set_state { + pool_id: ::core::primitive::u32, + state: runtime_types::pallet_nomination_pools::PoolState, + }, + #[codec(index = 10)] + #[doc = "Set a new metadata for the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the bouncer, or the root role"] + #[doc = "of the pool."] + set_metadata { + pool_id: ::core::primitive::u32, + metadata: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 11)] + #[doc = "Update configurations for the nomination pools. The origin for this call must be"] + #[doc = "Root."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `min_join_bond` - Set [`MinJoinBond`]."] + #[doc = "* `min_create_bond` - Set [`MinCreateBond`]."] + #[doc = "* `max_pools` - Set [`MaxPools`]."] + #[doc = "* `max_members` - Set [`MaxPoolMembers`]."] + #[doc = "* `max_members_per_pool` - Set [`MaxPoolMembersPerPool`]."] + set_configs { + min_join_bond: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u128, + >, + min_create_bond: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u128, + >, + max_pools: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + max_members: runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + max_members_per_pool: + runtime_types::pallet_nomination_pools::ConfigOp< + ::core::primitive::u32, + >, + }, + #[codec(index = 12)] + #[doc = "Update the roles of the pool."] + #[doc = ""] + #[doc = "The root is the only entity that can change any of the roles, including itself,"] + #[doc = "excluding the depositor, who can never change."] + #[doc = ""] + #[doc = "It emits an event, notifying UIs of the role change. This event is quite relevant to"] + #[doc = "most pool members and they should be informed of changes to pool roles."] + update_roles { + pool_id: ::core::primitive::u32, + new_root: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + new_nominator: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + new_bouncer: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + }, + #[codec(index = 13)] + #[doc = "Chill on behalf of the pool."] + #[doc = ""] + #[doc = "The dispatch origin of this call must be signed by the pool nominator or the pool"] + #[doc = "root role, same as [`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 = "`origin` bonds funds from `extra` for some pool member `member` into their respective"] + #[doc = "pools."] + #[doc = ""] + #[doc = "`origin` can bond extra funds from free balance or pending rewards when `origin =="] + #[doc = "other`."] + #[doc = ""] + #[doc = "In the case of `origin != other`, `origin` can only bond extra pending rewards of"] + #[doc = "`other` members assuming set_claim_permission for the given member is"] + #[doc = "`PermissionlessAll` or `PermissionlessCompound`."] + bond_extra_other { + member: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + extra: runtime_types::pallet_nomination_pools::BondExtra< + ::core::primitive::u128, + >, + }, + #[codec(index = 15)] + #[doc = "Allows a pool member to set a claim permission to allow or disallow permissionless"] + #[doc = "bonding and withdrawing."] + #[doc = ""] + #[doc = "By default, this is `Permissioned`, which implies only the pool member themselves can"] + #[doc = "claim their pending rewards. If a pool member wishes so, they can set this to"] + #[doc = "`PermissionlessAll` to allow any account to claim their rewards and bond extra to the"] + #[doc = "pool."] + #[doc = ""] + #[doc = "# Arguments"] + #[doc = ""] + #[doc = "* `origin` - Member of a pool."] + #[doc = "* `actor` - Account to claim reward. // improve this"] + set_claim_permission { + permission: + runtime_types::pallet_nomination_pools::ClaimPermission, + }, + #[codec(index = 16)] + #[doc = "`origin` can claim payouts on some pool member `other`'s behalf."] + #[doc = ""] + #[doc = "Pool member `other` must have a `PermissionlessAll` or `PermissionlessWithdraw` in order"] + #[doc = "for this call to be successful."] + claim_payout_other { other: ::subxt::utils::AccountId32 }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum BondExtra<_0> { + #[codec(index = 0)] + FreeBalance(_0), + #[codec(index = 1)] + Rewards, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum ClaimPermission { + #[codec(index = 0)] + Permissioned, + #[codec(index = 1)] + PermissionlessCompound, + #[codec(index = 2)] + PermissionlessWithdraw, + #[codec(index = 3)] + PermissionlessAll, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + pub enum PoolState { + #[codec(index = 0)] + Open, + #[codec(index = 1)] + Blocked, + #[codec(index = 2)] + Destroying, + } + } + pub mod pallet_preimage { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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 }, + } + } + } + pub mod pallet_proxy { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Dispatch the given `call` from an account that the sender is authorised for through"] + #[doc = "`add_proxy`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call."] + #[doc = "- `call`: The call to be made by the `real` account."] + proxy { + real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + force_proxy_type: ::core::option::Option< + runtime_types::kitchensink_runtime::ProxyType, + >, + call: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 1)] + #[doc = "Register a proxy account for the sender that is able to make calls on its behalf."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `proxy`: The account that the `caller` would like to make a proxy."] + #[doc = "- `proxy_type`: The permissions allowed for this proxy account."] + #[doc = "- `delay`: The announcement period required of the initial proxy. Will generally be"] + #[doc = "zero."] + add_proxy { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + delay: ::core::primitive::u32, + }, + #[codec(index = 2)] + #[doc = "Unregister a proxy account for the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `proxy`: The account that the `caller` would like to remove as a proxy."] + #[doc = "- `proxy_type`: The permissions currently enabled for the removed proxy account."] + remove_proxy { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + delay: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Unregister all proxy accounts for the sender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "WARNING: This may be called on accounts created by `pure`, however if done, then"] + #[doc = "the unreserved fees will be inaccessible. **All access to this account will be lost.**"] + remove_proxies, + #[codec(index = 4)] + #[doc = "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and"] + #[doc = "initialize it with a proxy of `proxy_type` for `origin` sender."] + #[doc = ""] + #[doc = "Requires a `Signed` origin."] + #[doc = ""] + #[doc = "- `proxy_type`: The type of the proxy that the sender will be registered as over the"] + #[doc = "new account. This will almost always be the most permissive `ProxyType` possible to"] + #[doc = "allow for maximum flexibility."] + #[doc = "- `index`: A disambiguation index, in case this is called multiple times in the same"] + #[doc = "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just"] + #[doc = "want to use `0`."] + #[doc = "- `delay`: The announcement period required of the initial proxy. Will generally be"] + #[doc = "zero."] + #[doc = ""] + #[doc = "Fails with `Duplicate` if this has already been called in this transaction, from the"] + #[doc = "same sender, with the same parameters."] + #[doc = ""] + #[doc = "Fails if there are insufficient funds to pay for deposit."] + create_pure { + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + delay: ::core::primitive::u32, + index: ::core::primitive::u16, + }, + #[codec(index = 5)] + #[doc = "Removes a previously spawned pure proxy."] + #[doc = ""] + #[doc = "WARNING: **All access to this account will be lost.** Any funds held in it will be"] + #[doc = "inaccessible."] + #[doc = ""] + #[doc = "Requires a `Signed` origin, and the sender account must have been created by a call to"] + #[doc = "`pure` with corresponding parameters."] + #[doc = ""] + #[doc = "- `spawner`: The account that originally called `pure` to create this account."] + #[doc = "- `index`: The disambiguation index originally passed to `pure`. Probably `0`."] + #[doc = "- `proxy_type`: The proxy type originally passed to `pure`."] + #[doc = "- `height`: The height of the chain when the call to `pure` was processed."] + #[doc = "- `ext_index`: The extrinsic index in which the call to `pure` was processed."] + #[doc = ""] + #[doc = "Fails with `NoPermission` in case the caller is not a previously created pure"] + #[doc = "account whose `pure` call has corresponding parameters."] + kill_pure { + spawner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + proxy_type: runtime_types::kitchensink_runtime::ProxyType, + index: ::core::primitive::u16, + #[codec(compact)] + height: ::core::primitive::u32, + #[codec(compact)] + ext_index: ::core::primitive::u32, + }, + #[codec(index = 6)] + #[doc = "Publish the hash of a proxy-call that will be made in the future."] + #[doc = ""] + #[doc = "This must be called some number of blocks before the corresponding `proxy` is attempted"] + #[doc = "if the delay associated with the proxy relationship is greater than zero."] + #[doc = ""] + #[doc = "No more than `MaxPending` announcements may be made at any one time."] + #[doc = ""] + #[doc = "This will take a deposit of `AnnouncementDepositFactor` as well as"] + #[doc = "`AnnouncementDepositBase` if there are no other pending announcements."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a proxy of `real`."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `call_hash`: The hash of the call to be made by the `real` account."] + announce { + real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 7)] + #[doc = "Remove a given announcement."] + #[doc = ""] + #[doc = "May be called by a proxy account to remove a call they previously announced and return"] + #[doc = "the deposit."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `call_hash`: The hash of the call to be made by the `real` account."] + remove_announcement { + real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 8)] + #[doc = "Remove the given announcement of a delegate."] + #[doc = ""] + #[doc = "May be called by a target (proxied) account to remove a call that one of their delegates"] + #[doc = "(`delegate`) has announced they want to execute. The deposit is returned."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `delegate`: The account that previously announced the call."] + #[doc = "- `call_hash`: The hash of the call to be made."] + reject_announcement { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + call_hash: ::subxt::utils::H256, + }, + #[codec(index = 9)] + #[doc = "Dispatch the given `call` from an account that the sender is authorized for through"] + #[doc = "`add_proxy`."] + #[doc = ""] + #[doc = "Removes any corresponding announcement(s)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `real`: The account that the proxy will make a call on behalf of."] + #[doc = "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call."] + #[doc = "- `call`: The call to be made by the `real` account."] + proxy_announced { + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + real: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + force_proxy_type: ::core::option::Option< + runtime_types::kitchensink_runtime::ProxyType, + >, + call: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + } + } + } + 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, + Debug, + )] + #[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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + 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, + }, + } + } + } + pub mod pallet_recovery { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Send a call through a recovered account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and registered to"] + #[doc = "be able to make calls on behalf of the recovered account."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `account`: The recovered account you want to make a call on-behalf-of."] + #[doc = "- `call`: The call you want to make with the recovered account."] + as_recovered { + account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + call: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[codec(index = 1)] + #[doc = "Allow ROOT to bypass the recovery process and set an a rescuer account"] + #[doc = "for a lost account directly."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _ROOT_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `lost`: The \"lost account\" to be recovered."] + #[doc = "- `rescuer`: The \"rescuer account\" which can call as the lost account."] + set_recovered { + lost: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + rescuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 2)] + #[doc = "Create a recovery configuration for your account. This makes your account recoverable."] + #[doc = ""] + #[doc = "Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance"] + #[doc = "will be reserved for storing the recovery configuration. This deposit is returned"] + #[doc = "in full when the user calls `remove_recovery`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `friends`: A list of friends you trust to vouch for recovery attempts. Should be"] + #[doc = " ordered and contain no duplicate values."] + #[doc = "- `threshold`: The number of friends that must vouch for a recovery attempt before the"] + #[doc = " account can be recovered. Should be less than or equal to the length of the list of"] + #[doc = " friends."] + #[doc = "- `delay_period`: The number of blocks after a recovery attempt is initialized that"] + #[doc = " needs to pass before the account can be recovered."] + create_recovery { + friends: ::std::vec::Vec<::subxt::utils::AccountId32>, + threshold: ::core::primitive::u16, + delay_period: ::core::primitive::u32, + }, + #[codec(index = 3)] + #[doc = "Initiate the process for recovering a recoverable account."] + #[doc = ""] + #[doc = "Payment: `RecoveryDeposit` balance will be reserved for initiating the"] + #[doc = "recovery process. This deposit will always be repatriated to the account"] + #[doc = "trying to be recovered. See `close_recovery`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `account`: The lost account that you want to recover. This account needs to be"] + #[doc = " recoverable (i.e. have a recovery configuration)."] + initiate_recovery { + account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 4)] + #[doc = "Allow a \"friend\" of a recoverable account to vouch for an active recovery"] + #[doc = "process for that account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and must be a \"friend\""] + #[doc = "for the recoverable account."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `lost`: The lost account that you want to recover."] + #[doc = "- `rescuer`: The account trying to rescue the lost account that you want to vouch for."] + #[doc = ""] + #[doc = "The combination of these two parameters must point to an active recovery"] + #[doc = "process."] + vouch_recovery { + lost: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + rescuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 5)] + #[doc = "Allow a successful rescuer to claim their recovered account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and must be a \"rescuer\""] + #[doc = "who has successfully completed the account recovery process: collected"] + #[doc = "`threshold` or more vouches, waited `delay_period` blocks since initiation."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `account`: The lost account that you want to claim has been successfully recovered by"] + #[doc = " you."] + claim_recovery { + account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 6)] + #[doc = "As the controller of a recoverable account, close an active recovery"] + #[doc = "process for your account."] + #[doc = ""] + #[doc = "Payment: By calling this function, the recoverable account will receive"] + #[doc = "the recovery deposit `RecoveryDeposit` placed by the rescuer."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and must be a"] + #[doc = "recoverable account with an active recovery process for it."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `rescuer`: The account trying to rescue this recoverable account."] + close_recovery { + rescuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 7)] + #[doc = "Remove the recovery process for your account. Recovered accounts are still accessible."] + #[doc = ""] + #[doc = "NOTE: The user must make sure to call `close_recovery` on all active"] + #[doc = "recovery attempts before calling this function else it will fail."] + #[doc = ""] + #[doc = "Payment: By calling this function the recoverable account will unreserve"] + #[doc = "their recovery configuration deposit."] + #[doc = "(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)"] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and must be a"] + #[doc = "recoverable account (i.e. has a recovery configuration)."] + remove_recovery, + #[codec(index = 8)] + #[doc = "Cancel the ability to use `as_recovered` for `account`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and registered to"] + #[doc = "be able to make calls on behalf of the recovered account."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `account`: The recovered account you are able to call on-behalf-of."] + cancel_recovered { + account: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::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, + Debug, + )] + #[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< + runtime_types::kitchensink_runtime::OriginCaller, + >, + proposal: + runtime_types::frame_support::traits::preimages::Bounded< + runtime_types::kitchensink_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>, + }, + } + } + } + pub mod pallet_remark { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Index and store data off chain."] + store { + remark: ::std::vec::Vec<::core::primitive::u8>, + }, + } + } + } + pub mod pallet_root_testing { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "A dispatch that will fill the block weight up to the given ratio."] + fill_block { + ratio: runtime_types::sp_arithmetic::per_things::Perbill, + }, + } + } + } + pub mod pallet_scheduler { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + } + } + } + pub mod pallet_session { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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::kitchensink_runtime::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, + } + } + } + pub mod pallet_society { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "A user outside of the society can make a bid for entry."] + #[doc = ""] + #[doc = "Payment: `CandidateDeposit` will be reserved for making a bid. It is returned"] + #[doc = "when the bid becomes a member, or if the bid calls `unbid`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `value`: A one time payment the bid would like to receive when joining the society."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(M + B + C + logM + logB + X)"] + #[doc = "\t - B (len of bids)"] + #[doc = " - C (len of candidates)"] + #[doc = " - M (len of members)"] + #[doc = " - X (balance reserve)"] + bid { value: ::core::primitive::u128 }, + #[codec(index = 1)] + #[doc = "A bidder can remove their bid for entry into society."] + #[doc = "By doing so, they will have their candidate deposit returned or"] + #[doc = "they will unvouch their voucher."] + #[doc = ""] + #[doc = "Payment: The bid deposit is unreserved if the user made a bid."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a bidder."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `pos`: Position in the `Bids` vector of the bid who wants to unbid."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(B + X)"] + #[doc = " - B (len of bids)"] + #[doc = " - X (balance unreserve)"] + unbid { pos: ::core::primitive::u32 }, + #[codec(index = 2)] + #[doc = "As a member, vouch for someone to join society by placing a bid on their behalf."] + #[doc = ""] + #[doc = "There is no deposit required to vouch for a new bid, but a member can only vouch for"] + #[doc = "one bid at a time. If the bid becomes a suspended candidate and ultimately rejected by"] + #[doc = "the suspension judgement origin, the member will be banned from vouching again."] + #[doc = ""] + #[doc = "As a vouching member, you can claim a tip if the candidate is accepted. This tip will"] + #[doc = "be paid as a portion of the reward the member will receive for joining the society."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a member."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `who`: The user who you would like to vouch for."] + #[doc = "- `value`: The total reward to be paid between you and the candidate if they become"] + #[doc = "a member in the society."] + #[doc = "- `tip`: Your cut of the total `value` payout when the candidate is inducted into"] + #[doc = "the society. Tips larger than `value` will be saturated upon payout."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(M + B + C + logM + logB + X)"] + #[doc = " - B (len of bids)"] + #[doc = " - C (len of candidates)"] + #[doc = " - M (len of members)"] + #[doc = " - X (balance reserve)"] + vouch { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + value: ::core::primitive::u128, + tip: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "As a vouching member, unvouch a bid. This only works while vouched user is"] + #[doc = "only a bidder (and not a candidate)."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a vouching member."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `pos`: Position in the `Bids` vector of the bid who should be unvouched."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(B)"] + #[doc = " - B (len of bids)"] + unvouch { pos: ::core::primitive::u32 }, + #[codec(index = 4)] + #[doc = "As a member, vote on a candidate."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a member."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `candidate`: The candidate that the member would like to bid on."] + #[doc = "- `approve`: A boolean which says if the candidate should be approved (`true`) or"] + #[doc = " rejected (`false`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(M + logM + C)"] + #[doc = " - C (len of candidates)"] + #[doc = " - M (len of members)"] + vote { + candidate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + approve: ::core::primitive::bool, + }, + #[codec(index = 5)] + #[doc = "As a member, vote on the defender."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a member."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `approve`: A boolean which says if the candidate should be"] + #[doc = "approved (`true`) or rejected (`false`)."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(M + logM)"] + #[doc = " - M (len of members)"] + defender_vote { approve: ::core::primitive::bool }, + #[codec(index = 6)] + #[doc = "Transfer the first matured payout for the sender and remove it from the records."] + #[doc = ""] + #[doc = "NOTE: This extrinsic needs to be called multiple times to claim multiple matured"] + #[doc = "payouts."] + #[doc = ""] + #[doc = "Payment: The member will receive a payment equal to their first matured"] + #[doc = "payout to their free balance."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and a member with"] + #[doc = "payouts remaining."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(M + logM + P + X)"] + #[doc = " - M (len of members)"] + #[doc = " - P (number of payouts for a particular member)"] + #[doc = " - X (currency transfer call)"] + payout, + #[codec(index = 7)] + #[doc = "Found the society."] + #[doc = ""] + #[doc = "This is done as a discrete action in order to allow for the"] + #[doc = "pallet to be included into a running chain and can only be done once."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be from the _FounderSetOrigin_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `founder` - The first member and head of the newly founded society."] + #[doc = "- `max_members` - The initial max number of members for the society."] + #[doc = "- `rules` - The rules of this society concerning membership."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)"] + found { + founder: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + max_members: ::core::primitive::u32, + rules: ::std::vec::Vec<::core::primitive::u8>, + }, + #[codec(index = 8)] + #[doc = "Annul the founding of the society."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be Signed, and the signing account must be both"] + #[doc = "the `Founder` and the `Head`. This implies that it may only be done when there is one"] + #[doc = "member."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)"] + unfound, + #[codec(index = 9)] + #[doc = "Allow suspension judgement origin to make judgement on a suspended member."] + #[doc = ""] + #[doc = "If a suspended member is forgiven, we simply add them back as a member, not affecting"] + #[doc = "any of the existing storage items for that member."] + #[doc = ""] + #[doc = "If a suspended member is rejected, remove all associated storage items, including"] + #[doc = "their payouts, and remove any vouched bids they currently have."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be from the _SuspensionJudgementOrigin_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `who` - The suspended member to be judged."] + #[doc = "- `forgive` - A boolean representing whether the suspension judgement origin forgives"] + #[doc = " (`true`) or rejects (`false`) a suspended member."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(M + logM + B)"] + #[doc = " - B (len of bids)"] + #[doc = " - M (len of members)"] + judge_suspended_member { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + forgive: ::core::primitive::bool, + }, + #[codec(index = 10)] + #[doc = "Allow suspended judgement origin to make judgement on a suspended candidate."] + #[doc = ""] + #[doc = "If the judgement is `Approve`, we add them to society as a member with the appropriate"] + #[doc = "payment for joining society."] + #[doc = ""] + #[doc = "If the judgement is `Reject`, we either slash the deposit of the bid, giving it back"] + #[doc = "to the society treasury, or we ban the voucher from vouching again."] + #[doc = ""] + #[doc = "If the judgement is `Rebid`, we put the candidate back in the bid pool and let them go"] + #[doc = "through the induction process again."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be from the _SuspensionJudgementOrigin_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `who` - The suspended candidate to be judged."] + #[doc = "- `judgement` - `Approve`, `Reject`, or `Rebid`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(M + logM + B + X)"] + #[doc = " - B (len of bids)"] + #[doc = " - M (len of members)"] + #[doc = " - X (balance action)"] + judge_suspended_candidate { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + judgement: runtime_types::pallet_society::Judgement, + }, + #[codec(index = 11)] + #[doc = "Allows root origin to change the maximum number of members in society."] + #[doc = "Max membership count must be greater than 1."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be from _ROOT_."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `max` - The maximum number of members for the society."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)"] + set_max_members { max: ::core::primitive::u32 }, + } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Judgement { + #[codec(index = 0)] + Rebid, + #[codec(index = 1)] + Reject, + #[codec(index = 2)] + Approve, + } + } + 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, + Debug, + )] + #[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 { + controller: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[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, + ::core::primitive::u32, + >, + >, + }, + #[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-)set the controller of a stash."] + #[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 { + controller: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + >, + }, + #[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, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + pub struct ValidatorPrefs { + #[codec(compact)] + pub commission: runtime_types::sp_arithmetic::per_things::Perbill, + pub blocked: ::core::primitive::bool, + } + } + pub mod pallet_state_trie_migration { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] # [doc = "Control the automatic migration."] # [doc = ""] # [doc = "The dispatch origin of this call must be [`Config::ControlOrigin`]."] control_auto_migration { maybe_config : :: core :: option :: Option < runtime_types :: pallet_state_trie_migration :: pallet :: MigrationLimits > , } , # [codec (index = 1)] # [doc = "Continue the migration for the given `limits`."] # [doc = ""] # [doc = "The dispatch origin of this call can be any signed account."] # [doc = ""] # [doc = "This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,"] # [doc = "Upon successful execution, the transaction fee is returned."] # [doc = ""] # [doc = "The (potentially over-estimated) of the byte length of all the data read must be"] # [doc = "provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing"] # [doc = "that executing the current `MigrationTask` with the given `limits` will not exceed"] # [doc = "`real_size_upper` bytes of read data."] # [doc = ""] # [doc = "The `witness_task` is merely a helper to prevent the caller from being slashed or"] # [doc = "generally trigger a migration that they do not intend. This parameter is just a message"] # [doc = "from caller, saying that they believed `witness_task` was the last state of the"] # [doc = "migration, and they only wish for their transaction to do anything, if this assumption"] # [doc = "holds. In case `witness_task` does not match, the transaction fails."] # [doc = ""] # [doc = "Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the"] # [doc = "recommended way of doing this is to pass a `limit` that only bounds `count`, as the"] # [doc = "`size` limit can always be overwritten."] continue_migrate { limits : runtime_types :: pallet_state_trie_migration :: pallet :: MigrationLimits , real_size_upper : :: core :: primitive :: u32 , witness_task : runtime_types :: pallet_state_trie_migration :: pallet :: MigrationTask , } , # [codec (index = 2)] # [doc = "Migrate the list of top keys by iterating each of them one by one."] # [doc = ""] # [doc = "This does not affect the global migration process tracker ([`MigrationProcess`]), and"] # [doc = "should only be used in case any keys are leftover due to a bug."] migrate_custom_top { keys : :: std :: vec :: Vec < :: std :: vec :: Vec < :: core :: primitive :: u8 > > , witness_size : :: core :: primitive :: u32 , } , # [codec (index = 3)] # [doc = "Migrate the list of child keys by iterating each of them one by one."] # [doc = ""] # [doc = "All of the given child keys must be present under one `child_root`."] # [doc = ""] # [doc = "This does not affect the global migration process tracker ([`MigrationProcess`]), and"] # [doc = "should only be used in case any keys are leftover due to a bug."] migrate_custom_child { root : :: std :: vec :: Vec < :: core :: primitive :: u8 > , child_keys : :: std :: vec :: Vec < :: std :: vec :: Vec < :: core :: primitive :: u8 > > , total_size : :: core :: primitive :: u32 , } , # [codec (index = 4)] # [doc = "Set the maximum limit of the signed migration."] set_signed_max_limits { limits : runtime_types :: pallet_state_trie_migration :: pallet :: MigrationLimits , } , # [codec (index = 5)] # [doc = "Forcefully set the progress the running migration."] # [doc = ""] # [doc = "This is only useful in one case: the next key to migrate is too big to be migrated with"] # [doc = "a signed account, in a parachain context, and we simply want to skip it. A reasonable"] # [doc = "example of this would be `:code:`, which is both very expensive to migrate, and commonly"] # [doc = "used, so probably it is already migrated."] # [doc = ""] # [doc = "In case you mess things up, you can also, in principle, use this to reset the migration"] # [doc = "process."] force_set_progress { progress_top : runtime_types :: pallet_state_trie_migration :: pallet :: Progress , progress_child : runtime_types :: pallet_state_trie_migration :: pallet :: Progress , } , } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct MigrationLimits { + pub size: ::core::primitive::u32, + pub item: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct MigrationTask { + pub progress_top: + runtime_types::pallet_state_trie_migration::pallet::Progress, + pub progress_child: + runtime_types::pallet_state_trie_migration::pallet::Progress, + pub size: ::core::primitive::u32, + pub top_items: ::core::primitive::u32, + pub child_items: ::core::primitive::u32, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Progress { + #[codec(index = 0)] + ToStart, + #[codec(index = 1)] + LastKey( + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + ), + #[codec(index = 2)] + Complete, + } + } + } + pub mod pallet_sudo { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + 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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + call: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + } + } + } + pub mod pallet_timestamp { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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_tips { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Report something `reason` that deserves a tip and claim any eventual the finder's fee."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as"] + #[doc = "`DataDepositPerByte` for each byte in `reason`."] + #[doc = ""] + #[doc = "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be"] + #[doc = " a UTF-8-encoded URL."] + #[doc = "- `who`: The account which should be credited for the tip."] + #[doc = ""] + #[doc = "Emits `NewTip` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R)` where `R` length of `reason`."] + #[doc = " - encoding and hashing of 'reason'"] + report_awesome { + reason: ::std::vec::Vec<::core::primitive::u8>, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 1)] + #[doc = "Retract a prior tip-report from `report_awesome`, and cancel the process of tipping."] + #[doc = ""] + #[doc = "If successful, the original deposit will be unreserved."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the tip identified by `hash`"] + #[doc = "must have been reported by the signing account through `report_awesome` (and not"] + #[doc = "through `tip_new`)."] + #[doc = ""] + #[doc = "- `hash`: The identity of the open tip for which a tip value is declared. This is formed"] + #[doc = " as the hash of the tuple of the original tip `reason` and the beneficiary account ID."] + #[doc = ""] + #[doc = "Emits `TipRetracted` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`"] + #[doc = " - Depends on the length of `T::Hash` which is fixed."] + retract_tip { hash: ::subxt::utils::H256 }, + #[codec(index = 2)] + #[doc = "Give a tip for something new; no finder's fee will be taken."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the signing account must be a"] + #[doc = "member of the `Tippers` set."] + #[doc = ""] + #[doc = "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be"] + #[doc = " a UTF-8-encoded URL."] + #[doc = "- `who`: The account which should be credited for the tip."] + #[doc = "- `tip_value`: The amount of tip that the sender would like to give. The median tip"] + #[doc = " value of active tippers will be given to the `who`."] + #[doc = ""] + #[doc = "Emits `NewTip` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(R + T)` where `R` length of `reason`, `T` is the number of tippers."] + #[doc = " - `O(T)`: decoding `Tipper` vec of length `T`. `T` is charged as upper bound given by"] + #[doc = " `ContainsLengthBound`. The actual cost depends on the implementation of"] + #[doc = " `T::Tippers`."] + #[doc = " - `O(R)`: hashing and encoding of reason of length `R`"] + tip_new { + reason: ::std::vec::Vec<::core::primitive::u8>, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + tip_value: ::core::primitive::u128, + }, + #[codec(index = 3)] + #[doc = "Declare a tip value for an already-open tip."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the signing account must be a"] + #[doc = "member of the `Tippers` set."] + #[doc = ""] + #[doc = "- `hash`: The identity of the open tip for which a tip value is declared. This is formed"] + #[doc = " as the hash of the tuple of the hash of the original tip `reason` and the beneficiary"] + #[doc = " account ID."] + #[doc = "- `tip_value`: The amount of tip that the sender would like to give. The median tip"] + #[doc = " value of active tippers will be given to the `who`."] + #[doc = ""] + #[doc = "Emits `TipClosing` if the threshold of tippers has been reached and the countdown period"] + #[doc = "has started."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`, insert"] + #[doc = " tip and check closing, `T` is charged as upper bound given by `ContainsLengthBound`."] + #[doc = " The actual cost depends on the implementation of `T::Tippers`."] + #[doc = ""] + #[doc = " Actually weight could be lower as it depends on how many tips are in `OpenTip` but it"] + #[doc = " is weighted as if almost full i.e of length `T-1`."] + tip { + hash: ::subxt::utils::H256, + #[codec(compact)] + tip_value: ::core::primitive::u128, + }, + #[codec(index = 4)] + #[doc = "Close and payout a tip."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "The tip identified by `hash` must have finished its countdown period."] + #[doc = ""] + #[doc = "- `hash`: The identity of the open tip for which a tip value is declared. This is formed"] + #[doc = " as the hash of the tuple of the original tip `reason` and the beneficiary account ID."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- : `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`. `T`"] + #[doc = " is charged as upper bound given by `ContainsLengthBound`. The actual cost depends on"] + #[doc = " the implementation of `T::Tippers`."] + close_tip { hash: ::subxt::utils::H256 }, + #[codec(index = 5)] + #[doc = "Remove and slash an already-open tip."] + #[doc = ""] + #[doc = "May only be called from `T::RejectOrigin`."] + #[doc = ""] + #[doc = "As a result, the finder is slashed and the deposits are lost."] + #[doc = ""] + #[doc = "Emits `TipSlashed` if successful."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- O(1)."] + slash_tip { hash: ::subxt::utils::H256 }, + } + } + } + pub mod pallet_transaction_storage { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + # [codec (index = 0)] # [doc = "Index and store data off chain. Minimum data size is 1 bytes, maximum is"] # [doc = "`MaxTransactionSize`. Data will be removed after `STORAGE_PERIOD` blocks, unless `renew`"] # [doc = "is called."] # [doc = "## Complexity"] # [doc = "- O(n*log(n)) of data size, as all data is pushed to an in-memory trie."] store { data : :: std :: vec :: Vec < :: core :: primitive :: u8 > , } , # [codec (index = 1)] # [doc = "Renew previously stored data. Parameters are the block number that contains"] # [doc = "previous `store` or `renew` call and transaction index within that block."] # [doc = "Transaction index is emitted in the `Stored` or `Renewed` event."] # [doc = "Applies same fees as `store`."] # [doc = "## Complexity"] # [doc = "- O(1)."] renew { block : :: core :: primitive :: u32 , index : :: core :: primitive :: u32 , } , # [codec (index = 2)] # [doc = "Check storage proof for block number `block_number() - StoragePeriod`."] # [doc = "If such block does not exist the proof is expected to be `None`."] # [doc = "## Complexity"] # [doc = "- Linear w.r.t the number of indexed transactions in the proved block for random"] # [doc = " probing."] # [doc = "There's a DB read for each transaction."] check_proof { proof : runtime_types :: sp_transaction_storage_proof :: TransactionStorageProof , } , } + } + } + pub mod pallet_treasury { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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, + ::core::primitive::u32, + >, + }, + #[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, + ::core::primitive::u32, + >, + }, + #[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, + }, + } + } + } + pub mod pallet_uniques { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Issue a new collection of non-fungible items from a public origin."] + #[doc = ""] + #[doc = "This new collection has no items initially and its owner is the origin."] + #[doc = ""] + #[doc = "The origin must conform to the configured `CreateOrigin` and have sufficient funds free."] + #[doc = ""] + #[doc = "`ItemDeposit` funds of sender are reserved."] + #[doc = ""] + #[doc = "Parameters:"] + #[doc = "- `collection`: The identifier of the new collection. This must not be currently in use."] + #[doc = "- `admin`: The admin of this collection. The admin is the initial address of each"] + #[doc = "member of the collection's admin team."] + #[doc = ""] + #[doc = "Emits `Created` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + create { + collection: ::core::primitive::u32, + admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 1)] + #[doc = "Issue a new collection of non-fungible items from a privileged origin."] + #[doc = ""] + #[doc = "This new collection has no items initially."] + #[doc = ""] + #[doc = "The origin must conform to `ForceOrigin`."] + #[doc = ""] + #[doc = "Unlike `create`, no funds are reserved."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the new item. This must not be currently in use."] + #[doc = "- `owner`: The owner of this collection of items. The owner has full superuser"] + #[doc = " permissions"] + #[doc = "over this item, but may later change and configure the permissions using"] + #[doc = "`transfer_ownership` and `set_team`."] + #[doc = ""] + #[doc = "Emits `ForceCreated` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + force_create { + collection: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + free_holding: ::core::primitive::bool, + }, + #[codec(index = 2)] + #[doc = "Destroy a collection of fungible items."] + #[doc = ""] + #[doc = "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the"] + #[doc = "owner of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the collection to be destroyed."] + #[doc = "- `witness`: Information on the items minted in the collection. This must be"] + #[doc = "correct."] + #[doc = ""] + #[doc = "Emits `Destroyed` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(n + m)` where:"] + #[doc = "- `n = witness.items`"] + #[doc = "- `m = witness.item_metadatas`"] + #[doc = "- `a = witness.attributes`"] + destroy { + collection: ::core::primitive::u32, + witness: runtime_types::pallet_uniques::types::DestroyWitness, + }, + #[codec(index = 3)] + #[doc = "Mint an item of a particular collection."] + #[doc = ""] + #[doc = "The origin must be Signed and the sender must be the Issuer of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection of the item to be minted."] + #[doc = "- `item`: The item value of the item to be minted."] + #[doc = "- `beneficiary`: The initial owner of the minted item."] + #[doc = ""] + #[doc = "Emits `Issued` event when successful."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + mint { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 4)] + #[doc = "Destroy a single item."] + #[doc = ""] + #[doc = "Origin must be Signed and the signing account must be either:"] + #[doc = "- the Admin of the `collection`;"] + #[doc = "- the Owner of the `item`;"] + #[doc = ""] + #[doc = "- `collection`: The collection of the item to be burned."] + #[doc = "- `item`: The item of the item to be burned."] + #[doc = "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the"] + #[doc = " item is owned by this value."] + #[doc = ""] + #[doc = "Emits `Burned` with the actual amount burned."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + #[doc = "Modes: `check_owner.is_some()`."] + burn { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + check_owner: ::core::option::Option< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + }, + #[codec(index = 5)] + #[doc = "Move an item from the sender account to another."] + #[doc = ""] + #[doc = "This resets the approved account of the item."] + #[doc = ""] + #[doc = "Origin must be Signed and the signing account must be either:"] + #[doc = "- the Admin of the `collection`;"] + #[doc = "- the Owner of the `item`;"] + #[doc = "- the approved delegate for the `item` (in this case, the approval is reset)."] + #[doc = ""] + #[doc = "Arguments:"] + #[doc = "- `collection`: The collection of the item to be transferred."] + #[doc = "- `item`: The item of the item to be transferred."] + #[doc = "- `dest`: The account to receive ownership of the item."] + #[doc = ""] + #[doc = "Emits `Transferred`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + transfer { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 6)] + #[doc = "Reevaluate the deposits on some items."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection to be frozen."] + #[doc = "- `items`: The items of the collection whose deposits will be reevaluated."] + #[doc = ""] + #[doc = "NOTE: This exists as a best-effort function. Any items which are unknown or"] + #[doc = "in the case that the owner account does not have reservable funds to pay for a"] + #[doc = "deposit increase are ignored. Generally the owner isn't going to call this on items"] + #[doc = "whose existing deposit is less than the refreshed deposit as it would only cost them,"] + #[doc = "so it's of little consequence."] + #[doc = ""] + #[doc = "It will still return an error in the case that the collection is unknown of the signer"] + #[doc = "is not permitted to call it."] + #[doc = ""] + #[doc = "Weight: `O(items.len())`"] + redeposit { + collection: ::core::primitive::u32, + items: ::std::vec::Vec<::core::primitive::u32>, + }, + #[codec(index = 7)] + #[doc = "Disallow further unprivileged transfer of an item."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection of the item to be frozen."] + #[doc = "- `item`: The item of the item to be frozen."] + #[doc = ""] + #[doc = "Emits `Frozen`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + freeze { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + }, + #[codec(index = 8)] + #[doc = "Re-allow unprivileged transfer of an item."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection of the item to be thawed."] + #[doc = "- `item`: The item of the item to be thawed."] + #[doc = ""] + #[doc = "Emits `Thawed`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + thaw { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + }, + #[codec(index = 9)] + #[doc = "Disallow further unprivileged transfers for a whole collection."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Freezer of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection to be frozen."] + #[doc = ""] + #[doc = "Emits `CollectionFrozen`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + freeze_collection { collection: ::core::primitive::u32 }, + #[codec(index = 10)] + #[doc = "Re-allow unprivileged transfers for a whole collection."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Admin of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection to be thawed."] + #[doc = ""] + #[doc = "Emits `CollectionThawed`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + thaw_collection { collection: ::core::primitive::u32 }, + #[codec(index = 11)] + #[doc = "Change the Owner of a collection."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection whose owner should be changed."] + #[doc = "- `owner`: The new Owner of this collection. They must have called"] + #[doc = " `set_accept_ownership` with `collection` in order for this operation to succeed."] + #[doc = ""] + #[doc = "Emits `OwnerChanged`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + transfer_ownership { + collection: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 12)] + #[doc = "Change the Issuer, Admin and Freezer of a collection."] + #[doc = ""] + #[doc = "Origin must be Signed and the sender should be the Owner of the `collection`."] + #[doc = ""] + #[doc = "- `collection`: The collection whose team should be changed."] + #[doc = "- `issuer`: The new Issuer of this collection."] + #[doc = "- `admin`: The new Admin of this collection."] + #[doc = "- `freezer`: The new Freezer of this collection."] + #[doc = ""] + #[doc = "Emits `TeamChanged`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + set_team { + collection: ::core::primitive::u32, + issuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + freezer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 13)] + #[doc = "Approve an item to be transferred by a delegated third-party account."] + #[doc = ""] + #[doc = "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be"] + #[doc = "either the owner of the `item` or the admin of the collection."] + #[doc = ""] + #[doc = "- `collection`: The collection of the item to be approved for delegated transfer."] + #[doc = "- `item`: The item of the item to be approved for delegated transfer."] + #[doc = "- `delegate`: The account to delegate permission to transfer the item."] + #[doc = ""] + #[doc = "Important NOTE: The `approved` account gets reset after each transfer."] + #[doc = ""] + #[doc = "Emits `ApprovedTransfer` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + approve_transfer { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + delegate: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 14)] + #[doc = "Cancel the prior approval for the transfer of an item by a delegate."] + #[doc = ""] + #[doc = "Origin must be either:"] + #[doc = "- the `Force` origin;"] + #[doc = "- `Signed` with the signer being the Admin of the `collection`;"] + #[doc = "- `Signed` with the signer being the Owner of the `item`;"] + #[doc = ""] + #[doc = "Arguments:"] + #[doc = "- `collection`: The collection of the item of whose approval will be cancelled."] + #[doc = "- `item`: The item of the item of whose approval will be cancelled."] + #[doc = "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to"] + #[doc = " which permission of transfer is delegated."] + #[doc = ""] + #[doc = "Emits `ApprovalCancelled` on success."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + cancel_approval { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + maybe_check_delegate: ::core::option::Option< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + }, + #[codec(index = 15)] + #[doc = "Alter the attributes of a given item."] + #[doc = ""] + #[doc = "Origin must be `ForceOrigin`."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the item."] + #[doc = "- `owner`: The new Owner of this item."] + #[doc = "- `issuer`: The new Issuer of this item."] + #[doc = "- `admin`: The new Admin of this item."] + #[doc = "- `freezer`: The new Freezer of this item."] + #[doc = "- `free_holding`: Whether a deposit is taken for holding an item of this collection."] + #[doc = "- `is_frozen`: Whether this collection is frozen except for permissioned/admin"] + #[doc = "instructions."] + #[doc = ""] + #[doc = "Emits `ItemStatusChanged` with the identity of the item."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + force_item_status { + collection: ::core::primitive::u32, + owner: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + issuer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + admin: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + freezer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + free_holding: ::core::primitive::bool, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 16)] + #[doc = "Set an attribute for a collection or item."] + #[doc = ""] + #[doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] + #[doc = "`collection`."] + #[doc = ""] + #[doc = "If the origin is Signed, then funds of signer are reserved according to the formula:"] + #[doc = "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into"] + #[doc = "account any already reserved funds."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the collection whose item's metadata to set."] + #[doc = "- `maybe_item`: The identifier of the item whose metadata to set."] + #[doc = "- `key`: The key of the attribute."] + #[doc = "- `value`: The value to which to set the attribute."] + #[doc = ""] + #[doc = "Emits `AttributeSet`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + set_attribute { + collection: ::core::primitive::u32, + maybe_item: ::core::option::Option<::core::primitive::u32>, + key: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + value: + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + }, + #[codec(index = 17)] + #[doc = "Clear an attribute for a collection or item."] + #[doc = ""] + #[doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] + #[doc = "`collection`."] + #[doc = ""] + #[doc = "Any deposit is freed for the collection's owner."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the collection whose item's metadata to clear."] + #[doc = "- `maybe_item`: The identifier of the item whose metadata to clear."] + #[doc = "- `key`: The key of the attribute."] + #[doc = ""] + #[doc = "Emits `AttributeCleared`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + clear_attribute { + collection: ::core::primitive::u32, + maybe_item: ::core::option::Option<::core::primitive::u32>, + key: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + }, + #[codec(index = 18)] + #[doc = "Set the metadata for an item."] + #[doc = ""] + #[doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] + #[doc = "`collection`."] + #[doc = ""] + #[doc = "If the origin is Signed, then funds of signer are reserved according to the formula:"] + #[doc = "`MetadataDepositBase + DepositPerByte * data.len` taking into"] + #[doc = "account any already reserved funds."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the collection whose item's metadata to set."] + #[doc = "- `item`: The identifier of the item whose metadata to set."] + #[doc = "- `data`: The general information of this item. Limited in length by `StringLimit`."] + #[doc = "- `is_frozen`: Whether the metadata should be frozen against further changes."] + #[doc = ""] + #[doc = "Emits `MetadataSet`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + set_metadata { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + data: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 19)] + #[doc = "Clear the metadata for an item."] + #[doc = ""] + #[doc = "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the"] + #[doc = "`item`."] + #[doc = ""] + #[doc = "Any deposit is freed for the collection's owner."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the collection whose item's metadata to clear."] + #[doc = "- `item`: The identifier of the item whose metadata to clear."] + #[doc = ""] + #[doc = "Emits `MetadataCleared`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + clear_metadata { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + }, + #[codec(index = 20)] + #[doc = "Set the metadata for a collection."] + #[doc = ""] + #[doc = "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of"] + #[doc = "the `collection`."] + #[doc = ""] + #[doc = "If the origin is `Signed`, then funds of signer are reserved according to the formula:"] + #[doc = "`MetadataDepositBase + DepositPerByte * data.len` taking into"] + #[doc = "account any already reserved funds."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the item whose metadata to update."] + #[doc = "- `data`: The general information of this item. Limited in length by `StringLimit`."] + #[doc = "- `is_frozen`: Whether the metadata should be frozen against further changes."] + #[doc = ""] + #[doc = "Emits `CollectionMetadataSet`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + set_collection_metadata { + collection: ::core::primitive::u32, + data: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, + is_frozen: ::core::primitive::bool, + }, + #[codec(index = 21)] + #[doc = "Clear the metadata for a collection."] + #[doc = ""] + #[doc = "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of"] + #[doc = "the `collection`."] + #[doc = ""] + #[doc = "Any deposit is freed for the collection's owner."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the collection whose metadata to clear."] + #[doc = ""] + #[doc = "Emits `CollectionMetadataCleared`."] + #[doc = ""] + #[doc = "Weight: `O(1)`"] + clear_collection_metadata { collection: ::core::primitive::u32 }, + #[codec(index = 22)] + #[doc = "Set (or reset) the acceptance of ownership for a particular account."] + #[doc = ""] + #[doc = "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a"] + #[doc = "provider reference."] + #[doc = ""] + #[doc = "- `maybe_collection`: The identifier of the collection whose ownership the signer is"] + #[doc = " willing to accept, or if `None`, an indication that the signer is willing to accept no"] + #[doc = " ownership transferal."] + #[doc = ""] + #[doc = "Emits `OwnershipAcceptanceChanged`."] + set_accept_ownership { + maybe_collection: ::core::option::Option<::core::primitive::u32>, + }, + #[codec(index = 23)] + #[doc = "Set the maximum amount of items a collection could have."] + #[doc = ""] + #[doc = "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of"] + #[doc = "the `collection`."] + #[doc = ""] + #[doc = "Note: This function can only succeed once per collection."] + #[doc = ""] + #[doc = "- `collection`: The identifier of the collection to change."] + #[doc = "- `max_supply`: The maximum amount of items a collection could have."] + #[doc = ""] + #[doc = "Emits `CollectionMaxSupplySet` event when successful."] + set_collection_max_supply { + collection: ::core::primitive::u32, + max_supply: ::core::primitive::u32, + }, + #[codec(index = 24)] + #[doc = "Set (or reset) the price for an item."] + #[doc = ""] + #[doc = "Origin must be Signed and must be the owner of the asset `item`."] + #[doc = ""] + #[doc = "- `collection`: The collection of the item."] + #[doc = "- `item`: The item to set the price for."] + #[doc = "- `price`: The price for the item. Pass `None`, to reset the price."] + #[doc = "- `buyer`: Restricts the buy operation to a specific account."] + #[doc = ""] + #[doc = "Emits `ItemPriceSet` on success if the price is not `None`."] + #[doc = "Emits `ItemPriceRemoved` on success if the price is `None`."] + set_price { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + price: ::core::option::Option<::core::primitive::u128>, + whitelisted_buyer: ::core::option::Option< + ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + >, + }, + #[codec(index = 25)] + #[doc = "Allows to buy an item if it's up for sale."] + #[doc = ""] + #[doc = "Origin must be Signed and must not be the owner of the `item`."] + #[doc = ""] + #[doc = "- `collection`: The collection of the item."] + #[doc = "- `item`: The item the sender wants to buy."] + #[doc = "- `bid_price`: The price the sender is willing to pay."] + #[doc = ""] + #[doc = "Emits `ItemBought` on success."] + buy_item { + collection: ::core::primitive::u32, + item: ::core::primitive::u32, + bid_price: ::core::primitive::u128, + }, + } + } + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct DestroyWitness { + #[codec(compact)] + pub items: ::core::primitive::u32, + #[codec(compact)] + pub item_metadatas: ::core::primitive::u32, + #[codec(compact)] + pub attributes: ::core::primitive::u32, + } + } + } + pub mod pallet_utility { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::OriginCaller, + >, + call: ::std::boxed::Box< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + weight: runtime_types::sp_weights::weight_v2::Weight, + }, + } + } + } + pub mod pallet_vesting { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + pub enum Call { + #[codec(index = 0)] + #[doc = "Unlock any vested funds of the sender account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have funds still"] + #[doc = "locked under this pallet."] + #[doc = ""] + #[doc = "Emits either `VestingCompleted` or `VestingUpdated`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + vest, + #[codec(index = 1)] + #[doc = "Unlock any vested funds of a `target` account."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account whose vested funds should be unlocked. Must have funds still"] + #[doc = "locked under this pallet."] + #[doc = ""] + #[doc = "Emits either `VestingCompleted` or `VestingUpdated`."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + vest_other { + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + }, + #[codec(index = 2)] + #[doc = "Create a vested transfer."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `target`: The account receiving the vested funds."] + #[doc = "- `schedule`: The vesting schedule attached to the transfer."] + #[doc = ""] + #[doc = "Emits `VestingCreated`."] + #[doc = ""] + #[doc = "NOTE: This will unlock all schedules through the current block."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + vested_transfer { + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + schedule: + runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + }, + #[codec(index = 3)] + #[doc = "Force a vested transfer."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = ""] + #[doc = "- `source`: The account whose funds should be transferred."] + #[doc = "- `target`: The account that should be transferred the vested funds."] + #[doc = "- `schedule`: The vesting schedule attached to the transfer."] + #[doc = ""] + #[doc = "Emits `VestingCreated`."] + #[doc = ""] + #[doc = "NOTE: This will unlock all schedules through the current block."] + #[doc = ""] + #[doc = "## Complexity"] + #[doc = "- `O(1)`."] + force_vested_transfer { + source: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + target: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + schedule: + runtime_types::pallet_vesting::vesting_info::VestingInfo< + ::core::primitive::u128, + ::core::primitive::u32, + >, + }, + #[codec(index = 4)] + #[doc = "Merge two vesting schedules together, creating a new vesting schedule that unlocks over"] + #[doc = "the highest possible start and end blocks. If both schedules have already started the"] + #[doc = "current block will be used as the schedule start; with the caveat that if one schedule"] + #[doc = "is finished by the current block, the other will be treated as the new merged schedule,"] + #[doc = "unmodified."] + #[doc = ""] + #[doc = "NOTE: If `schedule1_index == schedule2_index` this is a no-op."] + #[doc = "NOTE: This will unlock all schedules through the current block prior to merging."] + #[doc = "NOTE: If both schedules have ended by the current block, no new schedule will be created"] + #[doc = "and both will be removed."] + #[doc = ""] + #[doc = "Merged schedule attributes:"] + #[doc = "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,"] + #[doc = " current_block)`."] + #[doc = "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`."] + #[doc = "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`."] + #[doc = ""] + #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = ""] + #[doc = "- `schedule1_index`: index of the first schedule to merge."] + #[doc = "- `schedule2_index`: index of the second schedule to merge."] + merge_schedules { + schedule1_index: ::core::primitive::u32, + schedule2_index: ::core::primitive::u32, + }, + } + } + pub mod vesting_info { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct VestingInfo<_0, _1> { + pub locked: _0, + pub per_block: _0, + pub starting_block: _1, + } + } + } + pub mod pallet_whitelist { + use super::runtime_types; + pub mod pallet { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + #[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< + runtime_types::kitchensink_runtime::RuntimeCall, + >, + }, + } + } + } + pub mod sp_arithmetic { + use super::runtime_types; + pub mod per_things { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct PerU16(pub ::core::primitive::u16); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Perbill(pub ::core::primitive::u32); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Percent(pub ::core::primitive::u8); + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Perquintill(pub ::core::primitive::u64); + } + } + 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, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + pub enum AllowedSlots { + #[codec(index = 0)] + PrimarySlots, + #[codec(index = 1)] + PrimaryAndSecondaryPlainSlots, + #[codec(index = 2)] + PrimaryAndSecondaryVRFSlots, + } + } + 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, + Debug, + )] + pub struct Public(pub runtime_types::sp_core::ed25519::Public); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Signature(pub runtime_types::sp_core::ed25519::Signature); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + pub struct Slot(pub ::core::primitive::u64); + } + pub mod sp_core { + use super::runtime_types; + pub mod ecdsa { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Signature(pub [::core::primitive::u8; 65usize]); + } + pub mod ed25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Public(pub [::core::primitive::u8; 32usize]); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Signature(pub [::core::primitive::u8; 64usize]); + } + pub mod offchain { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OpaqueMultiaddr(pub ::std::vec::Vec<::core::primitive::u8>); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OpaqueNetworkState { + pub peer_id: runtime_types::sp_core::OpaquePeerId, + pub external_addresses: ::std::vec::Vec< + runtime_types::sp_core::offchain::OpaqueMultiaddr, + >, + } + } + pub mod sr25519 { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Public(pub [::core::primitive::u8; 32usize]); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct Signature(pub [::core::primitive::u8; 64usize]); + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OpaquePeerId(pub ::std::vec::Vec<::core::primitive::u8>); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub enum Void {} + } + pub mod sp_npos_elections { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + pub struct Digest { + pub logs: ::std::vec::Vec< + runtime_types::sp_runtime::generic::digest::DigestItem, + >, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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, + Debug, + )] + 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, + Debug, + )] + 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 unchecked_extrinsic { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct UncheckedExtrinsic<_0, _1, _2, _3>( + pub ::std::vec::Vec<::core::primitive::u8>, + #[codec(skip)] pub ::core::marker::PhantomData<(_1, _0, _2, _3)>, + ); + } + } + pub mod traits { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct BlakeTwo256; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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), + } + } + pub mod sp_session { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + 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_transaction_storage_proof { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct TransactionStorageProof { + pub chunk: ::std::vec::Vec<::core::primitive::u8>, + pub proof: ::std::vec::Vec<::std::vec::Vec<::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, + Debug, + )] + pub struct Weight { + #[codec(compact)] + pub ref_time: ::core::primitive::u64, + #[codec(compact)] + pub proof_size: ::core::primitive::u64, + } + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + Debug, + )] + pub struct OldWeight(pub ::core::primitive::u64); + } + } + #[doc = r" The default error type returned when there is a runtime issue,"] + #[doc = r" exposed here for ease of use."] + pub type DispatchError = runtime_types::sp_runtime::DispatchError; + pub fn constants() -> ConstantsApi { + ConstantsApi + } + pub fn storage() -> StorageApi { + StorageApi + } + pub fn tx() -> TransactionApi { + TransactionApi + } + pub struct ConstantsApi; + impl ConstantsApi { + pub fn balances(&self) -> balances::constants::ConstantsApi { + balances::constants::ConstantsApi + } + } + pub struct StorageApi; + impl StorageApi { + pub fn balances(&self) -> balances::storage::StorageApi { + balances::storage::StorageApi + } + } + pub struct TransactionApi; + impl TransactionApi { + pub fn balances(&self) -> balances::calls::TransactionApi { + balances::calls::TransactionApi + } + } + #[doc = r" check whether the Client you are using is aligned with the statically generated codegen."] + pub fn validate_codegen>( + client: &C, + ) -> Result<(), ::subxt::error::MetadataError> { + let runtime_metadata_hash = client.metadata().metadata_hash(&PALLETS); + if runtime_metadata_hash + != [ + 83u8, 136u8, 130u8, 96u8, 143u8, 113u8, 229u8, 107u8, 41u8, 31u8, 166u8, + 254u8, 194u8, 33u8, 137u8, 153u8, 215u8, 35u8, 129u8, 80u8, 147u8, 52u8, + 36u8, 136u8, 200u8, 65u8, 108u8, 230u8, 160u8, 3u8, 219u8, 139u8, + ] + { + Err(::subxt::error::MetadataError::IncompatibleMetadata) + } else { + Ok(()) + } + } +} diff --git a/testing/integration-tests/src/codegen/mod.rs b/testing/integration-tests/src/codegen/mod.rs index c8b8142fb0..bb1359fa72 100644 --- a/testing/integration-tests/src/codegen/mod.rs +++ b/testing/integration-tests/src/codegen/mod.rs @@ -13,4 +13,8 @@ #[allow(clippy::all)] mod polkadot; +#[rustfmt::skip] +#[allow(clippy::all)] +mod balances; + mod codegen_documentation;